前面几节介绍了硬间隔SVM的模型求解过程,本节将介绍软间隔SVM的模型思想。
硬间隔SVM的核心思想即 最大间隔分类器思想。基于该思想构建的数学问题表示如下:
{ min W , b 1 2 W T W s . t . y ( i ) ( W T x ( i ) + b ) ≥ 1 ( i = 1 , 2 , ⋯ , N ) \begin{cases}\mathop{\min}\limits_{\mathcal W,b} \frac{1}{2} \mathcal W^{T}\mathcal W \\ s.t. \quad y^{(i)}\left(\mathcal W^{T}x^{(i)} + b\right) \geq 1 \quad (i=1,2,\cdots,N)\end{cases} ⎩ ⎨ ⎧W,bmin21WTWs.t.y(i)(WTx(i)+b)≥1(i=1,2,⋯,N)
它的求解思路是拉格朗日乘数法,将原问题转化为无约束原问题:
{ min W , b max λ L ( W , b , λ ) s . t . λ ( i ) ≥ 0 ( i = 1 , 2 , ⋯ , N ) \begin{cases}\mathop{\min}\limits_{\mathcal W,b} \mathop{\max}\limits_{\lambda} \mathcal L(\mathcal W,b,\lambda) \\ s.t. \quad \lambda^{(i)} \geq 0 \quad (i=1,2,\cdots,N)\end{cases} ⎩ ⎨ ⎧W,bminλmaxL(W,b,λ)s.t.λ(i)≥0(i=1,2,⋯,N)
随后将无约束原问题转化为对偶问题。并分别对 W , b \mathcal W,b W,b进行求导,求解最优模型参数 W ∗ \mathcal W^{*} W∗:
W ∗ = ∑ i = 1 N λ i y ( i ) x ( i ) \mathcal W^{*} = \sum_{i=1}^N\lambda^{i}y^{(i)}x^{(i)} W∗=i=1∑Nλiy(i)x(i)
最终基于 K K T KKT KKT条件,找出对应的支持向量 ( x ( k ) , y ( k ) ) (x^{(k)},y^{(k)}) (x(k),y(k)),使得:
1 − y ( k ) ( W T x ( k ) + b ) = 0 1 - y^{(k)}\left(\mathcal W^{T}x^{(k)} + b \right) = 0 1−y(k)(WTx(k)+b)=0
将 W ∗ \mathcal W^* W∗带入,得到对应 b ∗ b^* b∗结果:
b ∗ = y ( k ) − ( W ∗ ) T x ( k ) = y ( k ) − ∑ i = 1 N [ λ ( i ) y ( i ) ( x ( i ) ) T ] x ( k ) \begin{aligned} b^* & = y^{(k)} - (\mathcal W^*)^{T}x^{(k)} \\ & =y^{(k)} - \sum_{i=1}^N\left[\lambda^{(i)}y^{(i)}\left(x^{(i)}\right)^{T}\right]x^{(k)} \end{aligned} b∗=y(k)−(W∗)Tx(k)=y(k)−i=1∑N[λ(i)y(i)(x(i))T]x(k)
最终得到硬间隔 S V M SVM SVM的模型:
f ( W , b ) = s i g n ( ( W ∗ ) T X + b ∗ ) f(\mathcal W,b) = sign((\mathcal W^*)^{T} \mathcal X + b^*) f(W,b)=sign((W∗)TX+b∗)
由于硬间隔的最大间隔分类器思想是基于**数据集合样本均被正确分类的条件下**产生的,对应的约束条件即:
y ( i ) ( W T x ( i ) + b ) ≥ 1 ( i = 1 , 2 , ⋯ , N ) y^{(i)}\left(\mathcal W^{T}x^{(i)} + b\right) \geq 1 \quad (i=1,2,\cdots,N) y(i)(WTx(i)+b)≥1(i=1,2,⋯,N)
但实际情况中,由于噪声的原因,可能导致两类样本之间的界限模糊,从而导致无法使用直线(超平面)将两类样本完整分开。
基于这种情况,如何对硬间隔SVM进行改进。最朴素的思想是:既然无法完整将样本划分,那么允许其出现少量的错误。从而将优化目标确定为:使错误越小越好。
注意这里的’错误‘是可以量化的:错误有大有小。
如何表示分类错误的样本点?基于分类正确的样本点,分类错误样本点 ( x ( j ) , y ( j ) ) (x^{(j)},y^{(j)}) (x(j),y(j))满足如下要求:
y ( j ) ( W T x ( j ) + b ) < 1 ( x ( j ) , y ( j ) ) ∈ D a t a y^{(j)}\left(\mathcal W^{T}x^{(j)} + b\right) < 1 \quad (x^{(j)},y^{(j)}) \in Data y(j)(WTx(j)+b)<1(x(j),y(j))∈Data
令损失函数 l o s s loss loss表示样本点被错误分类的程度。即:样本点在被错误分类的条件下,距离支持向量所在直线(超平面越远),被错误分类的程度越大。
对 l o s s loss loss定义结束后,如何对 l o s s loss loss进行描述:
由于分类错误的样本点,其 y ( i ) y^{(i)} y(i)与对应的 W T x ( i ) + b \mathcal W^{T}x^{(i)} + b WTx(i)+b之间异号,那么 1 − y ( i ) ( W T x ( i ) + b ) > 0 1 - y^{(i)} \left(\mathcal W^{T}x^{(i)} + b\right) > 0 1−y(i)(WTx(i)+b)>0恒成立,且该值越大,该样本点被分类错误的程度越大。
至此,任意一个样本点 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i))只存在如下两种情况:
l o s s ( i ) = { 0 i f y ( i ) ( W T x ( i ) + b ) ≥ 1 1 − y ( i ) ( W T x ( i ) + b ) o t h e r w i s e loss^{(i)} = \begin{cases}0 \quad if \quad y^{(i)} \left(\mathcal W^{T}x^{(i)} + b\right) \geq 1 \\ 1 - y^{(i)} \left(\mathcal W^{T}x^{(i)} + b\right) \quad otherwise \end{cases} loss(i)={0ify(i)(WTx(i)+b)≥11−y(i)(WTx(i)+b)otherwise
继续观察,发现 l o s s ( i ) ≥ 0 loss^{(i)} \geq 0 loss(i)≥0恒成立。将上述两种情况进行合并:
l o s s ( i ) = max { 0 , 1 − y ( i ) ( W T x ( i ) + b ) } loss^{(i)} = \max \{0,1 - y^{(i)} \left(\mathcal W^{T}x^{(i)} + b\right)\} loss(i)=max{0,1−y(i)(WTx(i)+b)}
继续化简,虽然 l o s s ( i ) loss^{(i)} loss(i)被划分为两种情况: 0 , y ( i ) ( W T x ( i ) + b ) 0,y^{(i)} \left(\mathcal W^{T}x^{(i)} + b\right) 0,y(i)(WTx(i)+b),但是这两种情况在值域中连续。因此,直接定义一个目标函数 ξ ( i ) \xi^{(i)} ξ(i)表示 l o s s ( i ) loss^{(i)} loss(i),并附加约束条件:
ξ ( i ) = 1 − y ( i ) ( W T x ( i ) + b ) s . t . ξ ( i ) ≥ 0 \xi^{(i)} = 1 - y^{(i)} \left(\mathcal W^{T}x^{(i)} + b\right) \quad s.t. \quad \xi^{(i)} \geq0 ξ(i)=1−y(i)(WTx(i)+b)s.t.ξ(i)≥0
基于该式,可以统计数据集合中所有样本点的 ξ \xi ξ结果:
∑ i = 1 N ξ ( i ) \sum_{i=1}^N\xi^{(i)} i=1∑Nξ(i)
并希望 ∑ i = 1 N ξ ( i ) \sum_{i=1}^N \xi^{(i)} ∑i=1Nξ(i)结果越小越好,该值越小意味着 构建的直线对所有样本点错误分类的程度越低,选择的模型就越准确:
将该结果与硬间隔SVM的目标函数合并,得到新的目标函数:
min W , b 1 2 W T W + C ∑ i = 1 N ξ ( i ) \mathop{\min}\limits_{\mathcal W,b} \frac{1}{2}\mathcal W^{T}\mathcal W + \mathcal C\sum_{i=1}^N \xi^{(i)} W,bmin21WTW+Ci=1∑Nξ(i)
其中 C \mathcal C C表示一个常数系数;整个式子中只包含 W , b \mathcal W,b W,b两个变量。
目标函数更新后,同样需要更新对应的 约束条件:
重新观察 ξ ( i ) \xi^{(i)} ξ(i),观察该函数是否包含什么实际意义?
因为 ξ ( i ) > 0 \xi^{(i)} > 0 ξ(i)>0,所以 1 − ξ ( i ) < 1 1 - \xi^{(i)} <1 1−ξ(i)<1。这意味着确实存在这样一个样本点比分类正确时的支持向量还要靠近分类直线。基于支持向量的定义,即便是分类错误的点,但它依然更靠近 W T x ( i ) + b = 0 \mathcal W^{T}x^{(i)} + b = 0 WTx(i)+b=0。因此,支持向量将被更靠近 W T x ( i ) + b = 0 \mathcal W^{T}x^{(i)} + b = 0 WTx(i)+b=0的样本点所替代。这个新样本点到 W T x ( i ) + b = 0 \mathcal W^{T}x^{(i)} + b = 0 WTx(i)+b=0的距离是: 1 − ξ ( i ) 1 - \xi^{(i)} 1−ξ(i)。
因此,被分类错误的样本点 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i))的约束条件表示如下:
可以理解为:由于分类错误点的存在,导致’支持向量‘所在超平面围成的区域从间隔为
1压缩到了
1 − ξ ( i ) 1 - \xi^{(i)} 1−ξ(i);
y ( i ) ( W T x ( i ) + b ) ≥ 1 − ξ ( i ) y^{(i)}\left(\mathcal W^{T}x^{(i)} + b\right) \geq 1 - \xi^{(i)} y(i)(WTx(i)+b)≥1−ξ(i)
至此,基于软间隔的SVM问题描述如下:
{ min W , b 1 2 W T W + C ∑ i = 1 N ξ ( i ) s . t . y ( i ) ( W T x ( i ) + b ) ≥ 1 − ξ ( i ) ξ ( i ) ≥ 0 \begin{cases} \mathop{\min}\limits_{\mathcal W,b} \frac{1}{2}\mathcal W^{T}\mathcal W + \mathcal C \sum_{i=1}^N\xi^{(i)} \\ \ s.t. \quad y^{(i)}\left(\mathcal W^{T}x^{(i)} + b\right) \geq 1 - \xi^{(i)} \\ \quad \quad \xi^{(i)} \geq 0 \end{cases} ⎩ ⎨ ⎧W,bmin21WTW+C∑i=1Nξ(i) s.t.y(i)(WTx(i)+b)≥1−ξ(i)ξ(i)≥0
后续求解过程与硬间隔SVM的求解过程相同。
至此,支持向量机介绍结束。
相关参考:
机器学习-支持向量机4-软间隔SVM-模型定义