1. 程式人生 > >吳恩達深度學習課程學習總結

吳恩達深度學習課程學習總結

本文章主要總結吳恩達DeepLearning課程中所提到的一些機器學習策略

1、啟用函式

  • Sigmoid函式
  • tanh函式
  • ReLU函式

2、權重初始化

  • 全零初始化的弊端:若權重初始化為0,則在訓練過程中,每個隱含層之間存在對稱性,即在訓練過程中,每個隱含層的求導等計算都相同,導致權值更新也相同,這使得多個隱含層實現相同的功能,使得多個隱含層的存在變得毫無意義
  • 隨機初始化:為避免全零初始化帶來的弊端,將權重隨機初始化為很小的值。例如在使用sigmoid或tanh啟用函式時,權值越靠近0,目標值將更加靠近tanh或sigmoid函式上斜率較大的部分,使得在梯度下降時下降速度較快,可以增加其學習速度。
    • w= np.random.randn()*0.01
    • b=np.zeros() 

3、超引數(Hyperparameter)

    指的是除了網路權值w,偏置b之外的引數,Hyperparameter可以控制w與b

    超引數有:學習率(learning rate)、隱含層層數(number of hidden layer)、隱含層節點數(number of hidden units)、啟用函式型別(choice of activation function)等......

       調參過程如圖所示,不斷反覆直至模型效果最好

4、資料集處理

一般將資料集分為3部分:訓練集(training set)、驗證集(dev set)、測試集(test set)。

其中,三者的資料規模比例一般為60/20/20,若資料集的規模非常大,則驗證集與測試集的比例可相對縮小,將大部分資料用於訓練集中。

  • training set的作用是用於網路訓練
  • dev set的作用是用於交叉驗證,防止網路的過擬合
  • test set的作用是用於無偏估計

dev set 是網路在用於測試之前對於網路效能的一個估計,因此要求dev set與test set來自於同一分佈。

5、偏差(bias)與方差(variance)

欠擬合又叫高偏差,過擬合又叫高方差。

欠擬合是指training set error較高,過擬合指dev set error 相對於training set error較高。其中,training set error的高低是相對於人本身對樣本的識別效果,即最優誤差(optimal error | Bayes error)

  • 在此處加入正則化的思想,正則化適用於解決overfitting的問題,由上面三個圖可看到,從左到右,分類的線是越來越扭曲的,分類效果最好的是中間的線,‘high bias’的圖中,網路偏向於一個線性網路,‘high variance’中,網路由於隱含層變數增加,使得網路非線性性增加,因此線變得過擬合,而通過適當減少隱含層變數來使得網路非線性性減少而又不至於變到線性的範疇,此為網路正則化的基本思想。實現方法有:(1) L2 Regularization;(2) Dropout