SVM简介
支持向量机(SVM)是在所有知名数据挖掘算法中最健壮、最准确的方法之一,主要包括支持向量的分类器(SVC)、支持向量回归(SVR)。SVM算法之所以有如此大的影响,是因为该方法有坚实的统计学理论基础。
本文将分三篇,由浅入深分别介绍针对线性问题的硬间隔分类器、近似线性问题的软间隔分类器和针对非线性问题的核方法。
线性可分支持向量机
对于两类线性可分问题,SVC要找到一个最优的决策边界,通过硬间隔最大化,找到一个线性分类器。SVC算法假定距离两类样本长度最大的边界是最优的决策边界,即距离两类样本的(硬)间隔(Margin)最大,最大间隔能保证该超平面具有最好的泛化性能,因此SVM算法也称为最大(硬)间隔分类算法。
所谓硬间隔:即将训练样本完全分开,不容有差。
直观上看,间隔就是两个类之间的空间距离或超平面所确定的分离程度。从几何上讲,间隔对应于数据点到超平面的最短距离。最优超平面到两边的最近的样本点之间的距离就是margin,而位于margin上的样本点,就是支持向量的候选集,这也是支持向量机的由来。
对于线性可分问题,有无穷个超平面作为决策边界,但最优超平面只有一个。我们假定x为最优超平面上margin上的样本,令w为最优超平面的法向量,b表示最优超平面的偏移量,其中法向量指向正例的方向,则相应的最优超平面可以被定义为:
w T ∗ x + b = 0 w^T*x+b=0 wT∗x+b=0
这适用于任意n维空间的超平面的计算。
对应的分类决策函数为:
其中sing为符号函数,表示正例是为1,反例为-1。
函数间隔和几何间隔
一个样本点距离超平面的距离长度可以反映出分类预测的确信程度,如果一个正例样本距离超平面很远,且与法向量方向相同(方向相同则距离为正,反之距离为负),则该样本为正样本的概率就大,反之亦然。因此,我们可以使用 | w T ∗ x + b | |w^T*x+b| |wT∗x+b|来相对地反映样本到超平面的距离。通过符号函数的结果与标签y的符号是否一致,可以表示分类是否正确。
因此,可以使用 y i ∗ ( w T x + b ) y_i*(w^Tx+b) yi∗(wTx+b)来表示分类预测的正确性和确信度,这就是函数间隔的概念,即:
定义超平面 ( w , b ) (w,b) (w,b)关于训练数据集T的函数间隔为,超平面 ( w , b ) (w,b)