经典分类算法——SVM算法
1 SVM算法:背景
二维分类问题是一个经典的机器学习问题,其中的关键在于找到合适的分类平面(分类器的决策边界,比如y=w^T x+b),而支持向量机提出最大化分类间距的思想。
2 SVM算法思想
SVM有三宝:间隔、对偶、核技巧
-
间隔即SVM的目标是最大化分类间隔
-
对偶是求解SVM的方式
-
核技巧是指非线性条件下SVM的改进
SVM分类:
-
Hard-Margin SVM
-
Soft-Margin SVM
-
Kernel SVM
如下所示,一个数据集,多个不同的分类平面如何选择?这就引出了SVM算法思想的关键——最大化分类间隔。
与分类平⾯距离最近的样本点称为⽀持向量,进⽽构成⽀持平⾯。
两个支持平面之间的距离称作分类器的分类间距ρ。而支持向量机Support Vector Machine, SVM)的核心思想就是最大化分类间距ρ。
3. Hard-SVM算法
综上所述,硬间距SVM公式推导过程大致为:限定条件下最大化分类间隔目标函数优化——>用拉格朗日乘数法转换为无条件下目标函数最优化——>转换为对偶形式,由求导求出w——>引入互补松弛条件来通过w与b的关系求出b,从而获得分类超平面公式
4. Soft-Margin SVM算法
5. Kernel SVM算法
虽然松弛变量能够允许⼀定的离群点,但是只适合线性不可分情况不严重 的情况。如果线性不可分情况⾮常严重,需要进⼀步进⾏空间映射,将低维空间的线性不可分问题转为⾼维空间的线性可分问题
6. SVM小结
- ⽀持向量机是⼀种最⼤化分类间隔的分类器。
- 由于满⾜KKT条件,⽀持向量机的优化问题通常可以转换为对偶问题求解。
- 通过引入松弛变量,我们可以训练得到软约束的⽀持向量机。
- 可以通过使用核函数让⽀持向量机处理线性不可分数据。