感覺機(perception)是二分類的線性分類模型,其輸入為執行個體的特征向量,輸出為執行個體的類别,取+1和-1。感覺機對應于輸入空間(特征空間)中将執行個體劃分為正負兩類的分離超平面,屬于判别模型。
2.1 感覺機模型
f ( x ) = sign ( w ⋅ x + b ) f(x)=\operatorname{sign}(w \cdot x+b) f(x)=sign(w⋅x+b)
w w w和 b b b為感覺機模型參數, w ∈ R n w \in \mathbf{R}^{n} w∈Rn叫做權重或權值向量, b ∈ R b \in \mathbf{R} b∈R叫做偏置, w ⋅ x w\cdot x w⋅x表示内積。
幾何解釋:
線性方程 w ⋅ x + b = 0 w\cdot x + b = 0 w⋅x+b=0對應于特征空間 R n \mathbf{R}^{n} Rn的一個超平面 S S S,其中 w w w是超平面的法向量, b b b是超平面的截距。這個超平面 S S S将特征空間劃分為正負兩類樣本的空間。 S S S稱為分離超平面。
線性可分性:如果存在某個超平面 S S S能夠将正執行個體點和負執行個體點完全正确地劃分到超平面兩側,則資料集具有線性可分性。
定理(Novikoff):設訓練資料集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T = \{ (x_1, y_1), (x_2, y_2), ... , (x_N, y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}是線性可分的,其中 x i ∈ X = R n x_{i} \in \mathcal{X}=\mathbf{R}^{n} xi∈X=Rn, y i ∈ Y = { − 1 , + 1 } y_{i} \in \mathcal{Y}=\{-1,+1\} yi∈Y={−1,+1},則:
(1)存在滿足條件 ∣ ∣ w ^ o p t ∣ ∣ = 1 ||\hat w_{opt}|| = 1 ∣∣w^opt∣∣=1的超平面 w ^ o p t ⋅ x ^ = w o p t ⋅ x + b o p t = 0 \hat{w}_{\mathrm{opt}} \cdot \hat{x}=w_{\mathrm{opt}} \cdot x+b_{\mathrm{opt}}=0 w^opt⋅x^=wopt⋅x+bopt=0将資料集完全正确分開;且存在 γ > 0 \gamma >0 γ>0,滿足:
y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) ⩾ γ 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 yi(w^opt⋅x^i)=yi(wopt⋅xi+bopt)⩾γ
(2)令 R = m a x { ∣ ∣ x ^ i ∣ ∣ } R = max\{||\hat x_i||\} R=max{∣∣x^i∣∣},則感覺算法在訓練資料集上的誤分類次數 k k k滿足不等式:
k ⩽ ( R γ ) 2 k \leqslant\left(\frac{R}{\gamma}\right)^{2} k⩽(γR)2
2.2 感覺機學習政策
對于誤分類點 ( x i , y i ) (x_i,y_i) (xi,yi), 當 w ⋅ x + b > 0 w\cdot x+b >0 w⋅x+b>0時, y i = − 1 y_i=-1 yi=−1;當 w ⋅ x + b < 0 w\cdot x+b <0 w⋅x+b<0時, y i = + 1 y_i=+1 yi=+1,是以有:
− y i ( w ⋅ x + b ) > 0 -y_i(w\cdot x + b ) > 0 −yi(w⋅x+b)>0
誤分類點 ( x i , y i ) (x_i,y_i) (xi,yi)到超平面 S S S的距離為:
d = − y i ( w ⋅ x + b ) ∣ ∣ w ∣ ∣ d = -\dfrac{y_i(w\cdot x + b)}{||w||} d=−∣∣w∣∣yi(w⋅x+b)
設所有誤分類點到超平面 S S S的集合為 M M M,則總距離(忽略 1 ∣ ∣ w ∣ ∣ \dfrac{1}{||w||} ∣∣w∣∣1) 為:
d s = − ∑ x i ∈ M y i ( w ⋅ x + b ) d_s = -\sum_{x_i \in M}y_i(w\cdot x +b) ds=−xi∈M∑yi(w⋅x+b)
是以,感覺機 sign ( w ⋅ x + b ) \operatorname{sign}(w \cdot x+b) sign(w⋅x+b)的損失函數定義為:
L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x + b ) L(w,b) = -\sum_{x_i \in M}y_i(w\cdot x + b) L(w,b)=−xi∈M∑yi(w⋅x+b)
即感覺機學習的是經驗風險最小化的損失函數(經驗風險函數)。
2.3 原始形式的感覺機學習算法
感覺機學習算法是誤分類驅動,采用随機梯度下降(SGD)算法。随機選取超平面 ( w 0 , b 0 ) (w_0,b_0) (w0,b0),采用梯度下降算法最小化損失函數。對于誤分類點 ( x i , y i ) (x_i,y_i) (xi,yi),滿足: y i ( w ⋅ x + b ⩽ 0 ) y_i(w\cdot x + b \leqslant 0) yi(w⋅x+b⩽0),采用如下更新方式:
w w w的梯度計算: ∇ w L ( w , b ) = − ∑ x i ∈ M y i x i \nabla_{w} L(w, b)=-\sum_{x_{i} \in M} y_{i} x_{i} ∇wL(w,b)=−∑xi∈Myixi;更新公式: w ← w + η y i x i w \leftarrow w+\eta y_{i} x_{i} w←w+ηyixi;
b b b的梯度計算: ∇ b L ( w , b ) = − ∑ x i ∈ M y i \nabla_{b} L(w, b)=-\sum_{x_{i} \in M} y_{i} ∇bL(w,b)=−∑xi∈Myi;更新公式: b ← b + η y i b \leftarrow b+\eta y_{i} b←b+ηyi;
注:感覺機學習由于采用不同的初值或選取不同的誤分類點,解可以不同。由Novikoff定理可知,誤分類次數 k k k存在上界,經過有限次搜尋可以找到将訓練資料集完全分開的分離超平面,即當資料集線性可分時,感覺學習算法是收斂的。為了得到唯一超平面,需要對超平面添加限制條件,即線性支援向量機。當訓練資料集線性不可分時,感覺機學習算法不收斂,疊代結果會發生振蕩。
2.4 對偶形式的感覺機學習算法
感覺機模型:
f ( x ) = sign ( ∑ j = 1 N α j y j x j ⋅ x + b ) f(x)=\operatorname{sign}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x+b\right) f(x)=sign(j=1∑Nαjyjxj⋅x+b)
其中 α = ( α 1 , α 2 , ⋯   , α N ) T \alpha=\left(\alpha_{1}, \alpha_{2}, \cdots, \alpha_{N}\right)^{\mathrm{T}} α=(α1,α2,⋯,αN)T, α i = n i η \alpha_{i}=n_{i} \eta αi=niη,對于 y i ( ∑ j = 1 N α j y j x j ⋅ x i + b ) ⩽ 0 y_{i}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x_{i}+b\right) \leqslant 0 yi(∑j=1Nαjyjxj⋅xi+b)⩽0,采用如下更新公式:
w ← w + η y i x i w \leftarrow w+\eta y_{i} x_{i} w←w+ηyixi,最終學習的 w = ∑ i = 1 N α i y i x i w=\sum_{i=1}^{N} \alpha_{i} y_{i} x_{i} w=∑i=1Nαiyixi
b ← b + η y i b \leftarrow b+\eta y_{i} b←b+ηyi,最終學習的 b = ∑ i = 1 N α i y i b=\sum_{i=1}^{N} \alpha_{i} y_{i} b=∑i=1Nαiyi
為了友善,可以預定義并存儲執行個體間内積矩陣,即Gram Matrix: G = [ x i ⋅ x j ] N × N G=\left[x_{i} \cdot x_{j}\right]_{N\times N} G=[xi⋅xj]N×N。