SVM是非常常用的分类器算法,其能够在二分类问题上有很好的表现,并且具有处理非线性数据的能力。其参数容易调节,但比较容易出现过拟合现象。
SVM原理
SVM最优化问题
SVM 的目标是找到一个由支持向量所确定的超平面,该超平面能够使得各类样本到超平面的距离最远。如图所示:
在m维空间中,任意超平面可以用以下方程来描述:
w T x + b = 0 w^{T} x+b=0 wTx+b=0
其中 w w w为超平面系数:
w = ( w 1 w 2 ⋮ w m ) w=\left(\begin{array}{c} w_{1} \\ w_{2} \\ \vdots \\ w_{m} \end{array}\right) w=⎝⎜⎜⎜⎛w1w2⋮wm⎠⎟⎟⎟⎞
样本 x x x同样用列向量表示:
x = ( x 1 x 2 ⋮ x m ) x=\left(\begin{array}{c} x_{1} \\ x_{2} \\ \vdots \\ x_{m} \end{array}\right) x=⎝⎜⎜⎜⎛x1x2⋮xm⎠⎟⎟⎟⎞
那么样本 x x x到超平面的距离可以表示为:
∣ w T x + b ∣ ∥ w ∥ \frac{\left|w^{T} x+b\right|}{\|w\|} ∥w∥∣∣wTx+b∣∣
其中 ∥ w ∥ = w 1 2 + … w n 2 \|w\|=\sqrt{w_{1}^{2}+\ldots w_{n}^{2}} ∥w∥=w12+…wn2
支持向量到超平面的距离为1,非支持向量的样本到超平面的距离大于1,于是有:
{ w T x + b ≥ 1 y = 1 w T x + b ≤ − 1 y = − 1 \left\{\begin{array}{l} w^{T} x+b \geq 1 \quad y=1 \\ w^{T} x+b \leq-1 \quad y=-1 \end{array}\right. {
wTx+b≥1y=1w