感知機
輸入空間X=Rn , 輸出空間Y={-1,+1}. 輸入x屬於X表示實例的特徵向量,對應於輸入空間的點; 輸出y屬於Y表示實例的類別, 由輸入空間到輸出空間的如下函數
f(x)=sign(w∗x+b)
稱爲
感知機. w叫做
權值,b叫做
偏置, w*x表示w和x的內積(點積)
幾何解釋
w*x+b=0對應於特徵空間中的一個超平面S, w是該平面的法向量, b是截距(將平面平移到座標原點所需距離). 該平面分特徵向量爲兩部分, 分別對應正,負兩類.
原點到該平面的距離: |b|||w|| . 任意一點x到超平面S的距離: 1||w|||w∗x+b| . (||w||是w的L2範數)
感知機的損失函數
誤分類點到超平面S的總距離.
1. 輸入空間中任一點x到超平面S的距離: 1||w|||w∗x+b|
2. 對於誤分類的數據(xi,yi) 來說: −yi(w∗xi+b)>0
w∗xi+b>0,正確分類: yi=+1,誤分類: yi=−1
w∗xi+b<0,正確分類: yi=−1,誤分類: yi=+1
所以對於誤分類的(xi,yi),−yi(w∗xi+b)>0
因此誤分類的點xi 到超平面S的距離是−1||w||yi(w∗xi+b)
3. 所有誤分類點(集合M)到超平面S的總距離爲: −1||w||∑xi∈Myi(w∗xi+b)
定義
給定訓練數據集T={(x1,y1),(x2,y2),...,(xn,yn) }, 其中x∈X=Rn,y∈Y={+1,−1} , i=1,2,…,N. 感知機f(x)=sign(w*x+b)學習的損失函數定義爲:
L(w,b)=−∑xi∈Myi(w∗xi+b)=∑xi∈M|w∗xi+b|其中M爲誤分類點的集合
一個特定樣本點的損失函數, 在被誤分類時是w,b的線性函數, 在正確分類時是0.
因此對於所有被誤分類點的損失函數是w,b的連續可導函數(線性模型)
學習策略
在假設空間中選取使損失函數最小的模型參數(w,b)
學習算法
感知機學習問題轉化爲求解損失函數的最優化問題.
採用隨機梯度下降法, 極小化過程不是一次使M中所有誤分類點的梯度下降, 而是一次隨機選取一個誤分類點使其梯度下降.
1. 損失函數L(w,b)的梯度:∇wL(w,b)=−∑xi∈Myixi , ∇bL(w,b)=−∑xi∈Myi
2. 隨機選取一個誤分類點(xi,yi) , 對w,b進行更新: w←w−λ(−yixi),b←b−λ(−yi)
感知機學習算法的原始形式:
感知機由於採用不同的初值或選取不同的誤分類點順序, 解可以不同
Novikoff定理
設訓練數據集T={(x1,y1),(x2,y2),...,(xn,yn) }是線性可分的, 其中x∈X=Rn,y∈Y={+1,−1} , i=1,2,…,N. 則
1: 存在滿足條件||W||=1的超平面 W*X=wx+b=將訓練數據集完全正確分開; 且存在γ >0, 對所有的i=1,2,…,N, 有yi(W∗X)=yi(w∗xi+b)≥γ . 其中W=(w,b), X=(x,1)
2: 令R=max(X), 則感知機算法在訓練數據集上的誤分類次數k滿足 k≤(Rγ)2
Proof:
設此超平面爲Wopt∗X=wopt∗x+bopt , 使||Wopt||=1 ,因此對於所有的i=1,2,…,N有
yi(Wopt∗Xi)=yi(wopt∗xi+bopt)>0
所以存在
γ=minyi(wopt∗xi+bopt)使得yi(Wopt∗Xi)=yi(wopt∗xi+bopt)≥γ
設感知機算法從
W0 開始,
Wk−1 是第k個誤分類實例之前的權重向量(被正確分類的不需要更新權重向量), 即
Wk−1=(wk−1,bk−1) , 則第k個誤分類實例的條件是
yi(Wk−1∗Xi)=yi(wk−1∗xi+bk−1)≤0
另由梯度下降法有
Wk=Wk−1+λyiXi(wk=wk−1+λyixi;bk=bk−1+λyi)
所以有如下不等式:
WK∗Wopt=Wk−1∗Wopt+λyiXi∗Wopt≥Wk−1∗Wopt+λγ
由以上公式遞推得到: Wk∗Wopt≥Wk−1∗Wopt+λγ≥Wk−2∗Wopt+2λγ≥kλγ
||Wk||2=||Wk−1+λyiXi||2=||Wk−1||2+λ2||Xi||2+2Wk−1∗λyiXi(y2i=1) ≤||Wk−1||2+λ2||Xi||2(0≤λ≤1,yi(Wk−1∗Xi)≤0) ≤||Wk−1||2+λ2R2(R=max(X)) ≤||Wk−2||2+2λ2R2≤…… ≤kλ2R2
向量點積: A∗B=|A||B|cosθ,得到: A∗B≤|A||B|
kλγ≤Wk∗Wopt≤||Wk||∗||Wopt||≤k−−√λR,由此得到: k2γ2≤kR2,即k≤(Rγ)2
以上證明表面: 當訓練數據集線性可分時, 誤分類的次數K是有上限的, 即經過有限次搜索一定可以找到將訓練數據集完全正確分開的分離超平面.
感知機學習算法的對偶形式:
其中的ai=niλ,ni 表示第i個數據被誤分類的次數, 則w,b關於(xi,yi) 的增量分別是aiyixi 和aiyi
w=∑Ni=1aiyixi,b=∑Ni=1aiyi
Gram矩陣: 預先將訓練集中實例間的內積計算出來並以矩陣的形式存儲
對偶形式和原始形式本質是一致的, 對偶形式會事先計算實例間的內積, 所以比原始形式有更快的速度