zoukankan      html  css  js  c++  java
  • [转] 从零推导支持向量机 (SVM)

    原文连接 - https://zhuanlan.zhihu.com/p/31652569

    摘要

    支持向量机 (SVM) 是一个非常经典且高效的分类模型。但是,支持向量机中涉及许多复杂的数学推导,并需要比较强的凸优化基础,使得有些初学者虽下大量时间和精力研读,但仍一头雾水,最终对其望而却步。本文旨在从零构建支持向量机,涵盖从思想到形式化,再简化,最后实现的完整过程,并展现其完整思想脉络和所有公式推导细节。本文力图做到逻辑清晰而删繁就简,避免引入不必要的概念、记号等。此外,本文并不需要读者有凸优化的基础,以减轻读者的负担。对于用到的优化技术,在文中均有介绍。

    尽管现在深度学习十分流行,了解支持向量机的原理,对想法的形式化、简化,及一步步使模型更一般化的过程,及其具体实现仍然有其研究价值。另一方面,支持向量机仍有其一席之地。相比深度神经网络,支持向量机特别擅长于特征维数多于样本数的情况,而小样本学习至今仍是深度学习的一大难题。

    线性二分类模型

    线性二分类模型

    给定一组数据 ({(x_1,y_1),(x_2,y_2),...,(x_m,y_m)}),其中 (x_i in mathbb{R}^d, y in {-1, 1}),二分类任务的目标是希望从数据中学得一个假设函数 (h: mathbb{R} o {-1, 1}),使得 (h(x_i)=y_i),即:

    (egin{align}h(x_i)=egin{cases} 1 & ext{若 }y_i=1; \ -1 & ext{若 }y_i=-1. \end{cases}end{align})

    用一个更简洁的形式表示是:

    (egin{align} forall_{i.};; y_ih(x_i)=1end{align})

    更进一步,线性二分类模型认为假设函数的形式是基于对特征 (x_i) 的线性组合,即:

    (egin{align}h(x_i) := mathrm{sign}(w^T x_i + b), ext{ 其中 } w_i in mathbb{R}^d,b in mathbb{R}.end{align})

    定理 1

    线性二分类模型的目标是找到一组合适的参数 ((w, b)),使得

    (egin{align} forall_{i.} ;; y_i(w^T x_i + b) > 0 end{align})

    即,线性二分类模型希望在特征空间找到一个划分超平面,将属于不同标记的样本分开。

    证明:

    (egin{align} y_i h(x_i) = 1 Leftrightarrow y_i mathrm{sign}(w^T x_i + b) = 1 Leftrightarrow y_i(w^T x_i + b) > 0 end{align})

    线性支持向量机

    线性支持向量机 (SVM) [4]也是一种线性二分类模型,也需要找到满足定理 1 约束的划分超平面,即 ((w, b))。由于能将样本分开的超平面可能有很多,SVM 进一步希望找到离各样本都比较远的划分超平面。

    当面对对样本的随机扰动时,离各样本都比较远的划分超平面对扰动的容忍能力比较强,即不容易因为样 本的随机扰动使样本穿越到划分超平面的另外一侧而产生分类错误。因此,这样的划分超平面对样本比较稳健,不容易过拟合。另一方面,离各样本都比较远的划分超平面不仅可以把正负样本分开,还可以以比较大的确信度将所有样本分开,包括难分的样本,即离划分超平面近的样本。

    间隔

    在支持向量机中,我们用间隔 (margin) 刻画划分超平面与样本之间的距离。在引入间隔之前,我们需要 先知道如何计算空间中点到平面的距离。

    引理 2

    (mathbb{R}^d) 空间中某点 (p in mathbb{R}^d) 到超平面 (w^{ op}x + b=0) 的距离为

    (egin{align} frac{1}{||w||} | w^{ op} p + b |end{align})

    证明. 假设 (x_1, x_2) 是该超平面上两点, 则

    (egin{align} w^{ op}(x_1-x_2) = w^{ op}x_1-w^{ op}x_2=(-b)-(-b)=0,end{align})

    (w perp (x_1 - x_2)). 又因为 (x_1-x_2) 与该超平面平行,则 (w) 与该超平面垂直. 点(p) 到该超平面的距离等于 (p) 与超平面上某点 (x) 连线向超平面法向量(即,(w))的投影:

    (egin{align} mathrm{proj}_w(p-x) &= ||p-x|| cdot |cos (w, p - x)| onumber\ &= ||p-x|| cdot frac{|w^{ op}(p-x)|}{||w|| cdot ||p-x||} onumber \ &= frac{1}{||w||} |w^{ op}p - w^{ op}x| onumber \ &= frac{1}{||w||} | w^{ op}p + b | end{align})

    定义 1 (间隔 (gamma) )

    间隔表示距离划分超平面最近的样本到划分超平面距离的两倍,即

    (gamma := 2 ; underset{i}{mathrm{min}} frac{1}{||w||} | w^{ op} x_i + b |)

    也就是说,间隔表示划分超平面到属于不同标记的最近样本的距离之和。

    定理 3

    线性支持向量机的目标是找到一组合适的参数(w, b),使得

    (egin{align} & underset{w,b}{mathrm{max}} ;; underset{i}{mathrm{min}} ;; frac{2}{||w||} | w^{ op} x_i + b |, \ & ;;;; s.t. ;;y_i(w^{ op}x_i + b) > 0, ; i = 1,2,...,m. onumber end{align})

    即,线性支持向量机希望在特征空间找到一个划分超平面,将属于不同标记的样本分开,并且该划分超平面距离各样本最远。

    证明. 带入间隔定义即得。

    线性支持向量机基本型

    定理 3 描述的优化问题十分复杂,难以处理。为了能在现实中应用,我们希望能对其做一些简化,使其变 为可以求解的、经典的凸二次规划 (QP) 问题。

    定义 2 (凸二次规划).

    凸二次规划的优化问题是指目标函数是凸二次函数,约束是线性约束的一类优化问题。

    [egin{align} & underset{u}{mathrm{min}} ;; frac{1}{2} u^{ op}Qu+t^{ op}u \ & mathrm{s.t.} ;; c_i^{ op} u geq d_i, ; i = 1,2,...,m. onumber end{align} ]

    引理 4

    ((w^*, b^*)) 是定理 3 优化问题的解,那么对任意 (r > 0, (rw^*, rb^*)) 仍是该优化问题的解.

    证明.

    [egin{align} frac{2}{||rw^*||} | (rw^*)^{ op} x_i + rb^* | = frac{2}{||w^*||} | w^{* op} x_i + b^* |, \ y_i ig( (rw^*)^{ op} x_i + rb^* ig) > 0 Leftrightarrow y_i (w^{* op} x_i + b^*)>0. end{align} ]

    由于对 (w, b) 的放缩不影响解,为了简化优化问题,我们约束 (w, b) 使得

    [egin{align} underset{i}{mathrm{min}} ; | w^{ op} x_i + b | = 1. end{align} ]

    定理 5(线性支持向量机基本型)

    定理 3 描述的线性支持向量机的优化问题等价于找到一组合适的参数 ((w, b)), 使得

    [egin{align} & underset{w, b}{mathrm{min}} ;; frac{1}{2} w^{ op} w \ & mathrm{s.t.} ;; y_i (w^{ op} x_i +b ) geq 1, ; i = 1,2,...,m. onumber end{align} ]

    证明.

    对约束项,我们采用反证法。假设最优值 ((w^*, b^*)) 处等号不成立,即 (underset{i}{mathrm{min}} ; y_i (w^{* op} x_i + b^*) > 1). 此时存在 ((rw, rb)),其中 (0<r<1),使得 (underset{i}{mathrm{min}} ; y_i ig((rw)^{ op} x_i + rb ig) = 1),且 (frac{1}{2} ||rw||^2 < frac{1}{2}||w||^2)。说明 ((w^*, r^*)) 不是最优值,与假设矛盾。因此,公式 14 等价于

    [egin{align} & underset{w, b}{mathrm{min}} ;; frac{1}{2} w^{ op} w \ & mathrm{s.t.} ;; underset{i}{mathrm{min}} ;; y_i (w^{ op} x_i +b ) = 1. onumber end{align} ]

    优化目标等价于

    [egin{align} underset{w, b}{mathrm{argmin}} ;; frac{1}{2} w^{ op} w & = underset{w, b}{mathrm{argmin}} ;; frac{1}{2} ||w|| onumber\ & = underset{w, b}{mathrm{argmax}} ;; frac{2}{||w||} cdot 1 onumber\ & = underset{w, b}{mathrm{argmax}} ;; Big( underset{i}{mathrm{min}} ; frac{2}{||w||} y_i (w^{ op} x_i + b) Big) onumber\ & = underset{w, b}{mathrm{argmax}} ;; Big( underset{i}{mathrm{min}} ; frac{2}{||w||} |w^{ op} x_i + b| Big) end{align} ]

    推论 6

    线性支持向量机基本型中描述的优化问题属于二次规划问题,包括 d + 1 个优化变量,m 项约束。

    证明. 令

    [egin{align} u := egin{bmatrix} w \ b end{bmatrix}, Q := egin{bmatrix} I&0\0&0 end{bmatrix}, t := 0, \ c_i := y_i egin{bmatrix} x_i \ 1 end{bmatrix}, d_i := 1, end{align} ]

    代入公式 10 即得。

    对偶问题

    现在,我们可以通过调用现成的凸二次规划软件包来求解定理 5 描述的优化问题。不过,通过借助拉格朗 日 (Lagrange) 函数和对偶 (dual) 问题,我们可以将问题更加简化。

    拉格朗日函数与对偶形式

    构造拉格朗日函数是求解带约束优化问题的重要方法。

    定义 3(拉格朗日函数)

    对于优化问题

    [egin{align} underset{u}{mathrm{min}} &;; f(u) &\ mathrm{s.t.} &;; g_i (u) leq 0, &i = 1,2,...,m, onumber\ & ;; h_j (u) = 0, &j = 1,2,...,n, onumber end{align} ]

    定义其拉格朗日函数为

    [egin{align} mathcal{L}(u,alpha,eta) := f(u) + sumlimits_{i=1}^{m} alpha_i g_i (u) + sumlimits_{j=1}^{n} eta_j h_j (u) end{align} ]

    其中 (alpha_i geq 0).

    引理 7

    公式 19 描述的优化问题等价于

    [egin{align} underset{u}{mathrm{min}} ;; underset{alpha, eta}{mathrm{max}} ;;& mathcal{L} (u, alpha, eta) \ mathrm{s.t.} ;;;;;;& alpha_i geq 0, ;; i = 1,2,...,m. onumber end{align} ]

    证明.

    [egin{align} & underset{u}{mathrm{min}} ;; underset{alpha, eta}{mathrm{max}} ;; mathcal{L} (u, alpha, eta) onumber \ = & underset{u}{mathrm{min}} Bigg( f(u) + underset{alpha, eta}{mathrm{max}} Big( sumlimits_{i=1}^{m} alpha_i g_i (u) + sumlimits_{j=1}^{n} eta_j h_j (u) Big)Bigg) onumber \ = & underset{u}{mathrm{min}} Bigg( f(u) + egin{cases} 0 & ext{若 } u ext{ 满足约束;} \ infty & ext{否则} end{cases} Bigg) onumber \ = & underset{u}{mathrm{min}} ; f(u), ext{ 且 } u ext{ 满足约束,} end{align} ]

    其中

    • (g_i) 不满足约束时,即 (g_i(u) >0),我们可以取 (alpha_i = infty),使得 (alpha_i g_i (u) = infty)
    • (h_j) 不满足约束时,即 (h_j(u) eq 0),我们可以取 (eta_j = mathrm{sign} (h_j (u))infty),使得 (eta_j h_j (u) = infty)
    • (u) 满足约束时,由于 (alpha_i geq 0,; g_i(u) leq 0),则 (alpha_i g_i (u) leq 0)。因此 (alpha_i g_i (u)) 最大值为 0.

    推论 8 (KKT 条件)

    公式 21 描述的优化问题在最优值处必须满足如下条件。

    • 主问题可行:(g_i (u) leq 0, h_i (u) = 0);
    • 对偶问题可行:(alpha_i geq 0);
    • 互补松弛(complementary slackness):(alpha_i g_i (u) = 0).

    证明. 由引理 7 可知,u 必须满足约束,即主问题可行。对偶问题可行是公式 21 描述的优化问题的约束项。αigi(u) = 0 是在主问题和对偶问题都可行的条件下的最大值。

    定义 4 (对偶问题).

    定义公式 19 描述的优化问题的对偶问题为

    [egin{align} underset{alpha, eta}{mathrm{max}} ;; underset{u}{mathrm{min}} ;;& mathcal{L} (u, alpha, eta) \ mathrm{s.t.} ;;;;;;& alpha_i geq 0, ;; i = 1,2,...,m. onumber end{align} ]

    引理 9. 对偶问题是主(primal)问题的下界

    [egin{align} underset{alpha, eta}{mathrm{max}} ;; underset{u}{mathrm{min}} ;; mathcal{L} (u, alpha, eta) ;; leq ;; underset{u}{mathrm{min}} ;; underset{alpha, eta}{mathrm{max}} ;; mathcal{L} (u, alpha, eta) end{align} ]

    证明.

    对任意 ((alpha^{'},eta^{'}),; underset{u}{mathrm{min}} ; mathcal{L} (u,alpha^{'}, eta^{'}) leq underset{u}{mathrm{min}} ; underset{alpha,eta}{mathrm{max}} ; mathcal{L} (u,alpha, eta))
    ((alpha^{'},eta^{'}) = underset{alpha^{'},eta^{'}}{mathrm{max}} ; underset{u}{mathrm{min}}; mathcal{L} (u,alpha^{'}, eta^{'})) 时,
    该式仍然成立,即 (underset{alpha^{'},eta^{'}}{mathrm{max}}; underset{u}{mathrm{min}}; mathcal{L} (u,alpha^{'}, eta^{'}) leq underset{u}{mathrm{min}}; underset{alpha,eta}{mathrm{max}}; mathcal{L} (u,alpha, eta))

    引理 10 ((Slater) 条件).

    当主问题为凸优化问题,即 (f)(g_i) 为凸函数,(h_j) 为仿射函数,且可行域中至少有一点使不等式约束严格成立时,对偶问题等价于原问题。

    证明. 此证明已超出本文范围,感兴趣的读者可参考 [2]。

    推论 11 线性支持向量机满足 (Slater) 条件.

    证明. (frac{1}{2} w^{ op} w)(1 - y_i (w^{ op} x_i + b)) 均为凸函数.

    线性支持向量机对偶型

    线性支持向量机的拉格朗日函数为

    [egin{align} mathcal{L}(w,b,alpha) := frac{1}{2}w^{ op}w + sumlimits_{i=1}^{m}alpha_i ig(1- y_i (w^{ op} x_i + b) ig) end{align} ]

    其对偶问题为

    [egin{align} underset{alpha}{mathrm{max}} ; underset{w,b}{mathrm{min}} ; & frac{1}{2}w^{ op}w + sumlimits_{i=1}^{m}alpha_i ig(1- y_i (w^{ op} x_i + b) ig) \ mathrm{s.t.} ;;;;;; & alpha_i geq 0, ; i = 1,2,...,m. onumber end{align} ]

    定理 12(线性支持向量机对偶型)

    线性支持向量机的对偶问题等价于找到一组合适的参数 (alpha),使得

    [egin{align} underset{alpha}{mathrm{min}} ;; & frac{1}{2} sumlimits_{i=1}^{m} sumlimits_{j=1}^{m} alpha_i alpha_j y_i y_j x_i^{ op} x_j - sumlimits_{i=1}^{m}alpha_i \ mathrm{s.t.} ;;; & sumlimits_{i=1}^{m} alpha_i y_i = 0, onumber \ & alpha_i geq 0, ; i = 1,2,...,m. onumber end{align} ]

    证明. 因为公式 26 内层对 (w,b) 的优化属于无约束优化问题,我们可以通过令偏导等于零的方法得到 (w,b)的最优值。

    [egin{align} frac{partial mathcal{L}}{partial w} = 0 Leftrightarrow & w = sumlimits_{i=1}^{m} alpha_i y_i x_i, \ frac{partial mathcal{L}}{partial b} = 0 Leftrightarrow & sumlimits_{i=1}^{m} alpha_i y_i. end{align} ]

    将其代入公式 26,消去 (w, b),即得。

    推论 13. 线性支持向量机对偶型中描述的优化问题属于二次规划问题,包括 (m) 个优化变量,(m + 2) 项约束。

    证明. 令

    [egin{align} & u:=alpha,;mathcal{Q}:=[y_i y_j x_i^{ op} x_j]_{m imes m},;t:=-1,\ & c_i:=e_i,;d_i:=0,; i=1,2,...,m,\ & c_{m+1}:=[y_1;y_2; cdots ; y_m]^{ op} , ; d_{m+1}:=0,\ & c_{m+2}:=-[y_1;y_2; cdots ; y_m]^{ op}, ; d_{m+2}:=0, end{align} ]

    代入公式 10 即得。

    其中,(e_i) 是第 (i) 位置元素为 1,其余位置元素为 0 的单位向量。
    我们需要通过两个不等式约束 (c^T_{m+1}u leq d_{m+1})(c^T_{m+2}u leq d_{m+2}) 来得到一个等式约束。

    支持向量

    定理 14 (线性支持向量机的 KKT 条件)

    线性支持向量机的 KKT 条件如下。

    • 主问题可行:(1-y_i(w^{ op}x_i + b) leq 0);
    • 对偶问题可行:(alpha_i geq 0);
    • 互补松弛:(alpha_iig(1-y_i(w^{ op}x_i + b)ig) = 0).

    证明. 令

    [egin{align} u:=egin{bmatrix} w \ b end{bmatrix}, ;; g_i(u):= 1-y_i {egin{bmatrix} x_i \ 1 end{bmatrix}}^{ op} u, end{align} ]

    代入引理 8 即得。

    定义 5 (支持向量)

    对偶变量 (alpha_i > 0) 对应的样本。

    引理 15. 线性支持向量机中,支持向量是距离划分超平面最近的样本,落在最大间隔边界上。

    证明. 由线性支持向量机的 KKT 条件可知,(alpha_iig(1-y_i(w^{ op}x_i + b)ig)=0)。当 (alpha_i > 0) 时,(1-y_i(w^{ op}x_i + b)=0)。即 (y_i(w^{ op}x_i + b)=1)

    定理 16. 支持向量机的参数 ((w, b)) 仅由支持向量决定,与其他样本无关。

    证明. 由于对偶变量 (alpha_i > 0) 对应的样本是支持向量,

    [egin{align} w = & sumlimits_{i=1}^{m}alpha_i y_i x_i onumber \ = & sumlimits_{i:;alpha_i = 0}^{m} 0 cdot y_i x_i + sumlimits_{i:;alpha_i>0}^{m}alpha_i y_i x_i onumber \ = & sumlimits_{i in SV}^{}alpha_i y_i x_i, end{align} ]

    其中 SV 代表所有支持向量的集合,(b) 可以由互补松弛算出。对于某一支持向量 (x_s) 及其标记 (y_s),由于

    [egin{align} & y_s(w^{ op} x_s + b) = 1, ext{ 则} onumber \ & b = y_s - w^{ op} x_s = y_s - sumlimits_{i in SV} alpha_i y_i x_i^{ op} x_s. end{align} ]

    实践中,为了得到对 (b) 更稳健的估计,通常使用对所有支持向量求解得到 (b) 的平均值。

    推论 17.

    线性支持向量机的假设函数可表示为

    [egin{align} h(x) = mathrm{sign} Big( sumlimits_{i in SV} alpha_i y_i x_i^{ op} x + b Big). end{align} ]

    证明. 代入公式 35 即得。

    核函数

    至此,我们都是假设训练样本是线性可分的。即,存在一个划分超平面能将属于不同标记的训练样本分开。但在很多任务中,这样的划分超平面是不存在的。支持向量机通过核技巧 (kernel trick) 来解决样本不是线性可分的情况 [1]。

    非线性可分问题

    既然在原始的特征空间 (mathbb{R}^d) 不是线性可分的,支持向量机希望通过一个映射 (phi : mathbb{R}^d o mathbb{R}^ ilde{d}),使得数据在新的空间 (mathbb{R}^ ilde{d}) 是线性可分的。

    引理 18

    (d) 有限时,一定存在 ( ilde{d}),使得样本在空间 (mathbb{R}^ ilde{d}) 中线性可分.

    证明. 此证明已超出本文范围,感兴趣的读者可参考计算学习理论中打散 (shatter) 的相应部分 [16]。

    (phi (x)) 代表将样本 (x) 映射到 (mathbb{R}^ ilde{d}) 中的特征向量,参数 (w) 的维数也要相应变为 ( ilde{d}) 维,则支持向量机的基本型和对偶型相应变为:

    [egin{align} underset{w,b}{mathrm{min}} ;; & frac{1}{2} w^{ op} w \ mathrm{s.t.} ;; & y_i(w^{ op}phi(x_i) + b)geq1,;i=1,2,...,m; onumber \ onumber \ onumber \ underset{alpha}{mathrm{min}} ;; & frac{1}{2} sumlimits_{i=1}^{m}sumlimits_{j=1}^{m}alpha_ialpha_jy_iy_jphi(x_i)^{ op}phi(x_j)-sumlimits_{i=1}^{m}alpha_i \ mathrm{s.t.} ;; & sumlimits_{i=1}^{m}alpha_iy_i = 0, onumber \ &alpha_i geq 0, ; i=1,2,...,m. onumber end{align} ]

    其中,基本型对应于 ( ilde{d} + 1) 个优化变量,(m) 项约束的二次规划问题;对偶型对应于 (m) 个优化变量,(m + 2) 项约束的二次规划问题。

    核技巧

    注意到,在支持向量机的对偶型中,被映射到高维的特征向量总是以成对内积的形式存在,即 (phi (x_i)^T phi (x_j)) 如果先计算特征在空间 (mathbb{R}^{ ilde{d}}) 的映射,再计算内积,复杂度是 (mathcal{O}( ilde{d})) 。当特征被映射到非常高维的空间,甚至是无穷维空间时,这将会是沉重的存储和计算负担。

    核技巧旨在将特征映射和内积这两步运算压缩为一步, 并且使复杂度由 (mathcal{O}( ilde{d})) 降为 (mathcal{O}(d))。即,核技巧希望构造一个核函数 (kappa(x_i, x_j)),使得

    (egin{align}kappa(x_i, x_j)=phi (x_i)^T phi (x_j),end{align})

    并且 (kappa(x_i, x_j)) 的计算复杂度是 (mathcal{O}(d))

    引理 19

    映射

    [egin{align} phi : x mapsto exp(-x^2) egin{bmatrix} 1\ sqrt{frac{2}{1}}x \ sqrt{frac{2^2}{2!}}x^2 \ vdots end{bmatrix} end{align} ]

    对应于核函数

    [egin{align} kappa(x_i,x_j):=expBig(-(x_i - x_j)^2Big). end{align} ]

    证明.

    [egin{align} kappa(x_i,x_j) &= expBig(-(x_i - x_j)^2Big) onumber \ &= exp(-x_i^2)exp(-x_j^2)exp(2x_ix_j) onumber \ &= exp(-x_i^2)exp(-x_j^2)sumlimits_{k=0}^{infty}frac{(2x_ix_j)^k}{k!} onumber \ &= sumlimits_{k=0}^{infty}Bigg(exp(-x_i^2)sqrt{frac{2^k}{k!}}x_i^kBigg)Bigg(exp(-x_j^2)sqrt{frac{2^k}{k!}}x_j^kBigg) onumber \ &= phi(x_i)^{ op}phi(x_j). end{align} ]

    核函数选择

    通过向高维空间映射及核技巧,我们可以高效地解决样本非线性可分问题。但面对一个现实任务,我们很 难知道应该具体向什么样的高维空间映射,即应该选什么样的核函数,而核函数选择的适合与否直接决定整体的性能。

    表 1 列出了几种常用的核函数。通常,当特征维数 (d) 超过样本数 (m) 时 (文本分类问题通常是这种情况),使用线性核;当特征维数 (d) 比较小,样本数 (m) 中等时,使用 RBF 核;当特征维数 (d) 比较小,样本数 (m) 特别大时,支持向量机性能通常不如深度神经网络。

    除此之外,用户还可以根据需要自定义核函数,但需要满足 Mercer 条件 [5]。

    定理 20(Mercer 条件)

    核函数 (kappa(x_i,x_j)) 对应的矩阵

    [egin{align} K := [kappa(x_i,x_j)]_{m imes m} end{align} ]

    是半正定的,反之亦然。

    证明. 因为核函数可表示为两向量内积:(K_{ij}=kappa(x_i,x_j)=phi(x_i)^{ op}phi(x_j)),令

    [egin{align} Phi:=[phi(x_1);phi(x_2);ldots;phi(x_m)] in mathbb{R}^{ ilde{d} imes m}, end{align} ]

    (K=Phi^{ op}Phi),对任意非零向量 (a)

    [egin{align} a^{ op}Ka=a^{ op}Phi^{ op}Phi a=(Phi a)^{ op}(Phi a) = ||Phi a||^2 geq 0. end{align} ]

    反之亦然。

    新的核函数还可以通过现有核函数的组合得到,使用多个核函数的凸组合是多核学习 [9] 的研究内容。

    引理 21

    (kappa(x_i,x_j)) 是核函数,那么下列函数也是核函数

    [egin{align} c_1 kappa_1(x_i,x_j)+c_2kappa_2(x_i,x_j),;c_1,c_2>0,\ kappa_1(x_i,x_j)kappa_2(x_i,x_j),\ f(x_1)kappa_1(x_i,x_j)f(x_2). end{align} ]

    证明. 因为核函数可表示为两向量内积:(kappa(x_i,x_j)=phi(x_i)^{ op}phi(x_j))

    [egin{align} c_1 kappa_1(x_i,x_j)+c_2 kappa_2 (x_i,x_j) = {egin{bmatrix} sqrt{c_1}phi_1(x_i) \ sqrt{c_2}phi_2(x_i) end{bmatrix}}^{ op} egin{bmatrix} sqrt{c_1}phi_1(x_i) \ sqrt{c_2}phi_2(x_i) end{bmatrix}\ kappa_1(x_i,x_j)kappa_2(x_i,x_j)=mathrm{vec}ig(phi_1(x_i)phi_2(x_i)^{ op}ig)^{ op}mathrm{vec}ig(phi_1(x_j)phi_2(x_j)^{ op}ig),\ f(x_1)kappa_1(x_i,x_j)f(x_2)=ig(f(x_i)phi(x_i)ig)^{ op}ig(f(x_j)phi(x_j)ig). end{align} ]

    核方法

    上述核技巧不仅使用于支持向量机,还适用于一大类问题。

    定理 22(简化版表示定理)

    优化问题

    [egin{align} underset{w}{mathrm{min}};;frac{1}{m}sumlimits_{i=1}^{m} ell Big(w^{ op}phi(x_i),;y_iBig) + frac{lambda}{2}||w||^2 end{align} ]

    的解 (w) 是样本的线性组合

    [egin{align} w = sumlimits_{i=1}^{m} alpha_i phi(x_i). end{align} ]

    证明. 我们使用反证法. 令

    [egin{align} Phi := [phi(x_1);phi(x_2) cdots phi(x_m)]. end{align} ]

    假设最优解 (w) 不是样本的线性组合,那么

    [egin{align} exists alpha,e eq 0.; w=Phi alpha + e end{align} ]

    其中,(e) 不是样本的线性组合,即对任意 (phi(x_i),;phi(x_i)^{ op}e=0)。因为

    [egin{align} ell Big(w^{ op}phi(x_i),;y_iBig) & = ell Big((Phialpha+e)^{ op}phi(x_i),;y_iBig) onumber \ & = ell Big((Phialpha)^{ op}phi(x_i),;y_iBig) \ ||w||^2 & = ||Phialpha||^2+||e||^2+2(Phialpha)^{ op}e>||Phialpha||^2, end{align} ]

    (Phi alpha)(w) 有更小的目标函数值,说明 (w) 不是最优解,与假设矛盾。因此,最优解必定是样本的线性组合。

    此外,原版表示定理适用于任意单调递增正则项 (Omega(w))。此证明已超出本文范围,感兴趣的读者可参考 [13]。

    表示定理对损失函数形式没有限制,这意味着对许多优化问题,最优解都可以写成样本的线性组合。更进 一步,(w^T phi(x)) 将可以写成核函数的线性组合

    [egin{align} w^{ op}phi(x)=sumlimits_{i=1}^{m}alpha_ikappa(x_i,;x). end{align} ]

    通过核函数,我们可以将线性模型扩展成非线性模型。这启发了一系列基于核函数的学习方法,统称为核方法 [8]。

    Table 1:常用核函数

    除此之外,还有其他一些核函数,例如卡方核(chi squared kernel),直方图交叉核(histogram intersection kernel)等。

    名称 形式 优点 缺点
    线性核 (x_i^{ op}x_j) 有高效实现,不易过拟合 无法解决非线性可分问题
    多项式核 ((eta x_i^{ op}x_j + heta)^n) 比线性核更一般,(n) 直接描述了被映射空间的复杂度 参数多,当 (n) 很大时会导致计算不稳定
    RBF核 $mathrm{exp}Big(-frac{ x_i - x_j

    软间隔

    不管直接在原特征空间,还是在映射的高维空间,我们都假设样本是线性可分的。虽然理论上我们总能找 到一个高维映射使数据线性可分,但在实际任务中,寻找到这样一个合适的核函数通常很难。此外,由于数据中通常有噪声存在,一味追求数据线性可分可能会使模型陷入过拟合的泥沼。因此,我们放宽对样本的要求,即允许有少量样本分类错误。

    软间隔支持向量机基本型

    我们希望在优化间隔的同时,允许分类错误的样本出现,但这类样本应尽可能少:

    [egin{align} underset{w,b}{mathrm{min}} ;; & frac{1}{2} w^{ op}w + C sumlimits_{i=1}^{m} mathbb{I} Big(y_i eq mathrm{sign} ig(w^{ op}phi(x_i) + b ig) Big) \ mathrm{s.t.} ;; & y_i ig(w^{ op}phi(x_i) + big) geq 1, ext{ 若 } y_i = mathrm{sign}ig(w^{ op}phi(x_i) + big). onumber end{align} ]

    其中,(mathbb{I}(cdot)) 是指示函数,(C) 是个可调节参数,用于权衡优化间隔和少量分类错误样本这两个目标。但是,指示函数不连续,更不是凸函数,使得优化问题不再是二次规划问题。所以我们需要对其进行简化。

    公式 60 难以实际应用的原因在于指示函数只有两个离散取值 0/1,对应样本分类正确/错误。为了能使优 化问题继续保持为二次规划问题,我们需要引入一个取值为连续值的变量,刻画样本满足约束的程度。我们引入松弛变量 (slack variable) (xi_i),用于度量样本违背约束的程度。当样本违背约束的程度越大,松弛变量值越大。即,

    [egin{align} xi_i= egin{cases} 0& ext{若 }y_iig(w^{ op}phi(x_i)+big)geq 1; \ 1-y_iig(w^{ op}phi(x_i)+big);;;& ext{否则.} end{cases} end{align} ]

    定理 23(软间隔支持向量机基本型)

    软间隔支持向量机旨在找到一组适合的参数 ((w,b)),使得

    [egin{align} underset{w,b,xi}{mathrm{min}};;&frac{1}{2}w^{ op}w+Csumlimits_{i=1}^{m}xi_i \ mathrm{s.t.};;&y_iig(w^{ op}phi(x_i)+big)geq 1-xi_i,;;i=1,2,...,m, onumber \ &xi_igeq0,;;i=1,2,...,m. onumber end{align} ]

    其中,(C) 是个可调节参数,用于权衡优化间隔和少量样本违背大间隔约束这两个目标。当 (C) 比较大时,我们希望更多的样本满足大间隔约束;当 (C) 比较小时,我们允许有一些样本不满足大间隔约束。

    证明. 当样本满足约束 (y_iig(w^{ op}phi(x_i)+big)geq 1) 时,(y_iig(w^{ op}phi(x_i)+big)geq 1-xi_i) 对任意 (xi_igeq 0) 成立,而优化目标要最小化 (xi_i),所以 (xi_i=0)。当样本不满足约束时,(xi_igeq 1-y_iig(w^{ op}phi(x_i)+big)),而优化目标要最小化 (xi_i),所以 (xi_i=1-y_iig(w^{ op}phi(x_i)+big))

    推论 24

    软间隔支持向量机基本型中描述的优化问题属于二次规划问题,包括 (m+ ilde{d}+1) 个优化变量,(2m) 项约束。

    证明. 令

    [egin{align} u:=egin{bmatrix}w\b\xiend{bmatrix},;;mathcal{Q}:=egin{bmatrix}I&0\0&0end{bmatrix},;;t:=Cegin{bmatrix}0\1end{bmatrix},\ onumber\ c_i:=egin{bmatrix}y_iphi(x_i)\y_i\e_iend{bmatrix},;;d_i:=1,;;i=1,2,...,m,\ onumber\ c_i:=egin{bmatrix}0\e_iend{bmatrix},;;d_i:=0,;;i=m+1,...,2m, end{align} ]

    代入公式 10 即得.

    软间隔支持向量机对偶型

    定理 25 (软间隔支持向量机对偶型).

    软间隔支持向量机的对偶问题等价于找到一组合适的 (alpha),使得

    [egin{align} underset{alpha}{mathrm{min}};;&frac{1}{2}sumlimits_{i=1}^{m}sumlimits_{j=1}^{m}alpha_ialpha_jy_iy_jphi(x_i)^{ op}phi(x_j)-sumlimits_{i=1}^{m}alpha_i \ mathrm{s.t.};;& sumlimits_{i=1}^{m}alpha_iy_i=0, onumber \ & 0leqalpha_ileq C,;;i=1,2,...,m. onumber end{align} ]

    证明. 软间隔支持向量机得拉格朗日函数为

    [egin{align} mathcal{L}(w,b,xi,alpha,eta):=&frac{1}{2}w^{ op}w+Csumlimits_{i=1}^{m}xi_i onumber \ &+sumlimits_{i=1}^{m}alpha_iBig(1-xi_i-y_iig(w^{ op}phi(x_i)+big)Big) onumber \ &+sumlimits_{i=1}^{m}eta_i(-xi_i). end{align} ]

    其对偶问题为

    [egin{align} underset{alpha,eta}{mathrm{max}};;underset{w,b,xi}{mathrm{min}};;& mathcal{L}(w,b,xi,alpha,eta) \ mathrm{s.t.};;;;;;& alpha_igeq0,;;i=1,2,...,m, \ & eta_igeq0,;;i=1,2,...,m. onumber end{align} ]

    因为内层对 ((w, b, xi)) 的优化属于无约束优化问题,我们可以通过令偏导等于零的方法得到 ((w, b, xi)) 的最优值。

    [egin{align} frac{partial mathcal{L}}{partial w}=0Leftrightarrow & w = sumlimits_{i=1}^{m} alpha_iy_iphi(x_i), \ frac{partial mathcal{L}}{partial b}=0Leftrightarrow &sumlimits_{i=1}^{m}alpha_iy_i=0,\ frac{partial mathcal{L}}{partial xi}=0Leftrightarrow &alpha_i+eta_i=C. end{align} ]

    因为存在约束 (eta_i=C-alpha_igeq 0),不失一般性,我们可以约束 (0leq alpha_i leq C),从而去掉变量 (eta_i)。将其代入公式 68,消去 ((w,b,xi,eta)),即得。

    推论 26. 软间隔支持向量机对偶型中描述的优化问题属于二次规划问题,包括 (m) 个优化变量,(2m+2) 项约束。

    证明. 令

    [egin{align} & u:=alpha,;;mathcal{Q}:=ig[y_iy_jphi(x_i)^{ op}phi(x_j)ig]_{m imes m},;;t:=-1, \ onumber \ & c_i:=e_i,;;d_i:=0,;;i=1,2,...,m, \ onumber \ & c_i:=-e_i,;;d_i:=-xi_i,;;i=m+1,...,2m, \ onumber \ & c_{2m+1}:=[y_1;y_2;cdots y_m]^{ op},;;d_{2m+1}:=0,\ onumber \ & c_{2m+2}:=-[y_1;y_2;cdots y_m]^{ op},;;d_{2m+2}:=0, end{align} ]

    代入公式 10 即得.

    软间隔支持向量机的支持向量

    定理 27 (软间隔支持向量机的 KKT 条件).

    软间隔支持向量机的 KKT 条件如下.

    • 主问题可行:(1-xi_i-y_iig(w^{ op}phi(x_i) + big)leq 0,;-xi_ileq 0);
    • 对偶问题可行:(alpha_i geq 0,;eta_igeq 0);
    • 互补松弛:(alpha_iig(1-xi_i-y_i(w^{ op}phi(x_i)+b)ig)=0,;eta_ixi_i=0).

    证明. 令

    [egin{align} &u:=egin{bmatrix}w\b\xiend{bmatrix},\ onumber\ &g_i(u):=1-egin{bmatrix}y_iw\y_i\e_iend{bmatrix}^{ op}u,;;i=1,2,...,m,\ onumber \ &g_i(u):=-egin{bmatrix}0\e_iend{bmatrix}^{ op}u,;;i=m+1,...,2m. end{align} ]

    代入引理 8 即得.

    引理 28. 软间隔支持向量机中,支持向量落在最大间隔边界,内部,或被错误分类的样本。

    证明. 由软间隔支持向量机的 KKT 条件可知,(alpha_iBig(1-xi_i-y_iig(w^{ op}phi(x_i)+big)Big)=0)(eta_ixi_i=0)。当 (alpha_i>0) 时,(1-xi_i-y_iig(w^{ op}phi(x_i)+big)=0)。进一步可分为两种情况。

    • (0<alpha_i<C)。此时 (eta_i=C-alpha_i>0)。因此 (xi_i=0),即该样本恰好落在最大间隔边界上;
    • (alpha_i=C)。此时 (eta_i=C-alpha_i=0)。若 (xi_ileq 1),该样本落在最大间隔内部;若 (xi_i>1),该样本被错误分类。

    定理 29. 支持向量机的参数 ((w, b)) 仅由支持向量决定,与其他样本无关。

    证明. 和线性支持向量机证明方式相同。

    铰链损失

    引理 30.

    公式 61 等价为

    [egin{align} xi_i=mathrm{max}Big(0,1-y_iig(w^{ op}phi(x_i)+big)Big). end{align} ]

    证明.

    当样本满足约束时,(1-y_iig(w^{ op}phi(x_i)+big)leq 0)(xi_i=0)
    当样本不满足约束时,(1-y_iig(w^{ op}phi(x_i)+big) > 0)(xi_i=1-y_iig(w^{ op}phi(x_i)+big))

    定理 31

    软间隔支持向量机的基本型等价于

    [egin{align} underset{w,b}{mathrm{min}};;frac{1}{m}sumlimits_{i=1}^{m}mathrm{max}Big(0,1-y_iig(w^{ op}phi(x_i)+big)Big)+frac{lambda}{2}||w||^2 end{align} ]

    其中,第一项称为经验风险,度量了模型对训练数据的拟合程度;第二项称为结构风险,也称为正则化项,度量了模型自身的复杂度。正则化项削减了假设空间,从而降低过拟合风险。λ 是个可调节的超参数,用于权衡经验风险和结构风险。

    证明. 对应于软间隔支持向量机的基本型,(xi_i=mathrm{max}Big(0,1-y_iig(w^{ op}phi(x_i)+big)Big)geq 0),且 (lambda=frac{1}{mC})

    定义 6(铰链损失 - hinge loss)

    铰链损失函数定义为

    [egin{align} ell(s)=mathrm{max}(0,1-s). end{align} ]

    除铰链损失外,还有其他一些常用损失函数 [19],见表 2. (s:=y_iw^{ op}phi(x)) 的数值大小度量了模型认为该样本属于某一标记的确信程度。我们希望,当样本分类正确时,即 (s>0) 时,(ell(s)) 小一些;当样本分类错误时,即 (s<0) 时,(ell(s)) 大一些。

    Table 2:常用损失函数. 其中 (s:=y_iw^{ op}phi(x)).

    名称 形式 特点 实例
    0/1损失 (mathbb{I}(s<0)) 直接优化目标;非凸,不连续,NP难 感知机
    铰链损失 (mathrm{max}(0,1-s)) 替代损失,0/1损失上界;凸,连续 支持向量机,基于二次规划方法优化
    对数几率损失 (mathrm{log}ig(1+mathrm{exp}(-s)ig)) 替代损失,0/1损失上界;凸,连续 对数几率回归,基于梯度下降方法优化
    指数损失 (mathrm{exp}(-s)) 替代损失,0/1损失上界;凸,连续 AdaBoost,分布优化基于分类器权重

    优化方法

    SMO

    如果直接用经典的二次规划软件包求解支持向量机对偶型,由于 (mathcal{Q}:=[y_i y_j phi (x_i)^T phi (x_j)]_{m imes m}) 的存储开销是 (mathcal{O}(m^2)),当训练样本很多时,这将是一个很大的存储和计算开销。序列最小化 (SMO) [10]是一个利用支持 向量机自身特性高效的优化算法。SMO 的基本思路是坐标下降。

    定义 7 (坐标下降). 通过循环使用不同坐标方向,每次固定其他元素,只沿一个坐标方向进行优化,以达到目标函数的局部最小,见算法 1.

    我们希望在支持向量机中的对偶型中,每次固定除 (alpha_i) 外的其他变量,之后求在 (alpha_i) 方向上的极值。但由于 约束 (sumlimits_{i=1}^{m} y_i alpha_i = 0),当其他变量固定时,(alpha_i) 也随着确定。这样,我们无法在不违背约束的前提下对 (alpha_i) 进行优化。因此,SMO 每步同时选择两个变量 (alpha_i)(alpha_j) 进行优化,并固定其他参数,以保证不违背约束。

    Algorithm 1 坐标下降
    Input:优化目标 (f).
    Output(u),使得 (f(u)) 最小.
    1:while 不收敛 do
    2:(;;;;)for i (gets) 1 to (n) do
    3:(;;;;;;;;u_i) (gets) (underset{u_i}{mathrm{argmin}}f(u))
    4:(;;;;)end for
    5:end while
    6:return (u)

    定理 32 (SMO 每步的优化目标).

    SMO 每步的优化目标为

    [egin{align} underset{alpha_i,alpha_j}{mathrm{min}};;&frac{1}{2}Big(alpha_i^2y_i^2phi(x_i)^{ op}phi(x_i)+alpha_j^2y_j^2phi(x_j)^{ op}phi(x_j)+2alpha_ialpha_jy_iy_jphi(x_i)^{ op}phi(x_j)Big) - (alpha_i+alpha_j)\ onumber \ mathrm{s.t.};;& alpha_iy_i+alpha_jy_j=c, onumber \ onumber \ &0leq alpha_i leq xi_i, onumber \ onumber \ &0leq alpha_j leq xi_j, onumber end{align} ]

    其中,(c:=-sumlimits_{k eq i,j}^{}alpha_ky_k).

    证明. 固定住公式 68 中除 (alpha_i,alpha_j) 外的其它变量即得.

    推论 33. SMO 每步的优化目标可等价为对 (alpha_i) 的单变量二次规划问题。

    证明. 由于 (alpha_j=y_j(c-alpha_i y_i)),我们可以将其代入 SMO 每步的优化目标,以消去变量 (alpha_j)。此时,优化目标函数是对于 (alpha_i) 的二次函数,约束是一个取值区间 (L leq alpha_i leq H)。之后根据目标函数顶点与区间 ([L, H]) 的位置关系,可以得到 (alpha_i) 的最优值。理论上讲,每步优化时 (alpha_i)(alpha_j) 可以任意选择,但实践中通常取 (alpha_i) 为违背 KKT 条件最大的变量,而 (alpha_j) 取对应样本与 (alpha_i) 对应样本之间间隔最大的变量。对 SMO 算法收敛性的测试可以用过检测是否满足 KKT 条件得到。

    Pegasos

    我们也可以直接在原问题对支持向量机进行优化,尤其是使用线性核函数时,我们有很高效的优化算法,如 Pegasos [14]。Pegasos 使用基于梯度的方法在线性支持向量机基本型

    [egin{align} underset{w,b}{mathrm{min}};;frac{1}{m}sumlimits_{i=1}^{m}mathrm{max}ig(0,1-y_i(w^{ op}x_i+b)ig)+frac{lambda}{2}||w||^2. end{align} ]

    进行优化,见算法 2。

    Algorithm 2 Pegasos.
    Input([(x_1,y_1),(x_2,y_2),...,(x_m,y_m)]).
    Output:支持向量机参数 ((w,b))
    1:while 不收敛 do
    2:(;;;;frac{partial J}{partial w}gets - frac{1}{m}sumlimits_{i=1}^{m}mathbb{I}ig(y_i(w^{ op}x_i +b)leq 1ig)cdot y_ix_i+lambda w)
    3:(;;;;frac{partial J}{partial b}gets - frac{1}{m}sumlimits_{i=1}^{m}mathbb{I}ig(y_i(w^{ op}x_i +b)leq 1ig)cdot y_i)
    4:(;;;;wgets w-etafrac{partial J}{partial w})
    5:(;;;;bgets b-etafrac{partial J}{partial b})
    6:end while
    7:return ((w,b))

    近似算法

    当使用非线性核函数下的支持向量机时,由于核矩阵 (K := [kappa(x_i, x_j)]_{m imes m}),所以时间复杂度一定是 (Omega(m^2)),因此,有许多学者致力于研究一些快速的近似算法。例如,CVM [15]基于近似最小包围球算法,Nyström 方法[18]通过从 (K) 采样出一些列来得到 (K) 的低秩近似,随机傅里叶特征[12]构造了向低维空间的随机映射。本章介绍了许多优化算法,实际上现在已有许多开源软件包对这些算法有很好的实现,目前比较著名的有 LibLinear[7] 和 LibSVM[3],分别适用于线性和非线性核函数。

    支持向量机的其他变体

    ProbSVM. 对数几率回归可以估计出样本属于正类的概率,而支持向量机只能判断样本属于正类或负类,无法得到概率。ProbSVM[11]先训练一个支持向量机,得到参数 ((w, b))。再令 (s_i := y_i w^T phi (x_i) + b),将 ({(s_1, y_1),(s_2, y_2),...,(x_m, y_m)}) 当做新的训练数据训练一个对数几率回归模型,得到参数 (( heta_1, heta_0))。因此,ProbSVM 的假设函数为 :

    (egin{align} h(x) := mathrm{sign} Big( heta_1 (w^T phi (x) + b) + heta_0 Big) end{align})

    对数几率回归模型可以认为是对训练得到的支持向量机的微调,包括尺度 (对应 ( heta_1)) 和平移 (对应 ( heta_0))。通常 ( heta_1 > 0)( heta_0 approx 0)

    多分类支持向量机. 支持向量机也可以扩展到多分类问题中. 对于 (K) 分类问题,多分类支持向量机 [17] 有 K 组参数 ({(w_1, b_1),(w_2, b_2),...,(w_K, b_K)}),并希望模型对于属于正确标记的结果以 1 的间隔高于其他类的结 果,形式化如下

    [egin{align} underset{w,b}{mathrm{min}};;frac{1}{m}sumlimits_{i=1}^{m}sumlimits_{k=1}^{K}mathrm{max}Big(0,ig(w_{y_i}^{ op}phi(x_i)+b_{y_i}ig)-ig(w_{k}^{ op}phi(x_i)+b_kig)+1Big)+frac{lambda}{2}sumlimits_{k=1}^{K}w_k^{ op}w_k. end{align} ]

    支持向回归(SVR). 经典回归模型的损失函数度量了模型的预测 (h(x_i))(y_i) 的差别,支持向量回归 [6] 能够容忍 (h(x_i))(y_i) 之间小于 (varepsilon) 的偏差。令 (s:=y-ig(w^{ op}phi(x)+big)),我们定义 (varepsilon) 不敏感损失为

    [egin{align} egin{cases} 0& ext{若 }|y-ig(w^{ op}phi(x)+big)|leq varepsilon; \ |s|-varepsilon;;& ext{否则.} end{cases} end{align} ]

    定理 34(支持向量回归)

    支持向量回归可形式化为

    [egin{align} underset{w,b}{mathrm{min}};;frac{1}{m}sumlimits_{i=1}^{m}mathrm{max}Big(0,|y_i-ig(w^{ op}phi(x_i)+big)|-varepsilonBig)+frac{lambda}{2}w^{ op}w end{align} ]

    证明.
    (|y-ig(w^{ op}phi(x)+big)|leq varepsilon) 时,(|y-ig(w^{ op}phi(x)+big)| - varepsilon leq 0,; mathrm{max}(0,cdot)) 结果为 0;
    (|y-ig(w^{ op}phi(x)+big)| > varepsilon) 时,(mathrm{max}(0,cdot)) 结果为 (|y-ig(w^{ op}phi(x)+big)| - varepsilon)

    References

    [1] B. E. Boser, I. M. Guyon, and V. N. Vapnik. A training algorithm for optimal margin classifiers. In Proceedings of the Annual Workshop on Computational Learning Theory, pages 144–152, 1992. 5

    [2] S. Boyd and L. Vandenberghe. Convex optimization. Cambridge university press, 2004. 4

    [3] C.-C. Chang and C.-J. Lin. LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology, 2(3):27, 2011. 10

    [4] C. Cortes and V. Vapnik. Support-vector networks. Machine Learning, 20(3):273–297, 1995. 1 [5] N. Cristianini and J. Shawe-Taylor. An introduction to support vector machines and other kernel-based learning methods. Cambridge University Press, 2000. 6

    [6] H. Drucker, C. J. Burges, L. Kaufman, A. J. Smola, and V. Vapnik. Support vector regression machines. In Advances in Neural Information Processing Systems, pages 155–161, 1997. 10

    [7] R.-E. Fan, K.-W. Chang, C.-J. Hsieh, X.-R. Wang, and C.-J. Lin. LIBLINEAR: A library for large linear classification. Journal of Machine Learning Research, 9(8):1871–1874, 2008. 10

    [8] T. Hofmann, B. Schölkopf, and A. J. Smola. Kernel methods in machine learning. The Annals of Statistics, pages 1171–1220, 2008. 6

    [9] G. R. Lanckriet, N. Cristianini, P. Bartlett, L. E. Ghaoui, and M. I. Jordan. Learning the kernel matrix with semidefinite programming. Journal of Machine Learning Research, 5(1):27–72, 2004. 6 [10] J. Platt. Sequential minimal optimization: A fast algorithm for training support vector machines. Micriosoft Research, 1998. 9

    [11] J. Platt et al. Probabilistic outputs for support vector machines and comparisons to regularized likelihood methods. Advances in Large Margin Classifiers, 10(3):61–74, 1999. 10

    [12] A. Rahimi and B. Recht. Random features for largescale kernel machines. In Advances in Neural Information Processing Systems, pages 1177–1184, 2008. 10

    [13] B. Scholkopf and A. J. Smola. Learning with kernels: support vector machines, regularization, optimization, and beyond. MIT press, 2001. 6

    [14] S. Shalev-Shwartz, Y. Singer, N. Srebro, and A. Cotter. Pegasos: Primal estimated sub-gradient solver for SVM. Mathematical Programming, 127(1):3–30, 2011. 9

    [15] I. W. Tsang, J. T. Kwok, and P.-M. Cheung. Core vector machines: Fast SVM training on very large data sets. Journal of Machine Learning Research, 6(4):363– 392, 2005. 10

    [16] V. Vapnik. The nature of statistical learning theory. Springer Science & Business Media, 2013. 5

    [17] J. Weston, C. Watkins, et al. Support vector machines for multi-class pattern recognition. In Proceedings of the European Symposium on Artificial Neural Networks, volume 99, pages 219–224, 1999. 10

    [18] C. K. Williams and M. Seeger. Using the nyström method to speed up kernel machines. In Advances in Neural Information Processing Systems, pages 682–688, 2001. 10

    [19] 周志华. 机器学习. 清华大学出版社, 2016. 9

  • 相关阅读:
    Java/android下哈希sha1和MD5的实现
    ANDROID SOCKET 开发
    UML补充
    TCP协议中的三次握手和四次挥手(转)
    uva 658 最短路
    uva 11280 最短路
    uva 10246 最短路
    uva 11747,kruskal 并查集
    uva 544 dijkstra
    uva 1395 瓶颈树
  • 原文地址:https://www.cnblogs.com/kershaw/p/10983536.html
Copyright © 2011-2022 走看看