SVM(Support Vector Machine)
本博主要是采用周志华的《机器学习》部分,外加自己的理解。
1. 划分超平面方程如下
这个方程可以从向量的内积的意义来理解。
a⃗ ⋅b⃗ =|a⃗ |⋅|b⃗ |⋅cos<a⃗ ,b⃗ >
w⃗ T⋅x⃗
的结果是
x⃗
在
w⃗
方向上的投影乘以
|w⃗ |
。假设
x⃗
和
w⃗
都是从原点出发,处于超平面(二维空间的超平面是直线,三维空间上的超平面是平面)上的任意点
x
对应的
因此
w⃗
是这个超平面的法向量,而
b
则为这个超平面到原点的距离的平方。
2. 样本空间中的任意点
这个公式在书中一下子给出来,可能有点绕。
假设
Xp
是
x
在超平面上的投影,
x⃗ =Xp→+rw⃗ ||w⃗ ||
,有公式
f(x)=w⃗ Tx⃗ +b
,则
f(X⃗ p)=w⃗ TXp→+b=0
。
f(x)=f(Xp→+rw⃗ ||w⃗ ||)=w⃗ T⋅(Xp→+rw⃗ ||w⃗ ||)+b=r||w⃗ ||=w⃗ Tx⃗ +b
由此可以导出公式:
r=|w⃗ Tx⃗ +b|||w⃗ ||
示意图如下所示:
3. 进行分类
这里主要是想要解释一下6.4式怎么得来的。从6.3式的约束以及图6.2可以看出,与超平面平行且相隔距离为1的两条直线将训练集分为了两块。则根据6.2式可以得到两个异类支持向量到超平面的距离之和为
γ=2||w⃗ ||
4.