看完上一章的概要學習後,開始就進入第二章的內容——感知機。對於統計學習方法而言,包含三要素,模型+策略+算法,接下來就從以下三個要素全面瞭解感知機。
感知機模型
簡單來說,感知機(Perceptron)針對的是二分類的線性模型,其輸入爲實例的特徵向量,輸出爲實例的類別,取+1、-1。利用數學語言抽象模型可以這樣描述:
假設輸入空間(特徵空間)是χ∈Rn,輸出空間是y=+1,−1,輸入x∈χ表示實例的特徵向量,對應於輸入空間的點;輸出y∈Y表示實例的類別。由輸入空間到輸出空間滿足如下函數:f(x)=sign(w⋅x+b)其中w是權重參數,b是偏置項,sign是符號函數,即:sign(x)={1−1,,x≥0x<0
感知機模型屬於判別模型,旨在求出將訓練數據進行線性劃分的分離超平面。如圖所示:
感知機學習策略
在對於一個訓練數據集是線性可分的情況下,感知機學習的目標就是在於找到一個可以將正實例點和負實例點完全正確分隔開的超平面。既然要明確這樣一個分離超平面,那麼就需要確定一個感知機模型,也就是需要確定一個學習策略,即定義損失函數並將損失函數最小化。
對於常見的損失函數就是一個自然選擇是誤分類點的總數,但是這樣的一個損失函數並不是連續可導函數,不容易優化,那麼另一個選擇就是誤分類點到超平面的總距離。即可抽象描述爲:
輸入空間Rn中任意一點x0到超平面S的距離可表示爲:∣∣w∣∣∣w⋅x+b∣,其中∣∣w∣∣表示爲w的L2範數
其次,對於誤分類點(x,y)來說,-y(w x+b)>0成立。
∵w⋅x+b>0時,yi=1又∵w⋅x+b>0時,yi=−1∴總距離爲:−∣∣w∣∣1Xi∈M∑yi(w⋅x+b)
由此,可這樣描述爲:
給定數據集T=(X1,Y1),(X2,Y2)...(XN,YN),其中,xi∈χ=Rn,yi∈Y=+1,−1,i=1,2,...N損失函數定義爲:L(w,b)=−Xi∈M∑yi(w⋅x+b),其中M時誤分類點的集合
感知機算法
感知機的學習問題轉化爲求解損失函數的的最優化問題,其最優化的方向是隨機梯度下降法(Stochastic Gradient Descent)。(每次迭代更新的是兩個向量)
原始形式
輸入:訓練數據集T=(X1,Y1),(X2,Y2)...(XN,YN),其中,xi∈χ=Rn,yi∈Y=+1,−1,i=1,2,...N;學習率η(0<η≤1);輸出:w,b;感知機模型f(x)=sign(w⋅x+b)(1)選取初值w0,b0;(2)在訓練集中選取數據(xi,yi)(3)如果yi(w⋅x+b)≤0w←w+ηyixib←b+ηyi(4)轉至(2),直至訓練集中沒有誤分類點
對偶形式
對偶形式的基本思想是將w和b表示爲實例x和標記y的線性組合形式,通過求解其係數而求得w和b,從而逐步更新w和b。那麼w和b關於(x,y)的增量分別描述爲:
w=i=1∑Nαiyixib=i=1∑Nαiyi其中,αi=niη.實例點更新越多,表示距離分離超平面越近,也就是比較難分類。
以下可以對照着原始形式來描述對偶形式:
輸入:訓練數據集T=(X1,Y1),(X2,Y2)...(XN,YN),其中,xi∈χ=Rn,yi∈Y=+1,−1,i=1,2,...N;學習率η(0<η≤1);輸出:w,b;感知機模型f(x)=sign(i=1∑Nαiyixi⋅x+b)其中α=(α1,α2,α3,...αN)(1)α←0,b←0;(2)在訓練集中選取數據(xi,yi)(3)如果yi(i=1∑Nαiyixi⋅xi+b)≤0αi←αi+ηb←+ηyi(4)轉至(2)直至沒有誤分類點
其實對偶形式中訓練實例僅以內積的形式出現,爲了方便,其實可以將訓練集中的實例間的內積先計算出來以矩陣形式進行存儲,這個矩陣即是所謂的Gram矩陣,即:
G=[xi⋅xj]N×N
回過頭來對比原始形式,可以看出原始形式實質每次更新的是兩個向量,其計算量比較大,但是對偶形式由於可以先將實例間的內積先計算出來進行存儲,因此對偶形式每次迭代更新的就是數據,相比較而言,更新代價小。
Novikoff定理的數學推導
定理描述:設訓練集T=(x1,y1),(x2,y2)...(xN,yN)是線性可分的,其中xi∈χ=Rn,yi∈Y=+1,−1,i=1,2,3...N,則:(1)存在滿足條件∣∣w^∣∣=1的超平面w^opt⋅x^=wopt⋅x+bopt=0將訓練數據集完全正確分開;且存在γ>0,對所有i=1,2...N滿足:yi(w^opt⋅x^)=yi(wopt⋅x+bopt)≥γ(2)令R=max∣∣xi^∣∣,則感知機在訓練集的誤分類次數k滿足不等式:k≤(γR)2
證明
爲了便於描述推導過程,將偏置b併入權重向量w中,同樣也將輸入向量作爲擴充,加進常數1。
基於以上的提示,可得到w^=(wT,b)T;x^=(xT,1)T;x^∈Rn+1;w^∈Rn+11.證明(1):由於訓練集是線性可分的,因此存在超平面將數據集完全正確分開,取超平面w^opt⋅x^=wopt⋅x+bopt=0,使得∣∣(^w)opt∣∣=1.對有限的i=1,2...N,均有yi(w^opt⋅x^)=yi(wopt⋅x+bopt)≥0所以存在,γ=min(yi(wopt⋅x+bopt)),使得yi(w^opt⋅x^)=yi(wopt⋅x+bopt)≥γ2.證明(2):感知機算法從w^=1開始,如果實例被誤分類,則更新權重。令wk−1^是第k個誤分類實例之前的擴充權重向量,即:wk−1^=(wk−1T,bk−1)T那麼存在:yi(w^k−1⋅x^)=yi(wk−1⋅x+bk−1)≤0若(xi,yi)是被wk−1^=(wk−1T,bk−1)T誤分類的數據,那麼w和b的更新是:wk−1←wk−1+ηyixibk−1←bk−1+ηyi即:wk^=wk−1^+ηyixi^∴wk^⋅wopt^=(wk−1^+ηyixi^)⋅wopt^=wk−1^⋅wopt^+ηyiwopt^⋅xi^≥wk−1^⋅wopt^+ηγ≥wk−2^⋅wopt^+2ηγ≥wk−3^⋅wopt^+3ηγ...≥kηγ又∵∣∣wk^∣∣2=(wk−1^+ηyixi^)2=∣∣wk−1^∣∣2+2ηyiwk−1^⋅xi^+η2∣∣xi^∣∣2≤∣∣wk−1^∣∣2+η2∣∣xi^∣∣2≤∣∣wk−1^∣∣2+η2R2≤∣∣wk−2^∣∣2+2η2R2...≤kη2R2∴由不等式可得:kηγ≤wk^⋅wopt^≤∣∣wk^∣∣wopt^≤kηR∴k2γ2≤kR2∴既可得證:k≤(γR)2
思考
1.感知機模型的假設空間是什麼?模型的複雜度體現在哪兒?
感知機是一種線性分類模型,屬於判別模型。其假設空間實在定義特徵空間中所有線性分類模型,也就是wx+b;
其模型複雜度體現在所有實例的特徵數量,也就是特徵維度上。