Machine Learning學習日記 — Coursera篇 (Week 6.1):Deciding What to Try Next, Evaluating a Hypothesis, Model Selection and Train/Validation/Test Sets

Pandora123
6 min readJun 8, 2016

--

Evaluating a Learning Algorithm

大綱

  1. Deciding What to Try Next
  2. Evaluating a Hypothesis
  3. Model Selection and Train/Validation/Test Sets

1. Deciding What to Try Net

假設我們為了預測房價而擬定了一個Linear Regression的模型來預測

但是卻發現這個模型出現了難以接受的誤差,這時候我們有幾個選擇可以來試著改善:

而每個選擇看似簡單,實則容易擴張成動輒數月、耗費時間跟金錢的專案。但是許多人選擇的方式常常都只是憑著"gut feeling",也近似於隨機選取了

在下面,將會提到我們將藉由Machine Learning diagnostic的方式來診斷出模型的問題,並依此作為一個改善模型的依據。

gain:得到 / insight:洞察

隨堂練習

diagnostics:診斷 / guidance:指引 / fruitful:成功的 / gut feeling:憑心感覺的 / time-consuming:耗時的 / rule out:排除 / courses:套 / action:行動 / significantly:重大地

Ans:

2. Evaluating a Hypothesis

How to evaluate a hypothesis

在前面的文章中,當我們擁有100筆的資料時,往往都是直接全部投入進去hypothesis的training中,這樣一來便無法評估其模型的效果。

但在這裏,Andrew提到可能可以將這100筆的資料分成70筆的資料進行訓練(Training Set),而另外30筆的資料(Test Set)用來評估

下面為大家複習一下Linear Regression跟Logistic Regression的Cost Function:

Linear Regression

Logistic Regression

misclassification:錯誤歸類

這張圖主要是想表達,logistic regression的誤差非0即1,詳見Logistic Regression Cost Function

隨堂練習

badly:嚴重地

Ans:

因為在Training set當中出現了overfitting,代表在訓練資料中幾乎沒有誤差。但是overfitting的問題將使在Test Set中出現大量誤差的情況

3. Model Selection and Train/Validation/Test Sets

剛剛都只提到怎麼評估預測模型的效率,但是卻沒有提及要怎麼選擇出最好的訓練模型?

假設我們用跟前面的方式將資料分成兩種:Training set跟Test set,且目前我們手上有多個不同的模型(二次方、三次方...等)

合理的做法應該是透過Training set來訓練這些不同的模型,然後再透過Test set來得到這些不同模型的預測誤差,最後我們再從中挑選出最好的模型A(Test set中最小的預測誤差)

但這樣子會有什麼問題呢?

當我們需要評估模型A的績效時,也只能用Test Set去評估,但這樣很得到一個過度樂觀的結果(模型A是當初在Test Set中表現最好的模型)

因此我們還需要多一個資料集,這意味著我們要將所有的資料筆數分成Training set, Cross Validation set, Test set

Evaluating:評估

每個模型用來計算預測誤差的函式是完全相同的(這邊以Linear Regression為例)

所以重來一次前面的情境,假設我們手上有10個不同的模型(hypothesis),我們也將資料切成三份:Training set, Cross Validation set, Test set

首先,我們透過Training set訓練模型1,然後算出其Cross Validation set的預測誤差error1

然後我們再透過Training set訓練模型2,然後算出其Cross Validation set的預測誤差error2

....

一直到所有的模型都運算完畢,也得到每個不同模型的error值

這時我們再從這些error值(error1 ... error10)中挑選出最小的值,挑選出model4,作為最適合的hypothesis。

最後再透過Test set來評估此模型的績效。

隨堂練習

generally:通常地 / fit:使...合適

Ans:

extra:額外的

--

--