1. 程式人生 > >ng機器學習視頻筆記(五) ——過擬合與正則化

ng機器學習視頻筆記(五) ——過擬合與正則化

哪些 重復 關註 osi 現實 regular 鏈接 梯度下降 簡單

ng機器學習視頻筆記(五)

——過擬合與正則化

(轉載請附上本文鏈接——linhxx)

一、過擬合和欠擬合

1、概念

當針對樣本集和特征值,進行預測的時候,推導θ、梯度下降等,都在一個前提,原值假設函數(hypnosis function)h(x)的表達式,例如是一階、二階還是更高階等。

當階數不足導致無法正確預測時,稱為欠擬合(underfit)或高偏差(high bias);當階數太高,雖然能滿足樣本集,代價函數也接近0,但是仍不是一個好的預測函數,稱為過擬合(overfitting)或高方差(high variance)。

例如根據房子的面積預測房價,欠擬合、正常情況、過擬合分別如下面三個圖所示:

技術分享圖片

過擬合的情況比較明顯,在只有一個影響因素的情況下,因為面積增到導致價格減少是不現實的,雖然滿足了所有的樣本集,但是這個模型是不正確的。

logistic回歸同樣有類似問題:

技術分享圖片

2、過擬合存在問題

過擬合主要是因為特征值太多、階數太高引起,如果樣本集數量不夠,沒法有效的進行訓練,會導致預測的結果存在較大偏差,模型無法使用。

二、解決過擬合方案

1、畫圖,並根據圖像判斷是否正確,如上面的例子。這個只有在影響因素很少的情況下可行,因素多時,維度高,不容易圖形表示,也不容易通過圖形判斷是否正確。

2、減少不必要的特征值,特別是重復的特征(如用平方米和平方尺兩個特征計算面積)。可以通過人工選擇或模型選擇算法(model selection algorithm,後面會學到)來實現。但是,這樣可能會導致損失一些特征信息。

3、通過正則化(regularization)的方式實現。這種方式,不需要損失任何特征值。

三、正則化

1、基本思路

當一個式子有四個特征值,且明顯後兩個特征值並不重要,則可以如下設代價函數:

技術分享圖片

這樣,後面兩個特征值由於被加了平方項,導致值需要非常小,才可以讓整個代價函數很小。

2、正則化思路

當無法確認哪些特征值是不重要的時候,則應該使用正則化,其主要思想是通過減小所有的θ,這樣可以獲得更簡單的h(x),階數更低;另外,也更不容易出現過度擬合的現象。

3、步驟

1)列出原先線性回歸情況下的代價函數

2)改成以下公式

技術分享圖片

分析上面的公式,可以看出,代價函數加入了θ的平方項,這樣使得要讓代價函數值盡量小,就應該要每個θ都盡量小。

另外,上面的式子中,對θ的處理從1~n,而θ0並沒有參與正則化處理。

其中,帶λ的項,稱為正則化項;λ稱為正則化參數。該參數目的在於平衡訓練集更好參與訓練同時讓θ都盡量小,最終達到獲得更簡單的h(x),階數更低。

需要註意的是,如果λ太大,例如10的10次方,則由於每個θ都太小,接近於0,導致h(x)約等於θ0,會出現欠擬合。

四、線性回歸正則化

線性回歸可以使用梯度下降和標準方程法,分別討論如下:

1、梯度下降算法

根據上面的代價函數的公式,易得梯度下降算法需要叠代的方程如下:

技術分享圖片

其中,θ0由於不參與正則化,單獨列出來。

化簡上面的θj的式子,把θj提取出來,公式變換如下:

技術分享圖片

從上式與正則化之前的梯度下降算法對比,實際上就是θj多乘了一個(1-α*λ/m),這個值略小於1,因此達到減小θj的目的。

2、標準方程法

對於標準方程法,正則化則需要加入下面括號帶λ的這一項,這樣從θ1~θm都被λ進行調整了。

技術分享圖片

之前討論過XTX有可能不可逆的情況,但是已經經過數學論證,正則化後,只要λ>0,整個括號內的項必然可逆。

因此,正則化是解決標準方程法XTX有可能存在不可逆的方法之一。

五、logistic回歸正則化

logistic回歸的算法,實際上基本公式和線性回歸的梯度下降法是一樣的,只不過其h(x)不同,帶入對應的h(x),得到logistic回歸的代價函數如下公式:

技術分享圖片

——written by linhxx

更多最新文章,歡迎關註微信公眾號“決勝機器學習”,或掃描右邊二維碼。技術分享圖片

ng機器學習視頻筆記(五) ——過擬合與正則化