本文是需要一定基础才可以看懂的,建议先看看参考博客,一些疑惑会在文中直接提出,大家有额外的疑惑可以直接评论,有问题请直接提出,相互交流。
SVM-统计学习基础
一开始讲解了最小间距超平面:所有样本到平面的距离最小
。而距离度量有了函数间隔和几何间隔,函数间隔与法向量 w w w和 b b b有关, w w w变为 2 w 2w 2w则函数间距变大了,于是提出了几何距离,就是对 w w w处理,除以 ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣,除以向量长度,从而让几何距离不受影响。
但是支持向量机提出了最大间隔分离超平面,这似乎与上面的分析相反,其实这个最大间隔是个什么概念呢?通过公式来分析一下,正常我们假设超平面公式是:
w T x + b = 0 / / 超 平 面 w^{T}x+b=0 // 超平面 wTx+b=0//超平面
max w , b γ s . t . y i ( w ∣ ∣ w ∣ ∣ x i + b ∣ ∣ w ∣ ∣ ) ≥ γ \max \limits_{w,b} \quad \gamma \\ s.t. \quad y_i(\frac{w}{||w||}x_i+\frac{b}{||w||}) \ge \gamma w,bmaxγs.t.yi(∣∣w∣∣wxi+∣∣w∣∣b)≥γ
也就是说对于所有的样本到超平面距离 都大于 γ \gamma γ,那这个 γ \gamma γ如何求解,文中约定了概念支持向量:正负样本最近的两个点,这两个点之间的距离就是 γ \gamma γ,那么问题来了,这中间的超平面有无数个,如何确定这个超平面呢?于是我们可以约束这个超平面到两个最近的点的距离是一样的。
上图中两个红色菱形点与一个蓝色实心圆点就是支持向量,通过这个求解目标,以及约束条件来求解这个超平面。书中有完整的公式装换以及证明这个超平面的唯一性。
这里要讲解一个样本点到直线的距离,
正常我们可能难以理解公式里 y y y去哪里了,拿二维空间做例子,正常我们说一个线性方程都是 y = a x + b y=ax+b y=ax+b,其中a和b都是常量,这个线性方程中有两个变量 x x x和 y y y,转换公式就是 y − a x − b = 0 y-ax-b=0 y−ax−b=0,从线性矩阵的角度来思考问题就是 y y y是 x 1 x_1 x1, x x x是 x 2 x_2 x2,用一个 w T w^T wT来表示这两者的系数,用 b b b代替 − b -b −b,所以公式就变为了:
w T x + b = 0 w^{T}x+b=0 wTx+b=0
于是任意一个样本点到超平面的距离是:
r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r = \frac{|w^{T}x+b|}{||w||} r=∣∣w∣∣∣wTx+b∣
也就是说约束条件中要求 > γ >\gamma >γ,其实就是大于支持向量到超平面的距离。
通过一个例子来看看:
这里例子中有 w 1 , w 2 w_1,w_2 w1,w2,这是因为坐标点是二维的,相当于样本特征是两个,分类的结果是这两个特征的结果标签,所以这里的 w w w就是一个二维的,说明在具体的应用里需要根据特征来确定 w w w的维度。
问题转换:拉格朗日对偶
其实原始问题是这样的:
max