SVM一步步推理
对于空间的任意一点,我们都可以理解为一个向量,那么一条直线就可以理解为一系列向量的集合。那么我们计算任意一点Xi到直线的距离(欧氏距离),记为||k||,可以理解这么计算:
- 原点到直线的投影向量,我们记为β,β是垂直于直线的
- 向量(Xi-β)·β/||β||,即(Xi-β)在β方向的投影长度,也就是Xi到直线的欧氏距离
那么我们就有β·(Xi-β)=||β||·||k||
对于直线上的点X,就有||k||=0,即β·(X-β)=0,即βX-β·β=0,也即βX-||β||^2 =0。改为我们平时习惯的格式:βX+b=0,其中b=-||β||^2。
在SVM中,我们记margin距离为k,则,X属于类别1,即X到超平面的距离>=k,即:
X属于类别1,(X-β)·β/||β||>=||k||
X属于类别0,(X-β)·β/||β||<=-||k||
以类别1来算:同除以||k||,得(X-β)·β/(||β||||k||)>=1
我们记w=β/(||β||||k||),即:
w(X-β)>=1,也即w·X-w·β>=1
又有w·β=||β||/||k||,我们记c=-||β||/||k||, 则有wX+c>=1,就转化为我们常用的形式了。发现没,b和c的关系就是:c=-||β||/||k||=b/(||k||||β||),所以书上在推的时候直接写用c=b/(||k||||β||)代替。
对于分割线上的任意一点Xi,到分割平面的距离则为β·(Xi-β)/||β||=||k||,即Xi·β-||β||2=|β||||k||,这里的β就是前面分割超平面里的β,所以 b=-||β||^2,则分割直线是 β·X+b=||β||||k||和β·X+b=-||β||*||k||
写完,我在干嘛?哎,其中就是书里直接写w代替β/(||β||||k||), c代替b/(||k||||β||)。
这个k是欧式距离,我们找到它与函数距离的关系。前面我们是左右都除以了k得到了1这个函数距离,那么对应的欧式距离=函数距离||k||=函数距离/||w||。即函数距离=欧式距离||w||。