回顾线性分类
前提:样本线性可分
线性分类器:h(x)=sign(wTx)
寻找线性分类器的算法:PLA/pocket
Q:若样本线性可分,那么可以将样本完美分类的直线(超平面)边界通常(肯定)不止一条,哪一条才是最好的呢?
A:边界离样本点的最小距离越大越好

直觉告诉我们上图中显然第三个线性分类器最好,非要解释呢?
图一中,假设我们有一个样本与靠近分界线的那个x非常接近,但是它在分界线的下侧,由于是它被分类为o,这显然不太合理。而图三中,因为各个样本点都离分类界线有一定的距离,输入数据稍微有点误差,只要误差不是太大是偏不到界线的那一边的。可见图三对数据中的误差容忍度最高。
Large-Margin Separating Hyperplane
问题模型:
最大化margin(w)
满足约束以W为系数的超平面能将所有样本点正确分类即yn=sign(wTxn),即ynwTxn>0
margin=样本点到分类超平面距离的最小值即mindistance(xn,w)
写清爽点:
object:maximizemargin(w)
s.t.:everyynwTxn>0
margin(w)=mindistance(wn,w)
样本点到超平面的距离公式
因为在此问题中W和b用途有不同,不再把b写成w0
于是要找的超平面就是WTX+b=0
distance(x,b,w)=∥w∥1∣∣wTx+b∣∣
代入前述模型
object:maximizemargin(w)
s.t.:everyynwTxn>0
margin(w)=min∥w∥1∣∣wTx+b∣∣
依然无法求解
Margin of Special Separating Hyperplane
我们知道wTx+b=0和3wTx+3b=0其实是同一个平面
对于任意一个平面wTx+b=0
假设到该平面距离最小的样本点为xi
且∣∣wTxi+b∣∣=L
即yn(wTxn+b)=L
两边同时乘以1/L
得yn(diwTxn+dib)=1
事实上diwTxn+dib=0与wTx+b=0是同一个平面
因此,任意一个平面,经过系数的缩放,可以使得到平面距离最小的样本点满足
yi(wTxi+b)=0
我们接下来便只考虑这些special的平面(考虑了这些special的平面就是考虑了所有的平面)
margin(w)=∥w∥1
于是问题模型就可以写得更清爽了:
object:maximize∥w∥1
s.t.:minyn(wTxn+b)=1
Standard Large-Margin Hyperplane Problem
将约束条件 minyn(wTxn+b)=1 放松为yn(wTxn+b)≥1
(目标仍然是 maximize∥w∥1)
这二者不是等价的,后者是前者的必要条件,因为后者并不要求存在一个xi能取到等号
但是,后者所对应最优化问题的最优解却一定是前者的最优解,证明如下:
假设后者最优解为(b,w),其中最小的yn(wTxn+b)=M>1,
将系数除以M,得到一个更优解(Mw,Mb),产生了矛盾
也就是说,在约束条件yn(wTxn+b)≥1下求出的最优解一定会满足minyn(wTxn+b)=1
最后再对最优化问题模型做一些等价变形:最大化变成最小化,去掉求模时的根号
问题模型转化成:
b,wmin21wTw
s.t.yn(wTxn+b)≥1foralln
Quadratic Programming
经过一系列推导,问题模型实际上转化成了一个二次规划模型。
二次规划模型:
1.目标函数是一个二次函数
2.约束全都是线性的
支持向量机 Support Vector Machine (SVM)
实际上,最后求得的超平面只与离它最近的几个样本有关,这些样本点称为支持向量