
神經網絡入門之bp算法,梯度下降
本人作為一個想進行NLP研究的新手,看了很多網絡上很好的神經網絡的入門代碼和數(shù)學原理。但是個人數(shù)學比較爛,很多東西想了很久才想明白,又害怕忘掉。為此寫下這篇大白話入門篇作為自己學習的一個記錄,也想為跟我同樣想入門的同學們一個參考。希望有問題多多交流。
備注:很多內容都是本人自己想當然的結果,有錯誤的話,望大神們多多指教。
廢話都說完了本文將從一個最簡單一個BP網絡開始講起。
bp網絡的bp(back propagation)中文就是反向傳播的意思,為什么反向傳播呢。是為了將配合梯度下降法進行迭代求出好的結果。這個會稍后講解。
上圖來自百度圖片(懶得畫了)
x為輸入,w為權重,這個f(x)被稱為激活函數(shù)(activation function)。如sigmoid,tanh等。他們的特點有一個就是可以容易的求出他們的導數(shù)(很關鍵)。激活函數(shù)的意義可以看這篇神經網絡激勵函數(shù)的作用是什么?有沒有形象的解釋?
可以看到輸出的o = f(w1x1+w2x2+w3x3+w4x4) = f(∑WiXi)。
第一次運算的結果很明顯就是上邊的o。但是此時問題出來了,運算出來的o和實際的結果肯定式有誤差的,該如何利用這個誤差優(yōu)化這個運算呢?也就是得到好的w呢?
此時就出現(xiàn)了反向傳播這個過程。而配合反向傳播的就是梯度下降法了。
現(xiàn)在很多同學可能會很暈,當時我第一次看的時候也很暈。
為了容易理解梯度下降法,建議去看Ng的斯坦福網課第二節(jié),非常清楚。比我寫的清楚多了。
梯度下降法是求(局部)最好的w。
設誤差函數(shù)為:
y為實際結果,o為預測結果。
設激活函數(shù)f(x)為sigmoid函數(shù),此時就可以很方便的求出其導數(shù)了(其他激活函數(shù)也是一樣)
所以我們要求的就是J最小的時候wi的值。a是變化的速率。下式就可以比作從山頂走到山底的過程,而a表示行走的步長或者是速率。
此時可以發(fā)現(xiàn)每一項都是可以求出的,則經過多次運算,可以求出好的Wi
一般我們把前兩項作為
此時我們可以發(fā)現(xiàn)
上邊介紹完了梯度下降,現(xiàn)在再說反向傳播理由。其實很簡單了。它用的就是鏈式法則。我們第一步是前向傳播,進行一系列運算得到了預測結果o。為了使用梯度下降法,我們需要得到,上邊需要的delta,也就是說 J 這個誤差函數(shù)。因為實際結果我們知道,而激活函數(shù)的導數(shù)我們也知道怎么運算。所以我們得到預測結果o時,delta就可以求出來。而delta屬于輸出層的運算,再乘以輸入層的Xi就能得到?
Wi,進一步更新Wi。
很明顯可以看出整個一輪的運算是:
前向傳播:
輸入層—-w—》輸出層(sigmoid)—-》預測結果
后向傳播:
誤差—》輸出層(sigmoid)求導—-》輸入層—–》更新Wi
換句話說,BP算法就是提供了給梯度下降法所需要的所有值。
由鏈式法則可知,如果網絡層數(shù)為3層以上時也可以得到每層的delta。
用python代碼來說:
layer_n_delta = layer_n+1_delta.dot((W_n_n+1).T)
(W_n_n+1) += (Xn).T.dot(layer_n+1_delta)
上邊有很多符號有點問題,但是我覺得閱讀應該沒有什么障礙。因為第一次用這個marddown編輯器,很多東西不好弄。
數(shù)據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關鍵? 在循環(huán)神經網絡(RNN)家族中,長短期記憶網絡(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據分析師報考條件詳解與準備指南? ? 在數(shù)據驅動決策的時代浪潮下,CDA 數(shù)據分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據透視表中兩列相乘合計的實用指南? 在數(shù)據分析的日常工作中,數(shù)據透視表憑借其強大的數(shù)據匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據分析師:連接數(shù)據與業(yè)務的價值轉化者? ? 在大數(shù)據與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預測分析中的應用:從數(shù)據查詢到趨勢預判? ? 在數(shù)據驅動決策的時代,預測分析作為挖掘數(shù)據潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據查詢結束后:分析師的收尾工作與價值深化? ? 在數(shù)據分析的全流程中,“query end”(查詢結束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據分析師考試:從報考到取證的全攻略? 在數(shù)字經濟蓬勃發(fā)展的今天,數(shù)據分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據背后的時間軌跡? 在數(shù)據分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據類型:時間維度的精準切片? ? 在數(shù)據的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據分析中的核心應用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據分析師認證考試中,Python 作為數(shù)據處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據趨勢與突變分析的有力工具? ? ? 在數(shù)據分析的廣袤領域中,準確捕捉數(shù)據的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據分析師認證作為國內權威的數(shù)據分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應對策略? 長短期記憶網絡(LSTM)作為循環(huán)神經網絡(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學方法在市場調研數(shù)據中的深度應用? 市場調研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學方法則是市場調研數(shù) ...
2025-07-07CDA數(shù)據分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當下,數(shù)據已成為企業(yè)決策、行業(yè)發(fā)展的核心驅動力,數(shù)據分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據分析師考試作為衡量數(shù)據專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉日期:解鎖數(shù)據處理的關鍵技能? 在數(shù)據處理與分析工作中,數(shù)據格式的規(guī)范性是保證后續(xù)分析準確性的基礎 ...
2025-07-04CDA 數(shù)據分析師視角:從數(shù)據迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據已成為企業(yè)決策的核心驅動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據分析師:開啟數(shù)據職業(yè)發(fā)展新征程? ? 在數(shù)據成為核心生產要素的今天,數(shù)據分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03