我們都知道機器學習最常見的指標就是準確程度,不論是迴歸類型的模型還是分類的模型,都有衡量準確度的方法,但是在一般的場合裡,我們是不會有正確的答案可以提供驗證的,這時我們該怎麼評估模型的好、壞以及是否過擬合呢?
在訓練的過程中,我們需要有個標準提供我們對答案,但是就如我們在第十天提到的,若是拿著訓練過的資料來對答案,那豈不是先射箭再畫靶嗎?就算模型再差也都會有很不錯的準確度,因此我們需要先從訓練集當中分割一部分的資料來進行驗證,避免這種情況發生,而切割出來的資料就叫做「驗證集(validation)」,所以一個正常的應用場景中,我們會有「訓練」、「驗證」、「測試」三個不同的資料集,才能有效的評估一個模型的優劣。
我們在訓練與驗證集中都可以很輕易地計算準確度,這時候就有了新的定義來解釋訓練與驗證集之中準確度的情形,「變異」是指訓練與驗證集之間準確度的差異,「偏誤」則是訓練與驗證集不準確程度,例如一個模型在訓練集的準確度是90%,在驗證集則只有60%,100%-90%=10%是訓練集的偏誤,90%-60%=30%是兩者的變異,而衡量這個有什麼重要性呢?
我們可以很明確地從下圖發現,左上角的狀況是我們最希望得到的,即是訓練的準確度足夠高(偏誤小),並且在實際應用模型之後也能維持不錯的準確度(變異小),然後這聽起來很容易,但是模型在調整這兩者的時候,其中一項增高就會導致另一項降低,因此變異與偏誤是需要權衡的。
因此,變異與偏誤有著最佳的比例,每個模型都有他適當的模型複雜度,在過擬合與欠擬合之間調整。
關於如何衡量模型績效,我們將在下一天的交叉驗證中進一步的解釋。