前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[机器学习必知必会]交叉验证

[机器学习必知必会]交叉验证

作者头像
TOMOCAT
发布2020-06-09 18:09:08
9060
发布2020-06-09 18:09:08
举报

前言

当我们根据数据训练出一个机器学习模型时,我们希望它在新的数据上也保持较高的准备率,这就需要我们对学习到的不同模型有一个模型评估准则。

为了评估模型的泛化性能(指模型在未知数据上的预测能力),防止模型落入“过拟合”的陷进。我们人为地将原始数据划分为训练集测试集,前者用于训练模型,后者用于评估模型的泛化性能。

训练集、验证集和测试集

在监督学习建模中,数据集常被划分为2~3组(验证集有时候不出现):训练集(train set)、验证集(validation)和测试集(test set)。 训练集用于训练模型,验证集用于确定控制模型复杂程度的参数,测试集用于评估模型的泛化性能。但实际应用中,我们常常简单将数据集划分为训练集和测试集。

交叉验证的类别

交叉验证包括简单交叉验证、

K
K

折交叉验证和留一法三种。

1. 简单交叉验证

简单交叉验证直接将数据集划分为训练集和验证集,首先利用训练集在不同的参数组合下训练模型,然后在测试集上评价不同参数组合模型的误差,选择测试误差最小的模型。

2.K折交叉验证

首先将样本数据集随机等分为

K
K

个互不相交的数据子集,然后依次将其中一份数据子集作为测试集,剩下

K-1
K-1

份数据子集作为训练集训练模型,最后以选取测试误差最小的模型作为最终模型。原理如下图所示:

image.png

3.留一法

K
K

折交叉验证中的

K
K

等于数据集样本数

N
N

时,我们便得到了当

K
K

折交叉验证的特例:留一法。因为留一法使用的训练集只比原始数据集少了一个样本,因此评估结果往往比较准确。但当样本数据集较大时,需要训练模型也就越多。

因留一法的特殊性,往往在数据量较小的时候使用。

Reference

[1] 机器学习

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 训练集、验证集和测试集
  • 交叉验证的类别
    • 1. 简单交叉验证
      • 2.K折交叉验证
        • 3.留一法
        • Reference
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档