1.3.1 单隐层网络的数学实现
神經網絡概覽
如圖所示,整個神經網絡的概覽大致如下,下面我們會討論這個網絡時如何一步步實現的。
神經網絡表示
我們來解釋一下這個圖中的中間隱藏層是什么含義:
在一個神經網絡中,當你使用監督學習來訓練他的時候,訓練集包括輸入x和輸出y。那么隱藏層的含義就是:在訓練集中這些中間節點的真正數值,我們是不知道的。我們只能知道輸入和輸出的數值,但是在中間節點中的數值我們不知道,于是就稱之為隱藏層。表示你無法在訓練集中看到。
這里,我們再引入一個新的上標a[0],它等于x
a[0]=x
這個a也表示激活的意思,它意味著網絡中不同層的值會傳給后面的層。輸入層將x的值傳給隱藏層,我們將輸入層的激活值傳給隱藏層,將輸入層的激活值稱為 a[0]。
下一層的隱藏層也同樣會產生激活值,我們將之記為a[1],各個節點我們記為a[1]1等,以此類推。最后的y的預測值我們記為a[2]
計算神經網絡的輸出
這里我們討論一下神經網絡的輸出,究竟是如何計算出來的。這個過程就像logistic回歸一樣,會被計算很多次。只是會比Logistic更復雜一些。
如圖所示,左圖中的圓圈代表了回歸計算的兩個步驟,首先,你計算出z,然后計算出激活函數,也就是a=sigmoid(z),神經網絡只不過是把這一個步驟重復很多次而已。從右側圖中我們可以看出,這其實是完全一樣的過程。隱藏層的第一個節點我們來計算z1,隱藏層的第二個節點我們來計算z2。重復這個過程,我們在下圖進一步明確表示:
如圖所示,我們用向量化來整體表示這一個過程,寫成矩陣形式。
我們最后再來看一下整體的計算過程
當你要計算一個單隱層網絡的時候,你實際上只需要計算右邊被框起來的部分就可以了。單隱層的邏輯回歸是上兩個式子,輸出層的邏輯回歸是下兩個式子。
總結
以上是生活随笔為你收集整理的1.3.1 单隐层网络的数学实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.2.4 在Python中使用向量化的
- 下一篇: 1.3.2 向量化实现浅层神经网络