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

223 阅读2分钟

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

支撑向量机(SVM)算法在分类问题中有着重要地位,其主要思想是最大化两类之间的间隔。按照数据集的特点:

1.  线性可分问题,如之前的感知机算法处理的问题

2.  线性可分,只有一点点错误点,如感知机算法发展出来的 Pocket 算法处理的问题

3.  非线性问题,完全不可分,如在感知机问题发展出来的多层感知机和深度学习

作者:tsyw的个人空间_哔哩哔哩_bilibili

链接:支撑向量机 · 语雀 (yuque.com)

 

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

假如数据是完全的线性可分的,那么学习到的模型可以称为硬间隔支持向量机。换个说法,硬间隔指的就是完全分类准确,不能存在分类错误的情况。软间隔,就是允许一定量的样本分类错误。

作者:燕双嘤

链接:机器学习:支持向量机(SVM)燕双嘤的博客-CSDN博客 支持向量机

 

这三种情况对于 SVM 分别有下面三种处理手段:

1.  hard-margin SVM

2.  soft-margin SVM

3.  kernel Method

作者:tsyw的个人空间_哔哩哔哩_bilibili

链接:支撑向量机 · 语雀 (yuque.com)

 

这里我们先谈硬间隔。在感知机算法中,如果两类线性可分,一般情况下,会存在无穷多条线。在SVM中,一个超平面,不仅能将数据正确分类,而且这个超平面到不同类之间距离最大

数据集为

{(xi,yi)}i=0N,xiRp,yi{1,1} \left\{(x_{i},y_{i})\right\}_{i=0}^{N},x_{i}\in \mathbb{R}^{p},y_{i}\in \left\{-1,1\right\}

该超平面可以被写作

ωTx+b=0 \omega^{T}x+b=0

正确分类数据可表示为

yi(ωTxi+b)>0,i=1,2,,N y_{i}(\omega^{T}x_{i}+b)>0,i=1,2,\cdots ,N

因此,最大化数据到超平面的间隔就可以被表达为

{maxmargin(ω,b)s.t.yi(ωTxi+b)>0.i=1,2,,Nmargin(ω,b)=min ω,bxi,i=1,2,,Ndistance(ω,b,xi)=min ω,bxi,i=1,2,,N1ω(ωTxi+b) \left\{\begin{aligned}&\max \text{margin}(\omega,b)\\ &s.t.y_{i}(\omega^{T}x_{i}+b)>0.i=1,2,\cdots ,N\\ &\begin{aligned} \text{margin}(\omega,b)&=\mathop{\text{min }}\limits_{\substack{\omega,b\\x_{i},i=1,2,\cdots ,N}}\text{distance}(\omega,b,x_{i})\\ &=\mathop{\text{min }}\limits_{\substack{\omega,b\\x_{i},i=1,2,\cdots ,N}} \frac{1}{||\omega||}(\omega^{T}x_{i}+b)\end{aligned} \end{aligned}\right.

这里的margin是指数据集中离超平面最近的点到超平面的距离,因此,上式等价于

{max ω,bmin xi=1,2,,N1ωyi(ωTxi+b)=max ω,b1ωmin xi=1,2,,Nyi(ωTxi+b)s.t.yi(ωTxi+b)>0,i=1,2,,N \left\{\begin{aligned}&\mathop{\text{max }}\limits_{\omega,b}\mathop{\text{min }}\limits_{x_{i}=1,2,\cdots,N} \frac{1}{||\omega||}y_{i}(\omega^{T}x_{i}+b)=\mathop{\text{max }}\limits_{\omega,b} \frac{1}{||\omega||}\mathop{\text{min }}\limits_{x_{i}=1,2,\cdots,N}y_{i}(\omega^{T}x_{i}+b)\\ &s.t.y_{i}(\omega^{T}x_{i}+b)>0,i=1,2,\cdots ,N\end{aligned}\right.

这里我们研究min xi=1,2,,Nyi(ωT+b)\mathop{\text{min }}\limits_{x_{i}=1,2,\cdots,N}y_{i}(\omega^{T}+b)

由于ωTx+b=0\omega^{T}x+b=0aωTx+ab=0,aR,a0a\omega^{T}x+ab=0,a \in \mathbb{R},a \ne 0这两个超平面表示的是同一个超平面,因此我们假设

min xi=1,2,,Nyi(ωTxi+b)=a,aR \mathop{\text{min }}\limits_{x_{i}=1,2,\cdots,N}y_{i}(\omega^{T}x_{i}+b)=a,a \in \mathbb{R}

ωT=ω^Ta,b=b^a\begin{aligned} \omega^{T}=\frac{\hat{\omega}^{T}}{a},b= \frac{\hat{b}}{a}\end{aligned},因此有

min xi=1,2,,Nyi(ω^Txi+b^)=1 \mathop{\text{min }}\limits_{x_{i}=1,2,\cdots,N}y_{i}(\hat{\omega}^{T}x_{i}+\hat{b})=1

因此我们就可以在数据集线性可分的任何情况下,令min xi=1,2,,Nyi(ω^Txi+b^)=1\mathop{\text{min }}\limits_{x_{i}=1,2,\cdots,N}y_{i}(\hat{\omega}^{T}x_{i}+\hat{b})=1,因此最大化数据到超平面的间隔就可以被表达为

{max ω,b1ωs.t.minyi(ωTxi+b)=1,i=1,2,,Ns.t.yi(ωTxi+b)>0,i=1,2,,N{min ω,b12ωTωs.t.yi(ωTxi+b)1,i=1,2,,NN个约束 \begin{aligned} &\left\{\begin{aligned}&\mathop{\text{max }}\limits_{\omega,b} \frac{1}{||\omega||}\\&s.t.\min y_{i}(\omega^{T}x_{i}+b)=1,i=1,2,\cdots,N\\&s.t.y_{i}(\omega^{T}x_{i}+b) >0,i=1,2,\cdots,N\end{aligned}\right.\\ \Rightarrow &\left\{\begin{aligned}&\mathop{\text{min }}\limits_{\omega,b} \frac{1}{2}\omega^{T}\omega\\&s.t.y_{i}(\omega^{T}x_{i}+b)\geq 1,\underbrace{i=1,2,\cdots,N}_{N个约束}\end{aligned}\right. \end{aligned}