一、SVM介绍
传统学习方法采用的经验风险最小化方法(ERM)虽然将误差最小化,但不能最小化学习过程的泛化误差。ERM方法不成功的例子就是神经网络中的过学习问题。为此,由Vapnik领导的贝尔实验室研究小组于1963年提出了一种新的非常有潜力的技术,支持向量机(Support vector machine,SVM)是一种基于统计学习理论的模式识别方法,主要用用于模式识别领域。
SVM的基本思想是在样本空间或特征空间构造出最优超平面,使得超平面与不同样本集之间的距离最大,从而达到最大的泛化能力。
关于SVM原理的解析网上有很多详尽的资料了,在这里列出一些我个人觉得解释的不错的。
在看别人的总结中,发现了一些不错的点,在这里摘录一下。(详细的还得去翻上面的两个连接)
1、SVM 算法特性
(1)训练好的模型的算法复杂度是由支持向量的个数决定的,而不是由数据的维度决定的。所以 SVM 不太容易产生 overfitting。
(2)SVM 训练出来的模型完全依赖于支持向量,即使训练集里面所有非支持向量的点都被去除,重复训练过程,结果仍然会得到完全一样的模型。
(3)一个 SVM 如果训练得出的支持向量个数比较少,那么SVM 训练出的模型比较容易被泛化。
2、SVM基本思想的简单描述(不包含推导,只是为了方便我记忆)
(1)分类线方程:
(2)分类间隔:,使分类间隔最大化等价于使最小化
(3)超平面一边的点都有,另一边的点则有
(4)假设现在有两类数据,标签y为+1和-1,调整w,使超平面定义如下: