Multi-linear classification(MLP)多層神經網絡基礎原理

感知器vol.2

線性分類不能分隔非線性的邊界,可以用多個超平面來取代單個超平面


如圖簡單示意合併兩個超平面對數據進行分類
對hyperplane A和B的輸出zA和zB,計算以0爲臨界值
取h+1個神經元可以構成一個multi-linear classifier,其中h個hyperplane作邊界分割,1個作爲h個hyperplane的混合器

用不同的方式將神經元組合在一起,所形成的感知器就叫做 multi-layer perceptron (MLP)


xi是點X輸入的各方向的座標,yi是第一層的輸出,z是整個感知器的輸出,vi,j是從xi到yj的係數,wi是從yi到z的係數,由此我們得到一個MLP模型

MLP learning
多層的學習方式和單層類似:
每次取單點計算Error並通過改變hyperplane來降低error,並重復該過程

我們將兩層的係數分別計爲vb,a和wb,通過這兩個係數的偏導數來減小eout
下面的表達式中v的下標b,a,b代表到處的因子爲yb,導入的因子爲xa。
像delta rule一樣,我們通過一階偏導數修正v和w
於是有,z是經過當前模型計算後得出的值,z*是訓練樣本中的原值。令yh和xn等於1
同理可得關於vb,a的一階偏導數
更新過程和linear classification一樣,同樣是步驟t的係數值加上偏導數與learning rate的乘積

Back-propagation algorithm
該算法用於計算怎麼樣高效地將b和w係數收斂到合理值
第一遍將y和z的值按一遍的順序算出,並計算出關於各個維度的偏導數
再計算,展開講依次求出y0到yn的值和其偏導數,接着,求出,繼而
完成更新步驟
其餘和linear classification的循環類似

可以將Retro-propagation algorithm 可以作爲迴歸算法
輸入值爲一系列輸入點X
一系列對於每一個點X的value值
調用back-propagation減少error

MLP對範圍有要求[-1,1]之間,如果輸入值大於範圍,則MLP會丟失信息
過多的神經元會導致過擬合,並對數據中的噪音較敏感

training error:在對數據進行迴歸時的誤差,有最小值
testing error:在training中沒有用到的點誤差,當到達最小值後升高
發佈了23 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章