DeepLearning筆記:多節點神經網路
阿扣
:上回我們在 python 裡面實現了單個神經元的梯度下降演算法。現在可以挑戰一下多個神經元的網路了。
阿特
:那會不會很難哦?
阿扣
:也不會,原理其實是一樣的,只是需要分辨清楚各個參數屬於哪一層。
阿特
:(不祥預感)
阿扣
:比如說,下面這個網路:
- 有 3 個輸入 x1,x2,x3,2 個隱層節點 h1,h2
- 節點之間的權重用 w 表示,第一個下標為出發節點,第二個下標為目標節點,比如 w11 表示 x1 到 h1 的權重
我們把權重存在一個矩陣中,每一行對應一個輸入值的權重,每一列對應一個隱層節點的權重:
所以,隱層的第 j 個節點就表示為:hj=∑iwijxi
權重和輸入值相乘時,需要用到矩陣乘法中的點乘(dot product):
阿特
:啊……矩陣,我好些已經忘得差不多了……
阿扣
:沒關係,慢慢回憶起來。這裡比較關鍵的是,兩個矩陣相乘,左邊矩陣的行數,必需跟右邊矩陣的列數相等,不然沒法相乘。
比如我們要計算的神經網路的矩陣:
左邊矩陣有 1 行 3 列,右邊矩陣有 3 行 1 列,它們是可以相乘的。
阿特
:讓我數一數……
阿扣
:記得矩陣需要「門當戶對」就好 ?? 。上面這個矩陣,我們也可以調換左右順序,並且讓兩個矩陣都轉置(就是行列互換)一下來滿足相乘的條件:
阿特
:這跟上面那兩個矩陣相乘的結果是一樣的嗎?
阿扣
:是的。按照矩陣點乘的公式
把它們展開,會發現其實是一個東西。
00 的 DeepLearning 筆記
DL筆記:機器學習和深度學習的區別DL筆記:Neural Networks 神經網路DL筆記:Linear regression 線性回歸DL筆記:Activation Function 激活函數DL筆記:Cost function 損失函數00:DeepLearning筆記:梯度下降 Gradient Descent00:DeepLearning 筆記:用 python 實現梯度下降的演算法
推薦閱讀:
※譯文:如何使用TensorFlow實現神經網路(上)
※【Neural Networks and Deep Learning】3.改進神經網路的學習方法(過擬合)
※Inception-v2/v3結構解析(原創)
※膠囊網路結構Capsule初探
※【Neural Networks and Deep Learning】4.神經網路可以計算任何函數的可視化證明(1)
TAG:深度學習DeepLearning | 神經網路 | 數學 |