接着svm原理其一,讲():
svm 线性支持向量机
如图,有直线L1,L2来划分两个类别,但是L2出现了一个样本分类错误,根据线性可分支持向量机可知,我们是按距离一个分割面最近的样本点(如上图的d1,d2这里d1=d2,我们可以调节直线的平行位置来使得d1=d2,如果有其他的样本点的值也等于d1或者d2那么这些样本点也需要取出来)的距离比距离其他分割面最近的样本点的距离都要大,那么这个分割面就是最好的。 来选最优分割面的,但很明显L2除了一个样本分错了外,比L1更符合要求。那么这时候我们就用到了线性支持向量机了。
1.线性支持向量机的思想
线性支持向量机的思想和线性可分支持向量机是差不多的,只不过比可分向量机多了一个参数,这个参数的名字叫做“松弛因子”,且ζ>=0。
2.基于线性可分支持向量机的数学公式推导
首先我们要知道松弛因子有什么用,其最终目的是让这个分割平面具有容错的能力。我们已知对于每一个样本有一个函数距离,我们要用这个函数距离来体现容错这一特性。
在线性可分支持向量机中有一个约束条件:
>=1
我们把它变成下式:
>=1
那么
每一个样本的函数距离就不一定大于1了,so,就有样本容错能力了
新的目标函数为:
新目标函数等价为:
这里的C是的参数,C>0
约束条件:
>=1
ζi>=0
则拉格朗日函数为:
-1
对w,b,求偏导:
这一个的过程和可分的一样,将上面三个式子带回去就可得:
约束条件为:
αi>=0
μi>=0
到了这一步,让后用SMO优化方法对上面的式子进行求解
至于SMO算法内容有点复杂,还在学习中
3.损失函数
1.0/1损失
样本分对了就令其y值为0,也就是没损失
分错了令其y值为1,有损失
2.Logistic损失函数
公式:
横轴代表
这个知道一下就好
3.Hinge损失
即使是分对了也会有损失
只有在虚线两边的没有损失
这里有一个参数,Hinge图是根据这个参数来画的
到目前为止我不知道这个损失函数有什么用
非线性支持向量机
1.核函数
可以使用核函数,将原始输入空间映射到新的特征空间,从而,使得原本线性不可分的样本可能在核空间可分
多项式核函数: ,为常数
高斯核函数RBF:
Sigmoid核:,为常数
在实际应用中,往往依赖已经得到的结论或交叉验证等方案才能选择有效的核函数(没有任何东西作为借鉴的时候,用高斯核函数)