神經(jīng)網(wǎng)絡(luò)——后向傳播算法詳解

原文寫于個人博客双戳,歡迎關(guān)注www.xiaolewei.com

前言

所謂神經(jīng)網(wǎng)絡(luò)是一組連接的輸入/輸出單元命咐,類似于人腦中的神經(jīng)細胞谬运,其中每個連接都與一個權(quán)重相關(guān)聯(lián)。學(xué)習(xí)階段通過輸入元組杖狼,不斷的調(diào)整權(quán)重參數(shù),使得它能夠預(yù)測輸入元組的正確類標號妖爷。

所謂類標號蝶涩,是某種類別的標號。

多層前饋神經(jīng)網(wǎng)絡(luò)

后向傳播算法是在前饋神經(jīng)網(wǎng)絡(luò)上進行學(xué)習(xí)絮识。多層前饋神經(jīng)網(wǎng)絡(luò)由一個輸入層绿聘,一個或者多個隱藏層以及一個輸出層組成。


多層前饋神經(jīng)網(wǎng)絡(luò)拓撲機構(gòu)

圖中每個圓即為一個神經(jīng)單元

其中每一層都包含多個單元次舌。輸入層的每個單元對應(yīng)于用于訓(xùn)練的元組的每個觀測屬性熄攘,輸入會提供給輸入層的單元,經(jīng)過加權(quán)后垃它,再提供給隱藏層的單元鲜屏。而隱藏層的輸出可以是另一個隱藏層烹看,也可以是輸出層。實踐中隱藏層通常只有一層洛史。

之所以稱該網(wǎng)絡(luò)為前饋的惯殊,是因為權(quán)重不回送到輸入層或前一層的輸出單元。

這里先說明一下幾個關(guān)鍵字:

權(quán)重

對于一個單元而言也殖,可能同時具有多個輸入土思,顯然所有的輸入并不是同等重要的,可以形象地理解為造成某一結(jié)果的原因占不同的比重忆嗜,例如對于LungCancer己儒,SmokerDrinker顯然前者更容易導(dǎo)致肺癌的產(chǎn)生。這里就會傾向于給予Smoker更大的權(quán)重捆毫。

偏倚

計算各個輸入的權(quán)重和時闪湾,人為的為這個和加上一個參數(shù),這個參數(shù)就是偏倚绩卤。

輸入處理

對于連續(xù)型變量途样,通常采用一些規(guī)范化的方法,將其映射到0-1之間濒憋,如最小-最大化規(guī)范等何暇。

而對于離散化的數(shù)據(jù),則常常重新編碼凛驮,使每個域值都有一個輸入單元裆站。如屬性A的所有可能取值為{a0, a1, a2},則為其分配3個輸入單元黔夭,使用I0,I1,I2表示宏胯,對于某一實例,若A=a1纠修,則將輸入單元I1置為1胳嘲,其余置為0。

單元計算

對于單個單元扣草,其處理過程如下:


圖中yi為上一層單元的輸出值了牛,即本單元的輸入值,wij為該輸入值的權(quán)重辰妙,θj為偏倚鹰祸,擠壓函數(shù)可以簡單的理解為一個將輸入值映射到較小區(qū)間0-1之間。

對于各個輸入值密浑,首先計算權(quán)重和蛙婴,再加上偏倚獲得凈輸入,即:

凈輸入Ij = ∑ yi * Wij + θj

將該結(jié)果作用于擠壓函數(shù)尔破,得到輸出結(jié)果街图。對于擠壓函數(shù)一般使用Logistic函數(shù)浇衬,如:

Oj = 1/(1 + e^(-Ij) )

誤差計算

神經(jīng)網(wǎng)絡(luò)經(jīng)過一次學(xué)習(xí),學(xué)習(xí)到了什么餐济?或者說經(jīng)過一次學(xué)習(xí)耘擂,神經(jīng)網(wǎng)絡(luò)該如何自我調(diào)整,來接近真理絮姆?這就是誤差計算的作用醉冤。誤差計算通過計算更新權(quán)重與偏倚,來使得預(yù)測結(jié)果更接近真相篙悯。

誤差

對于輸出層:

Errj = Oj * (1-Oj) * (Tj-Oj)

Oj 即為該單元的實際輸出蚁阳,而Tj就是該訓(xùn)練樣本的已知目標值。

對于隱藏層:

Errj = Oj * (1-Oj) * ∑ Errk * Wjk

由該單元的輸出單元的誤差權(quán)重和鸽照,和本身輸出組成螺捐。

Oj * (1-Oj) 實際上時Logistic函數(shù)的導(dǎo)數(shù)

權(quán)重與偏倚

計算出誤差后,即可對權(quán)重進行更新矮燎。這里先引入另一個名詞 學(xué)習(xí)率,用l表示,通常取0-1之間的數(shù)归粉,一般將l設(shè)為 1/t,這里的t為已迭代次數(shù)漏峰。

權(quán)重使用如下公式進行更新:

Wij = Wij + l * Errj * Oj

對于偏倚使用如下公式更新:

θj = θj + l * Errj

更新策略

關(guān)于更新策略,有兩種方式届榄,一種是每學(xué)習(xí)一次浅乔,就更新一次,稱為實例更新铝条,另一種是將計算出來的增量累計到變量中靖苇,等訓(xùn)練完所有元組后再更新,稱為周期更新班缰。由于實例更新通常帶來更準確的效果贤壁,所以該方式更為常見。

