Andrew Ng 機器學習筆記 09 :神經網路
非線性假設
對於許多實際的機器學習問題,特徵個數n是很大的。
隨著特徵數量n的增加,二次項的個數大約以 的量級增長,此時包含所有的二次項是困難的,如果我們還要引入三次項,那麼我們的項的個數將以 的量級增長。
而項數過多時,結果很有可能過擬合。此外,這裡也存在運算量過大的問題。
神經網路邏輯單元
在一個計算機的神經網路裡,我們將使用一個非常簡單的模型來模擬神經元的工作:
黃色的圓圈,可以理解為類似神經元的東西,然後我們通過它的樹突(或者說是它的輸入神經)傳遞給它一些資訊。然後神經元做一些計算,並通過它的輸出神經(即它的軸突)輸出計算結果。
這裡的
通常值的是:
繪製一個神經網路時,有時會額外增加一個 的輸入節點,這個 節點有時也被稱作偏置單位(或偏置神經元)。但由於 ,是否畫出它,取決於它是否對例子有利。
激勵函式
神經網路中的激勵函式(activation function),只是對類似非線性函式g(z)的另一個術語稱呼:
在之前我們一值稱 為模型的引數,但在神經網路的文獻裡,有時會稱 為模型的權重(weight)。
輸入層,輸出層,隱藏層
- 第一層也被稱為輸入層,因為我們在這一層輸入我們的特徵項 , 和 ,當然我們也可以加入值為1的 。
中間層有三個神經元: , 和 ,同理,你可以加上值永遠為1的偏置單元 。
中間層,也被稱為隱藏層,隱藏層的值在訓練過程中是看不到的,所以叫它隱藏層。神經網路可以有不止一個的隱藏層。在神經網路中,任何一個非輸入層且非輸出層,就被稱為隱藏層。
最後一層,也被稱為輸出層,因為這一層的神經元會輸出假設函式的最終計算結果 。
前向傳播(forward propagation)的向量化實現
表示第j層的第i個神經元,表示的是第 層的第 個激勵。
把隱藏層的三個神經元的計算結果都寫出來: