從人工智能這個詞流行起來之後,神經網絡這個詞也變得家喻戶曉了,不少人想要去學習一下神經網絡方面的知識,但看到神經網絡深奧的概念以及複雜的公式時,也只能放棄。不要驚慌,這篇文章會由淺入深再加例子的形式幫助你理解前饋神經網絡,但願對你有幫助。前端
爲了幫助你更好的理解前饋神經網絡,我會分三部分進行講解:微信
小明的面前有五堆文檔,每一堆都有1000份,其中的四堆已經按照,英語、法語、德語、意大利語分類好,小明如今要作的事情就是將第五堆未分類的文檔進行分類。網絡
小明並無學習過那麼多的語言,因此他如今看到第五堆文檔就頭大。函數
小明如今已經沒有時間去學習這四種語言了,可是小明想到了一個辦法,他先看了一遍已經分好類的四種語言都有哪些特徵,例如英語中的哪些字符是其餘語言中沒有的,意大利語的字母通常都是什麼樣子的。學習
當小明學習完了這些語言的特徵之後,小明就將左側未分類的文檔一個個的看一遍,當他讀取第一篇文檔的時候發現了Ä字符時,就會將這篇文檔放在德語類別中,當看到文檔中有不少的「th」二元字符對的時候,就會將此篇文檔放在英語類別中。人工智能
就這樣小明通過不斷的讀文檔->看特徵->按照特徵分類,最後他將全部的文檔都進行了正確的分類。3d
可是有意思的是小明仍是不懂這幾種語言,可是他仍是可以正確的進行分類。cdn
上面的小明並不懂語言,可是卻作到了正確的分類,接下來咱們使用數學解析一下這個事情。blog
上面的小明並非直接將未分類的1000分文檔進行分類的,他是先學習了一遍已分好類的文檔中都有哪些特徵,若是使用X表明每個文檔中的二元字符對出現的頻率,使用Y表明最終的分類,那麼數學公式能夠這樣表示:文檔
Y英語 = Xaa * Waa英語 + Xab * Wab英語 + Xac * Wac英語 + ...... + Xzz * Wzz英語
Y法語 = Xaa * Waa法語 + Xab * Wab法語 + Xac * Wac法語 + ...... + Xzz * Wzz法語
Y德語 = Xaa * Waa德語 + Xab * Wab德語 + Xac * Wac德語 + ...... + Xzz * Wzz德語
Y意大利語 = Xaa * Waa意大利語 + Xab * Wab意大利語 + Xac * Wac意大利語 + ...... + Xzz * Wzz意大利語
注:W表明權重
對於上面的公式,小明已經知道了X與Y,他學習特徵的目的就是獲取每種語言最優的權重,也就是學習W。
當小明在本身的腦子裏面學習到了W這個體系之後,他就開始對未分類的文檔進行分類了,也就是不斷的輸入X,最後小明使用上面的公式,輸入X和W獲得了文檔的最終分類。
其中W指的就是咱們通俗理解上的模型。小明整個分類的過程就是先使用已知的X與Y求出W,而後再使用已知的X與W求出Y。
對於上面的這種訓練模式咱們叫作有監督學習。
針對於上面文檔分類來講,輸入就是一些待分類的文檔,輸出就是文檔最終所屬的類別,而小明就是做爲黑盒存在,如今讓咱們將這個黑盒打開。
圖中就是前饋神經網絡的一個示意了,爲何叫前饋呢?這是由於每個神經元都只與前一層的神經元相鏈接。
上面的輸入層就是咱們待分類的文檔,輸出層就是文檔的類別,中間的三個隱藏層就是各類特徵的計算。
讓咱們先拿一個輸入神經元與第一層隱藏層中的一個神經元出來:
輸入層的每個神經元都是一個二元字符對的頻率,在獲得第一個隱藏層時將二元字符對頻率乘了一個權重,而且添加了一個偏置項b,公式表示:
NNMLP1(x) = x*W1 + b1
爲了咱們計算的便捷性,須要在神經網絡中使用一些非線性函數處理隱藏層數據,以往常用的非線性函數是sigmoid函數,可是研究人員發如今最後結果的表現上,ReLU(修正線性單元)函數是優於sigmoid函數的。
上圖就是ReLU函數的圖像。
那麼上面的公式就會是:
NNMLP1(x) = Re1(x*W1 + b1)
那麼最後咱們將一層推廣到最終結果時:
NNMLP3(x) = P
h1 = Re1(x*W1 + b1)
h2 = Re2(h1*W2 + b2)
h3 = Re3(h2*W3 + b3)
P = h3 * W3
爲了方便查看上面的公式我將每一層就單獨例舉了出來。
在上面的公式中咱們能夠看到最後的P只是使用h3 * W3,咱們將偏置向量強制爲0.
最終咱們獲得的就是一個關於文檔分類的機率。
值得注意的是,X輸入是一個向量,W是一個向量矩陣,最後獲得的P也是一個向量。
上面咱們經過小明的例子,解釋了一下什麼是前饋神經網絡,以及其公式的表示,對於神經網絡咱們可使用一些已經標記好的數據,訓練獲得一個合適的模型也就是W,而後咱們就能夠將這個模型應用在未知的數據中去。
實際上在應用前饋神經網絡的時候,咱們須要結合本身的訴求來界定隱藏層的層數以及偏置項,而爲了防止過擬合狀況的發生,咱們在訓練的時候也會使用正則化或者丟棄法的方式。