码迷,mamicode.com
首页 > 其他好文 > 详细

SVM

时间:2019-09-01 14:51:15      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:约束   分类   依赖   考点   多项式   左右   样本   gauss   性问题   

二类分类模型

模型:在特征空间上的间隔最大的线性分类器求解凸优化(凸二次规划)

1、线性可分支持向量机

 

利用间隔最优化求最优分离超平面,解是唯一的;

$$\omega ^{\ast }\cdot x+b^{\ast }=0$$

分类决策函数

$$f(x)=sign(\omega ^{\ast }\cdot x+b^{\ast })$$

点到超平面的距离,反映了分类预测的确信程度

函数间隔:(硬间隔)

$\widehat{\gamma }=\underset{i}{min}\widehat{\gamma} _{i}$

$\widehat{\gamma} _{i}=y_{i}(\omega x_{i}+b)$

几何间隔

$$\widehat{\gamma }=\underset{i}{min}\widehat{\gamma} _{i}=\frac{\omega }{\left \| \omega  \right \|}\cdot _{i}+\frac{b}{\left \| \omega  \right \|}$$

无论给$\omega x_{i}+b=0$左右乘入,并不会改变分类结果;

最大间隔分离超平面(几何间隔)存在唯一性

约束最优化问题

$\underset{w,b}{max}\gamma$

$s.t. y_{i}(\frac{w}{\left \| w \right \|}x_{i}+\frac{b}{\left \| w \right \|})\geq \gamma$

等价于

$\underset{w,b}{min}\frac{1}{2}\left \| w \right \|^{2}$

$s.t. y_{i}(wx_{i}+b)-1\geq 0$

 支持向量:在线性可分情况下,训练数据集中的样本点中与分离超平面距离最近的样本点实例;

即,使约束条件式,$y_{i}(\omega x_{i}+b)-1=0$成立的点

在决定分离超平面时,只有支持向量起左右,其实实例不起作用

求该最优化问题的解(拉格朗日对偶性)

 

SVM问题的求解,即求w,b时;不用梯度下降的,而是直接计算出${f}‘(x)=0$时的x,即该问题的解;

2、线性支持向量机与软间隔最优化

适用于线性不可分数据

引入松弛变量$\xi _{i}$

线性不可分的线性支持向量机的学习

$\underset{w,b,\xi }{min}\frac{1}{2}\left \| \omega  \right \|^{2}+C\sum_{i=1}^{N}\xi _{i}$

s.t.$y_{i}(\omega x_{i}+b)\geq 1-\xi _{i}$

$c> 0$

$\xi _{i}\geq 0$

等价于

合页损失函数

$L=\sum_{i=1}^{N}\left [ 1-y_{i}(wx_{i}+b) \right ]_{+}+\lambda \left \| w \right \|^{2}$

w的解不唯一,b的解不唯一,存在于一个区间;

最小化损失函数L,最优化线性支持向量机相当于求minL最小损失函数

学习的对偶算法

$$L(\omega ,b,\xi ,\alpha _{i},\mu )=\frac{1}{2}\left \| \omega  \right \|^{2}+C\sum_{i=1}^{N}\xi _{i}-\sum_{i=1}^{N}\alpha _{i}(y_{i}(\omega\cdot x_{i}+b)-1+\xi _{i})-\sum_{i=1}^{N}\mu _{i}\xi _{i}$$

 

3、非线性支持向量机与核函数

非线性变换:

将非线性分类问题变成线性分类问题

核函数

通过定义内积$k(x,z)=\varphi (x) \cdot \varphi (z)$

x和z均为原空间的点

非显示的定义了$\varphi (x)$

$\varphi (x)$是将x有X映射到H,提高维度;

将非线性问题转换为线性问题;

在SVM在对偶问题的目标函数中内积$x_{i}\cdot x_{j}$

可用核函数$k(x,z)=\varphi (x) \cdot \varphi (z)$代替

kernel的引入可以把数据从低维映射到高维,解决原本数据线性不可分问题;

寻找新特征(高阶特征)

高斯kernel

$f_{i}=similarity(x,l)=ecp(-\frac{\left \| x-l^{(i)} \right \|^{2}}{2\sigma ^{2}})=K(x,l^{(i)})$

还有一些其他kernel,例如:多项式kernel、string kernel等,但都很少用到; 

kernel衡量变量x和参考点$l^{(i)}$的相似程度

$\begin{matrix}
if & x\approx l^{i}  & f_{i}\doteq exp(0)\approx 0\\
if & x family l^{i}  & f_{i}\doteq exp(-large)\approx 0
\end{matrix}$

靠近$l^{i} $的点是1,远离$l^{i} $的点是0

这样可以训练出复杂的非线性决策边界;

如何选择参考点$l^{i} $

将所有测试集选为参考点

 

 

SVM的推导

1)

$\underset{w,b}{max}\gamma$

 $s.t. y_{i}(\frac{w}{\left \| w \right \|}x_{i}+\frac{b}{\left \| w \right \|})\geq \gamma$

