支持向量机(SVM)
SVM的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。SVM的学习策略就是间隔最大化,可形式化为一个求解凸二次规划问题。也等价于正则化的合页损失函数的最小化问题。
函数间隔与几何间隔
函数间隔(表示分类预测的确信程度)
函数间隔就是感知机模型里面的误分类点到超平面距离的分子。对于训练集中m个样本点对应的m个函数间隔的最小值,就是整个训练集的函数间隔。
函数间隔并不能正常反应点到超平面的距离,在感知机模型里我们也提到,当分子成比例的增长时,分母也是成倍增长。
几何间隔(实例点到超平面的带符号的距离)
几何间隔才是点到超平面的真正距离,感知机模型里用到的距离就是几何距离。
支持向量机
间隔最大化(几何间隔的最大分离超平面是唯一的)
在感知机模型中,我们可以找到多个可以分类的超平面将数据分开,并且优化时希望所有的点都被准确分类。但是实际上离超平面很远的点已经被正确分类,它对超平面的位置没有影响。我们最关心是那些离超平面很近的点,这些点很容易被误分类。如果我们可以让离超平面比较近的点尽可能的远离超平面,最大化几何间隔,那么我们的分类效果会更好一些。
硬间隔
软间隔
SMO原理小结
其它
我们遇到线性不可分的样例时,常用做法是把样例特征映射到高维空间中去(如上一节的多项式回归)但是遇到线性不可分的样例,一律映射到高维空间,那么这个维度大小是会高到令人恐怖的。此时,核函数就体现出它的价值了,核函数的价值在于它虽然也是将特征进行从低维到高维的转换,但核函数好在它在低维上进行计算,而将实质上的分类效果(利用了内积)表现在了高维上,这样避免了直接在高维空间中的复杂计算,真正解决了SVM线性不可分的问题。
核函数都是正定核函数。一个函数要想成为正定核函数,必须满足他里面任何点的集合形成的Gram矩阵是半正定的。
常用的核函数
SVM回归模型
SVM优缺点
SVM算法的主要优点有:
- 解决高维特征的分类问题和回归问题很有效,在特征维度大于样本数时依然有很好的效果。
- 仅仅使用一部分支持向量来做超平面的决策,无需依赖全部数据。
- 有大量的核函数可以使用,从而可以很灵活的来解决各种非线性的分类回归问题。
- 样本量不是海量数据的时候,分类准确率高,泛化能力强。
SVM算法的主要缺点有:
- 如果特征维度远远大于样本数,则SVM表现一般。
- SVM在样本量非常大,核函数映射维度非常高时,计算量过大,不太适合使用。
- 非线性问题的核函数的选择没有通用标准,难以选择一个合适的核函数。
- SVM对缺失数据敏感。