周志华西瓜书学习笔记(六)
支持向量机
6.1间隔与支持向量
1.线性可分
如图所示,要将两类点分开,有很多直线都能做到。但是,如果希望训练出一条直线在测试集上也有很好的表现,应该找位于两类训练样本“正中间”的直线,也称划分超平面。这个划分超平面所产生的分类结果是最鲁棒
的,为未见示例泛化能力越强。
名词介绍
鲁棒性:鲁棒是Robust的音译,也就是健壮和强壮的意思。它也是在异常和危险情况下系统生存的能力。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。
2.支持向量
划分超平面的线性方程式: w T x + b = 0 w^Tx+b=0 wTx+b=0
对一个划分平面,每个分类点到划分平面的距离是 r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac{|w^Tx+b|}{||w||} r=∣∣w∣∣∣wTx+b∣
如图所示,距离超平面最近的这几个训练样本点称为“支持向量”。
超平面参数成倍数变化,表示的是同一条直线。如 2 x 1 + 4 x 2 − 8 = 0 2x_1+4x_2-8=0 2x1+4x2−8=0与 x 1 + 2 x 2 − 4 = 0 x_1+2x_2-4=0 x1+2x2−4=0表示的是同一个划分超平面,所以可以通过对参数的调整,使得支持向量机到划分超平面的距离为1。即 r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ = 1 ∣ ∣ w ∣ ∣ r=\frac{|w^Tx+b|}{||w||}=\frac{1}{||w||} r=∣∣w∣∣∣wTx+b∣=∣∣w∣∣1,也就是说两个异类支持向量机到超平面的距离之和为 γ = 2 ∣ ∣ w ∣ ∣ \gamma=\frac{2}{||w||} γ=∣∣w∣∣2
我们要做的优化就是在满足划分正确的前提下,使这个距离 γ = 2 ∣ ∣ w ∣ ∣ \gamma=\frac{2}{||w||} γ=∣∣w∣∣2最大化
SVM基本型
m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 … … , m min_{w,b}\ \ \frac{1}{2}||w||^2\\ s.t.\ \ y_i(w^Tx_i+b)≥1,i=1,2……,m minw,b 21∣∣w∣∣2s.t. yi(wTxi+b)≥1,i=1,2……,m
6.2对偶问题
1.拉格朗日乘数法
推导:
由上式(6.11)对偶形式可知,
{ α i ≥ 0 ; y i f ( x i ) − 1 ≥ 0 ; α i ( y i f ( x i ) − 1 ) = 0. \left\{ \begin{array}{c} \alpha_i≥0;\\ y_if(x_i)-1≥0;\\ \alpha_i(y_if(x_i)-1)=0. \end{array} \right. ⎩⎨⎧αi≥0;yif(xi