Support Vector Machines

Slides:



Advertisements
Similar presentations
人類起源 一 天上來的 一 天上來的 : 1 中國布朗族 : 人是從天上掉下來的。洪荒時 代,天下無人,一天刮起狂風暴雨,天落 下五人,為各族的祖先。 2 中國崩龍族 : 天上下來八個神造世界,他 們聞到大地的香味而吃了芳香的泥土,在 地上住了九千年,其中四個變成女人,四 個變成男人,成了人類最早的父母。
Advertisements

完美殺人筆記簿 【爸!我受夠了!】 第七組組員: 林正敏 陳筱涵 李蓓宇 許純宜 羅玉芬 謝文軒.
办公室保健指南. 减少辐射篇 ❤显示器散发出的辐射多数不是来自它的正面,而是侧面和后面。因此,不要 把自己显示器的后面对着同事的后脑或者身体的侧面。 ❤常喝绿茶。茶叶中含有的茶多酚等活性物质,有助吸收放射性物质。 ❤尽量使用液晶显示器。
魏 饴. 处级干部培训班讲座 一、卓越干部的德行素质  常修为政之德、常思贪欲之害、常怀律己之心!  孔老夫子有个观点 “ 为政以德,譬如北辰居其所而众星拱之。 ”  司马光《资治通鉴》 “ 才者,德之资也;德者,才之帅也。 ” “ 德 ” 胜 “ 才 ” 谓之 “ 君子 ” , “ 才 ”
人的性别遗传 合肥市第四十九中学 丁 艳. 男女成对染色体排序图 1 、男性和女性各 23 对染色体有何异同 ? 哪 一对被称为性染色体 ? 2 、这两幅图中,哪幅 图显示的是男性的染色 体?哪幅图显示的是女 性染色体? 3 、图中哪条染色体是 Y 染色体?它与 X 染色体 在形态上的主要区别是.
一、真愛密碼 二、尋求真愛 三、有自尊的愛. 。如果雙方對愛情產生 質疑、困惑時,則表示 彼此之間的愛情關係仍 有 待加強或釐清,千萬別 急著為自己的人生大事 下決定。 我是一個 16 歲的未婚媽媽,發現自 己懷孕時,已經五個月大了,我知 道自己沒能力照顧孩子,在驚訝之 於,大人們只好坦然接受,幫我找.
揭日本人让人理解不了的20件事 今天先来看看日本人的自我剖析︰日本人的20个“为什么”?这“20个为什么”的内容来源于日本影视名人北野武所主持的一个节目。虽然不是网友来信中提出过的问题,但看看日本人自己对自己的分析,是挺有意思的。而且,仔细看看下面这“日本人的20个为什么”,会发现其实有些东西对于中国人来说并不陌生。毕竟汉字圈里的文化,是有共融之处的。
易腐性商品三階段最佳補貨策略之研究 黃嘉彥 教授 勤益科技大學 研發科技與資訊管理研究所.
<<會計資訊系統課程講義>> 統一塑模語言(UML)語法精要 -- 物件導向概念、需求分析及系統分析
制作:张大远 逯遥 指导教师:司书红 学校:兰州交通大学
第六讲 MATLAB 语言程序设计 6.1 MATLAB语言的函数的基本结构 6.2 全局、局部变量、子函数与私有目录
做 荷 包 的 主 人 第 一 桶 金 督導 張宏仁 財團法人「張老師」基金會 桃園分事務所 督導 張宏仁
基于大数据挖掘的电话销售策略 --- 以百姓网电话销售业务为例
國立嘉義大學 資訊工程研究所 指導教授:柯建全 博士 研究生:林俊志
1、一般地说,在生物的体细胞中, 和 都是成对存在的。
辨性别 A B. 辨性别 A B 第三节人类染色体与性别决定 昌邑市龙池初中 杨伟红 学习目标 1.理解人的染色体组成和传递规律。 2.解释人类性别决定的原理。 3.通过探究活动,解读数据了解生男生女的比例。
苏炳华 教授 上海第二医科大学 生物统计学教研室
Svm基本知识与原理 张立新.
加強水銀體溫計稽查管制及回收 回收作業須知及緊急應變措施
问卷调查的规范与技术 问卷调查的规范与技术.
香港扶貧計劃 關愛基金 Group 5 組員 馬曉真 余葆 董賽騫 蕭雪兒.
Unsupervised feature learning: autoencoders
关于深化大学生创新创业教育改革的实施方案
姓名:劉芷瑄 班級:J201 座號:39號 ISBN:957-33-1963-2
快乐魔法精灵之万圣节狂欢夜 去除PPT模板上的--无忧PPT整理发布的文字 首先打开PPT模板,选择视图,然后选择幻灯片母版
第十三屆 Step.1 我們的目標 Step.2 我們的角色 Step.4 權利與義務 義務 權利 年繳會費五百元整
秘密/蜜花園 台灣女性散文的繁麗圖景 楊 翠.
财务管理.
資料探勘(Data Mining)及其應用之介紹
TQC+ 物件導向程式認證-JAVA.
十 代 词 制作 阚景忠 讲授 阚景忠.
第四章 概率密度函数的非参数估计 2学时.
电话联系.
迎宾员礼仪 包头机电工业职业学校管理系 白琳 1.
歡迎第一次來參加聚會的 福音朋友與弟兄姊妹
1.1.2 四 种 命 题.
色 弱 與 色 盲.
政府扶持资金通览 技术改造篇.
Relation Detection And Recognition
腦癇症.
宠物之家 我的宠物性别? 雌(♀) or 雄(♂) 第一阶段:我的宠物我做主 第二阶段:宠物“相亲记” 第三阶段:家族诞生
财 务 会 计 第四篇:供应链会计实务 制作人:谌君、熊瑜.
支持向量机 Support Vector Machines
單向鏈結串列 Singly Linked Lists.
Advanced Artificial Intelligence
EWB 电 路 电 子 分 析 设 计 仿 真 软 件 软件简介   随着电子技术和计算机技术的发展,电子产品已与计算机紧密相连,电子产品的智能化日益完善,电路的集成度越来越高,而产品的更新周期却越来越短。电子设计自动化(EDA)技术,使得电子线路的设计人员能在计算机上完成电路的功能设计、逻辑设计、性能分析、时序测试直至印刷电路板的自动设计。EDA是在计算机辅助设计(CAD)技术的基础上发展起来的计算机设计软件系统。与早期的CAD软件相比,EDA软件的自动化程度更高、功能更完善、运行速度更快,而且操作界面
國立政治大學 資訊科學研究所 知識系統實驗室 研究生: 鄭雍瑋 指導教授: 劉吉軒 博士 中華民國九十五年六月三十日
第七讲 二维连续分布独立性与二维函数分布 本次课讲授:第二章的 ; 下次课讲第三章的 。
學生: 廖哲毅( ) 殷聖展( ) 吳京育( ) 指導老師:蔡志仁
近期科研汇报 报告人: 纪爱兵.
陳維魁 博士 儒林圖書公司 第五章 控制結構 陳維魁 博士 儒林圖書公司.
谈模式识别方法在林业管理问题中的应用 报告人:管理工程系 马宁 报告地点:学研B107
《结构力学认知实验》(授课形式)的上课时间改为: 5月5日(周二)晚上18:00~19:30和19:30~21:00,
健康體育網路護照操作 STEP1 於教育部體適能網站進入「健康體育網路護照」.
有向無環圖支援向量機於多類 音樂識別之應用研究
第6章 反比例函数 第二节 反比例函数的图象和性质(一).
Vector and the Geometry of Space
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
單元名稱:結構化程式設計 報告人 劉洲溶.
SLIQ:一种快速可伸缩分类器 Manish Mehta, Rakesh Agrawal, Jorma Rissanen IBM Almaden Research Center, 1996 报告人:郭新涛
11.2 空間坐標與空間向量 Space Coordinates and Vectors in Space
古佳怡 AI 人工智慧.
群聚分析操作介紹 -以SOM和K-means為例
臺中市龍山國小 校園常見瓢蟲辨識   瓢蟲屬於鞘翅目瓢蟲科。目前世界上約有5000多種瓢蟲,台灣地區約有80種以上,其中能捕食有害生物的瓢蟲約七十種之多。瓢蟲因為捕食有害生物為主食,所以又稱為『活農藥』。
数据挖掘导论 福建医科大学 郑伟成.
簡單迴歸分析與相關分析 莊文忠 副教授 世新大學行政管理學系 計量分析一(莊文忠副教授) 2019/8/3.
第8章 Spark MLlib (PPT版本号: 2019年春季学期)
数学实验之 回归分析(2).
Gaussian Process Ruohua Shi Meeting
Presentation transcript:

