吳恩達機器學習公開課 第二門課 改善深層神經網路

2021-10-02 21:15:23 字數 1489 閱讀 9968

這門課開始講解從基礎概念到如何搭建乙個真正的深層網路專案。因為深度學習是乙個高迭代的工程,有很多超引數需要除錯。

第一周

這周主要講解一些概念和指標,這是我們之後除錯的依據。主要分為以下幾個知識點:

訓練集、開發集(驗證集)、測試集的概念。其中驗證集是區分不同演算法的標準,就是我們在調整演算法時的目標集,不斷調整以使得在驗證集上表現好,而測試集要求盡量擬合現實情況,這樣演算法的魯棒性和擴充套件性較好。由此易知開發集和測試集都應該盡量和實際情況同分布。而訓練集由於資料量要求大,往往達不到這個要求。

偏差和方差的概念。最優誤差通常指理論上能達到的誤差率(人的誤差大部分情況接近最優誤差)。以最優誤差為基準,訓練集誤差離最優誤差差距大說明此時的偏差較大。以訓練集誤差為基準,驗證集誤差離訓練集誤差差距大說明此時方差較大。

講根據這兩個誤差如何調整:高偏差說明訓練集上的效果就不好,調整如下:

1)嘗試更大的模型

2)嘗試訓練更久

3)更好的優化演算法(相同訓練時間效果更好)

如果是高方差,說明模型可能過擬合,調整如下:

1)嘗試更多的資料(採集、手動創造)

2)正則化

3)提前結束訓練(not good)

或者採用更合適的網路框架

講解正則化。正則化的直觀感覺為:因為模型可能過擬合了,如果縮小w,方程會趨近於簡單,趨近於直線,因此在代價函式中加入w的正則化(也可以加入b,實際影響不大)。梯度的下降也加入w的式子。

正則化的方法有以下幾種:

1)l1正則化,即∣w∣

1|w|_

∣w∣1​。

2)l2正則化,即∣w∣

22

|w|^_

∣w∣22​

。前面除了加入超引數λ

\lambda

λ之外一般還有12m

\frac

2m1​

等比例常量。在代價函式和梯度下降時都需要加入對應的正則項。

3)dropout正則化,即隨機失活。設定超引數kee

p−pr

ob

keep-prob

keep−p

rob. 以給定的概率生成01矩陣,達到訓練時使某些結點無效的作用。通過除以kee

p−pr

ob

keep-prob

keep−p

rob保持a

aa的期望不變。但是在測試的時候並不需要失活操作。

講解歸一化輸入。這個實際上可以提公升網路的訓練速度。顧名思義,讓輸入各個維度的取值範圍盡量的相似,這樣學習率的取值也較為方便,可以快速的學習到最合適的點。當然,這些理解都是直觀上的,感覺上的,這也是目前神經網路的一大問題,實驗效果非常重要。

講解梯度消失和梯度**問題。梯度下降在具體實施的時候,可能會碰到梯度非常小和非常大的情況,而且梯度很小的時候,還涉及到資料表示和計算誤差問題,為此在具體實施的時候還會有一些小措施。

第二週

本週講解一些優化演算法

吳恩達機器學習筆記 第二週

h x 0 1 x1 2x2 3x3 4x 4h theta x theta 0 theta 1x 1 theta 2x 2 theta 3x 3 theta 4x 4 h x 0 1 x1 2 x 2 3 x3 4 x4 為了表示方便,我們定義乙個單純為了計算方便的特徵,也就是x0 1x 0 1 ...

吳恩達機器學習第二週程式設計作業(Python實現)

課程作業 提取碼 3szr 1 單元線性回歸 ex1.py from matplotlib.colors import lognorm from mpl toolkits.mplot3d import axes3d from computecost import from plotdata impo...

機器學習公開課筆記第二週,線性回歸的梯度下降法

當我們以線性回歸的模型來擬合我們的資料集時,我們如何來確定假設函式的引數值呢?首先我們以兩個引數為例,即h x 0 1x,也就是乙個一次函式,而代價函式 我們為了盡量擬合資料集,也就是選擇合適的 0 截距 1 斜率 使代價函式j 0,1 最小,假設 0 0,代價函式j就轉變為關於 1的二次函式,因為...