支持向量机课(SVM)
Posted super-yb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支持向量机课(SVM)相关的知识,希望对你有一定的参考价值。
在感知机一节中说到,我们在线性可分的情况下,寻找一个超平面使得
一部分实例$\\sum_{i=1}^{n}w _{i}\\cdot x_{i}>0$,
另一部分实例$\\sum_{i=1}^{n}w _{i}\\cdot x_{i}<0$
但是感知机的解不唯一,所以会出现这样的情况
我们应该如何选择一个最佳的解呢?
首先定义几何间隔为:
$d=\\frac{y\\left | w\\cdot x_{i}+b \\right |}{\\left \\| w \\right \\|_{2}}$
其实就是感知机损失函数在固定分子之前的形式
定义函数间隔为:
$y_{i}(w\\cdot x_{i}+b)$
几何间隔d才是真正的点到超平面的距离
支持向量
图中过样本点的虚线表示的就是支持向量(support vector)
中间的实线就是超平面$y_{i}(w\\cdot x_{i}+b)=0$
一般设置支持向量为 $y_{i}(w\\cdot x_{i}+b)=+1/-1$
SVM希望所有的点到超平面的距离都大于1,公示表示为
max $ d=\\frac{1}{\\left \\| w \\right \\|_{2}}\\sum_{x_{i}\\subseteq M}^{ }y_{i}(w\\cdot x_{i}+b) $
并且 $s.t y_{i}(w\\cdot x_{i}+b≥1$
与感知机不同,我们固定d的分子为1,
又最大化$\\frac{1}{\\left \\| w_{2} \\right \\|_{2}}$,等同于最小化$\\frac{1}{2}\\left \\| w^{2} \\right \\|_{2}$
tips
要加1/2 和 平方 单纯的为了求导的方便
所以优化公式变为:
min $\\frac{1}{2}\\left \\| w^{2} \\right \\|_{2}$
$s.t y_{i}(w\\cdot x_{i}+b≥1$
建立拉格朗日函数,将不等于约束变成无约束优化问题
$L(w,b,a)=\\frac{1}{2}\\left \\| w^{2} \\right \\|_{2}-\\sum a_{i}\\left [ y\\left ( w\\cdot x+b \\right )-1 \\right ]且a_{i}> 1 $
这里i= 1,2,,,m,即样本个数。下文为了编辑公式方便不再赘述。
(这里不明白的为什么ai>0,请看KKT条件一文)
所以优化目标变成:
$min\\underbrace{w,b} max\\underbrace{a_{i}\\geq 0}L(w,b,a)$
这里为什么要max ai
优化 L(w,b,a)
求w,b的最小值,对L求偏导
$\\frac{\\partial L}{\\partial w}=0\\Rightarrow w = \\sum a_{i}y_{i}x_{i}$
$\\frac{\\partial L}{\\partial b}=0\\Rightarrow b = \\sum a_{i}y_{i}$
这里w可由a表示,带入方程,我们可要求出max a便可求得w,b暂时先不管。
定义:$\\psi (\\alpha )=min\\underbrace{w,b}(w,b,a)$
将$w = \\sum a_{i}y_{i}x_{i}$带入
得到
(公式太过庞大,编辑公式太繁琐,so..手写)
以上是关于支持向量机课(SVM)的主要内容,如果未能解决你的问题,请参考以下文章