关于支持向量机 ( Support Vector Machine,SVM ) (\text{Support Vector Machine,SVM}) (Support Vector Machine,SVM),下列说法错误的是 ( ) (\quad) ()
A L 2 \mathcal A \quad L_2 AL2正则项,作用是最大化分类间隔,使得分类器拥有更强的泛化能力
B Hinge \mathcal B \quad \text{Hinge} BHinge损失函数,作用是最小化经验风险错误
C \mathcal C \quad C分类间隔 1 ∣ ∣ W ∣ ∣ \begin{aligned}\frac{1}{||\mathcal W||}\end{aligned} ∣∣W∣∣1,其中 ∣ ∣ W ∣ ∣ ||\mathcal W|| ∣∣W∣∣代表向量的模
D L 1 \mathcal D \quad L_1 DL1正则化对所有参数的惩罚力度都一样,可以让一部分权重变为零,因此产生稀疏模型,能够去除某些特征
该部分对照支持向量机——模型构建思路进行阅读。
这里依然以二分类任务为例。已知数据集合 D \mathcal D D以集合内的标签集合表示如下:
D = { ( x ( i ) , y ( i ) ) } i = 1 N y ( i ) ∈ { + 1 , − 1 } \mathcal D = \{(x^{(i)},y^{(i)})\}_{i=1}^N \quad y^{(i)} \in \{+1,-1\} D={(x(i),y(i))}i=1Ny(i)∈{+1,−1}
在支持向量机——模型构建思路介绍了分类正确的标志:模型输出结果 W T x ( i ) + b \mathcal W^Tx^{(i)} + b WTx(i)+b与对应标签结果 y ( i ) y^{(i)} y(i)同号:
{ W T x ( i ) + b > 0 y ( i ) = + 1 W T x ( i ) + b < 0 y ( i ) = − 1 \begin{cases} \mathcal W^Tx^{(i)} + b > 0 \quad y^{(i)} = +1 \\ \mathcal W^T x^{(i)} + b < 0 \quad y^{(i)} = -1 \end{cases} {WTx(i)+b>0y(i)=+1WTx(i)+b<0y(i)=−1
从而确定模型的决策边界(超平面):
W T x + b = 0 \mathcal W^Tx + b = 0 WTx+b=0
虽然找到了决策边界,但出现了新的问题:决策边界不唯一。我们可以对上述决策边界进行任意缩放 ⇒ \Rightarrow ⇒ 等式两侧同时乘以常数 k k k,决策边界并不发生影响。
k ⋅ ( W T x + b ) = k ⋅ 0 = 0 k \cdot (\mathcal W^Tx + b) = k \cdot 0 = 0 k⋅(WTx+b)=k⋅0=0
但是对应的函数间隔 ( Functional Margin ) H ( i ) = y ( i ) ( W T x ( i ) + b ) ( x ( i ) , y ( i ) ∈ D ) (\text{Functional Margin}) \mathcal H^{(i)} = y^{(i)}(\mathcal W^Tx^{(i)} + b) \quad (x^{(i)},y^{(i)} \in \mathcal D) (Functional Margin)H(i)=y(i)(WTx(i)+b)(x(i),y(i)∈D)发生了变化:
{ Original : H ( i ) = y ( i ) ( W T x ( i ) + b ) Expand/Reduce : k ⋅ H ( i ) = y ( i ) [ k ⋅ ( W T x ( i ) + b ) ] \begin{cases} \text{Original : } \mathcal H^{(i)} = y^{(i)}(\mathcal W^Tx^{(i)} + b) \\ \text{Expand/Reduce : } k \cdot \mathcal H^{(i)} = y^{(i)} \left[k \cdot (\mathcal W^Tx^{(i)} + b)\right] \end{cases} {Original : H(i)=y(i)(WTx(i)+b)Expand/Reduce : k⋅H(i)=y(i)[k⋅(WTx(i)+b)]
不同的决策边界,会导致某个样本点会存在多个函数间隔的判别结果。这意味着:仅通过 W T x ( i ) + b \mathcal W^Tx^{(i)} + b WTx(i)+b和 y ( i ) y^{(i)} y(i)同号这个约束,没有办法让模型收敛。通过对函数间隔的描述,可以通过公式对该描述进行表达:
∃ γ > 0 ⇒ min x ( i ) , y ( i ) ∈ D y ( i ) ( W T x ( i ) + b ) = min x ( i ) , y ( i ) D H ( i ) = γ \exist \gamma > 0 \Rightarrow \mathop{\min}\limits_{x^{(i)},y^{(i)} \in \mathcal D} y^{(i)}(\mathcal W^Tx^{(i)} + b) = \mathop{\min}\limits_{x^{(i)},y^{(i)}\mathcal D} \mathcal H^{(i)} = \gamma ∃γ>0⇒x(i),y(i)∈Dminy(i)(WTx(i)+b)=x(i),y(i)DminH(i)=γ
为了方便计算,设定 γ = 1 \gamma = 1 γ=1。也就是说,无论对决策边界扩张还是收缩,都可以通过对 W , b \mathcal W,b W,b进行相应的缩放,使得等式成立:
由于
W , b \mathcal W,b W,b都是向量,缩放变换后的
W ′ , b ′ \mathcal W',b' W′,b′必然和原结果线性相关。并没有影响对权重特征的描述。
该部分见《机器学习(周志华著)》P122 左侧小字解释部分
最终可将支持向量机——最大间隔分类器表示为如下基本型:
{ min W , b 1 2 ∣ ∣ W ∣ ∣ 2 s . t . y ( i ) ( W T x ( i ) + b ) ≥ 1 ( x ( i ) , y ( i ) ) ∈ D \begin{cases} \begin{aligned}\mathop{\min}\limits_{\mathcal W,b} \frac{1}{2} ||\mathcal W||^2\end{aligned} \\ s.t. \quad y^{(i)}(\mathcal W^Tx^{(i)} + b) \geq 1 \quad (x^{(i)},y^{(i)}) \in \mathcal D \end{cases} ⎩ ⎨ ⎧W,bmin21∣∣W∣∣2s.t.y(i)(WTx(i)+b)≥1(x(i),y(i))∈D
该部分对照支持向量机——软间隔 SVM \text{SVM} SVM进行阅读。
关于软间隔构建损失函数的动机 可描述为:
可以看出,该结果是一个
≤ 1 \leq 1 ≤1的正值。
可以看出,该损失函数大于等于 0 0 0恒成立,并且这些正值是由划分错误的样本累积起来产生的。
基于上述动机,我们尝试使用 0 / 1 0/1 0/1损失函数描述上述两种情况:
该函数的特点:无论划分错误的偏差有多大,都被一视同仁为数值
1 1 1.
L 0 / 1 [ y ( i ) ( W T x ( i ) + b ) − 1 ] = { 1 y ( i ) ( W T x ( i ) + b ) − 1 < 0 0 Otherwise \mathcal L_{0/1}\left[y^{(i)}(\mathcal W^Tx^{(i)} + b) - 1\right] = \begin{cases} 1 \quad y^{(i)}(\mathcal W^Tx^{(i)} + b) - 1 < 0 \\ 0 \quad \text{Otherwise} \end{cases} L0/1[y(i)(WTx(i)+b)−1]={1y(i)(WTx(i)+b)−1<00Otherwise
从而对应拉格朗日函数可描述为如下形式:
依然是‘拉格朗日乘数法’。
min W , b 1 2 ∣ ∣ W ∣ ∣ 2 + C ∑ x ( i ) , y ( i ) ∈ D L 0 / 1 [ y ( i ) ( W T x ( i ) + b ) − 1 ] \mathop{\min}\limits_{\mathcal W,b} \frac{1}{2} ||\mathcal W||^2 + \mathcal C\sum_{x^{(i)},y^{(i)} \in \mathcal D}\mathcal L_{0/1} \left[y^{(i)}(\mathcal W^Tx^{(i)} + b) - 1\right] W,bmin21∣∣W∣∣2+Cx(i),y(i)∈D∑L0/1[y(i)(WTx(i)+b)−1]
由于 0 / 1 0/1 0/1损失函数在定义域内并非处处连续,在优化过程中因无法处处可导导致无法求解出迭代最优解;并且 ∑ x ( i ) , y ( i ) ∈ D L 0 / 1 [ y ( i ) ( W T x ( i ) + b ) − 1 ] \sum_{x^{(i)},y^{(i)} \in \mathcal D}\mathcal L_{0/1} \left[y^{(i)}(\mathcal W^Tx^{(i)} + b) - 1\right] ∑x(i),y(i)∈DL0/1[y(i)(WTx(i)+b)−1]的结果是一个正整数,对于划分错误的样本偏差描述得不够细致。
因此,另一种方法是将偏差值直接作为损失函数的一部分,具体数学描述表示如下:
L = { 0 y ( i ) ( W T x ( i ) + b ) ≥ 1 1 − y ( i ) ( W T x ( i ) + b ) Otherwise \mathcal L = \begin{cases} 0 \quad y^{(i)}(\mathcal W^Tx^{(i)} + b) \geq 1 \\ 1 - y^{(i)}(\mathcal W^Tx^{(i)} + b) \quad \text{Otherwise} \end{cases} L={0y(i)(WTx(i)+b)≥11−y(i)(WTx(i)+b)Otherwise
和上述 0 / 1 0/1 0/1损失函数的动机相比,该函数在以 y ( i ) ( W T x ( i ) + b ) y^{(i)}(\mathcal W^Tx^{(i)} + b) y(i)(WTx(i)+b)的定义域内处处连续,并且该方法累积的偏差是真实的偏差结果。将上述两种情况使用一个公式进行表达:
L H i n g e = max { 0 , 1 − y ( i ) ( W T x ( i ) + b ) } \mathcal L_{Hinge} = \max \left\{0,1 - y^{(i)}(\mathcal W^Tx^{(i)} + b)\right\} LHinge=max{0,1−y(i)(WTx(i)+b)}
该函数的图像表示为如下形式:
该函数由于形似一个开合的书页,也被称作合页损失函数( Hinge Loss Function \text{Hinge Loss Function} Hinge Loss Function),记作 L H i n g e \mathcal L_{Hinge} LHinge。最终,基于该函数的拉格朗日函数可描述为如下形式:
min W , b 1 2 ∣ ∣ W ∣ ∣ 2 + C ∑ x ( i ) , y ( i ) ∈ D max { 0 , 1 − y ( i ) ( W T x ( i ) + b ) } \mathop{\min}\limits_{\mathcal W,b} \frac{1}{2}||\mathcal W||^2 + \mathcal C \sum_{x^{(i)},y^{(i)} \in \mathcal D} \max \left\{0,1 - y^{(i)}(\mathcal W^Tx^{(i)} + b) \right\} W,bmin21∣∣W∣∣2+Cx(i),y(i)∈D∑max{0,1−y(i)(WTx(i)+b)}
上面介绍了两种损失函数: 0 / 1 0/1 0/1损失函数,合页损失函数。实际上,无论是哪种损失函数,我们关注的是它们整体的优化目标,也就是拉格朗日函数。
{ min W , b 1 2 ∣ ∣ W ∣ ∣ 2 + C ∑ x ( i ) , y ( i ) ∈ D L 0 / 1 [ y ( i ) ( W T x ( i ) + b ) − 1 ] min W , b 1 2 ∣ ∣ W ∣ ∣ 2 + C ∑ x ( i ) , y ( i ) ∈ D max { 0 , 1 − y ( i ) ( W T x ( i ) + b ) } \begin{cases} \begin{aligned}\mathop{\min}\limits_{\mathcal W,b} \frac{1}{2} ||\mathcal W||^2 + \mathcal C\sum_{x^{(i)},y^{(i)} \in \mathcal D}\mathcal L_{0/1} \left[y^{(i)}(\mathcal W^Tx^{(i)} + b) - 1\right] \end{aligned}\\ \begin{aligned} \mathop{\min}\limits_{\mathcal W,b} \frac{1}{2}||\mathcal W||^2 + \mathcal C \sum_{x^{(i)},y^{(i)} \in \mathcal D} \max \left\{0,1 - y^{(i)}(\mathcal W^Tx^{(i)} + b) \right\} \end{aligned} \end{cases} ⎩ ⎨ ⎧W,bmin21∣∣W∣∣2+Cx(i),y(i)∈D∑L0/1[y(i)(WTx(i)+b)−1]W,bmin21∣∣W∣∣2+Cx(i),y(i)∈D∑max{0,1−y(i)(WTx(i)+b)}
观察上述两个函数,它们存在共性:
关于上述拉格朗日函数的通式表示如下:
详见《机器学习》(周志华著) P133 6.5 支持向量回归 公式6.42
min f Ω ( f ) + C ∑ x ( i ) , y ( i ) ∈ D L [ f ( x ( i ) ) , y ( i ) ] \mathop{\min}\limits_{f} \Omega(f) + \mathcal C \sum_{x^{(i)},y^{(i)} \in \mathcal D} \mathcal L[f(x^{(i)}),y^{(i)}] fminΩ(f)+Cx(i),y(i)∈D∑L[f(x(i)),y(i)]
至此,我们要纠正两个误区:
真正的损失函数指的是经验风险。通过观察,结构风险 ∣ ∣ W ∣ ∣ 2 ||\mathcal W||^2 ∣∣W∣∣2自身 就是正则化的表达形式。因此,正则化的功能都能在结构风险中进行表达。
这里关于 A \mathcal A \quad A 选项中选择 L 2 L_2 L2正则化项描述最大间隔的逻辑正确。
关于结构风险 ∣ ∣ W ∣ ∣ 2 ||\mathcal W||^2 ∣∣W∣∣2,它并不是 ∣ ∣ W ∣ ∣ 2 ||\mathcal W||_2 ∣∣W∣∣2,在之前关于 ∣ ∣ W ∣ ∣ 2 = W T W ||\mathcal W||^2 = \mathcal W^T\mathcal W ∣∣W∣∣2=WTW只是选择了 L 2 L_2 L2正则化进行示例。实际上,在描述最大间隔的时候,不一定仅使用欧氏距离。在 K-Means \text{K-Means} K-Means算法介绍中提到过明可夫斯基距离,比较有代表性的是曼哈顿距离,对应的 L 1 L_1 L1正则化;以及欧式距离,对应 L 2 L_2 L2正则化。
在正则化——权重衰减角度(直观现象)中补充了 L 1 L_1 L1正则化稀疏权重特征的过程。在迭代过程中, L 1 L_1 L1正则化产生的权重点仅让一部分权重分量描述,而剩余的权重分量没有参与,从而导致权重分量尽量稀疏;
一部分权重分量没有发挥作用,对应的权重结果就是
0 0 0。
并且 L 1 L_1 L1正则化对应所有权重分量均是一次项,对应的权重分量不会出现非线性的提高/打压,因而 L 1 L_1 L1对权重的惩罚力度相同, D \mathcal D \quad D 选项正确。
相反, L 2 L_2 L2正则化会倾向于将迭代的权重分摊在各个权重分量 上使各分量取值尽量平衡。从而使非零分量的数量更加稠密。
C \mathcal C \quad C 选项中的 1 ∣ ∣ W ∣ ∣ \begin{aligned}\frac{1}{||\mathcal W||}\end{aligned} ∣∣W∣∣1描述的是支持向量到最优决策边界的距离;而分类间隔表示最优决策边界两侧支持向量之间的距离。即 2 × 1 ∣ ∣ W ∣ ∣ = 2 ∣ ∣ W ∣ ∣ \begin{aligned}2 \times \frac{1}{||\mathcal W||}= \frac{2}{||\mathcal W||}\end{aligned} 2×∣∣W∣∣1=∣∣W∣∣2。因此 C \mathcal C \quad C 选项错误。
求解过程详见
支持向量机——模型求解.
相关参考:
《机器学习》(周志华著)