當前位置:
首頁 > 最新 > 吳恩達 DeepLearning.ai 課程提煉筆記改善深層神經網路-深度學習的實踐方面

吳恩達 DeepLearning.ai 課程提煉筆記改善深層神經網路-深度學習的實踐方面

吳恩達DeepLearning.ai課程系列筆記

乾貨吳恩達 DeepLearning.ai 課程提煉筆記(1-2)神經網路和深度學習 --- 神經網路基礎

乾貨吳恩達 DeepLearning.ai 課程提煉筆記(1-3)神經網路和深度學習 --- 淺層神經網路

1

訓練、驗證、測試集

對於一個需要解決的問題的樣本數據,在建立模型的過程中,我們會將問題的data劃分為以下幾個部分:

訓練集(train set):用訓練集對演算法或模型進行訓練過程;

驗證集(development set):利用驗證集或者又稱為簡單交叉驗證集(hold-out cross validation set)進行交叉驗證,選擇出最好的模型;

測試集(test set):最後利用測試集對模型進行測試,獲取模型運行的無偏估計。

小數據時代:

在小數據量的時代,如:100、1000、10000的數據量大小,可以將data做以下劃分:

無驗證集的情況:70% / 30%;

有驗證集的情況:60% / 20% / 20%;

通常在小數據量時代,以上比例的劃分是非常合理的。

大數據時代:

但是在如今的大數據時代,對於一個問題,我們擁有的data的數量可能是百萬級別的,所以驗證集和測試集所佔的比重會趨向於變得更小。

驗證集的目的是為了驗證不同的演算法哪種更加有效,所以驗證集只要足夠大能夠驗證大約2-10種演算法哪種更好就足夠了,不需要使用20%的數據作為驗證集。如百萬數據中抽取1萬的數據作為驗證集就可以了。

測試集的主要目的是評估模型的效果,如在單個分類器中,往往在百萬級別的數據中,我們選擇其中1000條數據足以評估單個模型的效果。

100萬數據量:98% / 1% / 1%;

超百萬數據量:99.5% / 0.25% / 0.25%(或者99.5% / 0.4% / 0.1%)

Notation:

建議驗證集要和訓練集來自於同一個分布,可以使得機器學習演算法變得更快;

如果不需要用無偏估計來評估模型的性能,則可以不需要測試集。

2

偏差、方差

對於下圖中兩個類別分類邊界的分割:

從圖中我們可以看出,在欠擬合(underfitting)的情況下,出現高偏差(high bias)的情況;在過擬合(overfitting)的情況下,出現高方差(high variance)的情況。

在 bias-variance tradeoff 的角度來講,我們利用訓練集對模型進行訓練就是為了使得模型在train集上使bias最小化,避免出現 underfitting 的情況;

但是如果模型設置的太複雜,雖然在train集上 bias 的值非常小,模型甚至可以將所有的數據點正確分類,但是當將訓練好的模型應用在dev 集上的時候,卻出現了較高的錯誤率。這是因為模型設置的太複雜則沒有排除一些train集數據中的雜訊,使得模型出現overfitting的情況,在dev 集上出現高variance的現象。

所以對於bias和variance的權衡問題,對於模型來說是一個十分重要的問題。

例子:

幾種不同的情況:

以上為在人眼判別誤差在0%的情況下,該最優誤差通常也稱為「貝葉斯誤差」,如果「貝葉斯誤差」大約為15%,那麼圖中第二種情況就是一種比較好的情況。

High bias and high variance的情況

上圖中第三種bias和variance的情況出現的可能如下:

沒有找到邊界線,但卻在部分數據點上出現了過擬合,則會導致這種高偏差和高方差的情況。

雖然在這裡二維的情況下可能看起來較為奇怪,出現的可能性比較低;但是在高維的情況下,出現這種情況就成為可能。

3

機器學習的基本方法

在訓練機器學習模型的過程中,解決High bias 和High variance 的過程:

1. 是否存在High bias?

增加網路結構,如增加隱藏層數目;

訓練更長時間;

尋找合適的網路架構,使用更大的NN結構;

2. 是否存在High variance

獲取更多的數據;

正則化( regularization);

尋找合適的網路結構;

在大數據時代,深度學習對監督式學習大有裨益,使得我們不用像以前一樣太過關注如何平衡偏差和方差的權衡問題,通過以上方法可以使得再不增加另一方的情況下減少一方的值。

4

正則化(regularization)

利用正則化來解決High variance 的問題,正則化是在 Cost function 中加入一項正則化項,懲罰模型的複雜度。

Logistic regression

Neural network

加入正則化項的代價函數:

Weight decay

在加入正則化項後,梯度變為:

5

為什麼正則化可以減小過擬合

假設下圖的神經網路結構屬於過擬合狀態:

對於神經網路的 Cost function:

加入正則化項,直觀上理解,正則化因子 設置的足夠大的情況下,為了使代價函數最小化,權重矩陣 就會被設置為接近於0的值。則相當於消除了很多神經元的影響,那麼圖中的大的神經網路就會變成一個較小的網路。

當然上面這種解釋是一種直觀上的理解,但是實際上隱藏層的神經元依然存在,但是他們的影響變小了,便不會導致過擬合。

數學解釋:

歡迎關注公眾號學習交流~

歡迎加入交流群交流學習

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!

TAG: |