支持向量机一-机器学习(machine learning)笔记(Andrew Ng)

支持向量机

  • 监督学习
  • 针对复杂非线性方程

优化目标

先从逻辑回归出发,下面是我们熟悉的假设函数和Sigmoid图像:
这里写图片描述
我们希望逻辑回归做什么:如果y=1,那么我们希望假设函数h约等于1,即希望z远远大于0;如果y=0,那么我们希望h约等于0,即希望z远远小于0。
接下来我们来看逻辑回归的代价函数:
逻辑回归代价函数:忽视了1/m
当y=1时,代价函数增加了 l o g h θ ( x ) ;当y=0时,代价函数增加了 l o g ( 1 h θ ( x ) )
进一步探究:
这里写图片描述
当y=1时,z越大,增加的代价越小;反之,当y=0时,z越小,增加的代价越小。
然后我们使用另一种代价函数去代替上图中的代价函数(图中红色的线):
这里写图片描述

现在,我们基于上面,来构建支持向量机:
先是逻辑回归的代价函数:
这里写图片描述
我们修改其中的某些内容:

  • 改变其中的log函数为抽象的cost()
  • 删去1/m,因为1/m并不会影响到最终求得的theta值
  • 将逻辑回归A+λB的形式转化为CA+B

最终得到支持向量机的优化目标函数:
这里写图片描述
那么我们可以发现 SVM的假设有别于逻辑回归的地方是:
这里写图片描述
当y=1或0的时候,我们希望逻辑回归的h约等于1或者约等于0,而SVM的h等于1或0。

大间距分类器的直观解释

SVM会被成为大间距分类器,这里将解释为什么这样称呼。
下面是前面所说的SVM代价函数:
这里写图片描述
我们假设C取很大的值,如100000:
我们希望第一项A=0,即当y=1时, θ T x 大于等于1;当y=0时, θ T x 小于等于-1。
下面来看一个例子:
这里写图片描述
对于这个线性可分的样本,SVM趋向于画一条黑线,可以看出黑线比绿线和红线都自然稳健的多。
黑色的线与正负样本的距离离得更远,这就是为什么SVM被称为大间距分类器。
这里写图片描述
这也是为什么SVM具有鲁棒性的原因:它以最大间距来划分样本。
为什么会有这样的效果在下一小节给出。

当出现异常值时:
这里写图片描述
将黑线变成红线是不明智的。
当C设置的非常大时,SVM就会将黑线变成红线。相应的,如果C设置的不是非常大,SVM仍然可以得到黑线。

大间距分类器背后的数学解释

SVM代价函数:
这里写图片描述
s.t.是在…条件下的意思。我们得知在上述条件下,SVM的代价函数可以简化为B项(正则化项)。
这里写图片描述
上图是关于 θ T x 的向量化表示。
向量的内积: p ( i ) 是有方向的
那么,SVM的代价函数可以表示如下:
这里写图片描述
我们来看一下为什么SVM不选择绿线:
这里写图片描述
这里写图片描述
这里绿线是决策边界,蓝线是theta向量,p是样本点在theta上的投影。

为什么决策边界和theta是正交的?
西瓜书支持向量机刚开头说了划分超平面的知识:此处theta0=0,位移项为0,所以划分边界与theta正交。

说回来:因为绿线很斜,p很小,导致ptheta中的theta需要够大才能满足乘积大于等于1或者小于等于-1的条件。所以代价函数必然会变大。所以SVM不会选择绿线。

猜你喜欢

转载自blog.csdn.net/sinat_25721683/article/details/81666024
今日推荐