神經(jīng)網(wǎng)絡(luò)

本文主要介紹BP算法:

給定訓(xùn)練集D = \{(x_1,y_1),(x_2,y_2),...,(x_m,y_m)\},x_i \in R^d道川,y \in R^l冒萄,即輸入由d個(gè)屬性描述宦言,輸出l維實(shí)值向量。

BP網(wǎng)絡(luò)及算法中的變量符號(hào).jpg

  • 上圖給出了一個(gè)擁有d個(gè)輸入神經(jīng)元、l個(gè)輸出神經(jīng)元鄙信、q個(gè)隱層神經(jīng)元的多層前饋網(wǎng)絡(luò)結(jié)構(gòu)忿晕,其中輸出層第j個(gè)神經(jīng)元的閾值用\theta_j表示,隱層第h個(gè)神經(jīng)元的閾值用\gamma_h表示鸦采。輸出層第i個(gè)神經(jīng)元與隱層第h個(gè)神經(jīng)元之間的連接權(quán)為v_{ih},隱層第h和神經(jīng)元與輸出層第j個(gè)神經(jīng)元之間的連接權(quán)為w_{hj}渔伯。
  • 記隱層第h個(gè)神經(jīng)元接收到的輸入為\alpha=\sum_{i=1}^d v_{ih}x_i,輸出層第j個(gè)神經(jīng)元接收到的輸入為\beta_j = \sum_{h = 1}^qw_{hj}b_h选浑,其中b_h為第h個(gè)神經(jīng)元的輸出古徒。假設(shè)隱層和輸出層的神經(jīng)元激活函數(shù)為sigmoid(x) = \frac{1}{1+e^{-x}}描函。
  • 對(duì)訓(xùn)練例(x_k,y_k)舀寓,假定神經(jīng)網(wǎng)絡(luò)的輸出為\hat{y}_k = (\hat{y}_1^k,\hat{y}_2^k,...,\hat{y}_l^k)互墓,即\hat{y}_j^k = f(\beta_j-\theta_j),則網(wǎng)絡(luò)在(x_k,y_k)上的均方誤差為
    E_k = \frac{1}{2}\sum_{j = 1}^{l}(\hat{y}_j^k-y_j^k)^2
  • BP算法是一個(gè)迭代學(xué)習(xí)算法育谬,在迭代的每一輪中采用廣義的感知機(jī)學(xué)習(xí)規(guī)則對(duì)參數(shù)進(jìn)行更新估計(jì)膛檀,任意參數(shù)v的更新估計(jì)式為
    v \leftarrow v + \Delta v
    BP算法基于梯度下降(gradient descent)策略咖刃,以目標(biāo)的負(fù)梯度方向?qū)?shù)進(jìn)行調(diào)整嚎杨,對(duì)E_k = 1/2\sum_{j = 1}^{l}(\hat{y}_j^k-y_j^k)^2枫浙,給定學(xué)習(xí)率\eta箩帚,有
    \Delta \omega_{hj} = -\eta\frac{\partial E_k}{\partial \omega_{hj}}
    注意到\omega_{hj}先影響到第j個(gè)輸出層神經(jīng)元的輸入值為\beta_j,在影響到輸出值\hat{y}_j^k,然后影響到E_k,有
    \frac{\partial E_k}{\partial \omega_{hj}} = \frac{\partial E_k}{\partial \hat{y}_j^k} \frac{\partial \hat{y}_j^k}{\partial \beta_j} \frac{\partial \beta_j}{\partial \omega_{hj}}
    根據(jù)\beta_j的定義焕参,顯然有
    \frac{\partial \beta_j}{\partial \omega_{hj}} = b_h
    Sigmoid函數(shù)有一個(gè)很好的性質(zhì):
    f(x)' = f(x)(1-f(x))
    那么有
    g_j = -\frac{\partial E_k}{\partial \hat{y}_j^k}\frac{\partial \hat{y}_j^k}{\beta_j} = -(\hat{y}^k_j - y_j^k)f'(\beta_j-\theta_j) = \hat{y}_j^k(1-\hat{y}_j^k)(y_j^k-\hat{y}_j^k)
    因此有:
    \Delta \omega_{hj} =\eta g_j g_h
  • 類似地,有
    輸出層神經(jīng)元的閾值:\Delta \theta_j = -\eta g_j
    輸入層到隱層的連接權(quán):\Delta v_{ih} = \eta e_h x_i
    隱層神經(jīng)元的閾值:\Delta \gamma_h = -\eta e_h
    其中涩嚣,
    e_h = -\frac{\partial E_k}{\partial b_h} \frac{b_h}{\alpha_h} = -\sum_{j = 1}^l \frac{\partial E_k}{\partial \beta_j}\frac{\beta_j}{\partial b_h}f'(\alpha_h - \gamma_h) = \sum_{j = 1}^l \omega_{hj}g_j f'(\alpha_h - \gamma_h) = b_h(1-b_h)\sum_{j = 1}^l \omega_{hj}g_j
  • 學(xué)習(xí)率\eta \in (0,1)控制著算法在每一輪迭代中的更新步長(zhǎng),若太長(zhǎng)則容易震蕩幔睬,太小則收斂速度又會(huì)過慢麻顶。

  • 輸入
    訓(xùn)練集D= \{(x_k,y_k)\}_{k = 1}^m;
    學(xué)習(xí)率\eta.
  • 過程
    1:在(0,1)范圍內(nèi)隨機(jī)初始化網(wǎng)絡(luò)中所有連接權(quán)和閾值
    2:Repeat
    3:\quadfor all (x_k,y_k)\in D do
    4:\qquad 根據(jù)當(dāng)前參數(shù)和\hat{y}_j^k = f(\beta_j-\theta_j)計(jì)算當(dāng)前樣本的輸出\hat{y}_k;
    5:\qquad 根據(jù)式g_j = \hat{y}_j^k(1-\hat{y}_j^k)(y_j^k-\hat{y}_j^k)計(jì)算輸出神經(jīng)元的梯度項(xiàng)g_j
    6:\qquad 根據(jù)式e_h =b_h(1-b_h)\sum_{j = 1}^l \omega_{hj}g_j計(jì)算隱層神經(jīng)元的梯度項(xiàng)e_h;
    7:\qquad 根據(jù)式\Delta \omega_{hj} =\eta g_j g_h舱卡、\Delta \theta_j = -\eta g_j辅肾、\Delta v_{ih} = \eta e_h x_i\Delta \gamma_h = -\eta e_h更新連接權(quán)\omega_{hj}轮锥、v_{ih}與閾值\theta_j矫钓、\gamma_h;
    8:\quad end for
    9:until 達(dá)到停止條件。
  • 輸出
    連接權(quán)與閾值確定的多層前饋神經(jīng)網(wǎng)絡(luò)舍杜。

