本文主要参考吴恩达《机器学习》课程,以及网上各个大牛们的博文。
支持向量机,是一种对线性和非线性数据进行分类的方法。它按以下方法工作:使用一种非线性映射,把原训练数据映射到较高的维上,在新的维上,它搜索最佳分离超平面。使用到足够高维上的、合适的非线性映射,两个类的数据总可以被超平面分开。与其他模型相比,支持向量机不太容易过拟合。
下面按照吴恩达《机器学习》的讲义顺序进行讲解。
1 从逻辑回归到支持向量机
支持向量机从本质上来讲,就是最大间隔分类器。
这边从逻辑回归引出支持向量机,以及它最重要的思路——最大间隔。
考虑逻辑回归:
换种思路,如下图,x是正类(y=1),o是负类(y=0),直线为分类超平面,A点离超平面很远,则预测A点为正类可信度很高,而C点离超平面很近,如果超平面稍有变化,可能C点就变成了负类,所以预测C点为正类的可信度比较低。
上图中,要把x类和o类分开,可以有无线多条分离直线,我们想找出“最好的”一条,使得两种类别中离分离直线最近的点,到分离直线的距离最大。这就是最大间隔分类器。
2 标记
考虑一个线性二元分类器:
3 函数间隔和几何间隔
1 函数间隔
给定一个样本点 ,其函数间隔: