Machine Learning學習日記 — Coursera篇 (Week 3.4):The Problem of Overfitting, Cost Function, Regularized Linear Regression, Regularized Logistic Regression

Pandora123
8 min readJun 1, 2016

--

Regularization

回目錄:Coursera章節

上一篇:Multiclass classification

下一篇:Motivations

大綱

  1. The Problem of Overfitting
  2. Cost Function
  3. Regularized Linear Regression
  4. Regularized Logistic Regression

1. The Problem of Overfitting

What is “overfitting” ?

(1) Overfitting的意思就是太過追求參數完美預測出訓練數據的結果,反而導致實際預測效果不佳

high variance可以理解為其有著過多的 variable

(2) 跟overfit相反的狀況:underfit,代表在訓練數據中也有著高預測誤差的問題

high bias可以理解為其會過度依賴其截距(θ0)

(3) 比較適當的Hypothesis會長的像:

上述都是以Linear Regression為例,下面將以Logistic Regression為例:

Underfit:

Overfit:

而比較剛好的狀況會是

Andrew以一段話談論Overfitting:

If we have too many features, the learned hypothesis may fit the training set very well (J(θ)=0), but fail to generalize to new examples(Predictions on new examples)

那我們要怎麼解決Overfitting的問題呢?

有幾種做法:

1. 降低features的數量:人工選擇、model selection algorithm

2. Regularization:維持現有的features,但是降低部分不重要feature的影響力。這對於有著許多feature的hypothesis很有幫助

隨堂練習

Consider:考慮 / tumors:腫瘤 / generalizes:整合 / unseen:沒看過的

Ans:

2. Cost Function

下面的例子:左方為適當的模型,右方為Overfitting

我們可以發現主要的問題是在加了θ3跟θ4之後出現了overfitting的問題

那假設我們將θ3跟θ4的影響降到最低呢(讓其逼近於0)?

就像是我們改寫J(θ),多加上1000*(θ3²)和1000*(θ4²)

上述的1000可以隨時替換成一個極大的數值。

而模型自然會為了將J(θ)降到最低,而使θ3跟θ4降至最低,形成下面的粉紅色線構成的模型

以下將舉例說明如何使用Regularization來改善Overfitting的問題

假設我們要預測房價,其包含了很多個features

而我們要做的就是在J(θ)後面加上一個多項式:

這個 λ 其實跟上面例子的數字1000是一樣的意思,它正式的名稱是regularization parameter

按照慣例,這個多項式不會加上截距項θ0

這會大幅改善overfitting的問題

可能會有人好奇 λ 到底代表什麼意思?

λ代表的其實是我們對於預測誤差跟正規項的取捨

當今天 λ越大,模型會比較不重視預測落差反而是極力地想要壓低所有θ值的大小

就像是我們如果把 λ 設成10¹⁰的話,所有θ值都會趨近於0,最後形成一條直線的hypothesis

而若是 λ 越小甚至趨近於0,可能對改善overfitting就沒什麼太大的幫助了

我在學習正規化的時候,對於為什麼只是加上個正規多項式就可以改善overfitting感到非常疑惑

畢竟我們根本不知道要降低哪一個 θ值(feature)的影響力啊

就這樣直接一視同仁的一起打壓所有的θ值到底為什麼會有效?

這是我想到的答案(沒有證實過):的確是一視同仁的打壓所有的 θ值,但是若是今天θ值只要設定到某幾個數字的話可以使預測誤差降到非常低的話,那麼模型如果為了貪小便宜的將那幾個 θ值給壓低反而造成了預測誤差的大幅上升,使得J(θ)不降反升的反效果的話,會非常得不償失,因此模型將會斟酌不要降低那些重要的 θ值

上述的假設都建立在今天 λ 設立得宜的情況以及有足夠的資料來support預測落差的下降,說服模型不要把重要的 θ值降低

隨堂練習

minimized:最小化 / perhaps:或許/ eliminate:消除 / results in:造成 / converge:收斂

Ans:

3. Regularized Linear Regression

在先前的文章中,要完成Regularized Linear Regression有兩種做法:

  1. Gradient Descent
  2. Normalization

1.Gradient Descent

J(θ):

Gradient Descent 針對J(θ)作各個θ的偏微分,除了θ0之外:

而將這些經過Regularized(第二行θj的等式)的項目略微整理後,會發現一個有趣的現象:

這代表θ(除θ0外)在前面多乘了一個多項式:( 1 — α*(λ/m) )

而這個項目通常是一個實際的數字,且可能只略小於 1,像是:0.99

這就達成了前面所提到的降低θ值的影響力(數值大小)的目的

2.Normalization

Andrew提到,Regularization同時會解決先前我們在Normalization中提到的不可逆矩陣的問題(證明超出課程範圍)

隨堂練習

fairly:相當地 / term:詞彙

Ans:

4. Regularized Logistic Regression

以Overfitting為例:

原本的J(θ)

J(θ)加上Regularization項目:

經過Regularized的項目不包含θ0

Gradient Descent with Regularization

注意這邊hθ(x)是跟Linear Regression的hθ(x)截然不同的

隨堂練習

monitor:監控 / plot:繪出 / iterations:迭代

Ans:

--

--