支持向量机

支持向量机(Support Vector Machine),一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化。

1.思想本质

找到一条决策边界,使距离决策边界最近的点尽可能的远,同时这条线还能很好地分类。
avatar
Hard Margin SVM

  • 线性可分
  • 存在直线(超平面)可以将点划分

Soft Margin SVM

  • 线性不可分

2.Margin

Margin=2d
回忆解析几何中,点到直线的距离:
avatar
拓展到n维空间:
avatar
那么这个公式是怎么得到的呢?这里介绍一下点到超平面的距离:
对于超平面wTx+b=0,假设x’为超平面上任意一点,显然满足:
avatar
对于空间上任意一点 x,到平面 A 的距离 H,等于 x 到超平面的法向量长度,也就是向量 xx’ 在垂直方向上(即法向量)上的投影。而计算投影,将 xx’ 乘以法向量 w 即可。并且,我们不光要投影,还要计算单位,即使用单位为 1 的投影。也就是在分母除以 || w ||。所以,距离 H 可以表示为:
avatar
avatar
又因为wTx=-b
所以距离为:
avatar
对SVM来说,两类点到决策边界的点都应该>=d,化简得到。
avatar
对于任意支撑向量,要让d最大:
avatar
即为:
avatar
于是SVM问题,即为求最优:
avatar
有条件的最优问题。
以上是Hard Margin SVM。

3.Soft Margin SVM

SVM得到的决策边界有一定的容错能力,一定情况下,可以把一些点错误地分类,使结果泛化能力高。
avatar
本质为添加一个宽松项:
avatar
L1正则和L2正则:
avatar