这两天,我翻开沉压已久的学习笔记,看到了当初总结的SVM学习心得,为了避免不小心弄丢了,就在这里重新记录一下吧,希望对初学机器学习理论并热爱公式推导的朋友有所帮助。SVM作为一种经典的机器学习算法,在处理“小样本”问题时效果非常显著。本文主要分成三大部分,第一部分介绍一些基本知识,这些知识在SVM的公式推导过程中会用到,所以最先介绍。第二部分针对数据集线性可分的情况,推导SVM的原问题和对偶问题表达式。第三部分针对数据集线性不可分的情况,推导SVM的原问题和对偶问题表达式。
基础知识
带约束优化问题的求解方法
带约束优化问题的一般式如下,
minf(w)subject to gi(w)≤0,i=1,...,m hi(w)=0,i=1,...,nmin f(w) \\ \textit{subject to}\ \ g_{i}(w)\leq0, i=1,...,m\\ \ \ \ h_{i}(w)=0, i=1,...,n minf(w)subject to gi(w)≤0,i=1,...,m hi(w)=0,i=1,...,n
若约束条件比较复杂,则很难求解,因此我们希望把带约束的优化问题转化为无约束的优化问题。定义Lagrangian式如下,
L(w,α,β)=f(w)+∑i=1mαi×gi(w)+∑i=1nβi×hi(w)L(w, \alpha ,\beta )=f(w)+\sum_{i=1}^{m}\alpha_{i}\times g_{i}(w)+\sum_{i=1}^{n}\beta_{i}\times h_{i}(w)L(w,α,β)=f(w)+i=1∑mαi×gi(w)+i=1∑nβi×hi(w)
新的无约束表达式为θp(w)=maxα,β,αi≥0L(w,α,β)\theta_{p}(w)=\max_{\alpha, \beta, \alpha_{i}\geq 0}L(w, \alpha, \beta)θp(w)=maxα,β,αi≥0L(w,α,β),因为
θp(w)={
f(w) w subject to "primal constraint"+∝otherwise\theta_{p}(w)=\begin{cases} f(w) & \text{ w subject to "primal constraint"} \\ +\propto & \text{otherwise} \end{cases}θp(w)={
f(w)+∝ w subject to "primal constraint"otherwise
所以,对带约束原问题的求解等价于minwθp(w)=minwmaxα,β,αi≥0L(w,α,β)\min_{w}\theta_{p}(w)=\min_{w}\max_{\alpha, \beta, \alpha_{i}\geq 0}L(w, \alpha, \beta)minwθp(w)=minwmaxα,β,αi≥0L(w,α,β),实质上,此时的约束隐藏在了目标函数中。
对偶互补约束条件
“slate”条件:指严格满足不等式约束条件的点w,即gi(w)<0, (i=1,...,m)g_{i}(w)<0,\ \ (i=1,...,m)gi(w)<0, (i=1,...,m),对于SVM问题,亦即要求“数据是可分的”,当数据不可分时,强对偶(strong duality)不成立。
“strong duality”:原问题是convex的,并且满足slater条件,此时min maxL≥max minLmin\ max L\geq max \ min Lmin maxL≥max minL的等号成立。这里需要注意一下,QP是凸优化问题的一种特殊情况。
当“strong duality”关系成立时,一定存在w∗,α∗,β∗w^{*}, \alpha^{*}, \beta^{*}w∗,α∗,β∗,使得w∗w^{*}w∗是原问题的解,α∗,β∗\alpha^{*}, \beta^{*}α∗,β∗是对偶问题的解。记primal, dual分别为原问题和对偶问题,primal∗,dual∗primal^{*}, dual^{*}primal∗,dual∗分别为原问题和对偶问题的最优解,那么有primal∗=dual∗=L(w∗,α∗,β∗)primal^{*}=dual^{*}=L(w^{*}, \alpha^{*}, \beta^{*})primal∗=dual∗=L(w∗,α∗,β∗)成立,并且w∗,α∗,β∗w^{*}, \alpha^{*}, \beta^{*}w∗,α∗,β∗满足KKT条件,
{ αi∗≥0i=1,...,mgi(w∗)≤0i=1,...,mαi∗×gi(w∗)=0i=1,...,m (dual complementary condition)∂L(w∗,α∗,β∗)wi=0i=1,...,d∂L(w∗,α∗,β∗)βi=0i=1,...,n\begin{cases} \alpha^{*}_{i}\geq 0 & i=1,...,m \\ g_{i}(w^{*})\leq 0 & i=1,...,m \\ \alpha^{*}_{i}\times g_{i}(w^{*})=0& i=1,...,m\ \ (dual \ complementary\ condition) \\ \frac{\partial L(w^{*}, \alpha^{*}, \beta^{*})}{w_{i}}=0 & i=1,...,d \\ \frac{\partial L(w^{*}, \alpha^{*}, \beta^{*})}{\beta_{i}}=0 & i=1,...,n \\ \end{cases}⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧αi∗≥0gi(w∗)≤0α