一看就懂 機器學習中的過擬合與欠擬合學習筆記

2021-10-08 13:12:48 字數 1179 閱讀 9601

#機器學習中的過擬合與欠擬合學習筆記

在訓練機器學習模型時,我們經常會遇到過擬合的問題,所謂的過擬合就是指模型在訓練資料上的效能很好,但是在未知資料上的效果卻很差。

機器學習的根本問題是優化和泛化之間的對立。優化的目的是為了得到在訓練資料上有著最佳效能的模型,而泛化是為了得到在前所未見的資料上有著最佳效能的模型。優化和泛化看似對立,甚至是不相關,實際不然。在機器學習中,我們根本無法直接去控制模型泛化性,只能基於訓練資料去調節模型。

訓練開始時,優化和泛化是相關的:訓練資料上的損失越小,,測試資料上(測試資料也就是未知資料)的損失也越小,這是模型是欠擬合的,仍然有改進的空間。但是當我們繼續在訓練資料上訓練模型到一定程度後,泛化不再提高,此時若繼續訓練過程,模型便會出現過擬合的病狀。

為防止模型出現過擬合,最優的解決方法是獲取更多的訓練資料,次優方法是對模型允許儲存的資訊加以約束。後者降低過擬合的方法叫做正則化,在此將介紹三種常見的正則化方法。

減少網路大小,即減少模型中的引數的個數。因為模型所儲存的資訊都體現在模型引數上,引數越多的模型擁有更大的記憶容量,通過減小網路大小,可達到約束模型儲存資訊量的目的。

當然,我們的網路引數也不能太少,否則引起欠擬合。因此需要在容量過大和容量不足之間找乙個折中,但這個問題目前還並沒有乙個標準解決方法。

l1正則化(l1 regularization):新增的成本與權重係數的絕對值(l1範數)成正比。

l2正則化(l2 regularization):新增的成本與權重係數的平方(l2範數)成正比。

dropout是神經網路最有效也是最常用的正則化方法之一。對某一層使用dropout,就是在訓練過程中隨機將該層的一些輸出特徵捨棄(設定為0)。例如,某一層的輸出向量為[1.2,0.2,1.4,3.2,2.2,0.4],使用dropout後

,該輸出值可能變為[1.2,0,1.4,3.2,2.2,0],,可見變為0的個數所佔比例為40%。這個比例被稱為dropout比率,通常在0.2-0.5範圍內。

在訓練過程中使用了dropout時,由於以dropout比率捨去了部分值,而對於測試時並沒有這一步驟,所以需要對這一差別進行平衡。我們可以將測試時層的輸出按dropout比率縮小,即:layer_out*=dropout比率,也可以將訓練時dropout正則化後的層輸出按比率放大,即:layer_ou / = dropout比率。

機器學習演算法中的過擬合與欠擬合

在機器學習表現不佳的原因要麼是過度擬合或欠擬合資料。機器學習中的逼近目標函式過程 監督式機器學習通常理解為逼近乙個目標函式 f f 此函式對映輸入變數 x 到輸出變數 y y f x y f x 這種特性描述可以用於定義分類和 問題和機器學習演算法的領域。從訓練資料中學習目標函式的過程中,我們必須考...

機器學習演算法中的過擬合與欠擬合

在機器學習表現不佳的原因要麼是過度擬合或欠擬合資料。監督式機器學習通常理解為逼近乙個目標函式 f f 此函式對映輸入變數 x 到輸出變數 y y f x y f x 這種特性描述可以用於定義分類和 問題和機器學習演算法的領域。從訓練資料中學習目標函式的過程中,我們必須考慮的問題是模型在 新資料時的泛...

機器學習演算法中的過擬合與欠擬合

在機器學習表現不佳的原因要麼是過度擬合或欠擬合資料。監督式機器學習通常理解為逼近乙個目標函式 f f 此函式對映輸入變數 x 到輸出變數 y y f x y f x 這種特性描述可以用於定義分類和 問題和機器學習演算法的領域。從訓練資料中學習目標函式的過程中,我們必須考慮的問題是模型在 新資料時的泛...