机器学习入门教学——交叉验证
1、简介
交叉验证是在机器学习建立模型和验证模型参数 时常用的办法,一般被用于评估一个机器学习模型的表现。更多的情况下,我们也用交叉验证来进行模型选择。 【注】在训练模型时,为了提高模型的质量,我们会将数据集划分为训练集、验证集和测试集。其中测试集是完全不参与训练的,仅仅用来测试模型的效果。而交叉验证发生在建立模型和验证模型中,所以交叉验证仅于训练集和验证集有关。 交叉验证,顾名思义,就是重复的使用数据,把除了测试集的样本数据进行切分,组合为不同的训练集和验证集 ,用训练集来训练模型,用验证集来评估模型预测的好坏。在此基础上可以得到多组不同的训练集和验证集,某次训练集中的某样本在下次可能成为验证集中的样本,即所谓“交叉”。 交叉验证的主要目的是通过不同训练集、验证集的组合,以减少样本随机误差,提高结果的稳定性和可靠性。交叉验证适用于有限数据集时的模型选择和评估。 常用的交叉验证方法:简单交叉验证(Hold-out)、k 折交叉验证(k-CV)、留一验证(LOO-CV)
2、简单交叉验证(Hold-out)
Hold-out验证 严格意义上并非是一种交叉验证,因为数据并没有交叉使用。它是随机从最初的样本中选出部分当作验证集,而剩余的就当作训练集。一般来说,少于原本样本三分之一的数据被选作验证集。此种方法的好处的处理简单,只需随机把原始数据分为两组即可,因此用于样本数量较多的情况。
3、k 折交叉验证(k-CV)
k 折交叉验证 是将训练集分割成k个子样本,一个单独的子样本被保留作为验证集,其他k−1个样本用来训练。交叉验证重复k次,每个子样本验证一次,平均k次的结果或者使用其它的结合方法,最终得到一个单一估测。这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,可以有效避免过拟合和欠拟合的发生。其中,10次交叉验证是最常用的。
4、留一验证(LOO-CV)
留一验证 是指只使用原本样本中的一项 来当做验证样本,而剩余的则留下来当做训练样本。该方法用于样本数较少的情况。这个步骤一直持续到每个样本都被当做一次验证样本。 事实上,这等同于k折交叉验证,是k折交叉验证的一种特殊情况,其中k为原数据集中样本的个数。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/995644.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!