2)

$\underset{w,b}{max}\frac{\gamma}{\left \| w \right \|}$

$s.t. y_{i}(wx_{i}+b)\geq \gamma$

3)w和b按比例乘对分类无影响

$\underset{w,b}{max}\frac{1}{\left \| w \right \|}$

$s.t. y_{i}(wx_{i}+b)\geq 1$

4)

$\underset{w,b}{min}\frac{1}{2}\left \| w \right \|^{2}$

$s.t. y_{i}(wx_{i}+b)-1\geq 0$

5)引入拉格朗日乘子,定义拉格朗日函数

$L(w,b,\alpha )=\frac{1}{2}\left \| w \right \|^{2}-\sum_{i=1}^{N}\alpha _{i}y_{i}(wx_{i}+b)+\sum_{i=1}^{N}\alpha _{i}$

求$\underset{w,b}{min}\underset{\alpha }{max}L(w,b,\alpha )$

6)对偶问题

$\underset{\alpha }{max}\underset{w,b}{min}L(w,b,\alpha )$

7)求$\underset{w,b}{min}L(w,b,\alpha )$,L分别对w,b求偏导=0

$\frac{\partial L}{\partial w}=w-\sum_{i=1}^{N}\alpha _{i}y_{i}x_{i}=0$

$\frac{\partial L}{\partial w}=-\sum_{i=1}^{N}\alpha _{i}y_{i}=0$

8)将7)带入5)可得

$L(w,b,\alpha )=\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha _{i}\alpha _{j}y_{i}y_{j}(x_{i}y_{j})-\sum_{i=1}^{N}\alpha _{i}y_{i} (  ( \sum_{j=1}^{N} \alpha _{j}y_{j}x_{j} ) x_{i}+b )+\sum_{i=1}^{N}\alpha _{i}$

$L(w,b,\alpha )=-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha _{i}\alpha _{j}y_{i}y_{j}(x_{i}y_{j})+\sum_{i=1}^{N}\alpha _{i}$

即$\underset{w,b}{min}L(w,b,\alpha )=-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha _{i}\alpha _{j}y_{i}y_{j}(x_{i}y_{j})+\sum_{i=1}^{N}\alpha _{i}$

9)

对$\underset{w,b}{min}L$求max

$\underset{\alpha }{max}-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha _{i}\alpha _{j}y_{i}y_{j}(x_{i}y_{j})+\sum_{i=1}^{N}\alpha _{i}$

$s.t.\sum_{i=1}^{N}\alpha _{i}y_{j}$

$\alpha _{i}\geq 0$

10)

$\underset{\alpha }{min}\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha _{i}\alpha _{j}y_{i}y_{j}(x_{i}y_{j})-\sum_{i=1}^{N}\alpha _{i}$

$s.t.\sum_{i=1}^{N}\alpha _{i}y_{j}$

$\alpha _{i}\geq 0$

11)对$\alpha _{i}$求偏导,求满足条件的$\alpha _{i}$

12)根据KKT条件

$w=\sum_{i=1}^{N}\alpha _{i}y_{i}x_{i}$

$b=y_{j}-\sum_{i=1}^{N}\alpha _{i}y_{i}(x_{i}x_{j})$

 

原问题是凸二次规划问题,转换为对偶问题更高效,且同解

只用求解$\alpha$,$\alpha$只有支持向量\neq0,其他=0   ????

$\alpha_{i}$共有样本个数个;

 

SVM防止过拟合:加入松弛变量

 

 

SVM  VS  LR

相同点:

1、分类算法

2、(不考虑核函数时)线性分类

3、监督学习

4、判别模型

不同点:

1、损失函数不同

LR:$L=-\frac{1}{m}[\sum_{i=1}^{m}(y_{i}\log \widehat{y_{i}}+(1-y_{i})\log (1-y_{i}))]$

SVM:$L=\frac{1}{2}\left \| w \right \|^{2}-\sum \alpha _{i}(y_{i}(wx_{i}+b)-1)$

2、SVM只考虑局部的边界线附近的点,LR考虑全局;

SVM不直接依赖于数据,只要支持向量不变;

LR只要数据改变就会受影响(当数据不平衡是,一定要先balancing)

3、SVM的损失自带正则项,结构风险最小化,而LR没有,需要加正则项;

4、SVM会用核函数,LR一般不用;

5、小规模数据用SVM,大规模数据用SVM太复杂,LR常用;

n特征数

m训练样本数

若n>>m,n很大,n=10000,m=10-1000,用LR,SVM(without a kernel = linear kernel)

若n小,m适中,n=1-1000,m=10-10000,用SVM(with Gaussion kernel)
若n小,m很大,n=1-1000,m=50000+,增加更多特征,用LR,SVM(without a kernel = linear kernel)效果相似;

 

SVM

标签:约束   分类   依赖   考点   多项式   左右   样本   gauss   性问题   

原文地址:https://www.cnblogs.com/danniX/p/10635969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!