需注意的是份汗,BP算法的目標(biāo)是要最小化訓(xùn)練集D上的累積誤差
E = 1/m \sum_{k = 1}^m E_k
標(biāo)準(zhǔn)的BP算法每次針對(duì)一個(gè)訓(xùn)練樣例更新連接權(quán)和閾值。換言之蝴簇,算法的更新規(guī)則是基于單個(gè)的E_k推到而得的旁钧。如果類似地推到基于累積誤差最小化的更新規(guī)則颜矿,就得到了累積誤差逆?zhèn)鞑?accumulated error backpropagation)算法替废。
一般來說兽赁,標(biāo)準(zhǔn)BP算法每次更新只針對(duì)你單個(gè)樣例亮钦,參數(shù)更新得非常頻繁,而且對(duì)不同樣例進(jìn)行更新得效果可能出現(xiàn)抵消現(xiàn)象。因此荤堪,為了達(dá)到同樣的累積誤差極小點(diǎn)碎赢,標(biāo)準(zhǔn)BP算法往往需要進(jìn)行更多次數(shù)的迭代枕赵。累積BP算法直接針對(duì)累積誤差最小化篮昧,它在讀取整個(gè)訓(xùn)練集D一遍后才對(duì)參數(shù)進(jìn)行更新挽鞠,其參數(shù)更新得頻率低得多。

可以證明:多層前饋網(wǎng)絡(luò)若包含足夠多神經(jīng)元的隱含層,則它可以以任意精度逼近任意復(fù)雜度的連續(xù)函數(shù)。