Support Vector Machines 第三讲 Support Vector Machines 支持向量机

引 子 2

相关参考资料 统计学习理论的本质,Vladimir N. Vapnik 著, 张学工译,清华大学出版社,2000.09 支持向量机导论,N.Cristianini, J.Shawe-Taylor著,电子工业出版社,2004.03 Support Vector Classification. Steven Gunn.(518/54.29) www.kernel-machines.org www.support-vector.net Bernhard Scholkopf, Alex J. Smola , CHRISTOPHER J.C. BURGES 3

1、支持向量机可以做什么? 支持向量机的应用之一:手写体数字识别 目前最好的识别水平: LeNet 4 多项式支持向量机 (错误率<0.7%) (错误率<0.8%) NIST手写体数字的前100个 4

1、支持向量机可以做什么? 支持向量机的应用之二:性别识别 SVM 男或女 5

1、支持向量机可以做什么? 支持向量机的应用之三:行人检测 6

2、支持向量机的提出 问题1:支持向量机为什么会有如此好的性能? 问题2:何为最优分类面? 它追求的不仅仅是得到一个能将两类样本分开的分类面,而是要得到一个最优的分类面。 To be No.1 问题2:何为最优分类面? 7

2、支持向量机的提出 参考标准:使错分样本数目最少 错分样本数最少 错分训练样本数最少 缺陷1:错分训练样本数目对判别函数的好坏评估不够精细 8

