前言: 回顾下之前所说的线性分类器:
1. 线性最优超平面
Q1: 但是对于wx+b=0这条直线有多种选择,Which is best?
A1: Find an optimal hyperplane(最优超平面)
直观上看,就应该去找位于两类样本"正中间"的最优超平面,它除了能将训练数据正确区分开来,也应该对训练样本局部扰动的"容忍性“最好,但是 如何找到最优超平面?
A2: Maximum margin(最大化间隔)
Definition:任意点 x 到超平面的距离可写为:
间隔 :让距离超平面最近的这几个训练样本满足式子(6.1):
此时它们被称为"支持向量",而此时间隔计算如下:(x+、x- 是距离超平面最近的点)
※ 根据式子(6.1)可知: y i ⋅ ( w x i + b ) ≥ 1 \ y_{i}\cdot (wx_{i}+b)\geq 1 yi⋅(wxi+b)≥1
因此将整个问题转化为:(拉格朗日乘子法)
参考之前拉格朗日乘子法:
第一步: 可知,求的即是:
第二步: 转化为对偶问题:
第三步: 由于先求
min
w
,
b
L
(
w
,
b
,
α
)
\min_{w,b}L(w,b,\alpha )
minw,bL(w,b,α),因此对 w、b 求导,得:
第四步: 再将 w、b 回代,转化为max问题:
第五步: 除了上面两个式子,根据KKT条件还需要满足一个式子,如下所示:
解析:
※ 根据 α i ( y i f ( x i ) − 1 ) = 0 \alpha _{i}(y_{i}f(x_{i})-1)=0 αi(yif(xi)−1)=0 可知:要么 α i = 0 \alpha _{i}=0 αi=0,要么 y i f ( x i ) − 1 = 0 y_{i}f(x_{i})-1=0 yif(xi)−1=0,即在边界,所以只有边界点 α i ≠ 0 \alpha _{i}\neq0 αi=0。
- 由于大部分的点都不在边界上,所以大部分 αi = 0;
- w、b都可以由支持向量求出,w已经求出,而b则是根据边界条件 y i ( w T x i + b ) = 1 y_{i}(w^{T}x_{i}+b)=1 yi(wTxi+b)=1求得b
第六步: 求解b:
2. 广义最优超平面