吳恩達機器學習 學習筆記(過擬合 正則化)

2021-09-09 07:49:06 字數 1322 閱讀 8714

(1)underfitting(欠擬合)

如果我們的假設函式是乙個一次函式,我們可能最後得到的是這樣的一條直線,很容易看出它的擬合效果不是很好,這種情況我們稱之為欠擬合。

(2)just right(擬合的很好)

(3)overfittiing(過擬合)

如果我們給假設函式加入很多的高階項,最後得到的曲線會想盡一切辦法,把所有的資料點都擬合進去,這樣的情況稱過擬合

這種情況下,看似所有的資料都被擬合進去,但是這條曲線卻會不停波動,不是乙個好的假設函式,這種狀況的原因是因為我們有太多變數θ,卻沒有足夠的資料集去限制這些變數。

如何解決過擬合問題,一般來說有兩種方法

1.減少特徵變數

導致過擬合的原因就是我們有太多的特徵變數而沒有足夠的資料集,如果我們能夠通過手動選擇減少一些變數,或者通過乙個叫 model selection的演算法自動識別能減少哪些變數,就能夠解決過擬合問題。

2.regularization(正則化)

如果我們不能夠減少變數的數量,那麼也可以用正則化的思想去解決過擬合問題。這個方法的思想是在代價函式裡加入懲罰項

例如像這樣在上面過擬合例子的代價函式裡對θ3,θ4加入懲罰項,這樣做的結果是我們最後得到的假設函式中,θ3,θ4就會很小,看起來就和二次函式差不多。

在實際情況中,我們並不知道哪些項應該盡可能小最好,所以在正則化中,我們採取的方法是對每乙個引數都加入懲罰項,這樣得到乙個新的代價函式

這裡的λ

\lambda

λ叫做正則化引數,它有兩個目標,一是要與前面的項關聯,去更好的擬合資料,第二個目標是盡量讓每個引數更小,以實現正則化的目標。λ

\lambda

λ需要在這兩個目標中間找到乙個平衡。

所以如果這裡λ

\lambda

λ太大,如1010

10^10

10,那麼會導致對每一項的懲罰力度過大,從而每一項都接近於0,這樣只會得到一條直線,從而導致欠擬合問題。

吳恩達機器學習筆記

為了解決實際生活中的問題,我們通常需要乙個數學模型。比如,小明有乙個房子 他想賣掉房子 為了知道房子的 小明收集了該地區近兩年的房屋交易 他發現房屋 與房屋大小呈正相關,所以他畫了了一幅圖 小明的房屋大小用紅色的 代替。可見和小明房屋一樣大小的房子並不存在,而類似的房屋 又有很大差別,如此小明決定用...

吳恩達機器學習筆記

sigmoid啟用函式 0,1 x 0,y 0.5 tanh啟用函式 1,1 x 0,y 0 relu啟用函式 x 0,y 0 x 0,y x sigmoid啟用函式 除了輸出層是乙個二分類問題基本不會用它。tanh啟用函式 tanh是非常優秀的,幾乎適合所有場合。relu啟用函式 最常用的預設函式...

吳恩達機器學習 過擬合問題

看到這篇文章的同學,我希望是已經學習了幾種不同的學習演算法,包括線性回歸和邏輯回歸,它們能夠有效地解決許多問題,但是當將它們應用到某些特定的機器學習應用時,會遇到過擬合 over fitting 的問題,可能會導致它們效果很差。如果我們有非常多的特徵,我們通過學習得到的假設可能能夠非常好地適應訓練集...