機器學習2 過擬合和正則化

2021-09-25 13:12:40 字數 1899 閱讀 1743

(1)過擬合和欠擬合:

1)泛化:機器學習模型學習到的概念在新輸入樣本上的表現;

2)擬合:用逼近目標函式的遠近程度來描述擬合的好壞。

②過擬合:

指某個模型過度學習了訓練資料中的細節和雜訊,以致模型在新的資料上表現很差。

過擬合更可能在無引數非線性模型中發生,如決策樹。

③欠擬合:

指某個模型在訓練和**時表現都不好,不能在訓練集上獲得足夠低的誤差。

(2)正則化方法:

①範數:

1)範數簡介:

範數是將向量對映到非負值的函式,是一種強化了的距離概念,如向量a的範數衡量了從原點到點a的距離,不同範數相當於度量距離的不同單位。範數滿足:

1.2.

3.2)幾種範數:

1.l0範數:(

l0範數主要用來度量向量中非零元素的個數;

2.l1範數:(

l1範數用來表示向量中非零元素的絕對值之和,可用於度量兩個向量間的差異,即為曼哈頓距離。

3.l2範數:(

l2範數表示向量元素的平方和再開方,通常用於做優化目標函式的正則項,即為歐氏距離。

4.ll

②正則化防止過擬合的原理的幾種解釋:

1)正則化的作用,就是在用小資料集擬合模型的過程中,強行加入人為偏轉,從而控制擬合出來的模型的複雜度,避免過擬合。

當樣本數遠多於引數數量時,不需要正則化。

2)

正則化可理解為在目標函式中加入與訓練樣本無關,但關乎整個模型的其他項,一方面這些項在目標函式中分擔一部分取值,使模型不那麼完美擬合訓練樣本從而減少過擬合情況。

另一方面,這些項根據整個模型加入,可作為模型的先驗項,是對整體資料的先驗,所以驅使模型不擬合某群具體資料。

正則化削弱了容易過擬合部分的假設空間,從而降低過擬合風險。

(我認為比較有力的解釋)

3)正則化中保留所有的特徵變數,但會減少特徵變數的數量級,正則化要做的是在我們的兩個目標中取得平衡,乙個是使模型更好的擬合訓練樣本集。另乙個是保持引數值較小從而保持模型的形式相對簡單,避免過度擬合。

4)正則化自動削弱不重要的特徵變數,自動從許多特徵變數中提取重要的特徵變數,減小特徵變數的數量級。

③l1正則化和l2正則化簡介:

1)l1正則化:

1.特性:

l1正則化會讓引數變得更稀疏,l1正則化公式不可導,因此計算l1正則化損失函式的偏導數更加複雜;

2.實現:

contrib.layers.l1_regularizer(正則化權重):返回乙個函式,計算乙個給定引數的l1正則化項的值。

2)l2正則化:

1.特性:

l2正則化公式可導,計算l2正則化損失函式的偏導數更加簡潔,l2正則化不會導致引數更稀疏;

2.實現:

contrib.layers.l2_regularizer(正則化權重):返回乙個函式,計算乙個給定引數的l2正則化項的值。

(3)其它防止過擬合方法簡介:

①bagging(模型平均):

bagging方法通過分別訓練幾個不用的模型,再用相同的測試集在這些模型上測試,並收集所有模型在測試機上的輸出。

bagging是減少泛化誤差的可靠方法,但會增加計算量和儲存量。

②dropout方法:

1.原理:

在某一層(不包括輸出層)隨機丟棄部分資料。

在使用dropout時,在將樣本從batch輸入到網路模型中厚,通過隨機設定某層的單元相乘數值來選擇丟棄那些單元,然後正常執行前向、反向傳播及引數更新。

每次單元丟棄都理解為一種再取樣,以增大樣本量,減少特徵量的方式防止過擬合。

2.實現:

nn.dropout(資料,每個元素被保留的概率,none,none,none)

過擬合 欠擬合 正則化

產生原因 緩解方法 合適的資料分布 合理的模型複雜性 合理的組合應該是 複雜的資料分布 簡單的模型 或者 簡單的資料分布 複雜的模型 神經網路中的過擬合 原理 或者說思考 從貝葉斯的角度來說,代價函式可以表示為p y w,x 的形式,而正則項則是對引數w做了乙個先驗分布的假設,使得代價函式變成p y...

機器學習之正則化(防止分類器過擬合)

機器學習之正則化 防止分類器過擬合 要介紹正則化,先要介紹一下過擬合的概念。拿線性回歸中 房價 房子面積 為例,如下圖,最左邊那幅圖中,我們用線性回歸 一次函式,因為只有乙個特徵size 來進行擬合,可以看到擬合出來的線大致反應出房價的趨勢,但是並沒有很好的擬合,這種情況我們稱之為欠擬合。為了更好的...

過擬合與正則化

機器學習中經常遇到所謂的過擬合 overfitting 問題。所謂的過擬合問題,是指某個模型在訓練資料上能夠獲得比其他模型更好的擬合,但是在訓練資料外的資料集上卻不能很好的擬合。其本質是,模型對於隨機錯誤或者雜訊的刻畫超過其對於真實資訊的刻畫。而出現這種現象的主要原因是訓練資料中存在噪音或者訓練資料...