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为原数据集中样本的个数。
文章来源地址https://www.toymoban.com/news/detail-706090.html
文章来源:https://www.toymoban.com/news/detail-706090.html
到了这里,关于机器学习入门教学——交叉验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!