code

2017年2月22日 星期三

AI筆記19 - Regularization, Validation, Assessment

Data fitting

簡單來說,就是走中道,找出sweet spot。下圖中的bias就是error, variance就是complexity:

Regularization

簡單說來,當我們想要為model f找出較好的fitting時,我們會嘗試minimize loss function,但是同時我們還是希望所有的feature對model f的貢獻能被控制在合理範圍:
我們就在loss function中加入一項regularization term,是一個f的function R,乘上一個常數項C。

以下面linear regression example為例,如果我們要避免高次方function產生的overfitting,就可以利用regularization把高次方向係數變小,詳情請洽ML專課:


Train-Validation-Test scenario

手邊有label的dataset,可以分成三組:
1. training set - 用來建立model的data set
2. validation set - 用來tune model params的data set,例如避免overfitting
3. test set - 真正用來測試建好的model的data set,包括performance和error。

三者的比例通常是以下:


K-fold Cross Validation

如果我們不把dataset分成三組(如上所述),我們全部都用來當作training set的話,我們可以用cross validation來估計test error。

例如把dataset D分成 k = 5份,做五次的training-validation process,每次的validation都是其中不重複的一份 T,而只用其他4份當作training set:


最後把這五次的error做平均,這樣算是充分利用這個dataset來獲得最多的資訊的方式。

評估classifier model好壞

這可以用confusion matrix來評估:

所有的prediction error會落在False negative和False positive這兩類裡面。
然後依據以下各個指標的定義,製作出相關的比例:

推薦書單

前兩者是很好的introductory books:


沒有留言:

張貼留言