2.支持向量机的数学原理
这里推荐这两篇文章
https://blog.csdn.net/qq_35992440/article/details/80987664
https://www.cnblogs.com/liaohuiqiang/p/7805954.html
两篇博客对向量机的原理和拉格朗日乘子法的原理介绍的很清楚,搭配看效果更佳。
下面简要介绍其思路:
如上篇文章介绍,支持向量机其最终目的即为找到分割数据集的超平面,并且使其距离两侧点的距离最大,找到这样一个超平面,SVM训练就结束了。为此,向量机对被找到的超平面做了如下数学归纳:
对于y标签为+1的向量,将其带入平面方程计算结果应该大于+1,对于标签为-1的向量,其计算结果应该小于-1.这样我们就得到了三个平面,
分别为
w
T
∗
X
+
b
=
−
1
,
0
,
1
w^T* X + b = -1,0,1
wT∗X+b=−1,0,1
我们需要求中间的平面,两侧的平面则成为约束条件,
{
W
T
x
i
+
b
≥
+
1
y
i
=
+
1
W
T
x
i
+
b
≤
−
1
y
i
=
−
1
\begin{cases} W^Tx_i+b \geq +1& y_i= +1 \\ W^Tx_i+b \leq -1& y_i= -1\end{cases}
{WTxi+b≥+1WTxi+b≤−1yi=+1yi=−1
经过几何推导,可以得到SVM需要训练的目标:
max
2
∣
∣
W
∣
∣
,
s
.
t
.
y
i
(
W
T
x
i
+
b
)
≥
+
1
\max\frac{2}{||W||} , s.t. {y_i}(W^Tx_i+b) \geq +1
max∣∣W∣∣2,s.t.yi(WTxi+b)≥+1
对其使用拉格朗日乘子法处理,可以得到其优化目标:
通过最小化目标,得到的结果即为获得的超平面