IJCAI-2017《Multi-Class Support Vector Machine via Maximizing Multi-Class Margins》


论文分析

核心思想

论文的核心思想是将支持向量机(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=wjwk,从而模拟所有可能的二分类子问题。
  • 统一的优化模型:与OvsO策略需要训练c(c−1)2\frac{c(c-1)}{2}2c(c1)个二分类器不同,论文提出仅使用ccc个权重向量wj\mathbf{w}_jwj(对应ccc个类别)来表示所有二分类器,显著减少了存储和计算开销。
  • 等价性分析:论文通过理论分析证明了所提模型与已有方法(如Weston、Guermeur、Bredensteiner等)的等价性或紧密联系,增强了模型的理论依据。
  • 扩展性:模型支持半监督学习,通过引入未标记数据的预测标签,进一步提高了模型的适用性。
目标函数

论文提出的多分类SVM的目标函数旨在最大化每对类别之间的间隔,同时引入正则化和松弛变量以处理非线性可分数据。最终的目标函数形式如下:

min⁡W∈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} WRd×c,bRcmin21j=1c1k=j+1cwjwk22+21j=1cwj22+21j=1cbj2+Cj=1c1k=j+1cyi{j,k}ξijks.t.yijkfjk(xi)1ξijk,yi{j,k},ξijk0,

其中:

  • W∈Rd×cW \in \mathbb{R}^{d \times c}WRd×c 是权重矩阵,每列wj\mathbf{w}_jwj表示类别jjj的权重向量,b∈Rc\mathbf{b} \in \mathbb{R}^cbRc 是偏置向量。
  • 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)=(wjwk)Txi+(bjbk) 是类别jjjkkk之间的决策函数。
  • 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={11if yi=jif yi=k 是类别标签。
  • ξijk\xi_i^{jk}ξijk 是松弛变量,用于处理非线性可分数据。
  • CCC 是正则化参数,平衡正则化项与训练误差。
  • 正则化项包括三部分:
    1. 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^221j=1c1k=j+1cwjwk22:最大化每对类别之间的间隔。
    2. 12∑j=1c∥wj∥22\frac{1}{2} \sum_{j=1}^c \|\mathbf{w}_j\|_2^221j=1cwj22:控制模型复杂度,防止过拟合。
    3. 12∑j=1cbj2\frac{1}{2} \sum_{j=1}^c b_j^221j=1cbj2:对偏置项的正则化,确保优化问题的唯一解。

通过引入铰链损失(hinge loss),目标函数可以重写为无约束形式:

min⁡W∈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} WRd×c,bRcmin21j=1c1k=j+1cwjwk22+21j=1cwj22+21j=1cbj2+Cj=1c1k=j+1cyi{j,k}[1yijkfjk(xi)]+,

其中[z]+=max⁡(0,z)[z]_+ = \max(0, z)[z]+=max(0,z)表示铰链损失。

目标函数的优化过程

