iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
0
AI & Data

跟著Google學ML系列 第 10

[Day 10] Training set vs. test set

Ref.: Training and test sets

就一份data,哪來什麼Training set 跟 test set? 來看看下面的圖:
training set and test set
是的,我們就是把這一份隨便拆成兩份,讓大量的資料(training set)去訓練model,讓剩下小份的資料(test set)去驗證model. 而test set前提記得要夠大到足夠有統計上的意義,且跟整份資料有同樣的代表性。有這兩點的test set才能當成新資料的proxy,讓model看到test set就像看到沒看過的資料一樣。

拿下面兩張圖當例子,用training set訓練完model以後,可以看到預測值跟實際值中有一定的比例預測錯誤。接著再把test set丟進model預測,確實也有些部分預測錯誤。但可以看出來跑錯區域的點在兩張圖的比例差不多,代表這個model不論對看過的(training set)或沒看過的(test set)都有差不多的結果。
Training set

但是千萬不要把test set拿去訓練model,如果我們拿test set去訓練model,又拿test set去驗證model會怎麼樣?你會得到很高很高的正確性。但這不是我們要的,如果我們把test set視為沒看過的資料,應該合理預期他的預測值會有些錯誤。

還沒看過海豚前,你訓練你的大腦"水裡游的都是魚",在看到海豚的時候,也應該覺得他是魚才是(預測錯了吧)

換句話說,很高的正確性時,應該回來檢查你的test set是不是跟training set差不多。如果不經意用test set去訓練model,model對沒看過的資料識別度的好壞就很難有正確的評估。

課後練習: Playground

三個task最下面都有答案。但這邊特別說一下task 3,你可能會看到這種結果(不是每次都看的到):
https://ithelp.ithome.com.tw/upload/images/20181010/20103835LzittEk4HM.jpg
當你看到這類型的跳動,可以再觀察一下擺久一點會不會趨於緩和喔!


上一篇
[Day 9] Generalization
下一篇
[Day 11] Validation
系列文
跟著Google學ML30

尚未有邦友留言

立即登入留言