在機器學習裡面, 我們知道今天用training data來訓練模型,在我們把模型來去實際應用前,我們需要一個方法來驗證我們模型的準確度,這個方法就叫做validation(驗證)
validation 就是指我們把training資料分成兩份, 一份當作training data, 另一份當作 validation data(也就是拿來當作已知的testing data), 來估計模型的準確度
但單用validation在小樣本時會有問題, 因此就有人發現到, 咦, 我們每次把資料分成兩半,拿來當validation data 的資料沒有被用來training,於是就有人決定把它拿來當作training data,另外一半當作validation data惹~ 這種方法就叫做cross validation(交互驗證)
cross validation 的做法很多,以下來介紹常見的 K-fold cross validation:
其原理很簡單, 把資料分作K份,每次其中一份當testing data,其餘當作training data. 這樣做個K次來看模型的預測能力
當然囉,要看模型的預測能力有很多方法,有興趣的可以去reference 2 的網站看,裡面列出很多方法!
reference:
1. https://www.kaggle.com/dansbecker/cross-validation
2. http://scikit-learn.org/stable/modules/cross_validation.html#cross-validation
沒有留言:
張貼留言