1. 程式人生 > >9、神經網絡

9、神經網絡

傳輸 href 技術 合並 http 傳輸數據 nbsp ali sum函數

神經網絡是一種模擬人腦的神經網絡,期望能夠實現類人的人工智能機器學習技術。

一、經典神經網絡模型

這個模型包含三個層次的神經網絡,紅色是輸入層(3個輸入單元),綠色是輸出層(2個單元),紫色是隱藏層(4個單元)

技術分享圖片

神經網絡模型知識點:

  • 輸入層和輸出層的節點數一般是固定的,隱藏層可以自由設定
  • 神經網絡結構圖的拓撲與箭頭代表預測過程數據的流向,和訓練的數據流有一定的區別
  • 結構圖的關鍵不是神經元(圖中圓圈),而是連接線(圖中圓圈的連接線),每個連接線對應一個不同的權重(值稱為權值),權重是訓練得到

二、神經元模型

神經元包含輸入、輸出和計算功能的模型,下圖包含3個輸入、1個輸出、以及二個計算功能的模型

技術分享圖片

連接是神經元中最重要的東西,每個連接上都有一個權重。

神經網絡算法就是讓權重值調整到最佳,以到達模型預測的效果最好。

使用a表示輸入特征變量,w來表示權重值,一個連接的有向箭頭表示:a經過連接加權變成了aw

技術分享圖片

對於多特征變量的神經元模型,如下圖,其中:z = g(a1w1+a2w2+a3w3)為輸出計算公式

技術分享圖片

在MP模型裏,函數g是sgn函數:當輸入大於0時輸出為1,小於0是輸出為0

把sum函數和sgn函數合並,神經元可以看作一個計算和存儲單元,計算是神經元對輸入進行計算,存儲是神經元會暫存計算結果,並傳遞到下一層。

技術分享圖片

整個模型就是對函數:z = g(a1w1+a2w2+a3w3)結果的預測,通過已知的樣本a1,

a2,a3特征和對應的標簽z1,z2,z3,得出最優的w1,w2,w3權重,最後預測出z標簽值

三、單層神經網絡

在MP模型的輸入位置添加神經元節點,標誌其為輸入單元(負責傳輸數據,不計算),輸出層的輸出單元需要對前一層對輸入進行計算。

技術分享圖片

有兩個輸出單元的模型,用wx,y來表達一個權值。下標中的x代表後一層神經元的序號,而y代表前一層神經元的序號(序號的順序從上到下)。

技術分享圖片

分析圖上兩個公式,可以向量化:

輸入特征變量:a = [a1 a2 a3]T(T代表轉置矩陣),預測值:z = [z1 z2]T,權重矩陣W(2X3矩陣)

輸出公式向量化表示: z = g(Wa) (神經網絡前一層計算後一層的矩陣運算)

神經網絡類似一個logistic回歸,可以做分類任務。決策界限表示分類效果

技術分享圖片

四、兩層神經網絡模型

兩層神經網絡包含一個輸入層、一個輸出層和一個隱藏層,隱藏和輸出層都是計算層。

ax(y)代表第y層的第x個節點。z1,z2變成了a1(2),a2(2)。下圖給出了a1(2),a2(2)的計算公式

技術分享圖片

技術分享圖片

技術分享圖片

使用矩陣來進行向量化,a1,a2,z是網絡傳輸的向量數據,W1和W2是網絡的矩陣參數

a2 = g(W1a1)

z = g(W2a2)

由此可見,使用矩陣來向量化不會受到節點的數量影響,因此神經網絡大量使用矩陣運算來描述。

偏置節點:它本質上是一個只函數存儲功能,切存儲值永遠為1的單元,除了輸出層外,神經網絡的每個層都含有一個偏置單元,跟線性回歸模型和邏輯(logistic)回歸模型相同。

偏置單元與後一層的所有節點都有連接,設參數為向量b,稱為偏置

技術分享圖片

偏置節點沒有輸入,在考慮偏置後神經網絡的矩陣運算:

a2 = g(W1a1 + b1)

z = g(W2a2 + b2)

g函數為sigmoid函數又稱logistic函數、激活函數:g(x) = 1/(1+e-x),輸入大於0時輸出為1,小於0是輸出為0。

理論證明,兩層神經網絡可以無限逼近任意連續函數

隱藏層的節點數設計

在設計一個神經網絡是,輸入層的節點數需要與特征的維度匹配,輸出層的節點數也要與目標的維度匹配,而隱藏層的節點數,由設計者指定,但是節點數設置多少,卻會影響模型的效果,如何決定這個自由層的節點數呢?目前業界沒有完善的理論來指導這個決策。一般是根據經驗來設置。較好的方法就是預先設定幾個可選值,通過切換這幾個值來看整個模型的預測效果,選擇效果最好的值作為最終選擇。這種方法又叫做Grid Search(網格搜索)

了解了兩層神經網絡的結構以後,我們就可以看懂其它類似的結構圖。例如EasyPR字符識別網絡架構(下圖)。

技術分享圖片

EasyPR使用了字符的圖像去進行字符文字的識別。輸入是120維的向量。輸出是要預測的文字類別,共有65類。根據實驗,我們測試了一些隱藏層數目,發現當值為40時,整個網絡在測試集上的效果較好,因此選擇網絡的最終結構就是120,40,65。

參考:

1、《機器學習》(吳恩達)

2、計算機的潛意識:https://www.cnblogs.com/subconscious/p/5058741.html

9、神經網絡