【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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值