机器学习第六章:支持向量机
算法原理:从几何角度,对于线性可分数据集,支持向量机就是找距离正负样本都最远的超平面,相比于感知机,其解是唯一的,且不偏不倚,泛化性能更好。
n维空间的超平面( w T x + b = 0 w^{T}x+b=0 wTx+b=0,其中 w , x ∈ R n w,x\in R^{n} w,x∈Rn)
- 超平面方程不唯一
- 法向量 w w w和位移项 b b b确定一个唯一超平面
- 法向量 w w w垂直于超平面(缩放 w , b w,b w,b时,若缩放倍数为负数会改变法向量方向)
- 法向量 w w w指向的那一半空间为正空间,另一半为负空间
- 任意一点到超平面的距离为: r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\dfrac{|w^{T}x+b|}{||w||} r=∣∣w∣∣∣wTx+b∣
几何间隔:对于给定的数据集X和超平面 w T x + b = 0 w^{T}x+b=0 wTx+b=0,定义数据集X中任意一个样本点 ( x i , y i ) , y i = { − 1 , 1 } , i = 1 , 2 , . . . , m (x_{i},y_{i}),y_{i}=\{-1,1\},i=1,2,...,m (xi,yi),yi={
−1,1},i=1,2,...,m,关于超平面的几何间隔为:
γ i = y i ( w T x i + b ) ∣ ∣ w ∣ ∣ \gamma_{i}=\dfrac{y_{i}(w^{T}x_{i}+b)}{||w||} γi=∣∣w∣∣yi(wTxi+b)
正确分类时: γ i > 0 \gamma_{i}>0 γi>0,几何间隔也就等价于点到超平面的距离;
没有正确分类时: γ i < 0 \gamma_{i}<0 γi<0;
对于给定的数据集X和超平面 w T x + b = 0 w^{T}x+b=0 wTx+b=0,定义数据集X关于超平面的几何间隔为数据集X中所有样本点的几何间隔最小值 γ = m i n i = 1 , 2 , . . . , m γ i \gamma=min_{i=1,2,...,m}\gamma_{i} γ=mini=1,2,...,mγi
支持向量机
模型:给定线性可分的数据集X,支持向量机模型希望求得数据集X关于超平面的几何间隔 γ \gamma γ达到最大的那个超平面,然后套上一个sign函数实现分类功能:
y = s i g n ( w T x + b ) = { 1 , w T x + b > 0 − 1 , w T x + b < 0 y=sign(w^{T}x+b)=\begin{cases}1,w^{T}x+b>0\\-1,w^{T}x+b<0\end{cases} y=sign(wTx+b)={
1,wTx+b>0−1,wTx+b<0
几何间隔最大的超平面一定就是那个距离正负样本都最远的超平面;
因为:
- 当超平面没有正确划分正负样本时,几何间隔最小的为误分类点,因此 γ < 0 \gamma<0 γ<0
- 当超平面正确划分超平面时, γ ≥ 0 \gamma\geq0 γ≥0,且越靠近中央 γ \gamma γ越大
策略:给定线性可分数据集X,设X中几何间隔最小的样本为( x m i n , y m i n x_{min},y_{min} xmin,ymin),那么支持向量机找超平面的过程可以转化为以下带约束条件的优化问题:
max γ s . t . γ i ≥ γ , i = 1 , 2 , . . . , m \max\ \gamma\\ s.t.\quad \gamma_{i}\geq\gamma,\ i=1,2,...,m\\ max γs.t.γi≥γ, i=1,2,...,m
max w , b y m i n ( w T x m i n + b ) ∣ ∣ w ∣ ∣ s . t . y i ( w T x + b ) ∣ ∣ w ∣ ∣ ≥ y m i n ( w T x m i n + b ) ∣ ∣ w ∣ ∣ , i = 1 , 2 , . . . , m \max_{w,b}\quad \dfrac{y_{min(w^{T}x_{min}+b)}}{||w||}\\ s.t.\quad \dfrac{y_{i}(w^{T}x+b)}{||w||}\geq\dfrac{y_{min}(w^{T}x_{min}+b)}{||w||},\ i=1,2,...,m\\ w,bmax∣∣w∣∣ymin(wTxmin+b)s.t.∣∣w∣∣