本篇也是進行說明,是關於訓練資料與測試資料相關資訊。
上篇說明模型「泛化」,當我們做出模型的時候,要進行調整與測試,讓我們的預測越接近現況。而在這邊要規劃我們的訓練資料集以及測試資料集,畢竟模型要訓練,而模型要驗證。在關於資料集的部份有些事情需要注意。
首先當然是要兩個資料集:
當我們有一份資料,首先要確定他的數量(規模)已經大到足以有「統計意義」。假如我們要「推測全世界使用智慧型手機的人會用什麼品牌」,如果我們的資料只有3個人,那這樣豈能用3人的結果代替群體?如果他們都是拿iPhone,我們可以判斷全世界的人都是拿iPhone嘛?所以資料量要足夠到可以代表我們要測試的群體才行。
第二點,資料需要分成兩個部分,一個是訓練用,一測試用,這兩個資料需要確保是個「獨立且隨機」的。為什麼要隨機呢?作用是避免資料太過於偏頗。像是上面的範例,為了準確推測,在訓練時的資料是隨機抽取,如果沒有隨機,都給予iPhone的話,未來預測資料會認為100%是拿iPhone,但實際上是使用Android手機,這樣模型就失準了。
第三點為「絕對不要訓練測試資料」。測試資料是來驗證我們的模型,當我們拿測試資料集來訓練,表示我們的模型是根據答案去做調整,會影響到訓練時的數據,可能會導致模型公式有偏頗。
練習的話,可以參考:本篇的Play Ground