由于目标函数是非凸且非光滑的,论文采用**随机梯度下降结合方差缩减(Stochastic Variance Reduced Gradient, SVRG)**算法进行优化。SVRG是一种高效的优化算法,能够在非凸问题中实现快速收敛。优化过程如下:

  1. 目标函数重写
    为了支持半监督学习,目标函数被重写为包含标记数据和未标记数据的形式:

    min⁡W,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=1c1k=j+1cwjwk22+21j=1cwj22+21j=1cbj2+Cj=1c1k=j+1cyi{j,k},iU[1y~ijkfjk(xi)]+,

    其中y~i\tilde{y}_iy~i是通过y~i=arg⁡max⁡jwjTxi+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=U1

  2. 随机梯度计算
    在每次迭代中,随机选择一个训练样本xi\mathbf{x}_ixi,并计算目标函数对wj\mathbf{w}_jwjbjb_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}, wyiIi=k=yi(wkwyi)+wyi+k=yi{Cxi0if 1fyik(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}. byiIi=byi+k=yi{C0if 1fyik(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=yiIi=k=j(wkwj)+wj+{Cxi0if 1fjk(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=yiIi=bk+{C0if 1fjk(xi)>0otherwise.

  3. 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~s1b~=b~s−1\tilde{\mathbf{b}} = \tilde{\mathbf{b}}^{s-1}b~=b~s1

    • 计算全梯度:对所有样本计算平均梯度:

      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=1nwjfi,v~j=n1i=1nbjfi.

    • 内循环:随机选择样本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=wjt1η(wjtIitwjIit+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=bjt1η(bjtIitbjIit+v~j).

    • 更新全局参数:将内循环结束时的参数设为W~s=Wn\tilde{W}^s = W^nW~s=Wn

主要的贡献点
  1. 新颖的多分类SVM模型

    • 提出了一种直接最大化每对类别间隔的多分类SVM模型,遵循SVM的原始动机。
    • 通过使用ccc个权重向量表示c(c−1)2\frac{c(c-1)}{2}2c(c1)个二分类器,显著降低了存储和计算复杂度,相比OvsO策略更高效。
  2. 理论分析

    • 证明了所提模型与已有方法(如Weston、Guermeur、Bredensteiner等)的等价性或紧密联系,为模型提供了坚实的理论基础。
    • 分析了模型的唯一解问题,通过添加正则化项12∑j=1c∥wj∥22\frac{1}{2} \sum_{j=1}^c \|\mathbf{w}_j\|_2^221j=1cwj2212∑j=1cbj2\frac{1}{2} \sum_{j=1}^c b_j^221j=1cbj2避免多解问题。
  3. 优化算法

    • 采用SVRG算法优化非凸、非光滑的目标函数,证明了其快速收敛性。
    • 支持半监督学习,通过预测未标记数据的标签扩展了模型的适用场景。
  4. 实验验证

    • 在多个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)的收敛速度。

结果分析

  1. 分类精度(见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。
  2. 收敛速度(见Figure 2):

    • SVRG在10个epoch后展现出显著的收敛速度优势,相比常数学习率和递减学习率的SGD更快接近最优解。
    • 常数学习率SGD收敛较慢,而递减学习率SGD因学习率减小可能停止收敛。
  3. 半监督学习

    • 实验表明,模型在半监督学习任务中也能保持快速收敛,展示了其在非凸问题上的鲁棒性。
算法实现过程详细解释

以下是对论文中SVRG算法(Algorithm 1)的详细实现过程解释,结合目标函数的优化需求:

  1. 初始化

    • 初始化权重矩阵W~0∈Rd×c\tilde{W}^0 \in \mathbb{R}^{d \times c}W~0Rd×c和偏置向量b~0∈Rc\tilde{\mathbf{b}}^0 \in \mathbb{R}^cb~0Rc,通常设置为零或随机小值。
    • 设置学习率η\etaη(需通过实验调优)和外循环计数器s=0s=0s=0
  2. 外循环

    • 在每次外循环(s=s+1s = s + 1s=s+1),将当前参数复制为W~=W~s−1\tilde{W} = \tilde{W}^{s-1}W~=W~s1b~=b~s−1\tilde{\mathbf{b}} = \tilde{\mathbf{b}}^{s-1}b~=b~s1,作为内循环的起点。
    • 全梯度计算
      • 遍历所有训练样本i=1,…,ni=1, \ldots, ni=1,,n,计算目标函数对每个wj\mathbf{w}_jwjbjb_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=1nwjfi,v~j=n1i=1nbjfi,

        其中∂fi∂wj\frac{\partial f_i}{\partial \mathbf{w}_j}wjfi∂fi∂bj\frac{\partial f_i}{\partial b_j}bjfi根据样本xi\mathbf{x}_ixi的类别yiy_iyi按上述子梯度公式计算(参考目标函数优化部分的公式)。

  3. 内循环

    • 进行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=wjt1η(wjtIitwjIit+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=bjt1η(bjtIitbjIit+v~j).

      • 这里,∂Iit∂wjt\frac{\partial I_{i_t}}{\partial \mathbf{w}_j^t}wjtIit∂Iit∂bjt\frac{\partial I_{i_t}}{\partial b_j^t}bjtIit是基于当前样本iti_tit和当前参数的子梯度,∂Iit∂wj\frac{\partial I_{i_t}}{\partial \mathbf{w}_j}wjIit∂Iit∂bj\frac{\partial I_{i_t}}{\partial b_j}bjIit是基于样本iti_tit和外循环参数的子梯度,u~j\tilde{\mathbf{u}}_ju~jv~j\tilde{v}_jv~j是全梯度,用于减小随机梯度的方差。

  4. 更新全局参数

    • 内循环结束后,将最终参数WnW^nWnbn\mathbf{b}^nbn设为外循环的下一轮初始参数W~s\tilde{W}^sW~sb~s\tilde{\mathbf{b}}^sb~s
  5. 收敛判断

    • 检查目标函数值或参数变化是否满足收敛条件(如变化小于某个阈值)。若未收敛,继续外循环。
  6. 预测

    • 对于新样本xi\mathbf{x}_ixi,通过计算决策函数wjTxi+bj\mathbf{w}_j^T \mathbf{x}_i + b_jwjTxi+bj,选择最大值对应的类别:

      y~i=arg⁡max⁡jwjTxi+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 01fjk(xi)0时。
  • 并行化:SVRG的内循环可部分并行化(如批量计算子梯度),但全梯度计算可能成为瓶颈。

总结

这篇论文提出了一种新颖的多分类SVM模型,通过最大化每对类别之间的间隔,结合高效的SVRG优化算法,实现了在分类精度和收敛速度上的优越性能。其主要贡献在于理论上的等价性分析、模型的高效性和对半监督学习的扩展。实验结果表明,该模型在多种数据集上表现优异,特别是在资源受限场景下相比传统OvsO方法更具优势。算法实现上,SVRG的引入确保了非凸问题的高效优化,适合大规模多分类任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Christo3

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值