交叉验证

交叉验证一般用来训练机器学习模型和验证模型参数的,更多的情况下我们使用交叉验证来进行模型的选择。
什么时候使用交叉验证:
一般在数据样本量较小的时候。
交叉验证是什么:
就是使用重复的数据,将得到的数据进行切分,组成不同的测试集和训练集,用来训练模型。
交叉验证选择参数
我们现在有一组数据,需要将该数据进行一个切分,其中一部分数据用来建模,另一部分用来验证,通常的情况就是将数据分成两部分,比如有一万条数据,将其中八千条数据用来训练模型,另外两千条数据用来测试,但这种切分是错误的,因为在我们训练模型的过程中,测试数据是非常宝贵的,如果用测试数据来调参数,那我们的就没法验证最后的模型了,测试数据只能最终用!所以这里我们将数据进一步划分:
在这里插入图片描述
假设我们现在有一组数据,首先我们要将这组数据分为两部分分别为
训练数据
测试数据,一般按照9:1的方式进行划分,在划分之后需要再将训练数据进一步划分为训练集验证集,其中训练集用来训练模型,验证集用来评估模型预测的好坏和选择模型及其对应的参数。
如果只用一个验证集来选择参数,这里就会出现另一个问题,当我们选择的验证集中的数据并不全面或者没有那些具有挑战性的数据的时候,就无法判断训练的模型的好坏,所以这里我们需要进行交叉验证,比如我们这里将训练的数据分为五个部分fold1-fold5,分别取fold1、fold2、fold3、fold4、fold5来做验证集,其余四组用来训练模型,这样就考虑了验证集的完备性,判断训练的模型好不好,可以取五次验证的平均,当我们需要确定参数的时候就可以选择五次验证中结果最好的那个模型来作为最终的模型,最后利用测试集的数据来测试评价算法的好坏。
交叉验证中交叉的是训练集,验证的是参数。

总结:
1.选取超参数的正确方法是:将原始数据集分为训练集和验证集,我们在验证集上尝试不同的超参数,最后保留最好的那个。
2.如果数据量不够,使用交叉验证方法,它能帮助我们在选取最优化超参数的时候减少噪音。
3.一旦找到最优的超参数,就让算法以该参数在测试集跑且只跑一次,并根据测试结果评价算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值