交叉验证--说不清道不明的故事

“你以为你懂了,可是别人分分钟说的你哑口无言;你以为你没懂,其实你也不知道自己懂没懂。”

一、一文看懂 AI 数据集:训练集、验证集、测试集
这里对验证集的作用总结是对的,但是交叉验证的讲解我觉得是不对的,所以交叉验证的内容别看这里

二、交叉验证的种类及其优缺点

首先,讲一个注意点:
做训练的时候,数据的训练数据和验证数据集在理想情况下数据分布应该一致。
交叉验证的种类有哪些?这是一个很容易犯错的问题。其实,并不是只有常用的K折交叉验证属于这个类别,其余几类也属于这一范畴。链接一的这一部分内容整理的非常好
(1)留出法
在机器学习任务中,拿到数据后,我们首先会将原始数据集分为三部分:训练集、验证集和测试集。
训练集用于训练模型,验证集用于模型的参数选择配置,测试集对于模型来说是未知数据,用于评估模型的泛化能力。
缺点是:只做一次分割,当原始数据集比较小时,分割后数据的分布是否和原始数据集的分布相同等因素比较敏感,不同的划分会得到不同的最优模型,而且分成三个集合后,用于训练的数据更少了。
(2)K折交叉验证,其内容来源于链接一链接三
假设有n个观测值,我们将其均分为K组。用其中K-1组来训练模型,然后用训练得到的模型对剩下的一组进行预测,并在该组上计算预测误差。因为从K组中选择K-1组有K种选择,也可以理解为这K个组都有可能成为剩下的那一个预测组。所以便会计算K次的预测误差,对这K次的预测误差平均便得到一个交叉验证误差。以上过程便称为K-fold交叉验证。
其实,“交叉验证”中的“交叉”2字的意思就是:固定数据在不同K折中的地位不一样,可能是验证集,也可能是训练集。
优点:k 折交叉验证通过对 k 个不同分组训练的结果进行平均来减少方差,因此模型的性能对数据的划分就不那么敏感。
K折交叉验证的极致是“留一法”
(3)提靴法
缺点:这样产生的训练集的数据分布和原数据集的不一样了,会引入估计偏差。
此种方法不是很常用,除非数据量真的很少。

三、交叉验证的意义

1.作用一总结:来源于链接一
多用于数据很少的场合,防止过拟合。一般做深度学习跑标准数据集的时候用不到。
(1)将所有数据多喂入模型,可以让模型从有限的数据中获取尽可能多的有效信息。
(2)做训练中,每一份数据都有机会做验证集,可以根据验证集表现发现出数据分布不一致的情况,更好的考察模型对各种新数据的表现,防止过拟和。
2. 作用二总结:来源于链接一链接三
作用:找到合适的模型参数
在模型选择时,假设模型序列有个tuning parameter,不同的tuning parameter便确定一个模型,计算其交叉验证误差,最后选择使得交叉验证误差最小的那一个tuning parameter。这便是模型选择过程。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值