基本流程

這里先講一個大概流程埠忘,后面使用實際的訓(xùn)練例子脾拆,可以得到更直觀的感受。

首先是對網(wǎng)絡(luò)的一個初始化工作莹妒,包括建立結(jié)構(gòu)名船,將權(quán)重和偏倚初始化為隨機小數(shù)(通常為-1-1之間),輸入訓(xùn)練元組旨怠,根據(jù)計算結(jié)果對權(quán)重和偏倚進行更新渠驼,輸入下一個訓(xùn)練元組,重復(fù)上述過程鉴腻,直到:

  • 前一周期所有ΔW均小于某一閾值
  • 前一周琦誤分類元組小于某一閾值
  • 超過指定周期數(shù)

中一個條件滿足迷扇。

樣例詳解

網(wǎng)絡(luò)結(jié)構(gòu)

輸入值以及各項初始值如下:

x1 x2 x3 w14 w15 w24 w25 w34 w35 w46 w56 θ4 θ5 θ6
1 0 1 0.2 -0.3 0.4 0.1 -0.5 0.2 -0.3 -0.2 -0.4 0.2 0.1

以下計算中百揭,部分相似的過程省略,直接給出結(jié)果蜓席。

計算凈輸入以及輸出值:

單元J 凈輸入Ij 輸出Oj
4 0.2+0-0.5-0.4=-0.7 1/(1+e^(0.7))=0.332
5 -0.3+0+0.2+0.2=0.1 0.525
6 -0.3*0.332-(-0.2) * 0.525+0.1)=-0.105 0.474

計算誤差:

單元j Errj
6 0.474 * (1-0.474) * (1-0.474) = 0.1311
5 0.525 * (1-0.525) * 0.1311 * (-0.2) = -0.0065
4 0.332 * (1-0.332) * 0.1311 * (-0.3) = -0.02087

更新權(quán)重和偏倚:

權(quán)重/偏倚 新值
w46 -0.3 + 0.9 * 0.1311 * 0.332 = -0.261
w56 -0.138
w14 0.2 + 0.9 * (-0.087)* 1 = 0.192
w15 -0.306
w24 0.4
w25 0.1
w34 -0.508
θ6 0.1 + 0.9 * 0.1311 = 0.218
θ5 0.2 + 0.9 * (-0.0065) = 0.194
θ4 -0.408

至此便完成了一個訓(xùn)練元組的迭代器一。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市瓮床,隨后出現(xiàn)的幾起案子盹舞,更是在濱河造成了極大的恐慌,老刑警劉巖隘庄,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件踢步,死亡現(xiàn)場離奇詭異,居然都是意外死亡丑掺,警方通過查閱死者的電腦和手機获印,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來街州,“玉大人兼丰,你說我怎么就攤上這事∷艚桑” “怎么了鳍征?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長面徽。 經(jīng)常有香客問我艳丛,道長,這世上最難降的妖魔是什么趟紊? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任氮双,我火速辦了婚禮,結(jié)果婚禮上霎匈,老公的妹妹穿的比我還像新娘戴差。我一直安慰自己,他們只是感情好铛嘱,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布暖释。 她就那樣靜靜地躺著,像睡著了一般弄痹。 火紅的嫁衣襯著肌膚如雪饭入。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天肛真,我揣著相機與錄音谐丢,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛乾忱,可吹牛的內(nèi)容都是我干的讥珍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼窄瘟,長吁一口氣:“原來是場噩夢啊……” “哼衷佃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蹄葱,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤氏义,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后图云,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惯悠,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年竣况,在試婚紗的時候發(fā)現(xiàn)自己被綠了克婶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡丹泉,死狀恐怖情萤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摹恨,我是刑警寧澤筋岛,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站晒哄,受9級特大地震影響泉蝌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜揩晴,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贪磺。 院中可真熱鬧硫兰,春花似錦、人聲如沸寒锚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刹前。三九已至泳赋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間喇喉,已是汗流浹背祖今。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人千诬。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓耍目,卻偏偏與公主長得像,于是被迫代替她去往敵國和親徐绑。 傳聞我的和親對象是個殘疾皇子邪驮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 每天,記日記要寫四條好的事情跟一條自己做的愚蠢的事情傲茄。 既然要直面自己愚蠢的事情毅访,那么也要坦誠自己的疑惑,而不是想當(dāng)然盘榨。
    對酒幾何閱讀 273評論 0 0
  • APESK的職業(yè)性格測試完整版:http://www.apesk.com/mbti/dati.asp APESK的...
    豆瓣醬jl閱讀 3,802評論 0 0
  • 你說你很忙 我說 我也很忙 都說為了生活 奔走他鄉(xiāng) 你說你 像海中的波 一浪打一浪 我說我 像路上的車 一輛接一輛...
    梧桐瀟雨xt閱讀 133評論 0 0
  • 《故鄉(xiāng)的雨》 很久沒有動筆了较曼,這一次就讓我來說一說雨吧磷斧。 中國自古以來就不乏描繪雨的文...
    我本白丁閱讀 281評論 0 1
  • 有時愛情就像放風(fēng)箏 我對你的愛戀 變成你手中的長長的線 牽扯不斷 我想逃離地面 你卻緊緊牽著線 我想親吻你臉 你卻...
    回憶成繭閱讀 214評論 0 1