初识支持向量机

支持向量机(Support Vector Machine)

​ 支持向量机(SVM)为监督式机器学习方法的一种,广泛地应用于统计分类、回归分析、二类问题(binary classification)的模式识别中,其最大特点是既能够最小化经验损失(也叫做经验风险、或者经验误差),同时又能够最大化几何间距(分类器的置信度),因此SVM又被称为最大边缘区(间距)的分类器。

​ 机的意思就是算法,机器学习领域里面常常用“机”这个字表示算法。支持向量意思就是数据集种的某些点,位置比较特殊,我们找这条直线的时候,一般就看聚集在一起的两类数据,它们各自的最边缘位置的点,也就是最靠近划分直线的那几个点,而其他点对这条直线的最终位置的确定起不了作用,故称这些点为“支持点”(即有用的点),但是在数学上,没这种说法,数学里的点,又可以叫向量,比如二维点(x,y)就是二维向量,三维度的就是三维向量(x,y,z)。所以“支持点”改叫“支持向量”。

目标优化

​ 我们从逻辑回归来引入SVM,假设函数为:\(h_\theta(x)=\frac {1}{1+e^{-\theta^Tx}}\)

如果y=1,我们希望假设函数计算值\(h_\theta(x)\approx 1\),从下图可以看出\(\theta^Tx\)需要远大于0,

同样y=0,我们希望假设函数计算值\(h_\theta(x)\approx 0\),从下图可以看出\(\theta^Tx\)需要远小于0。


1.jpg

代价函数为: \(-(ylogh_\theta(x)+(1-y)log(1-h_\theta(x)))\)= \(-ylog\frac{1}{1+e^{-\theta^Tx}}-(1-y)log(1-\frac{1}{1+e^{-\theta^Tx}})\)

2.jpg 3.jpg

图中的蓝色折线(先不用考虑斜线的斜率)在不同y取值下表示cost_1,cost_0。

逻辑回归代价函数:


4.jpg

同时删除两侧的 \(\frac{1}{m}\),对于优化参数theta效果不发生任何变化,同时将参数lambda删除,以 \(C=\frac{1}{\lambda}\)补充有: 5.jpg

大间距分类器的直观表现

​ 前面曾提到SVM又称为大间距分类器(Large Margin),下式为支持向量机的代价函数,分别画出对z的代价函数cost1(z)、cost0(z)(如上图蓝色折线)。


5.jpg

6.jpg7.jpg


若y=1,欲代价函数最小,则从图中有 \(z=\theta^Tx\)需要大于等于1,y=0则需要小于等于-1。 (注意这里不再是之前逻辑递归中仅大于等于0或小于等于0)现在将代价函数中的常数值C设置为非常大的数如:100,000,这时最小化SVM的代价函数时应该尽量使前一项中的计算结果为零,此时就应该让 \(z=\theta^Tx\)需要大于等于1,或小于等于-1。

​ 下面通过一个线性可分的案例加以说明SVM的决策边界:


8.jpg

​ 异常点(outliers)在大间距分类器的影响:

9.jpg

大间距分类器背后的数学原理

​ 首先,两个向量的内积(Inner Product),设向量为:10.jpg向量u的模(范数)表示为:\(\left \| u \right \|=length\ of\ vetor = \sqrt{u_1^2+u_2^2}\)\(u^Tv=p*\left \| u \right \|\),其中p表示v在u上的投影长度(其值可以为负数)。

SVM的决策边界

​ 在SVM的代价函数中常数C为很大的情况下(如:C=100,000),最小化代价函数为\(min_\theta\frac{1}{2}\sum_{j=1}^{n}\theta_j^2\),s.t.(约束条件-subject to)为:11.jpg

根据上面对于向量长度的定义,1.jpg

方便起见,我们设\(\theta_0=0\)(反应为在坐标轴上的截距),参数\(\theta = [\theta_1\ \theta_2]\),则约束条件中德\(\theta^Tx\)可以表示为:2.jpg。其中\(p^{(i)}\)为x(i)在参数theta上的投影长度,如下图所示:


3.jpg

​ 现在我们再来看看SVM的决策边界问题,数据样本如图所示 4.jpg

​ 绿色直线可能是两侧数据的分界线,但因为间距margin太小了,最小化SVM代价函数时是不会选择它的,具体原因如下,蓝色的参数theta线与分界线成90度关系,是绿色决策界的参数theta向量。如前所述,为简化方便theta_0的值设为零,则两条线都过零点。


5.jpg

​ 现在任意选取两个点 \(x^{(1)}\)\(x^{(2)}\),做其在参数theta上的投影,长度分别用红色与粉色标明, \(p^{(1)}\)\(p^{( 2)}\)表示,从中能看出投影的长度p很小,而前述的约束条件s.t.中应该 \(z=\theta^Tx\)需要大于等于1,y=0则需要小于等于-1,因此theta的范数就会很大很大,这与最小话代价函数 \(min_\theta\frac{1}{2}\sum_{j=1}^{n}\theta_j^2\)相悖。

6.jpg 7.jpg

​ 相反,选取下图中的决策线将会使theta变小。

8.jpg

转载于:https://www.cnblogs.com/SrtFrmGNU/p/7141170.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值