【chapter29】【PyTorch】[交叉验证】

前言

    前面讲了 Underfit  , Overfit ,这里重点讲解一下如何检测

   

一  数据集划分

        训练的时候,我们一般把数据集分成 训练集 和 验证集

     

     每训练一轮或者几轮.validation 一次,看一下当前 验证集上的loss&acc 是否

提升.如果已经是最佳值,则提前结束训练,防止过拟合.

    

 如下图,Testing Error 先降低,如果一致训练下去,就会出现过拟合。

TrainError 降低,但是Test Error 变高

实际做产品或者项目的时候,会把数据集分成三部分

Train Set  |Val   Set|Test Set


二 数据集划分

2.1  train Data 划分

 这里使用

 torch.utils.data.random_split

描述

随机将一个数据集分割成给定长度的不重叠的新数据集。可选择固定生成器以获得可复现的结果(效果同设置随机种子)

参数

  • dataset (Dataset) – 要划分的数据集。
  • lengths (sequence) – 要划分的长度。
  • generator (Generator) – 用于随机排列的生成器

对70K的train Data, 50K用于训练,10k 用于validation.10k固定用于test.

 

 

 训练的时候,一种方法是训练到最大次数,每一epoch 记录下当前的参数

,当训练结束完,找到validation 上 acc&loss  精度最高的那个点的参数,

然后使用test Data, 测试一下对应的Acc&loss

参考:

课时56 交叉验证-1_哔哩哔哩_bilibili

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyTorch中的交叉验证是一种常用的模型评估方法,它可以有效地评估模型的性能并提供可靠的泛化能力估计。在PyTorch中,可以使用K折交叉验证来进行模型评估和选择最佳超参数。 K折交叉验证的基本思想是将训练数据集分成K个子集,其中K-1个子集用作训练数据,剩下的一个子集用作验证数据。这个过程会重复K次,每次使用不同的验证数据集。最终,可以根据K次验证结果的平均值来评估模型的性能。 在PyTorch中实现K折交叉验证的步骤如下: 1. 准备数据集:将所有的数据集读入txt文本,并将每张图片的路径与标签信息组成一个列表。 2. 打乱数据集:使用np.random.shuffle函数将数据集打乱,以保证数据的随机性。 3. 划分数据集:将数据集划分为K个子集,每个子集将作为验证数据集,剩余的数据将作为训练数据集。 4. 定义模型和超参数:根据实际需要,定义模型和超参数。 5. 训练和验证:使用K-1个训练数据集进行模型训练,并使用验证数据集评估模型性能。 6. 重复步骤5:重复步骤5,使用不同的验证数据集进行模型训练和性能评估。 7. 计算平均性能:根据K次验证结果的平均值,计算模型的性能。 参考文献提供了一个完整的PyTorch最简单的图像分类——K折交叉验证的代码示例,可以参考该代码实现K折交叉验证的过程。 需要注意的是,K折交叉验证是一种在数据较少的情况下使用的模型评估方法,它可以减小因数据不足而引起的模型过拟合问题,并提供更可靠的模型性能评估。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [pytorch - K折交叉验证过程说明及实现](https://blog.csdn.net/wangchaoxjtu/article/details/117548213)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Pytorch最简单的图像分类——K折交叉验证处理小型鸟类数据集分类](https://blog.csdn.net/hb_learing/article/details/110411532)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值