从实例到数理来解析感知机学习算法(PLA)
?轉載請注明出處:https://www.cnblogs.com/chenzhihong294/p/11329669.html
?
先給出一個實例:
?
?
學生評判系統(tǒng)升級,現(xiàn)在評選一個學生是否優(yōu)秀需要從學科成績、科研成績、競賽成績、體育素質......等n個角度來評測、每一個角度所占的評選標準比例又不一樣。我們如何根據(jù)上一屆優(yōu)秀學生各方面成績來設定各角度權比和優(yōu)秀標準、完善評判系統(tǒng),從而判斷一個同學是否優(yōu)秀呢?
?
?我們可以將該問題轉化為以下形式:
?
每個同學有n個評測角度(x),每個評測角度有不同的標準占比(w),當該學生得分超過某一門檻(threshold)時即可判定其為優(yōu)秀,我們需要根據(jù)上一屆優(yōu)秀學生和非優(yōu)秀學生的樣本,找到最合理的w和threshold來構建評判系統(tǒng)。
?
首先數(shù)學化該問題:
?
如果該同學判定為優(yōu)秀,則:
反之,若判定不優(yōu)秀,則:
?
?
如果判定為優(yōu)秀,我們將其value設為1,反之設為-1,則可以用到該函數(shù):
?
?
故,我們可以將其改寫為以下形式:
?
只需判斷h(x)為 1 或者 -1 即可判定該同學是否優(yōu)秀。
對此我們可以進一步化簡,將:
?
所以,函數(shù)可以寫為:
?
至此,問題數(shù)學化結束。
如何利用函數(shù)判定一位同學優(yōu)秀與否:
?
對此,為了更加直觀的面對該問題,我們假定只從兩個角度來判定,即n=2,原式拆解后為:
?
可以看到函數(shù)中,我們用x代替x1,用y代替x2,用c代替threshold后,它變成了:
?
更具體一點,如下所示,我們用圖像來可視化它:
?
是的,它變成了二維平面上的一條直線,在直線上方的最終函數(shù)值為1,直線下方的最終函數(shù)值為-1。
原來判定一位同學是否優(yōu)秀的問題變成了“怎么找到一條直線將優(yōu)秀的同學和不優(yōu)秀的同學分開”。
如何找到合適的w來完成模型構建:
?
設當前時刻為t,利用當前的h(x)遍歷每一個樣本 (xn(t),yn(t)) ,當發(fā)現(xiàn)錯誤時,即:
?
便修正w以盡量滿足符合當前樣本,具體修正方式如下:
?
為什么要這樣修正呢,解釋如下:
首先,向量點積有以下公式:
所以
因為前兩項的值都為正,所以整個式子的正負情況只與兩向量的夾角余弦值有關。
?
當y=+1,但兩向量夾角大于90°,余弦值為負時,可以縮小兩向量間的夾角大小,從而進行修正。
當y=-1,但兩向量夾角小于90°,余弦值為正時,可以擴大兩向量間的夾角大小,從而進行修正。
?
?
所以,經(jīng)過不斷地修正,可以得到一個完美的直線,區(qū)分優(yōu)秀的同學和不優(yōu)秀的同學。
如以下動圖展示的過程,我們設藍圈為優(yōu)秀的同學,紅叉為不優(yōu)秀的同學,9次修成后,便得到了最優(yōu)的分割線。
?
使用PLA需要注意的條件:
?
理論上該算法是構建一個n-1維的超平面在n維空間上進行二分類。
兩組樣本必須是線性可分的,不然算法永遠找不到一個最優(yōu)超平面,也代表它永遠不會停止迭代,算法無解。
?
?
以上就是PLA的全部過程,小伙伴門有建議可以在下方評論。
如有需要,后續(xù)博主會根據(jù)情況補充PLA的其他形式或者其他解析方法。
?
轉載于:https://www.cnblogs.com/chenzhihong294/p/11329669.html
總結
以上是生活随笔為你收集整理的从实例到数理来解析感知机学习算法(PLA)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]基于 aspnet 的自动合并输出
- 下一篇: XPath 学习