感知機(perceptron)


《統計學習方法》(第二版)第2章

2 感知機

二類分類線性分類模型判別模型

輸入:實例的特征向量

輸出:實例的類別(+1,-1)

2.1 感知機模型

\[f(x)=sign(w·x+b) \]

幾何解釋

\(w·x+b=0\)對應一個超平面\(S\)\(w\)是超平面的法向量,\(b\)是超平面的截距。

法向量證明:從超平面上任取\(\overrightarrow{x_1}\)\(\overrightarrow{x_2}\),有\(w·\overrightarrow{x_1}+b=0\)\(w·\overrightarrow{x_2}+b=0\),兩式相減可知\(w·\overrightarrow{x_2x_1}=0\)\(w\)與超平面上任一向量垂直,即為法向量。

2.2 感知機學習策略

數據集的線性可分性

存在某個超平面\(S\)能夠將數據集\(T\)的正實例點和負實例點完全正確地划分到超平面的兩側。

感知機學習策略

自然選擇:誤分類點的總數(不是參數\(w,b\)的連續可導函數,不易優化)

另一個選擇:誤分類點到超平面\(S\)的總距離

對於任一點\(x_0\)到超平面\(S\)的距離:\(\frac{1}{||w||}|w·x_0+b|\)(參見點到直線距離公式\(d=\frac{|Ax_0+By_0+C|}{\sqrt{A^2+B^2}}\)

誤分類點到超平面\(S\)的總距離:\(-\frac{1}{||w||}\sum \limits_{x_i \in M} y_i(w·x_i+b)\)

所以損失函數\(L(w,b)=-\sum \limits_{x_i \in M}y_i(w·x_i+b)\),其中\(M\)為誤分類點的集合

2.3 感知機學習算法

原始形式

采用隨機梯度下降法stochastic gradient descent,極小化目標函數

\[\min \limits_{w,b} L(w,b)=-\sum_{x_i \in M}y_i(w·x_i+b) \]

\(\nabla_w L(w,b)=-\sum \limits_{x_i \in M}y_ix_i\)

\(\nabla_b L(w,b)=-\sum \limits_{x_i \in M}y_i\)

步驟

  1. 選取初值\(w_0,b_0\)

  2. 在訓練集中選取數據\((x_i,y_i)\)

  3. 如果$ y_i(w·x_i+b) \le 0$,

    \[w ← w + \eta y_ix_i \\ b ← b + \eta y_i \]

  4. 轉至2.,直至訓練集中沒有誤分類點,即\(L(w,b)=0\)

算法收斂性

誤分類的次數是有上界的,經過有限次搜索可以找到將訓練數據完全分開的分離超平面。

\[k \le (\frac{R}{\gamma})^2 \]

其中\(R=\max \limits_{1 \le i \le N}|\hat x_i|\)\(y_i(\hat w_{opt}·\hat x_i)=y_i(w_{opt}·x_i+b_{opt}) \ge \gamma\)

對偶形式

\[f(x)=sign(\sum \limits_{j=1}^N \alpha_jy_jx_i·x+b) \]

\(w=\sum \limits_{j=1}^N \alpha_jy_jx_i,b=\sum \limits_{j=1}^N \alpha_jy_j\)

\(\alpha=n_i\eta\),當\(N=1\)時,表示第\(i\)個實例點由於誤分而進行更新的次數。

\(Gram\)矩陣:\(G=[x_i·x_j]_{N×N}\)

步驟

  1. \(\alpha←0,b←0\)

  2. 在訓練集中選取數據\((x_i,y_i)\)

  3. 如果$ y_i(\sum \limits_{j=1}^N \alpha_jy_jx_i+b) \le 0$,

    \[\alpha_i ← \alpha_i + \eta \\ b ← b + \eta y_i \]

  4. 轉至2.,直至訓練集中沒有誤分類點。

擴展學習方法

口袋算法、表決感知機、帶邊緣感知機


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM