神經網絡和深度學習 (Neural Network & Deep Learning)


  深度學習其實就是有更多隱層的神經網絡,可以學習到更復雜的特征。得益於數據量的急劇增多和計算能力的提升,神經網絡重新得到了人們的關注。

1. 符號說明

 

 

 2. 激活函數

  為什么神經網絡需要激活函數呢?如果沒有激活函數,可以推導出神經網絡的輸出y是關於輸入x的線性組合,那么神經網絡的隱層就沒有任何意義,對於這樣的模型,直接使用線性回歸擬合就可以了。

  一些常見的激活函數如下所示:

  在上一篇文章中推導了BP算法,其中使用了Sigmoid函數作為激活函數,具有良好的連續性和可導性。

  使用tanh函數時,神經網絡中的參數能得到標准化,所有的數據會聚集在0附近,更有利於收斂。

  而上面兩個函數在x較大或較小時,其導數接近於0,在使用梯度下降法時會導致收斂速度慢,因此,又提出了ReLU函數。

  Leaky ReLU函數是對ReLU的改良,使x為負數時導數不為0,該函數使用較少。

   在神經網絡中,每一層可以使用不同的激活函數,例如隱層使用ReLU函數,輸出層使用sigmoid函數。

 3. Logistic Regression

  邏輯回歸模型可以幫助我們更好地理解神經網絡。

 

  接下來需要定義損失函數(Loss function),假設有m個樣本,在線性回歸方程中,我們定義的損失函數是所有模型誤差的平方和。理論上,也可以對邏輯回歸模型沿用這個定義,但問題是這樣的損失函數會是非凸的:

 

   此時,損失函數里有許多局部極小值,這將影響梯度下降法尋找全局最小值。我們重新定義邏輯回歸的損失函數為:

  我們需要最小化損失函數。

  邏輯回歸中的梯度下降:

 4. Forward and backward propagations(BP)

  程序編寫過程中需要特別注意各矩陣維度定義。

  這里已經將各參數向量化,全部使用矩陣運算,例如X中包含了m個樣本,沒有給出具體推導過程,建議先了解最基礎的反向傳播(BP)算法

5. 參數和超參數

 

   超參數的選擇會直接影響到參數的訓練結果。

 

 

以上內容主要參考吳恩達《深度學習》課程第一課


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM