模式识别——第10章 支持向量机
10.1 支持向量
10.1.1 线性可分
D0D_0D0 和 D1D_1D1 是 nnn 维欧式空间中的两个点集。如果存在 nnn 维向量 WWW 和实数 w0w_0w0,使得所有属于 D0D_0D0 的点 XiX_iXi 都有 W⋅Xi+w0>0W\cdot X_i+w_0>0W⋅Xi+w0>0,而对于所有属于 D1D_1D1 的点 XjX_jXj 则有 W⋅Xj+w0<0W\cdot X_j+w_0<0W⋅Xj+w0<0,则我们称 D0D_0D0 和 D1D_1D1 线性可分。
Xi,i=1,2,⋅⋅⋅,NX_i,i=1,2,···,NXi,i=1,2,⋅⋅⋅,N 为样本,yi,i=1,2,⋅⋅⋅,Ny_i,i=1,2,···,Nyi,i=1,2,⋅⋅⋅,N 为标量,
X=(x1,x2,⋅⋅⋅,xn)T,W=(w1,w2,⋅⋅⋅,wn)TX=(x_1,x_2,···,x_n)^T,W=(w_1,w_2,···,w_n)^TX=(x1,x2,⋅⋅⋅,xn)T,W=(w1,w2,⋅⋅⋅,wn)T 表示权向量。
10.1.2 最大间隔超平面
将 D0D_0D0 和 D1D_1D1 完全正确地划分开的 WX+w0=0WX+w_0=0WX+w0=0 就成了一个超平面。
最大间隔超平面:以最大间隔把两类样本分开的超平面。
10.1.3 支持向量
样本中距离超平面最近的一些点叫做支持向量。
10.2 线性判别函数和判别面
间隔的大小:
margin=2∗d=2∣∣W∣∣
margin=2*d=\frac{2}{||W||}
margin=2∗d=∣∣W∣∣2
即求:
min12∣∣W∣∣2s.t. yi(W⋅X+w0)≥1(i=1,2,⋅⋅⋅,N)
\min\frac{1}{2}{||W||}^2\\
s.t. y_i(W\cdot X+w_0)\ge 1(i=1,2,···,N)
min21∣∣W∣∣2s.t. yi(W⋅X+w0)≥1(i=1,2,⋅⋅⋅,N)
求解最优分类面:
建立拉格朗日函数:
Q(λ)=∑i=1Nλi−12∑i=1N∑j=1NλiλjyiyjXi⋅Xj
Q(\lambda)=\sum\limits_{i=1}^{N}\lambda_i-\frac{1}{2}\sum\limits_{i=1}^{N}\sum\limits_{j=1}^{N}\lambda_i\lambda_jy_iy_jX_i\cdot X_j
Q(λ)=i=1∑Nλi−21i=1∑Nj=1∑NλiλjyiyjXi⋅Xj
寻找最大化目标函数 Q(λ)Q(\lambda)Q(λ) 的拉格朗日乘子 λii=1N{\lambda_i}_{i=1}^{N}λii=1N,满足约束条件:
(1)∑i=1Nλiyi=0(2)λi≥0,i=1,2,⋅⋅⋅,N (1)\sum\limits_{i=1}^{N}\lambda_iy_i=0 \\ (2)\lambda_i\ge 0,i=1,2,···,N (1)i=1∑Nλiyi=0(2)λi≥0,i=1,2,⋅⋅⋅,N
(1)∑i=1Nλiyi=0\sum\limits_{i=1}^{N}\lambda_iy_i=0i=1∑Nλiyi=0
(2)λi≥0,i=1,2,⋅⋅⋅,N\lambda_i\ge 0,i=1,2,···,Nλi≥0,i=1,2,⋅⋅⋅,N
由对偶问题解得 λ∗=(λ1,λ2,⋅⋅⋅,λN)T\lambda^*=(\lambda_1,\lambda_2,···,\lambda_N)^Tλ∗=(λ1,λ2,⋅⋅⋅,λN)T,然后依 KKTKKTKKT 条件就有
W∗=∑i=1Nyiλi∗Xi
W^*=\sum\limits_{i=1}^{N}y_i{\lambda_i}^*X_i
W∗=i=1∑Nyiλi∗Xi
由于 λi[yi(W⋅Xi+w0)−1]=0\lambda_i[y_i(W\cdot X_i+w_0)-1]=0λi[yi(W⋅Xi+w0)−1]=0,所以可取 ∀j∈{i∣λi∗>0}\forall j\in\{i|{\lambda_i}^*> 0\}∀j∈{i∣λi∗>0},得
w0∗=yj−∑i=1Nyiλi∗Xi⋅Xj
{w_0}^*=y_j-\sum\limits_{i=1}^{N}y_i{\lambda_i}^*X_i\cdot X_j
w0∗=yj−i=1∑Nyiλi∗Xi⋅Xj
最后得到最优分类面:
W∗⋅X+w0∗=0
W^*\cdot X+{w_0}^*=0
W∗⋅X+w0∗=0
10.3 线性不可分下的判别面
三种情况下:
(1)特征向量都落在带状之外且都能正确分类。满足 yi(W⋅Xi+w0)≥1y_i(W\cdot X_i+w_0)\ge 1yi(W⋅Xi+w0)≥1。
(2)有些向量落在带状内,但仍能正确分类。满足 0≤yi(W⋅Xi+w0)<10\le y_i(W\cdot X_i+w_0)<10≤yi(W⋅Xi+w0)<1。
(3)有些向量被错误分类。满足 yi(W⋅Xi+w0)<1y_i(W\cdot X_i+w_0)<1yi(W⋅Xi+w0)<1。
此时,可以在条件项中增加一个松弛项 {ξi}i=1N,ξi>0\{\xi_i\}_{i=1}^{N},{\xi}_i>0{ξi}i=1N,ξi>0,使之成为 yi(W⋅Xi+w0)≥1−ξiy_i(W\cdot X_i+w_0)\ge 1-{\xi}_iyi(W⋅Xi+w0)≥1−ξi。第一种情况对应 ξi=0{\xi}_i=0ξi=0,第二种情况对应 0<ξi≤10<{\xi}_i\le 10<ξi≤1,第三种情况对应 ξi>1{\xi}_i>1ξi>1。
求解最优分类面:
建立拉格朗日函数:
maxλ(∑i=1Nλi−∑i,jλiλjyiyjXi⋅Xj)
\max_{\lambda}(\sum\limits_{i=1}^{N}\lambda_i-\sum\limits_{i,j}\lambda_i\lambda_jy_iy_jX_i\cdot X_j)
λmax(i=1∑Nλi−i,j∑λiλjyiyjXi⋅Xj)
满足
0≤λi≤C,i=1,2,⋅⋅⋅,N∑iλiyi=0
0\le \lambda_i\le C,i=1,2,···,N\\
\sum\limits_{i}\lambda_iy_i=0
0≤λi≤C,i=1,2,⋅⋅⋅,Ni∑λiyi=0
根据 λ\lambdaλ,求得 W、w0W、w_0W、w0,得到最优分类面
W=∑i=1NλiyiXiλi[yi(W⋅Xi+w0)−1+ξi]=0
W=\sum\limits_{i=1}^{N}\lambda_iy_iX_i\\
\lambda_i[y_i(W\cdot X_i+w_0)-1+{\xi}_i]=0
W=i=1∑NλiyiXiλi[yi(W⋅Xi+w0)−1+ξi]=0
10.4 非线性可分下的判别函数
使用 φ:X⟶Y\varphi:X\longrightarrow Yφ:X⟶Y ,将所有样本映射到高维空间,那么分割超平面可以表示为:f(x)=W⋅φ(x)+w0f(x)=W\cdot \varphi(x)+w_0f(x)=W⋅φ(x)+w0。
求解:
max∑iλi−12∑i,jλiλjyiyjK(Xi,Xj)0≤λi≤C,∑iλiyi=0
\max\sum\limits_{i}\lambda_i-\frac{1}{2}\sum\limits_{i,j}\lambda_i\lambda_jy_iy_jK(X_i,X_j)\\
0\le \lambda_i\le C,\sum\limits_{i}\lambda_iy_i=0
maxi∑λi−21i,j∑λiλjyiyjK(Xi,Xj)0≤λi≤C,i∑λiyi=0
先求出 λi\lambda_iλi,进而求出 W、w0W、w_0W、w0:
W=∑i=1Nλiyiφ(Xi)w0=yj−∑i=1Nyiλi∗φ(Xi)⋅φ(Xj)
W=\sum\limits_{i=1}^{N}\lambda_iy_i\varphi(X_i)\\
w_0=y_j-\sum\limits_{i=1}^{N}y_i{\lambda_i}^*\varphi(X_i)\cdot \varphi(X_j)
W=i=1∑Nλiyiφ(Xi)w0=yj−i=1∑Nyiλi∗φ(Xi)⋅φ(Xj)
这里, jjj 使得 λj>0\lambda_j>0λj>0。最优非线性分类面为:
g(X)=W⋅φ(X)+w0=∑i=1NλiyiK(Xi,Xj)+w0
g(X)=W\cdot \varphi(X)+w_0=\sum\limits_{i=1}^{N}\lambda_iy_iK(X_i,X_j)+w_0
g(X)=W⋅φ(X)+w0=i=1∑NλiyiK(Xi,Xj)+w0
其中 K(X,Xj)K(X,X_j)K(X,Xj) 为核函数。
更多推荐



所有评论(0)