Neural Network Representation
我們以圖示的方式來介紹單隱藏層的神經網路結構。如下圖所示,單隱藏層神經網路就是典型的淺層(shallow)神經網路
從左到右,可以分成三層:輸入層(Input layer),隱藏層(Hidden layer)和輸出層(Output layer)。輸入層和輸出層,顧名思義,對應著訓練樣本的輸入和輸出,很好理解。隱藏層是抽象的非線性的中間層,這也是其被命名為隱藏層的原因
在寫法上,我們通常把輸入矩陣$X$記為$a^{[0]}$,把隱藏層輸出記為$a^{[1]}$,上標從0開始。下標表示第幾個神經元,注意下標從1開始。例如$a_1^{[1]}$表示隱藏層第一個神經元,$a_2^{[1]}$表示隱藏層的第2個神經元......那麼,隱藏層的4個神經元就可以將其輸出$a^{[1]}$寫成矩陣的形式
$$ a^{[1]} = \left[ \begin{array}{ccc} a^{[1]}_{1}\\ a^{[1]}_{2}\\ a^{[1]}_{3}\\ a^{[1]}_{4} \end{array} \right] $$
最後,相應的輸出層記為$a^{[2]}$,即$\hat y$。這種單隱藏層神經網路也被稱為兩層神經網路(2 layer NN)。之所以叫兩層神經網路是因為,通常我們只會計算隱藏層輸出和輸出層的輸出,輸入層是不用計算的。這也是我們把輸入層層數上標記為0的原因($a^{[0]}$)
關於隱藏層對應的權重$W^{[1]}$和常數項$b^{[1]}$,$W^{[1]}$的維度是(4,3)。這裡的4對應著隱藏層神經元個數,3對應著輸入層$X$特徵向量包含元素個數。常數項$b^{[1]}$的維度是(4,1),這裡的4同樣對應著隱藏層神經元個數
關於輸出層對應的權重$W^{[2]}$和常數項$b^{[2]}$,$W^{[2]}$的維度是(1,4),這裡的1對應著輸出層神經元個數,4對應著隱藏層神經元個數。常數項$b^{[2]}$的維度是(1,1),因為輸出只有一個神經元
總結一下,第$i$層的權重$W^{[i]}$維度的行等於$i$層神經元的個數,列等於$i-1$層神經元的個數;第$i$層常數項$b^{[i]}$維度的行等於$i$層神經元的個數,列始終為1