【机器学习】--SVM从初始到应用
一、前述
SVM在2012年前还是很牛逼的,但是12年之后神经网络更牛逼些,但我们还是很有必要了解SVM的。
二、具体
1、问题引入
要解决的问题:基于以下问题对SVM进行推导
3条线都可以将两边点分类,什么样的决策边界才是最好的呢? 特征数据本身如果就很难分,怎么办呢?计算复杂度怎么样?能实际应用吗?
2、案例引入
假设有一个部队过雷区,我们肯定希望走的边界越大越好,这样踩雷的风险就低。
决策边界:选出来离雷区最远的(雷区就是边界上的点,要Large Margin),第二个肯定比第一个效果好。
我们希望找到离决策边界最近的点,这样就找到了决策边界。
所以,假设决策边界是一个阴影平面,求点到平面的距离转换成点到点的距离,然后再垂直方向上的投影。
数据标签定义:
优化的目标:找到一个w.b使得距离最近的点离这条线最远。
目标函数再化简:
继续转换:
SVM求解:
怎么样求a的值呢?请看下面一个例子:
SVM求解实例:
所以引出SVM的中文含义:支持向量
总结:所有边界上的点a必然不等于0,所有非边界上的点a必等于0。支持向量机中的机就是边界的意思,支持向量就是边界点,a不为0的点,决定边界。
当取60个样本点和120个样本点时,只要添加的不是边界上的样本点,那么决策边界就是不变的。
3、解决软间隔问题
4、解决低维不可分情况
低维不可分问题,转变为空间中高维可分问题,这就是核变换。
核函数就是低维到高维的映射就是X之前的变换。