《統計學習方法》(第二版)第2章
2 感知機
二類分類、線性分類模型、判別模型
輸入:實例的特征向量
輸出:實例的類別(+1,-1)
2.1 感知機模型
幾何解釋
\(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,極小化目標函數
\(\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\)
步驟:
-
選取初值\(w_0,b_0\)
-
在訓練集中選取數據\((x_i,y_i)\)
-
如果$ y_i(w·x_i+b) \le 0$,
\[w ← w + \eta y_ix_i \\ b ← b + \eta y_i \] -
轉至2.,直至訓練集中沒有誤分類點,即\(L(w,b)=0\)。
算法收斂性
誤分類的次數是有上界的,經過有限次搜索可以找到將訓練數據完全分開的分離超平面。
其中\(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\)
對偶形式
即\(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}\)
步驟:
-
\(\alpha←0,b←0\)
-
在訓練集中選取數據\((x_i,y_i)\)
-
如果$ y_i(\sum \limits_{j=1}^N \alpha_jy_jx_i+b) \le 0$,
\[\alpha_i ← \alpha_i + \eta \\ b ← b + \eta y_i \] -
轉至2.,直至訓練集中沒有誤分類點。
擴展學習方法
口袋算法、表決感知機、帶邊緣感知機