2、支持向量机的提出 缺陷2:拥有较少的错分训练样本数的判别函数未必就是一个好的判别函数 9

2、支持向量机的提出 支持向量机的标准:使margin尽可能大 margin :两类样本到分类面的最短距离之和 10

3、支持向量机的数学模型 a. 线性支持向量机的数学模型 设所求的分类面表达式为: 该分类面若能将训练样本线性分开,则: 上式可简写为: 相当于令函数间隔为1,这样就方便推导。 Ref:关于SVM一篇比较全介绍的博文 支持向量机SVM(一) jerrylead博客 对于有限个数的样本,存在 即: 其中, 11

问题:若将分类面(w,b)对应的margin记为 ,则 在上述约束条件下,SVM的求解 则是最大化margin的过程。 问题:若将分类面(w,b)对应的margin记为 ,则 12

综上所述,线性SVM的数学模型可以描述为: 给定训练样本集 利用线性SVM求解线性分类面本质上是求解如下优化问题: 优化目标 约束条件 13

b.支持向量机的求解 一般的优化问题模型: 支持向量机的优化模型: 14

b.支持向量机的求解:拉格朗日对偶法 Step1:构造Lagrange函数 Step2: 求解Lagrange函数的鞍点 求解L(w , b ;α)关于w和b的最小值,关于α的最大值,即: 15

Step 3 代入Lagrange函数,得到原始问题的对偶问题: 对L(w , b ;α)关于w和b求偏导,得: Step 3 代入Lagrange函数,得到原始问题的对偶问题: 16

具体推导可以参考相关博文 17

原始问题 对偶问题 原始问题与对偶问题解的关系: 支持向量机的判别函数: 因为对于非支持向量alpha i 为0,因此,相当于新的x和所有的支持向量作内积运算,然后乘系数alphi,再求和。 支持向量机的判别函数: 18 18

Karush-Kuhn-Tucker(KKT)条件与支持向量 对偶问题的解 是最优解的条件: ,它将使得 对于取值不为零的 对于这样的样本,我们称为支持向量(Support Vectors) 19

SVM的解的表达式可以重写为: 最优超平面是支持向量的线性组合 支持向量机的判别函数: 20

线性SVM求解:例子 x1 =(0, 0)T, y1 = +1 x2 =(1, 0)T, y2 = +1 代入x,y值

线性SVM求解:例子 x1 =(0, 0)T, y1 = +1 x2 =(1, 0)T, y2 = +1 课堂练习

