HomeBlogTopicsPublish
  • rss

  • contact

© 2025 MIT Licensed

Topics→Machine Learning→Support Vector Machine 3

Machine Learning

Fundamentals
Decision TreeBackpropagationLinear 1Linear 2Linear 3Linear DualLinear IntroML Numerical MethodsNaive SolveLagrangian Conditions under Equality ConstraintsLagrangian Conditions under Inequality ConstraintsSupport Vector Machine 1Support Vector Machine 2Support Vector Machine 3Convex
Deep Learning Acceleration
Paper DartsPaper MobileNetsPaper ShuffleNetPaper HashingTricksPaper ShuffleNetV2Neural Architecture Search MilestonePyTorch Training Acceleration
Computer Vision
Paper RobotPaper InceptionV4Dataset Cityscapes
Reinforcement Learning
Paper Deep Q-Network

Support Vector Machine 3

April 19, 2018

by Frank

前文介绍了硬间隔 SVM 的相关推导,本文将继续介绍软间隔 SVM 的数学推导,即在样本不是线性可分的情况下,允许一部分样本错误分类的 SVM。软间隔 SVM 允许一部分样本不满足约束:

前文介绍了硬间隔 SVM 的相关推导,本文将继续介绍软间隔 SVM 的数学推导,即在样本不是线性可分的情况下,允许一部分样本错误分类的 SVM。软间隔 SVM 允许一部分样本不满足约束:yi(w⋅xi)≥0y_{i}(w\cdot x_{i})\ge 0yi​(w⋅xi​)≥0

可以将优化目标写为:

minw,b12∣∣w∣∣2+C∑i=1mloss(yi(w⋅xi+b)−1)min_{w,b}\quad \frac{1}{2}||w||^{2}+C\sum_{i=1}^{m}loss(y_{i}(w\cdot x_{i}+b)-1)minw,b​21​∣∣w∣∣2+Ci=1∑m​loss(yi​(w⋅xi​+b)−1)

其中 CCC 是一个常数,用来衡量允许的不满足约束的程度,其中的 loss()loss()loss() 函数可以使用 hinge()hinge()hinge() 函数,即 losshinge(z)=max(0,1−z)loss_{hinge}(z)=max(0,1-z)losshinge​(z)=max(0,1−z)

那么可以将优化目标写为:

minw,b12∣∣w∣∣2+C∑i=1mmax(0,1−yi(w⋅xi+b))min_{w,b}\quad \frac{1}{2}||w||^{2}+C\sum_{i=1}^{m}max(0,1-y_{i}(w\cdot x_{i}+b))minw,b​21​∣∣w∣∣2+Ci=1∑m​max(0,1−yi​(w⋅xi​+b))

引入“松弛变量” ξi≥0\xi_{i}\ge 0ξi​≥0 ,可以将上式改写为

minw,b,ξi12∣∣w∣∣2+C∑i=1mξis.t.yi(w⋅xi+b)≥1−ξiξi≥0,i=1,2,...,m\begin{align*} min_{w,b,\xi_{i}}\quad& \frac{1}{2}||w||^{2}+C\sum_{i=1}^{m}\xi_{i}\\ s.t.\quad& y_{i}(w\cdot x_{i}+b)\ge1-\xi_{i}\\ &\xi_{i}\ge0,i=1,2,...,m \end{align*}minw,b,ξi​​s.t.​21​∣∣w∣∣2+Ci=1∑m​ξi​yi​(w⋅xi​+b)≥1−ξi​ξi​≥0,i=1,2,...,m​

与硬间隔 SVM 类似,上述的问题也是个二次规划的问题,可以先用拉格朗日对偶性将其转换为对应的对偶问题,再用 SMO 算法求解。上面问题对应的拉格朗日函数为:

L(w,b,α,ξ,μ)=12∣∣w∣∣2+C∑i=1mξi+∑i=1mαi(1−ξi−yi(w⋅xi+b))−∑i=1mμiξiL(w,b,\alpha,\xi,\mu)=\frac{1}{2}||w||^{2}+C\sum_{i=1}^{m}\xi_{i}\\+\sum_{i=1}^{m}\alpha_{i}(1-\xi_{i}-y_{i}(w\cdot x_{i}+b))-\sum_{i=1}^{m}\mu_{i}\xi_{i}L(w,b,α,ξ,μ)=21​∣∣w∣∣2+Ci=1∑m​ξi​+i=1∑m​αi​(1−ξi​−yi​(w⋅xi​+b))−i=1∑m​μi​ξi​

令 LLL 对 w,b,αw,b,\alphaw,b,α 的偏导为 000 可以得到

w=∑i=1mαiyixi0=∑i=1mαiyiC=αi+μiw=\sum_{i=1}^{m}\alpha_{i}y_{i}x_{i}\\ 0=\sum_{i=1}^{m}\alpha_{i}y_{i}\\ C=\alpha_{i}+\mu_{i}w=i=1∑m​αi​yi​xi​0=i=1∑m​αi​yi​C=αi​+μi​

代入 L(w,b,α,ξ,μ)L(w,b,\alpha,\xi,\mu)L(w,b,α,ξ,μ) 即可以将原问题化成对偶问题:

minα12∑i=1m∑j=1mαiαjyiyjxi⋅xj−∑i=1mαis.t.∑i=1mαiyi=0C≥αi≥0i=1,2,...,m\begin{align*} min_ \alpha\quad &\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_{i}\alpha_{j}y_{i}y_{j}x_{i}\cdot x_{j}-\sum_{i=1}^{m}\alpha_{i}\\ s.t.\quad &\sum_{i=1}^{m}\alpha_{i}y_{i}=0\\ &C\ge \alpha_{i}\ge 0\\ &i=1,2,...,m \end{align*}minα​s.t.​21​i=1∑m​j=1∑m​αi​αj​yi​yj​xi​⋅xj​−i=1∑m​αi​i=1∑m​αi​yi​=0C≥αi​≥0i=1,2,...,m​

可以看出其与硬间隔 SVM 唯一的区别在于 αi≥0\alpha_{i}\ge 0αi​≥0变成了 C≥αi≥0C\ge \alpha_{i}\ge 0C≥αi​≥0,同样可以用上文中提到的 SMO 算法很方便的求解,唯一的区别在于剪辑的时候需要考虑两个方向。

后面还会介绍 SVM 的核技巧以及常用核

←Previous: Support Vector Machine 2Next: Convex→

Comments