統計學習方法——第2章 感知機模型

感知機(perception)是二分類的線性分類模型,其輸入爲實例的特徵向量,輸出爲實例的類別,取+1和-1。感知機對應於輸入空間(特徵空間)中將實例劃分爲正負兩類的分離超平面,屬於判別模型

2.1 感知機模型

f(x)=sign(wx+b) f(x)=\operatorname{sign}(w \cdot x+b)

wwbb爲感知機模型參數,wRnw \in \mathbf{R}^{n}叫做權重或權值向量,bRb \in \mathbf{R}叫做偏置,wxw\cdot x表示內積。

幾何解釋

線性方程wx+b=0w\cdot x + b = 0對應於特徵空間 Rn\mathbf{R}^{n}的一個超平面SS,其中ww是超平面的法向量,bb是超平面的截距。這個超平面SS將特徵空間劃分爲正負兩類樣本的空間。SS稱爲分離超平面。

線性可分性:如果存在某個超平面SS能夠將正實例點和負實例點完全正確地劃分到超平面兩側,則數據集具有線性可分性。

定理(Novikoff):設訓練數據集T={(x1,y1),(x2,y2),...,(xN,yN)}T = \{ (x_1, y_1), (x_2, y_2), ... , (x_N, y_N)\}是線性可分的,其中xiX=Rnx_{i} \in \mathcal{X}=\mathbf{R}^{n},yiY={1,+1}y_{i} \in \mathcal{Y}=\{-1,+1\},則:

(1)存在滿足條件w^opt=1||\hat w_{opt}|| = 1的超平面w^optx^=woptx+bopt=0\hat{w}_{\mathrm{opt}} \cdot \hat{x}=w_{\mathrm{opt}} \cdot x+b_{\mathrm{opt}}=0將數據集完全正確分開;且存在γ>0\gamma >0,滿足:
yi(w^optx^i)=yi(woptxi+bopt)γ y_{i}\left(\hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i}\right)=y_{i}\left(w_{\mathrm{opt}} \cdot x_{i}+b_{\mathrm{opt}}\right) \geqslant \gamma
(2)令R=max{x^i}R = max\{||\hat x_i||\},則感知算法在訓練數據集上的誤分類次數kk滿足不等式:
k(Rγ)2 k \leqslant\left(\frac{R}{\gamma}\right)^{2}

2.2 感知機學習策略

對於誤分類點(xi,yi)(x_i,y_i), 當wx+b>0w\cdot x+b >0時,yi=1y_i=-1;當wx+b<0w\cdot x+b <0時,yi=+1y_i=+1,所以有:
yi(wx+b)>0 -y_i(w\cdot x + b ) > 0
誤分類點(xi,yi)(x_i,y_i)到超平面SS的距離爲:
d=yi(wx+b)w d = -\dfrac{y_i(w\cdot x + b)}{||w||}
設所有誤分類點到超平面SS的集合爲MM,則總距離(忽略1w\dfrac{1}{||w||}) 爲:
ds=xiMyi(wx+b) d_s = -\sum_{x_i \in M}y_i(w\cdot x +b)
因此,感知機sign(wx+b)\operatorname{sign}(w \cdot x+b)的損失函數定義爲:
L(w,b)=xiMyi(wx+b) L(w,b) = -\sum_{x_i \in M}y_i(w\cdot x + b)

即感知機學習的是經驗風險最小化的損失函數(經驗風險函數)。

2.3 原始形式的感知機學習算法

感知機學習算法是誤分類驅動,採用隨機梯度下降(SGD)算法。隨機選取超平面(w0,b0)(w_0,b_0),採用梯度下降算法最小化損失函數。對於誤分類點(xi,yi)(x_i,y_i),滿足:yi(wx+b0)y_i(w\cdot x + b \leqslant 0),採用如下更新方式:

ww的梯度計算:wL(w,b)=xiMyixi\nabla_{w} L(w, b)=-\sum_{x_{i} \in M} y_{i} x_{i};更新公式:ww+ηyixiw \leftarrow w+\eta y_{i} x_{i}

bb的梯度計算:bL(w,b)=xiMyi\nabla_{b} L(w, b)=-\sum_{x_{i} \in M} y_{i};更新公式:bb+ηyib \leftarrow b+\eta y_{i}

:感知機學習由於採用不同的初值或選取不同的誤分類點,解可以不同。由Novikoff定理可知,誤分類次數kk存在上界,經過有限次搜索可以找到將訓練數據集完全分開的分離超平面,即當數據集線性可分時,感知學習算法是收斂的。爲了得到唯一超平面,需要對超平面添加約束條件,即線性支持向量機。當訓練數據集線性不可分時,感知機學習算法不收斂,迭代結果會發生振盪。

2.4 對偶形式的感知機學習算法

感知機模型:
f(x)=sign(j=1Nαjyjxjx+b) f(x)=\operatorname{sign}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x+b\right)
其中α=(α1,α2, ,αN)T\alpha=\left(\alpha_{1}, \alpha_{2}, \cdots, \alpha_{N}\right)^{\mathrm{T}}αi=niη\alpha_{i}=n_{i} \eta,對於yi(j=1Nαjyjxjxi+b)0y_{i}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x_{i}+b\right) \leqslant 0,採用如下更新公式:

ww+ηyixiw \leftarrow w+\eta y_{i} x_{i},最終學習的w=i=1Nαiyixiw=\sum_{i=1}^{N} \alpha_{i} y_{i} x_{i}

bb+ηyib \leftarrow b+\eta y_{i},最終學習的b=i=1Nαiyib=\sum_{i=1}^{N} \alpha_{i} y_{i}

爲了方便,可以預定義並存儲實例間內積矩陣,即Gram Matrix:G=[xixj]N×NG=\left[x_{i} \cdot x_{j}\right]_{N\times N}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章