交叉驗證
交叉验证,有時亦稱循環估計[1] [2] [3], 是一種統計學上將数据樣本切割成較小子集的實用方法。於是可以先在一個子集上做分析,而其它子集則用來做後續對此分析的確認及驗證。一開始的子集被稱為訓練集。而其它的子集則被稱為驗證集或測試集。交叉验证的目的,是用未用来给模型作训练的新数据,测试模型的性能,以便減少诸如过拟合和选择偏差等問題,并给出模型如何在一个独立的数据集上通用化(即,一个未知的数据集,如实际问题中的数据)。
交叉驗證的理論是由Seymour Geisser所開始的。它對於防範根据数据建议的测试假设是非常重要的,特別是當後續的樣本是危險、成本過高或科学上不适合时去搜集的。
交叉验证的使用
假设有个未知模型具有一个或多个待定的参数,且有一个数据集能够反映该模型的特征属性(训练集)。适应的过程是对模型的参数进行调整,以使模型尽可能反映训练集的特征。如果从同一个训练样本中选择独立的样本作为验证集合,当模型因训练集过小或参数不合适而产生过拟合时,验证集的测试予以反映。 交叉验证是一种预测模型拟合性能的方法。
常見的交叉驗證形式
Holdout持久性驗證
常識來說,Holdout 驗證並非一種交叉驗證,因為数据並沒有交叉使用。 隨機從最初的樣本中選出部分,形成交叉驗證数据,而剩餘的就當做訓練数据。 一般來說,少於原本樣本三分之一的数据被選做驗證数据。 [4]
k折交叉验证
k折交叉验证(英語:),将训练集分割成k个子样本,一个单独的子样本被保留作为验证模型的数据,其他k − 1个样本用来训练。交叉验证重复k次,每个子样本验证一次,平均k次的结果或者使用其它结合方式,最终得到一个单一估测。这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,10次交叉验证是最常用的。
參考文獻
- Kohavi, Ron. . Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence. 1995, 2 (12): 1137–1143 [2008-07-14]. (原始内容存档于2008-03-25).(Morgan Kaufmann, San Mateo)
- Chang, J., Luo, Y., and Su, K. 1992. GPSM: a Generalized Probabilistic Semantic Model for ambiguity resolution. In Proceedings of the 30th Annual Meeting on Association For Computational Linguistics (Newark, Delaware, June 28 - July 02, 1992). Annual Meeting of the ACL. Association for Computational Linguistics, Morristown, NJ, 177-184
- Devijver, P. A., and J. Kittler, Pattern Recognition: A Statistical Approach, Prentice-Hall, London, 1982
- . Decision Trees Interactive Tutorial and Resources. [2006-06-21]. (原始内容存档于2006-06-23).
- . web.stanford.edu. [2019-04-04]. (原始内容存档于2021-01-22).
外部連結
- Naive Bayes implementation with cross-validation in Visual Basic (includes executable and source code)
- A generic k-fold cross-validation implementation (free open source; includes a distributed version that can utilize multiple computers and in principle can speed up the running time by several orders of magnitude.)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.