论文分析
核心思想
论文的核心思想是将支持向量机(SVM)从传统的二分类模型扩展到多分类问题,并通过最大化每对类别之间的间隔来构建一个统一的多分类SVM模型。与传统的多分类SVM方法(如一对一OvsO、一对其他OvsR或Weston的多分类SVM)不同,该模型直接从SVM的原始动机——最大化分类超平面与训练数据之间的间隔出发,提出了一种新的多分类SVM框架。
具体而言:
- 最大化类间间隔:传统SVM通过最大化二分类问题的间隔来确保分类器的泛化能力。论文扩展了这一思想,通过构造每对类别(class jjj 和 class kkk)之间的最大间隔超平面,定义分类器权重为wjk=wj−wk\mathbf{w}_{jk} = \mathbf{w}_j - \mathbf{w}_kwjk=wj−wk,从而模拟所有可能的二分类子问题。
- 统一的优化模型:与OvsO策略需要训练c(c−1)2\frac{c(c-1)}{2}2c(c−1)个二分类器不同,论文提出仅使用ccc个权重向量wj\mathbf{w}_jwj(对应ccc个类别)来表示所有二分类器,显著减少了存储和计算开销。
- 等价性分析:论文通过理论分析证明了所提模型与已有方法(如Weston、Guermeur、Bredensteiner等)的等价性或紧密联系,增强了模型的理论依据。
- 扩展性:模型支持半监督学习,通过引入未标记数据的预测标签,进一步提高了模型的适用性。
目标函数
论文提出的多分类SVM的目标函数旨在最大化每对类别之间的间隔,同时引入正则化和松弛变量以处理非线性可分数据。最终的目标函数形式如下:
minW∈Rd×c,b∈Rc12∑j=1c−1∑k=j+1c∥wj−wk∥22+12∑j=1c∥wj∥22+12∑j=1cbj2+C∑j=1c−1∑k=j+1c∑yi∈{j,k}ξijks.t.yijkfjk(xi)≥1−ξijk,∀yi∈{j,k},ξijk≥0, \begin{aligned} &\min_{W \in \mathbb{R}^{d \times c}, \mathbf{b} \in \mathbb{R}^c} \frac{1}{2} \sum_{j=1}^{c-1} \sum_{k=j+1}^c \|\mathbf{w}_j - \mathbf{w}_k\|_2^2 + \frac{1}{2} \sum_{j=1}^c \|\mathbf{w}_j\|_2^2 + \frac{1}{2} \sum_{j=1}^c b_j^2 \\ &+ C \sum_{j=1}^{c-1} \sum_{k=j+1}^c \sum_{y_i \in \{j, k\}} \xi_i^{jk} \\ &\text{s.t.} \quad y_i^{jk} f_{jk}(\mathbf{x}_i) \geq 1 - \xi_i^{jk}, \quad \forall y_i \in \{j, k\}, \\ &\xi_i^{jk} \geq 0, \end{aligned} W∈Rd×c,b∈Rcmin21j=1∑c−1k=j+1∑c∥wj−wk∥22+21j=1∑c∥wj∥22+21j=1∑cbj2+Cj=1∑c−1k=j+1∑cyi∈{j,k}∑ξijks.t.yijkfjk(xi)≥1−ξijk,∀yi∈{j,k},ξijk≥0,
其中:
- W∈Rd×cW \in \mathbb{R}^{d \times c}W∈Rd×c 是权重矩阵,每列wj\mathbf{w}_jwj表示类别jjj的权重向量,b∈Rc\mathbf{b} \in \mathbb{R}^cb∈Rc 是偏置向量。
- fjk(xi)=(wj−wk)Txi+(bj−bk)f_{jk}(\mathbf{x}_i) = (\mathbf{w}_j - \mathbf{w}_k)^T \mathbf{x}_i + (b_j - b_k)fjk(xi)=(wj−wk)Txi+(bj−bk) 是类别jjj和kkk之间的决策函数。
- yijk={1if yi=j−1if yi=ky_i^{jk} = \begin{cases} 1 & \text{if } y_i = j \\ -1 & \text{if } y_i = k \end{cases}yijk={1−1if yi=jif yi=k 是类别标签。
- ξijk\xi_i^{jk}ξijk 是松弛变量,用于处理非线性可分数据。
- CCC 是正则化参数,平衡正则化项与训练误差。
- 正则化项包括三部分:
- 12∑j=1c−1∑k=j+1c∥wj−wk∥22\frac{1}{2} \sum_{j=1}^{c-1} \sum_{k=j+1}^c \|\mathbf{w}_j - \mathbf{w}_k\|_2^221∑j=1c−1∑k=j+1c∥wj−wk∥22:最大化每对类别之间的间隔。
- 12∑j=1c∥wj∥22\frac{1}{2} \sum_{j=1}^c \|\mathbf{w}_j\|_2^221∑j=1c∥wj∥22:控制模型复杂度,防止过拟合。
- 12∑j=1cbj2\frac{1}{2} \sum_{j=1}^c b_j^221∑j=1cbj2:对偏置项的正则化,确保优化问题的唯一解。
通过引入铰链损失(hinge loss),目标函数可以重写为无约束形式:
minW∈Rd×c,b∈Rc12∑j=1c−1∑k=j+1c∥wj−wk∥22+12∑j=1c∥wj∥22+12∑j=1cbj2+C∑j=1c−1∑k=j+1c∑yi∈{j,k}[1−yijkfjk(xi)]+, \begin{aligned} &\min_{W \in \mathbb{R}^{d \times c}, \mathbf{b} \in \mathbb{R}^c} \frac{1}{2} \sum_{j=1}^{c-1} \sum_{k=j+1}^c \|\mathbf{w}_j - \mathbf{w}_k\|_2^2 + \frac{1}{2} \sum_{j=1}^c \|\mathbf{w}_j\|_2^2 \\ &+ \frac{1}{2} \sum_{j=1}^c b_j^2 + C \sum_{j=1}^{c-1} \sum_{k=j+1}^c \sum_{y_i \in \{j, k\}} [1 - y_i^{jk} f_{jk}(\mathbf{x}_i)]_+, \end{aligned} W∈Rd×c,b∈Rcmin21j=1∑c−1k=j+1∑c∥wj−wk∥22+21j=1∑c∥wj∥22+21j=1∑cbj2+Cj=1∑c−1k=j+1∑cyi∈{j,k}∑[1−yijkfjk(xi)]+,
其中[z]+=max(0,z)[z]_+ = \max(0, z)[z]+=max(0,z)表示铰链损失。
目标函数的优化过程
由于目标函数是非凸且非光滑的,论文采用**随机梯度下降结合方差缩减(Stochastic Variance Reduced Gradient, SVRG)**算法进行优化。SVRG是一种高效的优化算法,能够在非凸问题中实现快速收敛。优化过程如下:
-
目标函数重写:
为了支持半监督学习,目标函数被重写为包含标记数据和未标记数据的形式:minW,b12∑j=1c−1∑k=j+1c∥wj−wk∥22+12∑j=1c∥wj∥22+12∑j=1cbj2+C∑j=1c−1∑k=j+1c∑yi∈{j,k},i∈U[1−y~ijkfjk(xi)]+, \begin{aligned} &\min_{W, \mathbf{b}} \frac{1}{2} \sum_{j=1}^{c-1} \sum_{k=j+1}^c \|\mathbf{w}_j - \mathbf{w}_k\|_2^2 + \frac{1}{2} \sum_{j=1}^c \|\mathbf{w}_j\|_2^2 + \frac{1}{2} \sum_{j=1}^c b_j^2 \\ &+ C \sum_{j=1}^{c-1} \sum_{k=j+1}^c \sum_{y_i \in \{j, k\}, i \in U} [1 - \tilde{y}_i^{jk} f_{jk}(\mathbf{x}_i)]_+, \end{aligned} W,bmin21j=1∑c−1k=j+1∑c∥wj−wk∥22+21j=1∑c∥wj∥22+21j=1∑cbj2+Cj=1∑c−1k=j+1∑cyi∈{j,k},i∈U∑[1−y~ijkfjk(xi)]+,
其中y~i\tilde{y}_iy~i是通过y~i=argmaxjwjTxi+bj\tilde{y}_i = \arg \max_j \mathbf{w}_j^T \mathbf{x}_i + b_jy~i=argmaxjwjTxi+bj预测的未标记数据标签,UUU表示未标记数据集,C=1∣U∣C = \frac{1}{|U|}C=∣U∣1。
-
随机梯度计算:
在每次迭代中,随机选择一个训练样本xi\mathbf{x}_ixi,并计算目标函数对wj\mathbf{w}_jwj和bjb_jbj的子梯度。子梯度分为两种情况:-
当j=yij = y_ij=yi(样本属于类别yiy_iyi):
∂Ii∂wyi=−∑k≠yi(wk−wyi)+wyi+∑k≠yi{−Cxiif 1−fyik(xi)>00otherwise, \frac{\partial I_i}{\partial \mathbf{w}_{y_i}} = -\sum_{k \neq y_i} (\mathbf{w}_k - \mathbf{w}_{y_i}) + \mathbf{w}_{y_i} + \sum_{k \neq y_i} \begin{cases} -C \mathbf{x}_i & \text{if } 1 - f_{y_i k}(\mathbf{x}_i) > 0 \\ 0 & \text{otherwise} \end{cases}, ∂wyi∂Ii=−k=yi∑(wk−wyi)+wyi+k=yi∑{−Cxi0if 1−fyik(xi)>0otherwise,
∂Ii∂byi=byi+∑k≠yi{−Cif 1−fyik(xi)>00otherwise. \frac{\partial I_i}{\partial b_{y_i}} = b_{y_i} + \sum_{k \neq y_i} \begin{cases} -C & \text{if } 1 - f_{y_i k}(\mathbf{x}_i) > 0 \\ 0 & \text{otherwise} \end{cases}. ∂byi∂Ii=byi+k=yi∑{−C0if 1−fyik(xi)>0otherwise.
-
当j≠yij \neq y_ij=yi(样本不属于类别jjj):
∂Ii∂wj,j≠yi=−∑k≠j(wk−wj)+wj+{Cxiif 1−fjk(xi)>00otherwise, \frac{\partial I_i}{\partial \mathbf{w}_{j, j \neq y_i}} = -\sum_{k \neq j} (\mathbf{w}_k - \mathbf{w}_j) + \mathbf{w}_j + \begin{cases} C \mathbf{x}_i & \text{if } 1 - f_{jk}(\mathbf{x}_i) > 0 \\ 0 & \text{otherwise} \end{cases}, ∂wj,j=yi∂Ii=−k=j∑(wk−wj)+wj+{Cxi0if 1−fjk(xi)>0otherwise,
∂Ii∂bk,k≠yi=bk+{Cif 1−fjk(xi)>00otherwise. \frac{\partial I_i}{\partial b_{k, k \neq y_i}} = b_k + \begin{cases} C & \text{if } 1 - f_{jk}(\mathbf{x}_i) > 0 \\ 0 & \text{otherwise} \end{cases}. ∂bk,k=yi∂Ii=bk+{C0if 1−fjk(xi)>0otherwise.
-
-
SVRG算法:
SVRG通过周期性地计算全梯度来减小随机梯度的方差,从而加速收敛。算法流程如下(参考论文Algorithm 1):-
初始化:初始化权重矩阵W~0\tilde{W}^0W~0、偏置向量b~0\tilde{\mathbf{b}}^0b~0、学习率η\etaη。
-
外循环:在每次外循环中,更新当前参数W~=W~s−1\tilde{W} = \tilde{W}^{s-1}W~=W~s−1,b~=b~s−1\tilde{\mathbf{b}} = \tilde{\mathbf{b}}^{s-1}b~=b~s−1。
-
计算全梯度:对所有样本计算平均梯度:
u~j=1n∑i=1n∂fi∂wj,v~j=1n∑i=1n∂fi∂bj. \tilde{\mathbf{u}}_j = \frac{1}{n} \sum_{i=1}^n \frac{\partial f_i}{\partial \mathbf{w}_j}, \quad \tilde{v}_j = \frac{1}{n} \sum_{i=1}^n \frac{\partial f_i}{\partial b_j}. u~j=n1i=1∑n∂wj∂fi,v~j=n1i=1∑n∂bj∂fi.
-
内循环:随机选择样本iti_tit,更新参数:
wjt=wjt−1−η(∂Iit∂wjt−∂Iit∂wj+u~j), \mathbf{w}_j^t = \mathbf{w}_j^{t-1} - \eta \left( \frac{\partial I_{i_t}}{\partial \mathbf{w}_j^t} - \frac{\partial I_{i_t}}{\partial \mathbf{w}_j} + \tilde{\mathbf{u}}_j \right), wjt=wjt−1−η(∂wjt∂Iit−∂wj∂Iit+u~j),
bjt=bjt−1−η(∂Iit∂bjt−∂Iit∂bj+v~j). b_j^t = b_j^{t-1} - \eta \left( \frac{\partial I_{i_t}}{\partial b_j^t} - \frac{\partial I_{i_t}}{\partial b_j} + \tilde{v}_j \right). bjt=bjt−1−η(∂bjt∂Iit−∂bj∂Iit+v~j).
-
更新全局参数:将内循环结束时的参数设为W~s=Wn\tilde{W}^s = W^nW~s=Wn。
-
主要的贡献点
-
新颖的多分类SVM模型:
- 提出了一种直接最大化每对类别间隔的多分类SVM模型,遵循SVM的原始动机。
- 通过使用ccc个权重向量表示c(c−1)2\frac{c(c-1)}{2}2c(c−1)个二分类器,显著降低了存储和计算复杂度,相比OvsO策略更高效。
-
理论分析:
- 证明了所提模型与已有方法(如Weston、Guermeur、Bredensteiner等)的等价性或紧密联系,为模型提供了坚实的理论基础。
- 分析了模型的唯一解问题,通过添加正则化项12∑j=1c∥wj∥22\frac{1}{2} \sum_{j=1}^c \|\mathbf{w}_j\|_2^221∑j=1c∥wj∥22和12∑j=1cbj2\frac{1}{2} \sum_{j=1}^c b_j^221∑j=1cbj2避免多解问题。
-
优化算法:
- 采用SVRG算法优化非凸、非光滑的目标函数,证明了其快速收敛性。
- 支持半监督学习,通过预测未标记数据的标签扩展了模型的适用场景。
-
实验验证:
- 在多个UCI数据集上验证了模型的性能,展示了其在分类精度和收敛速度上的优势。
实验结果
论文在六个UCI多分类数据集(iris、dermatology、satimage、svmguide2、usps5、waveform)上进行了实验,比较了所提模型与OvsO、OvsR和Crammer多分类SVM的性能。实验设置包括:
- 评估方法:采用5次5折交叉验证,计算平均分类精度。
- 参数调优:正则化参数CCC在{10r,r∈{−5,…,5}}\{10^r, r \in \{-5, \ldots, 5\}\}{10r,r∈{−5,…,5}}中选择。
- 优化方法:比较了SVRG与常数学习率和递减学习率的随机梯度下降(SGD)的收敛速度。
结果分析:
-
分类精度(见Table 2):
- 所提模型在大多数数据集上取得了优于或可比的分类精度。例如:
- 在iris数据集上,精度为98.67%,优于OvsO(92.67%)、OvsR(93.33%)和Crammer(98.00%)。
- 在dermatology数据集上,精度为96.99%,与OvsR持平,优于Crammer(95.07%)。
- 在satimage数据集上,精度为86.02%,略低于OvsR(87.24%),但优于Crammer(85.68%)。
- 总体而言,所提模型的性能仅在少数情况下略逊于OvsO(因OvsO参数更多),但优于OvsR和Crammer。
- 所提模型在大多数数据集上取得了优于或可比的分类精度。例如:
-
收敛速度(见Figure 2):
- SVRG在10个epoch后展现出显著的收敛速度优势,相比常数学习率和递减学习率的SGD更快接近最优解。
- 常数学习率SGD收敛较慢,而递减学习率SGD因学习率减小可能停止收敛。
-
半监督学习:
- 实验表明,模型在半监督学习任务中也能保持快速收敛,展示了其在非凸问题上的鲁棒性。
算法实现过程详细解释
以下是对论文中SVRG算法(Algorithm 1)的详细实现过程解释,结合目标函数的优化需求:
-
初始化:
- 初始化权重矩阵W~0∈Rd×c\tilde{W}^0 \in \mathbb{R}^{d \times c}W~0∈Rd×c和偏置向量b~0∈Rc\tilde{\mathbf{b}}^0 \in \mathbb{R}^cb~0∈Rc,通常设置为零或随机小值。
- 设置学习率η\etaη(需通过实验调优)和外循环计数器s=0s=0s=0。
-
外循环:
- 在每次外循环(s=s+1s = s + 1s=s+1),将当前参数复制为W~=W~s−1\tilde{W} = \tilde{W}^{s-1}W~=W~s−1,b~=b~s−1\tilde{\mathbf{b}} = \tilde{\mathbf{b}}^{s-1}b~=b~s−1,作为内循环的起点。
- 全梯度计算:
-
遍历所有训练样本i=1,…,ni=1, \ldots, ni=1,…,n,计算目标函数对每个wj\mathbf{w}_jwj和bjb_jbj的平均梯度:
u~j=1n∑i=1n∂fi∂wj,v~j=1n∑i=1n∂fi∂bj, \tilde{\mathbf{u}}_j = \frac{1}{n} \sum_{i=1}^n \frac{\partial f_i}{\partial \mathbf{w}_j}, \quad \tilde{v}_j = \frac{1}{n} \sum_{i=1}^n \frac{\partial f_i}{\partial b_j}, u~j=n1i=1∑n∂wj∂fi,v~j=n1i=1∑n∂bj∂fi,
其中∂fi∂wj\frac{\partial f_i}{\partial \mathbf{w}_j}∂wj∂fi和∂fi∂bj\frac{\partial f_i}{\partial b_j}∂bj∂fi根据样本xi\mathbf{x}_ixi的类别yiy_iyi按上述子梯度公式计算(参考目标函数优化部分的公式)。
-
-
内循环:
- 进行mmm次内循环(mmm通常设置为数据集大小nnn),每次随机选择一个样本it∈{1,…,n}i_t \in \{1, \ldots, n\}it∈{1,…,n}。
- 参数更新:
-
对每个类别j=1,…,cj=1, \ldots, cj=1,…,c,更新权重wj\mathbf{w}_jwj和偏置bjb_jbj:
wjt=wjt−1−η(∂Iit∂wjt−∂Iit∂wj+u~j), \mathbf{w}_j^t = \mathbf{w}_j^{t-1} - \eta \left( \frac{\partial I_{i_t}}{\partial \mathbf{w}_j^t} - \frac{\partial I_{i_t}}{\partial \mathbf{w}_j} + \tilde{\mathbf{u}}_j \right), wjt=wjt−1−η(∂wjt∂Iit−∂wj∂Iit+u~j),
bjt=bjt−1−η(∂Iit∂bjt−∂Iit∂bj+v~j). b_j^t = b_j^{t-1} - \eta \left( \frac{\partial I_{i_t}}{\partial b_j^t} - \frac{\partial I_{i_t}}{\partial b_j} + \tilde{v}_j \right). bjt=bjt−1−η(∂bjt∂Iit−∂bj∂Iit+v~j).
-
这里,∂Iit∂wjt\frac{\partial I_{i_t}}{\partial \mathbf{w}_j^t}∂wjt∂Iit和∂Iit∂bjt\frac{\partial I_{i_t}}{\partial b_j^t}∂bjt∂Iit是基于当前样本iti_tit和当前参数的子梯度,∂Iit∂wj\frac{\partial I_{i_t}}{\partial \mathbf{w}_j}∂wj∂Iit和∂Iit∂bj\frac{\partial I_{i_t}}{\partial b_j}∂bj∂Iit是基于样本iti_tit和外循环参数的子梯度,u~j\tilde{\mathbf{u}}_ju~j和v~j\tilde{v}_jv~j是全梯度,用于减小随机梯度的方差。
-
-
更新全局参数:
- 内循环结束后,将最终参数WnW^nWn和bn\mathbf{b}^nbn设为外循环的下一轮初始参数W~s\tilde{W}^sW~s和b~s\tilde{\mathbf{b}}^sb~s。
-
收敛判断:
- 检查目标函数值或参数变化是否满足收敛条件(如变化小于某个阈值)。若未收敛,继续外循环。
-
预测:
-
对于新样本xi\mathbf{x}_ixi,通过计算决策函数wjTxi+bj\mathbf{w}_j^T \mathbf{x}_i + b_jwjTxi+bj,选择最大值对应的类别:
y~i=argmaxjwjTxi+bj. \tilde{y}_i = \arg \max_j \mathbf{w}_j^T \mathbf{x}_i + b_j. y~i=argjmaxwjTxi+bj.
-
实现注意事项:
- 学习率η\etaη:需通过实验选择合适的η\etaη,确保目标函数值在优化过程中单调下降。论文中提到选择最大学习率以保证收敛。
- 未标记数据处理:在半监督学习中,未标记样本的标签y~i\tilde{y}_iy~i通过当前模型预测,需在每次内循环更新后重新计算。
- 数值稳定性:由于目标函数包含铰链损失,需确保子梯度计算的正确性,特别是当1−fjk(xi)≈01 - f_{jk}(\mathbf{x}_i) \approx 01−fjk(xi)≈0时。
- 并行化:SVRG的内循环可部分并行化(如批量计算子梯度),但全梯度计算可能成为瓶颈。
总结
这篇论文提出了一种新颖的多分类SVM模型,通过最大化每对类别之间的间隔,结合高效的SVRG优化算法,实现了在分类精度和收敛速度上的优越性能。其主要贡献在于理论上的等价性分析、模型的高效性和对半监督学习的扩展。实验结果表明,该模型在多种数据集上表现优异,特别是在资源受限场景下相比传统OvsO方法更具优势。算法实现上,SVRG的引入确保了非凸问题的高效优化,适合大规模多分类任务。