可调用Matlab中的二次规划程序,求得1, 2, 3, 4的值,进而求得w和b的值。 代入(3/2,0),(0,3/2)点可以知道 思考:当数据量很大的时候怎么办?

二、SVM的Matlab工具箱使用指南 1.训练SVM: [nsv, alpha, b0] = svc(X,Y,ker,C) X:训练样本的输入特征,X的行数为训练样本的个数,X的列数代表训练样本的特征维数; Y:训练样本对应的标号,为一个列矩阵。矩阵的行数为样本的个数。Y的值只能是1或者-1; Ker:核函数类型,常用的包括:’linear’,’ poly’,’rbf’ C:经验风险与结构风险的权衡参数,详见SVM的数学优化模型。 nsv:支持向量的个数; alpha:对偶问题的解; b0:svm表达式中的偏移量。

2.测试SVM: preY = svcoutput(trnX,trnY,tstX,ker,alpha,bias) alpha - SVM的求解结果 bias - SVM的偏移量

3.核函数参数的设置: svkernel.m switch lower(ker) case 'linear' k = u*v'; case 'poly' p1=2; k = (u*v' + 1)^p1; case 'rbf‘ p1=1; k = exp(-(u-v)*(u-v)'/(2*p1^2)); case 'sigmoid‘ p1=1;p2=1; k = tanh(p1*u*v'/length(u) + p2); otherwise end

4.在二维坐标中绘制SVM的训练和测试结果: svcplot(X,Y,ker,alpha,bias) 其中: X - 训练样本的输入特征 Y - 训练样本的标号 ker - 核函数 alpha - SVM的求解结果 bias - SVM的偏移量

利用SVM的Matlab工具箱进行印签提取的示例程序 ker=‘linear’; %选择线性核函数 [nsv alpha bias]=svc(trnx,trny,ker,10); %训练SVM svcplot(trnx,trny,ker,alpha, bias); %显示分类器效果 load fisheriris xdata = meas(51:end,3:4); group = species(51:end); svmStruct = svmtrain(xdata,group,'showplot',true);

利用SVM的Matlab工具箱进行印签提取的示例程序 tstnum=1; for i=1:size(RGB,1) for j=1:size(RGB,2) testx=double(RGB(i,j,1:2)); preY=svcoutput(trnx,trny,testx,ker,alpha,bias); tstnum=tstnum+1; if (preY==1) resIm(i,j)=255; else resIm(i,j)=0; end imshow(resIm);

三、SVM的C语言编程介绍 1.求解SVM的两个开源开发包: 2. 利用SVM的C语言程序直接进行分类器的训练和测试: Libsvm: http://www.csie.ntu.edu.tw/~cjlin SVM-light:http://ais.gmd.de/~thorsten/svm_light 2. 利用SVM的C语言程序直接进行分类器的训练和测试: <label> <index1>:<value1> <index2>:<value2> ... 例: 1 1:67 2:66 3:72 4:72 5:59 6:71 7:54 8:67 9:79 -1 1:101 2:108 3:100 4:99 5:102 6:95 7:93 8:96 9:89

使用说明 训练结果

