目录
1、距离的计算
2、数据标签的定义
3、优化目标
4、目标函数
5、拉格朗日乘子法
7、SVM求解
8、求偏导SVM求解
SVM求解实例
为何叫支持向量机?
实验现象:
当支持向量没有变化,无论添加多少样本数据,对最终的决策边界是没有影响的。
超详细版数学推导过程见:http://www.noobyard.com/article/p-zovaynke-qd.html
1、距离的计算
注解:
- W:垂直于平面的法向量
- 点x’ x’’均在平面内,故满足平面方程,代入化简得出式子1
- (x’’-x’)表示平面内部的直线,“平面的法向量垂直于平面内的任意一条直线”,故得出式子2
- 点x到平面的距离,可等价于,一条直线(x-x’)相对于平面的竖直投影(dist)
向量X/模(X)==单位向量,竖直单位向量*直线(x-x’)长度==点x到平面的距离
又因为x’未知,但x’满足超平面方程,代入化解,得出最后结果
2、数据标签的定义
注解:
- Xi是数据集,Yi是标签。
- X正例,Y>0;X负例,Y<0。二化为一==数据X、标签Y同号时>0
3、优化目标
注解:
- 通俗解释:找到一条超平面,使得最近的点到该平面的距离相对的足够大
- 上一页PPT最后将两种情况归一化,使得Yi*Y(xi)恒>0,故可去掉绝对值。
4、目标函数
注解:
- 优化目标
- 先找出离超平面最近的样本点Xi,
- 再找出w、b使得Xi离该超平面的值尽可能地越大。
- 放缩变换
- X+Y>1 == 2X+2Y>2,等比例的放缩,不影响其本质
- 为何右边放缩为1呢?因为在优化目标中,取Xi使其最小值与模(X)相乘,1是最合适的取值来得到目标函数
- 目标函数
- 转换为:取到哪一个合适的W,才会使得离超平面最近的点的距离尽可能的大。
5、拉格朗日乘子法
注解:
- 常规套路
- 这就是对偶关系的转换
- 系数1/2的引入,为了后面求偏导时系数化简方便
注解:
- 拉格朗日乘子的约束条件
等式/不等式均可,但另一侧必须为0,所以将原式问题的约束进行移项处理
- 我们的式子
对于每一个化简处理的约束条件,多了一个αi
7、SVM求解
注解:
- 拉格朗日乘子法中的KKT条件
- 什么样的w、b使得min(L)?
求偏导即可。为何求偏导就是极小值?因为L为2阶凸函数
8、求偏导SVM求解
注解:
- 条件1:对b求偏导的来的、条件2:拉格朗日乘子法自带条件
- 求极大值==求其相反数的极小值
- 求解:转换后,Xi样本点、Yi标签均为已知参数,只求未知αi即可
SVM求解实例
注解:
- 支持向量机名字来由解析
- 约束条件:
- 条件1:由于X3为负例,则Y3=-1,Σαi*Yi=0可化简为α1+α2-α3=0
- 条件2:拉格朗日乘子法的性质
注解:
- 数据代入
- (3,3) +1、(4,3) +1、(1,1) -1
- 请注意i、j循环的代入:
- α1α2存在两种情况:i=1,j=2;i=2,j=1
- (Xi·Xj)内部是点乘=内积
- (x1·x2)=3*4+3*3=21
注解:
- 对于W是关于Xn的坐标,Xn是n维的坐标,那么W也就是n维的坐标点
- 超平面方程、化解得b
为何叫支持向量机?
观察发现:α1=0.25、α2=0、α3= -0.25,只有那些样本点中α不为0的点才会对最终的结果产生影响。也就是由边界上的样本点构成的,与非边界上的点是无关的,如上图,x1与x3是边界上的,x2是非边界的且α2=0。由此看出,所有边界上点的α值必不为0,所有非边界点上的α值必为0。
机:决策边界
决策边界由一些向量来支撑,如x1、x3。而x2是非支撑向量,对决策边界无任何印象。
实验现象:
当支持向量没有变化,无论添加多少样本数据,对最终的决策边界是没有影响的。
ROC曲线和最佳阈值
后面评估模型整体准确率时,引入了ROC曲线,得到最佳阈值,当时对这个理解的不是很清楚。最近看论文期间,得到了一些理解:
将两种类别分割开来的间隔存在许多条, 如果改变H的方向,则根据H1, H2与H平行这一条件,H1, H2的方向也随之改变,这样一来,Hl与H2之间的间隔(两条平行线的垂直距离)会发生改变。显然使H1与H2之间间隔最大的分界面H是最合理的选择,因此最大间隔准则就是支持向量机的最佳准则。这里的最大间隔(H到H1/H2的距离)应该是与最佳阈值相对应的。
核函数存在的意义:
对于非线性情况,支持向量机采用的方法是将输入向量映射到一个高维的特征向量空间,并在该特征空间中构造最优分类面,并且经过证明可以得到如下结论:如果选用适当的映射函数,大多数输入空间线性不可分的问题,在特征空间可以转化为线性可分问题来解决。