SVM思路:
- 简单情况,线性可分,把问题转化为一个凸优化问题,可以用拉格朗日乘子法简化,然后用既有的算法解决。
- 复杂情况,线性不可分,用映射函数将样本投射到高维空间,使其变成线性可分的情形。利用核函数来减少高维度计算量。
1.核函数
实质上是一种映射函数,将低维空间非线性问题映射到高维空间编程线性问题进行处理.许多在低维空间难以处理的非线性分类问题,转换到高维空间和容易得到最优分类超平面,这是其最核心的思想.
核函数性质:
1)两个核函数的线性组合还是核函数
ak1+bk2
2)两个核函数的直积也是核函数
3)若k1为核函数,则对于任意函数g(x),
也是核函数
2.软间隔与正则化
现实中很难将不同类完全分开,即便找到一个可以特别好的将类划分的超平面,很难判断是不是过拟合。
因此,缓解该问题的一个办法是允许支持向量机在一些样本上出错。为此,引入软间隔。
硬间隔:所有样本都必须划分正确
软间隔:允许一些样本分错
目标:最大化间隔同时,不满足约束条件的样本尽可能少,引入损失函数:
周志华的机器学习课本