详解支持向量机-软间隔SVM-模型定义【白板推导系列笔记】

21 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第14天,点击查看活动详情

我们的训练数据通常不是理想的线性可分,有时甚至是线性不可分的数据。对于存在噪声的一些数据,我们应该允许一点分类错误,因此我们需要对目标函数进行一些调整:

min ω,b12ωTω+loss \mathop{\text{min }}\limits_{\omega,b} \frac{1}{2}\omega^{T}\omega+\text{loss}

最简单的想法,我们可以让loss为支持向量另一侧的向量以及误分类的向量,即

loss=i=1NI{yi(ωTxi+b)<1} \text{loss}=\sum\limits_{i=1}^{N}\text{I} \left\{y_{i}(\omega^{T}x_{i}+b)<1\right\}

显然这个函数是不连续的,因此是不可导的,不利于优化求解,因此不使用这种方法

再考虑loss为支持向量另一侧的向量以及误分类的向量到过支持向量平行于超平面的距离的和,即

{如果yi(ωTxi+b)1,loss=0如果yi(ωTxi+b)<1,loss=1yi(ωTxi+b)loss=max{0,1yi(ωTxi+b)} \begin{aligned} &\left\{\begin{aligned}&如果y_{i}(\omega^{T}x_{i}+b)\geq 1,\text{loss}=0\\ &如果y_{i}(\omega^{T}x_{i}+b)<1,\text{loss}=1-y_{i}(\omega^{T}x_{i}+b)\end{aligned}\right.\\ \Rightarrow &\text{loss}=\max \left\{0,1-y_{i}(\omega^{T}x_{i}+b)\right\} \end{aligned}

loss=max{0,1yi(ωTxi+b)}\text{loss}=\max \left\{0,1-y_{i}(\omega^{T}x_{i}+b)\right\}也被称为合页损失函数,如下图

![[附件/Pasted image 20221002180124.png|400]]

 

因此软间隔SVM可以被表达为

{min ω,b12ωTω+Ci=1Nmax{0,1yi(ωTxi+b)}s.t.yi(ωTxi+b)1,i=1,2,,N \left\{\begin{aligned}&\mathop{\text{min }}\limits_{\omega,b} \frac{1}{2}\omega^{T}\omega+C \sum\limits_{i=1}^{N}\max \left\{0,1-y_{i}(\omega^{T}x_{i}+b)\right\}\\ &s.t.y_{i}(\omega^{T}x_{i}+b)\geq 1,i=1,2,\cdots,N\end{aligned}\right.

现在我们令ξi=1yi(ωTxi+b),ξi0\xi_{i}=1-y_{i}(\omega^{T}x_{i}+b),\xi_{i}\geq 0ξi\xi_{i}可以理解为向量到过支持向量平行于超平面的距离),因此上式转化为

{min ω,b12ωTω+Ci=1Nξis.t.yi(ωTxi+b)1ξiξi0 \left\{\begin{aligned}&\mathop{\text{min }}\limits_{\omega,b} \frac{1}{2}\omega^{T}\omega+C \sum\limits_{i=1}^{N}\xi_{i}\\&\begin{aligned} s.t.&y_{i}(\omega^{T}x_{i}+b)\geq 1-\xi_{i}\\&\xi_{i}\geq 0\end{aligned}\end{aligned}\right.

 

转化成这个式子每一步都能看懂,但总觉得自己哪里没理解

求解在《统计机器学习》里面有,可以去看看