1.SVM算法概述
1.1 SVM简介
支持向量机(Support Vector Machine),是90年代中期发展起来的基于统计学习理论的一种机器学习方法,通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。本身是一种监督式学习的方法,广泛应用于统计分类以及回归分析中。
1.2 SVM工作原理
它使用非线性映射,将原训练数据映射到高维上。在新的维上,搜索最佳分离超平面(即将一个类的元组与其他类分离的“决策边界”)。当数据点离决策边界越远,其最后的预测结果越可信。所以,我们希望找到离分隔超平面最近的点,确保它们离分隔面的距离尽可能远,即点到分隔面的距离间隔尽可能大(最大间隔Maximum Margin)。
1.3 SVM的分类
根据训练数据的特点,在学习SVM分类器时可以采用不同的策略,得到截然不同的分类器。
(1)当训练数据线性可分时,通过硬间隔最大化(hard margin maximization),学习线性分类器。
(2)当训练数据近似线性可分时,通过软间隔最大化(soft margin maximization),学习线性分类器。
(3)当训练数据线性不可分时,通过使用核技巧(kernel trick)及软间隔最大化,学习非线性分类器。
1.4 SVM算法优缺点
(1)优点:泛化错误率低,计算开销不大,结果易于解释。对复杂的非线性边界建模能力较强,不容易过拟合。
(2)缺点:训练速度较慢,对参数调节和核函数的选择敏感,原始分类器仅适用于二分类问题。应对大规模训练数据时开销较大。
(3)应用:可以用于数值预测和分类。应用领域包括手写数字识别、基准时间序列预测检验。