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