SVM算法的相关问题(续1)

6.SVM的优化算法--SVMlight中核心优化代码详解

对于SVM的求解最终转换为一个二次优化问题,该二次优化问题具有界约束(bound constraints)以及一个线性等式约束(linear equality constraint)。与其他SVM的求解算法相比,SVMlight更适合训练大规模数据集。SVMlight之所以能够在大数据集上训练,就是因为它将待求解问题进行分解,得到一系列子任务,其分解思想借鉴于[4]。

1)SVMlight算法框架

SVMlight算法中涉及到的两个重要步骤:1)如何分解,借鉴[4];2)如何收缩(shrinking)?

while the optimality conditions (KKT) are volated

1.select a good working set B with constant q variables

该问题可以转化为一个优化问题:选择一个working set B,使之在B上优化的结果尽可能逼近原始优化问题的解。求解思想:找到最速下降的梯度方向使之包含q个不为0的元素。

min_d V(d)= g(alpha)'d

s.t.  y'd=0

     di>=0 for alpha_i=0

     di<=0 for alpha_i=C

     -1<=di<=1

     |{di:di!=0}|=q

该优化问题的解可以简单的通过以下方式得到:将yg(alpha)的值降序排列,从整个排序列表的前面几位中找到q/2个元素,使之满足0<alpha_i<C或di=-yi,从后面几位中找到q/2个元素,使之满足0<alpha_i<C或di=yi。

2.Solve the subproblem (Quadratic Programming) on the working set B

求解方法借鉴Primal-Dual Interior-Point method (proposed by Alex. Smola [2])

min_alpha W(alpha)=-alpha_B'(1-Q_{BN}alpha_N)+1/2alpha_B'Q_{BB}alpha_B

s.t. alpha_B'y_B+alpha_N'y_N=0

    0<=alpha<=C1

3.Shrinking: reducing the size of orginal problem

先验:(1)有些SV可以再早期就确定;(2)大部分的SV对应的alpha_i的值是取到其上界值C的。

基于这两个先验将当前的变量进行分为三类:(1)X:unbounded support vectors;(2)Y:Bounded support vectors;(3)Z:non-support vectors。

将原始求解alpha的问题变为求解alpha_X的问题。

terminate and return alpha



(2)求解子问题QP(Quadratic Programming)算法框架:原对偶内点法(Primal-Dual Interior-Point)


参考文献:

  1. Making Large Scale SVM Learning Practical
  2. Convex Cost Functions for Support Vector Regression (1998)
  3. LOQO: An Interior Point Code for Quadratic Programming (1998)
  4. Training Support Vector Machines: An Application to Face Detection (1997)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值