支撑向量机(SVM)算法在分类问题中有着重要地位,其主要思想是最大化两类之间的间隔。按照数据集的特点:
1. 线性可分问题,如之前的感知机算法处理的问题
2. 线性可分,只有一点点错误点,如感知机算法发展出来的 Pocket 算法处理的问题
3. 非线性问题,完全不可分,如在感知机问题发展出来的多层感知机和深度学习
假如数据是完全的线性可分的,那么学习到的模型可以称为硬间隔支持向量机。换个说法,硬间隔指的就是完全分类准确,不能存在分类错误的情况。软间隔,就是允许一定量的样本分类错误。
作者:[燕双嘤]
这三种情况对于 SVM 分别有下面三种处理手段:
1. hard-margin SVM
2. soft-margin SVM
3. kernel Method
这里我们先谈硬间隔。在感知机算法中,如果两类线性可分,一般情况下,会存在无穷多条线。在SVM中,一个超平面,不仅能将数据正确分类,而且这个超平面到不同类之间距离最大
数据集为
$$
\left{(x_{i},y_{i})\right}{i=0}^{N},x{i}\in \mathbb{R}^{p},y_{i}\in \left{-1,1\right}
$$
该超平面可以被写作
$$
\omega^{T}x+b=0
$$
正确分类数据可表示为
$$
y_{i}(\omega^{T}x_{i}+b)>0,i=1,2,\cdots ,N
$$
因此,最大化数据到超平面的间隔就可以被表达为
$$
\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是指数据集中离超平面最近的点到超平面的距离,因此,上式等价于
$$
\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.
$$
这里我们研究$\mathop{\text{min }}\limits_{x_{i}=1,2,\cdots,N}y_{i}(\omega^{T}+b)$。
由于$\omega^{T}x+b=0$和$a\omega^{T}x+ab=0,a \in \mathbb{R},a \ne 0$这两个超平面表示的是同一个超平面,因此我们假设
$$
\mathop{\text{min }}\limits_{x_{i}=1,2,\cdots,N}y_{i}(\omega^{T}x_{i}+b)=a,a \in \mathbb{R}
$$
令$\begin{aligned} \omega^{T}=\frac{\hat{\omega}^{T}}{a},b= \frac{\hat{b}}{a}\end{aligned}$,因此有
$$
\mathop{\text{min }}\limits_{x_{i}=1,2,\cdots,N}y_{i}(\hat{\omega}^{T}x_{i}+\hat{b})=1
$$
因此我们就可以在数据集线性可分的任何情况下,令$\mathop{\text{min }}\limits_{x_{i}=1,2,\cdots,N}y_{i}(\hat{\omega}^{T}x_{i}+\hat{b})=1$,因此最大化数据到超平面的间隔就可以被表达为
$$
\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}
$$
标签:SVM,limits,text,白板,cdots,详解,mathop,aligned,omega From: https://blog.51cto.com/u_15767241/5760146