Cross Validation

本文深入解析了交叉验证(CrossValidation)的概念及其在机器学习模型选择中的应用。通过将数据集划分为训练集和验证集,交叉验证能有效评估模型的泛化能力,帮助从多种模型中选择最优解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cross Validation

  1. 什么是Cross Validation?

    假设目前已有的数据集全集为D,从中选出一部分作为交叉验证集。

    其余集作为训练集,将已有的模型A1A_1A1在训练集上训练,在验证集上得到Error1Error_1Error1,再轮换选出另一部分作为验证集,重复。得到E(A1)‾\overline{E(A_1)}E(A1),对模型A2A_2A2同样操作,得到E(A2)‾\overline{E(A_2)}E(A2),最终选出E‾\overline{E}E最小的模型A,在全集上训练,得到最终的矩 g 。

  2. 为什么需要Cross Validation?

    我们已经有了很多的机器学习模型,linear regression,PLA,Pocket,Logistic,同时每种模型又有各种超参数,是否加regularization,learning-rate,Logistic的维数,从中如何选择合适的模型成了重点,因此需要一种评判优劣的标准,如果都在全集上训练,测试,可能无法做到泛化。而留出一部分未被污染的数据作为测试,更客观。

  3. 如何使用Cross Validation?

    1. 将全集分为几部分,常常分为5或10.
    2. 选出一部分作为验证集,取一个模型在其余数据上训练。
    3. 在验证集上得到 Error1Error_1Error1
    4. 轮流去其余部分作为验证集,重复 b,c
    5. 得到对应于该模型的 E(Ai)‾=1N∑n=1NErrorn\overline {E(A_i)}=\frac{1}{N}\sum_{n=1}^N Error_nE(Ai)=N1n=1NErrorn
    6. 对于其余模型,重复a, b, c, d, e
    7. 比较所有模型的 E(A)‾\overline {E(A)}E(A) 选出最小的作为最终模型 A∗A^*A.
    8. 在全集上训练A∗A^*A,得到合适的参数。确定最终的矩 g .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值