支持向量机(SVM)详解(一)
第十三次写博客,本人数学基础不是太好,如果有幸能得到读者指正,感激不尽,希望能借此机会向大家学习。这一篇的部分内容来自于《机器学习》、《技法》,以及自己的一些见解。
预备知识:
这一部分首先介绍集合距离,然后定义“最优”分类器、间隔与支持向量,最后介绍二次规划问题以及回顾拉格朗日乘子法与对偶问题。关于拉格朗日乘子法与对偶问题的详细介绍可以参考我的上一篇博客《拉格朗日乘子法和对偶问题详解》。
【1】点到超平面距离
假设存在超平面: ω T x + b = 0 \omega^{T}\mathbf{x}+b=0 ωTx+b=0,而且点 x a \mathbf{x}_{a} xa和 x b \mathbf{x}_{b} xb在此超平面上,即 { ω T x a + b = 0 ω T x b + b = 0 \begin{cases} \omega^{T}\mathbf{x}_{a}+b=0\\ \omega^{T}\mathbf{x}_{b}+b=0 \end{cases} {
ωTxa+b=0ωTxb+b=0,由此可知:
① { ω T x a + b = 0 ω T x b + b = 0 \begin{cases} \omega^{T}\mathbf{x}_{a}+b=0\\ \omega^{T}\mathbf{x}_{b}+b=0 \end{cases} {
ωTxa+b=0ωTxb+b=0
② ω \omega ω是超平面的一个法向量,即 ω ⊥ ( x ′ − x ′ ′ ) \omega\perp\left(\mathbf{x}'-\mathbf{x}''\right) ω⊥(x′−x′′)
点 x \mathbf{x} x是超平面外的一点,那么点到超平面的距离可以表示为:
![](https://i-blog.csdnimg.cn/blog_migrate/fee6ee870b55dfb09f7f585e3d473ce5.png)
【2】“最优”分类器
首先来看几幅不同分类边界的分类器效果图,每一个分类器都对4个样本点进行了正确分类:
![](https://i-blog.csdnimg.cn/blog_migrate/9fd235e163251ae3e9943513d40b3d5a.png)
虽然每个分类器的正确分类率相同,但是当样本点存在一定的噪声时,分类器能否将其正确分类呢?或者,因为样本点数目的局限性而不能表现出整个训练集的数据分布特征时,分类器能否将新加入的样本点正确分类呢?这就体现除了分类器的鲁棒性(robust)和泛化性能的重要性,显然基于以上两点,最右边的分类器的性能最优。
【3】间隔与支持向量
由【1】中的条件,我们可以使用 ω T x + b \omega^{T}\mathbf{x}+b ωTx+b的大小来表示样本点 x \mathbf{x} x有多大的可能性属于正(负)样本点集,即若 ω T x + b = 1 \omega^{T}\mathbf{x}+b=1 ωTx+b=1,那么样本有100%的可能性属于正样本集。
假设存在一个超平面可以将所有训练样本正确分类,即每个标记为+1的样本点均位于超平面的正样本点集的一侧,每个标记为-1的样本点均位于超平面的负样本点集的一侧,那么对于 ( x i , y