令人煎熬的SVM 线性可分支持向量机与硬间隔最大化

此时此刻,还是带着问题写的博客····

哇,怎么总结.

先贴上一个博客地址   http://blog.pluskid.org/?p=632

先说名字,线性可分,就是存在一个超平面,能把正例跟负例完全分隔开,那么这个数据集就是线性可分的。

支持向量:离超平面越近的越难分是正例还是负例,要想加新的点以后预测更准确,就要使得 样本点到超平面的最小距离l最大  (距离越大越容易分类)而这个能得到最小距离l的样本点就叫做支持向量。支持向量一定是正负例都有的,它是平行于超平面,到超平面的距离为l的两个超平面上的样本点。

硬间隔:过支持向量的两个超平面之间形成了一个间隔。这两个超平面叫间隔边界。

与软间隔对应,硬间隔是存在于数据集线性可分的情况下,而软间隔是数据集近似线性可分情况。后面还没复习到,复习到再回来补充。补充:硬间隔是把所有的样本点正确分在超平面两侧,而软间隔允许某些样本点错误分类。


然后目标函数是什么?

要求的分离超平面是:   

   


显然要求的参数有两个,怎么求参数呢?

硬间隔最大化

有两个间隔

1.函数间隔

2.几何间隔

函数间隔,在二维空间中可以理解为点到直线的距离,点代入直线方程,然后取绝对值。

(hat gamma)

y取值正负1,乘以y,相当于取绝对值。

几何间隔。因为如果已经选定了支持向量,对w和b成比例增长,比如都乘以2,超平面没有变,但是这个最小间隔求出来就也变成了2倍。所以,进行规范化,就有了几何间隔。


那么硬间隔最大化当然是选择几何间隔了。

接下来是最大化。


用函数间隔是

函数间隔为什么取1?其实没有懂。



这是目标函数

剩下的就是如何求解上式。

这是个凸二次规划问题。哇什么鬼?就是符合某些条件的约束最优化问题,这个不重要。

怎么解呢?

用到的是拉格朗日对偶性,简单说,就是把这个问题转换为一个比较容易求解的对偶问题。

首先构建拉格朗日函数,这个大学学过,就是把约束条件乘个因子,写到目标函数后面。


这个拉格朗日乘子的元素都是非负的。为啥?


(1)求极小值,利用偏导


求出了w,带回式子。


(2)然后是求极大值


也就是


这里先假设求得了alpha的解

这里KKT还没有看懂

容易求得

标黄的式子,当alpha>0,那么中括号中的式子就等于零,也就是说,这个样本点为支持向量;同理,当中括号中大于零,也就是非支持向量,这种时候,alpha必须等于零。(这里被问到说,如果alpha跟括号中都等于零,你该怎么解释?

因此,SVM跟逻辑回归的不同就在于,不用考虑那么多点,只看少量的支持向量就够了。

alpha向量中一定有至少一个元素大于零,为啥呢?因为如果全都为零,那么w=0,而这显然不是目标函数的解?哈?为啥不是?https://www.zhihu.com/question/269619107/answer/349429844

当上面情况成立,那么就可以得到  1移到等号右边,左右同乘以yj,因为,就求得


然后分离超平面即,


由此看出,决策函数只与输入x与样本的内积有关。

剩下的问题就是如何求解alpha,始终没有提到。

总结一下这个算法:

(1)这个就是目标函数的对偶问题,求 alpha 

(2)求w,b


这么多问题,什么时候来填坑???

猜你喜欢

转载自blog.csdn.net/zhangdamengcsdn/article/details/80240978
今日推荐