支持向量机公式简单推导过程
作者:互联网
找出什么向量(最近距离最大的两个点)来支撑分割的超平面
上面三个图,b图的决策面划分更加合理,‘间距’更大,如何具体分类问题中的找到这条线?
雷就是点
通过计算点到直线的距离,找出距离直线最近最远的那个点(两个点)
点到直线的距离如何计算?
转行成点到平面的距离,设置一个超平面为
直接距离难求,转化为x到 x'的距离(向量[x-x']),然后映射到与向量w上,就得到了距离dist
映射完的法向量的单位方向:法向量/自身的模==/
x到 x'的距离*映射到的方向=直接距离距离,然后再根据绿中的等式,替换可得最终点到直线的距离
这里可以当做输入数据x来处理,不同的是只是对其原来的值做了一定的变换(核)
找到一条线(w和b),使得离该线最近的点距离该线最大,也就是转换成=求下图绿框中公式的最大值
通过缩放使,求其最小值,应该能得出一个近似1的值,不仿把它就当做等于值1来处理
就得到下面绿色框的新目标函数
求一个数的最大值,相当于求其倒数的最小值
拉格朗日乘子法标准格式:求一个函数的最小值,约束条件是另外一个函数<=0,但是我们的约束条件是≧1,所以要转换一下
转换为1-y_i*y(x)≤0 ,就可以顺利使用拉格朗日乘子法来求解这个问题
代入拉格朗日乘子法f(x)+α*g(x)可得
然后求出最大的α,和最小的w,b就好啦,但是不太好求,就用到 代入拉格朗日乘子法的对偶问题
最大值里面最小的那个,总比最小值中最大的那个大 (鸡头凤尾例子)
需要求代入拉格朗日乘子法的最小值,对其求偏导就可以了,分别队w和b求偏导(φ括号相当于x)
把上面的w和0=等式代入原来的 代入拉格朗日乘子法式子中,并且化可得绿色框的目标函数
然后对其求α的极大值,但是不好求,转换成求其相反数的极小值,同时仍然满足之前的条件(一个拉格朗日规定的α≧0,一个之前的对b求偏导得到的0=式)
例子:
然后根据两个条件,代入后可得(求导=0求其α的极小值)
无法在极值点上找到最小值,那么最终的解应该在边界上的点α=0的时候(取其满足制约条件的最终值)
然后将α的值代入之前最w和b求偏导得到的等式中
得到w1=w2=0.5
然后又因为之前的表达式为然后
??
x1,x3就是支持向量
软间隔支持向量机(有个别异常的点如何更加合理的划分割线)
然后重复之前的步骤
x_i*x_j 是求内积的操作
与核函数的交互
低维不可分的点转换到高纬处理,就容易分来。如何转换呢?
映射函数
内积x1*y1+x2*y2+x3*y3
先做维度平方项,再算内积=原来的维度计算内积后的平方。 可以在一个低维控件去完成高纬度样本内积的计算
标签:拉格朗,内积,推导,公式,代入,最小值,距离,向量 来源: https://www.cnblogs.com/liujinmeng/p/15629615.html