1. 程式人生 > >神經網路框架

神經網路框架

一、啟用函式

  線性操作分類能力不強,而非線性表達可以分開資料。

  神經網路中隱層就是增加了啟用函式,使得神經網路表達出更強大的效果。

  Sigmoid可作為啟用函式,但容易引起梯度消失(導數趨近於0)。

  max(0,x)就是ReLU啟用函式,可以解決梯度消失問題,導數簡單,已經常用的神經網路啟用函式。

  

  (JavaScript可以寫網頁版的神經網路)

二、過擬合

  

  λ越小,過擬合越嚴重,把離群點作為單獨資料群擬合,λ調整至合適值,保證模型的泛化能力。

  

  神經元越多,越能表達複雜模型,但也越容易出現過擬合降低模型泛化能力。

  

  最後每一個操作都要經過啟用函式(activation function)作用,才能使最終結果產生非線性。

  神經元就是權重引數w。

三、資料預處理

  

  原始資料樣本都減去均值得到以0為中心化的資料,此時x、y軸浮動大小不一致,需要消除他們的差異,做歸一化,得到[0,1]範圍的資料。

四、權重初始化

  

  一般採用高斯初始化或隨機初始化,常用隨機初始化。

  b一般用0值初始化,也可以用1初始化。

五、DROP-OUT

  每次隨機迭代,不是一次把所有的神經元進行迭代。可以降低過擬合風險。

  一般訓練過程中出現過擬合是正常的,不出現反而可能是異常的。