机器学习入门教学——交叉验证

1、简介

  • 交叉验证是在机器学习建立模型和验证模型参数时常用的办法,一般被用于评估一个机器学习模型的表现。更多的情况下,我们也用交叉验证来进行模型选择。
  • 【注】在训练模型时,为了提高模型的质量,我们会将数据集划分为训练集、验证集和测试集。其中测试集是完全不参与训练的,仅仅用来测试模型的效果。而交叉验证发生在建立模型和验证模型中,所以交叉验证仅与训练集和验证集有关。
  • 交叉验证,顾名思义,就是重复的使用数据,把除了测试集的样本数据进行切分,组合为不同的训练集和验证集,用训练集来训练模型,用验证集来评估模型预测的好坏。在此基础上可以得到多组不同的训练集和验证集,某次训练集中的某样本在下次可能成为验证集中的样本,即所谓“交叉”。
  • 交叉验证的主要目的是通过不同训练集、验证集的组合,以减少样本随机误差,提高结果的稳定性和可靠性。交叉验证适用于有限数据集时的模型选择和评估。
  • 常用的交叉验证方法:简单交叉验证(Hold-out)、k折交叉验证(k-CV)、留一验证(LOO-CV)

2、简单交叉验证(Hold-out)

  • Hold-out验证严格意义上并非是一种交叉验证,因为数据并没有交叉使用。它是随机从最初的样本中选出部分当作验证集,而剩余的就当作训练集。
  • 一般来说,少于原本样本三分之一的数据被选作验证集。此种方法的好处的处理简单,只需随机把原始数据分为两组即可,因此用于样本数量较多的情况。
  • 机器学习入门教学——交叉验证_第1张图片

3、k折交叉验证(k-CV)

  • k折交叉验证是将训练集分割成k个子样本,一个单独的子样本被保留作为验证集,其他k−1个样本用来训练。交叉验证重复k次,每个子样本验证一次,平均k次的结果或者使用其它的结合方法,最终得到一个单一估测。
  • 这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,可以有效避免过拟合和欠拟合的发生。其中,10次交叉验证是最常用的。
  • 机器学习入门教学——交叉验证_第2张图片

4、留一验证(LOO-CV)

  • 留一验证是指只使用原本样本中的一项来当做验证样本,而剩余的则留下来当做训练样本。
  • 该方法用于样本数较少的情况。这个步骤一直持续到每个样本都被当做一次验证样本。
  • 事实上,这等同于k折交叉验证,是k折交叉验证的一种特殊情况,其中k为原数据集中样本的个数。

你可能感兴趣的:(机器学习,机器学习,人工智能,深度学习)