1. 程式人生 > >深度學習——神經網絡

深度學習——神經網絡

什麽 所有 bsp 神經網絡 AD 當前 nbsp 多少 img

1. 神經網絡層數

= 隱層數+輸出層(1)

輸入不算是一層,可以說是第0層

W[1]可以用來表示是第1層的參數

隱層:在網絡中是看不到它的

激活值:當前層會傳遞給下一層的值如a[0]表示輸入層會傳給第一層的值

2. 一層中有多個神經元,然後它們可以做相同的事

3.幾種激活函數:

sigmoid: a = 1/(1+e^-z) 只用於二元分類輸出層

tanh: a = (e^z - e^-z)/(e^z + e^-z) 缺點:和simoid一樣當z很大/小時斜率趨於0,使得梯度下降效果弱

ReLU:a = max(0,z) 一般會采用這個

4.為什麽要用非線性激活函數

線性函數得出的關系比較簡單,不足以描述現實中復雜的關系

5. 不能把所有變量都初始化為0

如果把w初始化為0,那麽多個神經元的計算就會是一樣的(對稱性),歸納可得不管多少次後也是一樣的結果。則多個神經元也變得沒有意義

隨機初始化W=np.randm.radn((2,2))*0.01 這裏0.01是因為希望得到的W不要太大,因為激活函數在變量絕對值較大的位置變化比較平緩

6. 反向計算求導

計算dz[1]時把a[1]=g[1](z[1])代入z[2]的公式中

技術分享圖片

深度學習——神經網絡