BP神經(jīng)網(wǎng)絡(luò)十分強(qiáng)大,因此可能出現(xiàn)過擬合現(xiàn)象沽讹。這時(shí)有兩種策略可以緩解過擬合現(xiàn)象:

  • “”早椭课粒”策略:將數(shù)據(jù)集分成訓(xùn)練集和驗(yàn)證數(shù)據(jù)集兩類侧漓,訓(xùn)練集用于計(jì)算梯度、更新連接權(quán)重和閾值;驗(yàn)證集用于估計(jì)誤差,如果訓(xùn)練集誤差降低而驗(yàn)證集誤差上升搓蚪,則停止訓(xùn)練。同時(shí)返回具有最小驗(yàn)證集誤差的連接權(quán)重和閾值佑女。
  • “正則化”策略:修改誤差目標(biāo)函數(shù)為:
    E = \frac{1}{N}\sum_{k = 1}^N E_k + \lambda\sum_i w_i^2
    其中w_i表示連接權(quán)重和閾值嚎花;\lambda >0表示對(duì)經(jīng)驗(yàn)誤差和網(wǎng)絡(luò)復(fù)雜度的折中;即\lambda\sum_i w_i^2刻畫了網(wǎng)絡(luò)復(fù)雜度噪生。

[ 神經(jīng)網(wǎng)絡(luò)的基本工作原理]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弥鹦,一起剝皮案震驚了整個(gè)濱河市幻赚,隨后出現(xiàn)的幾起案子滋戳,更是在濱河造成了極大的恐慌,老刑警劉巖剃法,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異碑诉,居然都是意外死亡唠帝,警方通過查閱死者的電腦和手機(jī)懂扼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門陷嘴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來劳澄,“玉大人妹懒,你說我怎么就攤上這事歉提〉烟梗” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵苔巨,是天一觀的道長(zhǎng)版扩。 經(jīng)常有香客問我,道長(zhǎng)侄泽,這世上最難降的妖魔是什么礁芦? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮悼尾,結(jié)果婚禮上柿扣,老公的妹妹穿的比我還像新娘。我一直安慰自己闺魏,他們只是感情好未状,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著析桥,像睡著了一般司草。 火紅的嫁衣襯著肌膚如雪艰垂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天埋虹,我揣著相機(jī)與錄音猜憎,去河邊找鬼。 笑死搔课,一個(gè)胖子當(dāng)著我的面吹牛拉宗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辣辫,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼旦事,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了急灭?” 一聲冷哼從身側(cè)響起姐浮,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎葬馋,沒想到半個(gè)月后卖鲤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡畴嘶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年蛋逾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窗悯。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡区匣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蒋院,到底是詐尸還是另有隱情亏钩,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布欺旧,位于F島的核電站姑丑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏辞友。R本人自食惡果不足惜栅哀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望称龙。 院中可真熱鬧留拾,春花似錦、人聲如沸茵瀑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)马昨。三九已至竞帽,卻和暖如春扛施,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背屹篓。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工疙渣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人堆巧。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓妄荔,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親谍肤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子啦租,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

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

  • 神經(jīng)網(wǎng)絡(luò) 原理 《機(jī)器學(xué)習(xí)》周志華 5.1 神經(jīng)元模型 神經(jīng)網(wǎng)絡(luò)中最0基本的成分是神經(jīng)元(neuron)模型。 M...
    hxiaom閱讀 1,068評(píng)論 0 0
  • 1. 章節(jié)主要內(nèi)容 今天讓我們來好好理解一下機(jī)器學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò)算法吧荒揣,其中多隱含層的神經(jīng)網(wǎng)絡(luò)算法就是目前最熱的深...
    閃電隨筆閱讀 2,888評(píng)論 1 7
  • 神經(jīng)網(wǎng)絡(luò) 1 神經(jīng)元模型 神經(jīng)網(wǎng)絡(luò)是由具有適應(yīng)性的簡(jiǎn)單單元組成的廣泛并行互連網(wǎng)絡(luò)篷角,它的組織能夠模擬生物神經(jīng)系統(tǒng)對(duì)真...
    edwin1993閱讀 1,652評(píng)論 0 0
  • 新圖678年,恒國(guó)在經(jīng)歷了三任君王的努力下系任,終于完成了新圖北陸的統(tǒng)一恳蹲。第四任君王,魯龍·佑安俩滥,接過父親手中的權(quán)杖嘉蕾,...
    古溪越閱讀 259評(píng)論 2 2
  • 今天去吃面,看見路上的青菜特別好吃霜旧,就買了一把错忱,到吃飯的時(shí)候讓煮熟,然后
    Jinyuba閱讀 134評(píng)論 0 0