3. 利用SVM的C语言开发包编写自己的SVM分类器: svm_model *svm_train(const svm_problem *prob, const svm_parameter *param) double svm_predict(const svm_model *model, const svm_node *x) struct svm_problem{ int l; double *y; struct svm_node **x;}; struct svm_node{ int index; double value;}; 1 1:-0.844335 2:-0.184362 3:0.046215 4:0.593243 5:0.140576 6:0.330716 7:0.172408 8:-0.105515 struct svm_parameter{ int svm_type; int kernel_type; double degree; // for poly double gamma; // for poly/rbf/sigmoid double coef0; // for poly/sigmoid // these are for training only double cache_size; // in MB double eps; // stopping criteria double C; int nr_weight; int *weight_label; double* weight; // for C_SVC double nu; // for NU_SVC, ONE_CLASS, and NU_SVR double p; // for EPSILON_SVR int shrinking; // use the shrinking heuristics };

svm_parameter param; // parameter int nr_class; // number of classes struct svm_model{ svm_parameter param; // parameter int nr_class; // number of classes int l; // total #SV svm_node **SV; // SVs (SV[l]) double **sv_coef; // coefficients for SVs in decision functions double *rho; // constants in decision int *label; // label of each class (label[n]) int *nSV; // number of SVs for each class (nSV[n]) int free_sv; // 1 if svm_model is created by svm_load_model // 0 if svm_model is created by svm_train }; svm_type c_svc kernel_type linear nr_class 2 total_sv 239 rho 0.672633 label 1 -1 nr_sv 119 120 SV 1 1:-0.844335 2:-0.184362 3:0.046215 4:0.593243 5:0.140576 6:0.330716 7:0.172408 8:-0.105515 1 1:2.123396 2:-0.309469 3:0.769512 4:1.220115 5:-0.692439 6:1.878123 7:1.367596 8:0.999905 -0.185 1:-1.141108 2:0.409897 3:-0.573754 4:-0.033629 5:1.832638 6:-0.709344 7:-0.361805 8:-1.04087 0.399 1:1.52985 2:0.034575 3:-0.677082 4:-1.287373 5:-0.692439 6:0.165829 7:1.938027 8:-0.020483

SVM For Nonlinear Problems 35

内容提要 1.如何解决少量非线性可分样本? 2.如何解决大量非线性可分样本? 3.核函数方法(Kernel Trick) 4.SVM背后的统计学习理论 36

1. 线性SVM求解含少量非线性可分样本的思想 基本思想:通过训练误差和类间宽度之间的权衡,得到一个最优超平面。 1.少量样本非线性可分 2.少数outlier影响分隔超平面的最优求取

1. 线性SVM求解含少量非线性可分样本的思想 优化目标: 权衡因子 约束条件: 松弛变量 注: 1、松弛变量是允许数据点偏离函数边界的量 2、C是惩罚因子,其值越大表明离群点对目标函数影响越大,也就是越不希望看到离群点。

模型修改后,拉格朗日公式也要修改如下:  

类似的,通过Lagrange函数,转化为对偶问题 1类样本:位于分类间隔之外 1类样本 2类样本:支持向量 在两条间隔线外的点前面的系数为0,离群样本点前面的系数为C,而支持向量的样本点前的系数在(0,c)上。 2类样本 3类样本:位于分类间隔之内 3类样本 40

不同的权衡因子得到的不同的分类面 C=1000 C=10

2.非线性支持向量机 当线性支持向量机划分样本会产生过多训练误差时,需要考虑使用非线性分类面对两类样本进行划分。

2.1 寻找非线性问题的三种思路 思路1:原空间法 在原空间中直接求解非线性问题

将非线性问题的求解转换成另一个空间中的线性问题求解 思路2 :特征空间法 将非线性问题的求解转换成另一个空间中的线性问题求解 例1:XOR问题

例2:物种分类问题

寻找特征映射Ф所面临的问题: 1. 特征映射Ф的确定往往需要相当高的技巧和相当专业的领域知识; 2. 特征映射Ф的计算可能会相当复杂; 3. 特征映射Ф往往是一个低维向高维映射的过程,这个映射过程经常面临维数灾难。

思路3. 核函数方法 构建到特征空间的隐式映射 判别函数: 结 论: 优化问题: 样本之间的内积 判别函数: 结 论: 构建支持向量机只需要知道任意两个样本之间的内积定义,无需知道样本点自身的特征表示

2.2 线性SVM通过核函数扩展为非线性SVM 线性SVM:

其中 通过求解如下的优化问题得到: 利用核函数将非线性问题转化为线性问题的手段和方法称之为核函数方法。

例:XOR问题中我们构造了一个非线性映射实现了特征的升维: 样本点在新的特征空间中的内积为: 核函数描述了样本点在经过某种特征变换后,在新的特征空间中的内积。

核函数 线性支持向量机 非线性支持向量机 优化问题: 判别函数: 利用支持向量机求解异或问题的结果示意图

3 核函数方法 3.1 核函数的定义 定义 核函数是一个对称函数,对所有的 满足: 这里 是从X到内积特征空间F 的映射。 定义 核函数是一个对称函数,对所有的 满足: 这里 是从X到内积特征空间F 的映射。 Mercer定理 对于任意的对称函数 且 有 ,它是某个 特征空间中的内积运算的充分必要条件是,对于任意的

常用的核函数: 推论 令X是有限输入空间,K(x , z)是X上的对称函数。那么K(x , z)是核函数的充要条件是矩阵: 是半正定的。 多项式核函数 高斯核函数 sigmoid核函数

3.2 核函数的构造 令K1和K2是X*X上的核,f(∙)是X上的一个实值函数。B是一个对称半正定矩阵。那么下面的函数是核函数: 3.2 核函数的构造 令K1和K2是X*X上的核,f(∙)是X上的一个实值函数。B是一个对称半正定矩阵。那么下面的函数是核函数: 从核函数中构造 从特征中构造 从相似性度量中构造

3.4 如何选择核函数 问题1: 何谓一个好的核函数? 好的核函数能够真实反映样本间的远近关系。 3.4 如何选择核函数 问题1: 何谓一个好的核函数? 好的核函数能够真实反映样本间的远近关系。 问题2: 如何判断核函数是否真实的反映的样本间的远近关系? 比较难!但是初步判断核函数是否真实反映了训练样本之间的远近关系还是可能的。 核函数的选择策略: 选择能够真实反映训练样本远近关系的核函数。

问题3:训练样本间的远近关系如何表达? 物理含义:两个属于同类的样本相似度为1,不同类的样本相似度为0。 问题4:核函数与训练样本间的远近关系的一致性评估 利用矩阵的相似性度量:

3.4 关于核函数方法的评述 功能:采用核映射技术,将非线性问题转化为一个线性问题的非线性数据处理方法。核的使用使得将数据隐式表达为特征空间并越过本来需要的特征映射的计算成为可能。 适用条件:如果某个线性问题的求解过程只与样本间的点积相关,则可以采用核函数方法将该线性问题的求解过程推广到非线性问题。 Kernel trick:将所有的计算转变为向量间的点积运算。

3.5 核函数方法的应用示例:PCA KPCA PCA的作用:发现数据分布的主要方向 PCA的常用功能: 特征降维 数据压缩 去除噪声 只能得到样本分布的线性主方向

PCA求解步骤 Step 1:样本中心化,使得 Step 2:求解中心化后的样本的协方差矩阵 Step 3:求解协方差矩阵的特征值和特征向量,其中最大特征值对应的特征向量即为主方向。 对应的特征向量 为主方向

KPCA:基于核函数的非线性主成分分析 Step 1:样本中心化,使得 Step 2:求解中心化后的样本的协方差矩阵 Step 3:求解协方差矩阵的特征值和特征向量 不妨设所求的特征向量为: 则根据特征向量的定义,有:

展开后,得到: 根据核函数的定义,有: 其中K为核函数对应的的Gram矩阵。考虑到其逆存在,故: 解该方程得到 即可得到特征空间中的主分量 样本在主方向的投影可表示为:

利用PCA得到的主分量重建结果 利用KPCA得到的主分量重建结果

KPCA与其它方法的对比

KPCA的去噪功能(USPS) Patterns Linear PCA Kernel PCA 7291 train 2007 test Size: 16 x 16 Linear PCA Kernel PCA

3.6 核函数方法在其它方面的应用 Kernel Fisher Discriminant Analysis 3.6 核函数方法在其它方面的应用 Kernel Fisher Discriminant Analysis Kernel K-Means Clustering Kernel Independent Component Analysis ……

3.7 核函数方面的研究 Parameters’ selection for Multi-Kernel 3.7 核函数方面的研究 Parameters’ selection for Multi-Kernel Constructing Special Kernel for Special Applications Data Driven Kernel Construction

问题: 1.如果已知特征映射 则该特征映射 对应的核函数是? 2.给定两类样本:(0,0),(1,1);(1,0),(0,1) 求在核函数 导出的特征空间中两类 样本中心间的距离。

总 结 支持向量机带给我们的启示: 要学会描述一个问题;要学会用优化模型描述一个问题;要学会用便于求解的优化模型描述一个问题。 总 结 支持向量机带给我们的启示: 要学会描述一个问题;要学会用优化模型描述一个问题;要学会用便于求解的优化模型描述一个问题。 要学会转化问题;要学会将陌生的问题转换成熟悉的问题;要学会将陌生的问题转换成便于求解的熟悉的问题。 68