评估并改进模型的预测性能

交叉验证是一种用于评估a的模型评估技术机器学习算法在预测未经过训练的新数据集方面的性能。这是通过划分数据集和使用子集来训练算法和测试剩下的数据来完成的。由于交叉验证并不使用所有的数据来构建模型,所以它是一种常用的方法来防止在训练过程中过度拟合。

每一轮交叉验证都涉及将原始数据集随机分区到训练集和一个测试组。然后使用训练集训练a监督式学习算法和测试集用于评估其性能。这个过程重复几次,并使用平均交叉验证错误作为性能指标。

常见的交叉验证技术包括:

  • k-fold:将数据划分为k个随机选择的大小大致相同的子集(或折叠)。一个子集用于验证使用其余子集训练的模型。此过程重复k次,以便每个子集仅用于一次验证。
  • 坚持:将数据精确地划分为指定比例的两个子集(或折叠),用于培训和验证。
  • Leaveout:使用k-fold方法对数据进行分区,其中k等于数据中观察值的总数。也称为遗漏交叉验证。
  • 重复随机业者:执行蒙特卡罗在所有运行中重复随机分区数据和聚合结果。
  • 分层:对数据进行分区,使训练集和测试集在响应或目标中具有大致相同的类比例。
  • Resubstitution:不分区数据;使用培训数据进行验证。通常会对性能产生过于乐观的估计,如果有足够的数据,就必须避免这种情况。

交叉验证是一种计算密集型的操作,因为要进行多次培训和验证。由于每个分区集都是独立的,因此可以并行执行此分析以加快进程。

有关使用交叉验证的详细信息机器学习问题,请参见统计和机器学习工具箱™深度学习工具箱™

参见:统计和机器学习工具箱,机器学习,监督式学习,特征选择,正则化,线性模型

机器学习的挑战:选择最佳分类模型和避免过度拟合