統(tǒng)計(jì)學(xué)習(xí)方法(2)-感知機(jī)

感知機(jī)是二類分類的線性分類模型,其輸入為實(shí)例的特征向量,輸出為實(shí)例的類別{-1,1},是一種判別模型。感知機(jī)學(xué)習(xí)的目的在于求出將訓(xùn)練數(shù)據(jù)進(jìn)行劃分的超平面。

  • 感知機(jī)模型


輸入空間X\epsilon R^{n},輸出空間\gamma =\left \{ -1,1 \right \}。
f(x)=sign(w\cdot x+b) x為輸入向量,其中,wb為感知機(jī)模型參數(shù),w\cdot b表示內(nèi)積,sign是符號(hào)函數(shù)。感知機(jī)的幾何角度理解是:w\cdot x+b=0是特征空間R^{n}的一個(gè)超平面,w是該平面的法向量,b是截距。這個(gè)超平面將特征空間劃分為正負(fù)兩個(gè)部分,如下圖。

  • 感知機(jī)學(xué)習(xí)策略


感知機(jī)學(xué)習(xí)的目的是為了找到能夠?qū)⒄?fù)實(shí)例點(diǎn)正確分開的超平面,也就是要確定參數(shù)wb,感知機(jī)的學(xué)習(xí)策略便是定義一個(gè)損失函數(shù)并將其最小化。于是便要選擇一個(gè)損失函數(shù)的依據(jù),可以選擇誤分類的點(diǎn)的數(shù)量作為損失函數(shù),然而該函數(shù)不可導(dǎo),不易于優(yōu)化,因此選擇誤分類點(diǎn)到超平面的距離和:\frac{\left | w\cdot x +b \right |}{\left \| w \right \|} 此處{\left \| w \right \|}w的第二范數(shù)。注意需要優(yōu)化的只是誤分類的點(diǎn),對(duì)于誤分類的點(diǎn)有,-y_i(w\cdot x + b)>0恒成立,因此可去掉絕對(duì)值符號(hào),并假設(shè)當(dāng)前超平面的誤分類的點(diǎn)的集合為M,由此得到感知機(jī)學(xué)習(xí)的損失函數(shù)為L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b) 其中M為誤分類的點(diǎn)的集合。顯然該損失函數(shù)是非負(fù)的,當(dāng)沒有誤分類的點(diǎn)時(shí)L(w,b)=0.只需將損失函數(shù)優(yōu)化到0即得到該分類超平面,不過由該方法得到的超平面的解不是唯一的(顯然只需要能夠正確分類時(shí)算法即停止)。

  • 感知機(jī)學(xué)習(xí)算法


感知機(jī)所用優(yōu)化方法是隨機(jī)梯度下降法,包括原始形式和對(duì)偶形式。

  1. 原始形式

前面已經(jīng)確定了感知機(jī)的損失函數(shù),那么其原始形式只需要最小化這個(gè)損失函數(shù)即可。
\underset{w,b}{min}L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x+b)其中M為誤分類的點(diǎn)的集合。
隨機(jī)梯度下降法初始時(shí)任選w_0,b_0作為初始超平面,計(jì)算有哪些誤分類點(diǎn),如果有誤分類點(diǎn),隨機(jī)選取一個(gè)誤分類點(diǎn),進(jìn)行梯度下降。即先計(jì)算損失函數(shù)的梯度
\begin{aligned} \triangledown _wL(w,b)&=-\sum_{x_i\in M}y_ix_i \\ \triangledown_wL(w,b)&=-\sum_{x_i\in M}y_i \end{aligned}梯度下降法使參數(shù)向反方向變化,使用隨機(jī)選出的誤分類點(diǎn)的數(shù)據(jù),根據(jù)提前設(shè)置好的學(xué)習(xí)率\eta對(duì)w,b進(jìn)行更新就可以了
\begin{aligned} w& \leftarrow w+\eta y_ix_i \\ b& \leftarrow b+\eta y_i \end{aligned}這樣便可使損失函數(shù)不斷減小,直到為0時(shí)就得到了可正確分類數(shù)據(jù)集的超平面。

  1. 對(duì)偶形式

在原始形式的學(xué)習(xí)算法中,可以看到每次更新w,b的數(shù)值都是選中的點(diǎn)(x_i,y_i)的線性組合,那么w,b必然可以用(x_i,y_i)線性表示,這樣我們可以通過求解該線性組合的系數(shù)找到該超平面。對(duì)上節(jié)w,b的更新中,設(shè)總共修改N次,可將每次w,b增量表示為\alpha _iy_ix_i,\alpha _iy_i,其中\alpha = n_i\eta,假設(shè)w_0=b_0=0(這無關(guān)線性)。于是更新過程表示為
\begin{aligned} w&=\sum_i\alpha _iy_ix_i\\ b&=\sum_i \alpha _iy_i \end{aligned}這里\alpha _i=n_i\eta _i的含義是在該學(xué)習(xí)率下(x_i,y_i)在最后學(xué)習(xí)到的w,b中所貢獻(xiàn)的權(quán)重,就是最后平面的w,b的系數(shù),也是因該點(diǎn)誤分類也進(jìn)行更新的次數(shù)*\eta。由此,感知機(jī)模型可由\alpha ,b表出。
f(x)=sign(\sum_j\alpha _jy_j\cdot x + b)在判斷是否是誤分類點(diǎn)時(shí)用
y_i(\sum _j\alpha _jy_jx_j\cdot x_i + b)\leqslant 0更新時(shí)
\begin{aligned} \alpha _i &\leftarrow \alpha _i +\eta\\ b &\leftarrow b + \eta y_i \end{aligned}可以看到該計(jì)算過程中訓(xùn)練數(shù)據(jù)全部由內(nèi)積得到,因此可以提前將內(nèi)積計(jì)算出來由矩陣存儲(chǔ),可以減少算法過程中的計(jì)算量,這是Gram矩陣。G= [x_i \cdot x_j]_{N*N}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容