1 问题

对模型进行训练后,测试集测试的结果与真实值之间的占比称为准确率,准确率往往是评估网络的一个重要指标。而用同一数据集训练神经网络,每次训练得到的准确率结果却不一样并且准确率都较低,最高仅67%,那如何才能提高训练后的准确率呢?

2 方法

模型的参数是随机的,所以导致每次训练出的准确率不一样。虽然每次训练得到的准确率不同,但是都在65%左右,准确率较低。参数优化、数据处理等方法可以提高其准确率,本文采用的方法是训练网络时训练多个epoch(周期)。

def train(dataloader, net, loss_fn, optimizer):
   net.train()
   for batch_idx, (X,y) in enumerate(dataloader):
       pred = net(X)
       loss = loss_fn(pred, y)
       optimizer.zero_grad()
       loss.backward()
       optimizer.step()
#训练5个周期epoch
for epoch in range(5):
   train(train_loader, net, loss_fn, optimizer)

结果如下:

可以看到在训练了5个epoch后准确率提高到了79%。

将epoch增加到75时,准确率则提高到了90%。

为什么增加epoch的数量可以提高训练数据集的准确率呢?

epoch中文译为“时期”。1个epoch等于使用训练集中的全部样本训练一次。在神经网络中传递完整的数据集一次是不够的,而且需要将完整的数据集在同样的神经网络中传递多次。如下图所示。因此仅仅更新一次或者说使用一个epoch是不够的。

随着epoch数量增加,神经网络中的权重的更新次数也在增加,曲线从欠拟合变得过拟合。

因此在一定范围内增加epoch的数量可以提高训练数据集的准确率,不过对于不同的数据集,合适的epoch数量是不一样的,但是数据的多样性会影响合适的epoch的数量。

3 结语

针对提高Minst数据集训练模型的准确率的问题,本文采用了训练多个epoch来提高其准确率,并通过实验验证该方法确能提高准确率,但运行时间会随epoch的数量而增长,且准确率只能达到91%左右,所以只通过增加训练epoch的数量来提高准确率是完全不够的,还需结合参数优化等方法来提高训练模型的准确率。

训练多个epoch来提高训练模型的准确率相关推荐

  1. DL之NN/CNN:NN算法进阶优化(本地数据集50000张训练集图片),六种不同优化算法实现手写数字图片识别逐步提高99.6%准确率

    DL之NN/CNN:NN算法进阶优化(本地数据集50000张训练集图片),六种不同优化算法实现手写数字图片识别逐步提高99.6%准确率 目录 设计思路 设计代码 设计思路 设计代码 import mn ...

  2. 最强 NLP 预训练模型库 PyTorch-Transformers 正式开源:支持 6 个预训练框架,27 个预训练模型...

    先上开源地址: https://github.com/huggingface/pytorch-transformers#quick-tour 官网: https://huggingface.co/py ...

  3. 用训练好的paddlepaddle模型继续训练模型和验证数据ckpt

    # 模型加载 model = hub.Module(name='ernie', task='seq-cls', num_classes=14) tokenizer = model.get_tokeni ...

  4. 著名弹跳训练法 练成可提高30cm

    搜狐体育讯 怎样提高弹跳一直是广大篮球迷最关注的话题之一,下面我们就为大家推荐一种弹跳训练方法--美国最著名纵跳训练计划, 练成后预计纵跳能力(也就是原地弹跳)可以提高20到30厘米以上, 不过锻炼过 ...

  5. 训练神经网络的详细步骤,提高神经网络训练速度

    Hopfield 神经网络有哪几种训练方法 人工神经网络模型主要考虑网络连接的拓扑结构.神经元的特征.学习规则等.目前,已有近40种神经网络模型,其中有反传网络.感知器.自组织映射.Hopfield网 ...

  6. 纪中训练5月23日提高组T1

    [USACO 2017 US Open Silver]Bovine Genomics 题解: 暴力 把ACGT对应成数字,然后记录 接着就是暴力找三个位置 然后又是暴力判断 综上所述: 暴力 #inc ...

  7. 产品思维训练 | 面试题探讨:提高旅游产品评论数量的解决方案

    本周话题: 分享一道面试题:一个旅游网站,有稳定用户数,但其评论区的评论数量一直上不去,请想出解决办法. @赵依曼: 1. 用户激励,评论返券或者红包 2. 用户分享,支持评论分享到一些主流媒体和社交 ...

  8. 深入浅出python机器学习_9.1.5_通过数据预处理提高模型的准确率_MinMaxScaler

    # 导入红酒数据集from sklearn.datasets import load_wine# 导入MLP神经网络from sklearn.neural_network import MLPClas ...

  9. 内涝预测过程的噪音_提高人工智能模型准确率的测试过程中需要注意什么?

    黑马程序员视频库 播妞微信号:boniu236 传智播客旗下互联网资讯.学习资源免费分享平台 现在人工智能行业发展迅猛,那么人工智能产品特别是使用分类算法实现的产品中判断其能否上线通常是通过算法自带的 ...

  10. 正大天晴与阿里云合作,AI制药提高化合物筛选准确率20% 新药研发困难重重?正大天晴与阿里云合作用AI寻找解决办法...

    新药研发周期长.投入大,一直是药企的难点问题,但伴随AI加入,这一问题或得到缓解.9月5日,记者获悉正大天晴与阿里云正合作采用AI制药,与传统计算机辅助药物设计方法相比,这套新方法可提高筛选准确率20 ...

最新文章

  1. 中国高校生物信息学中心有哪些
  2. salesforce lightning零基础学习(一) lightning简单介绍以及org开启lightning
  3. 与C ++中的QML对象进行交互
  4. 只读变量(常量)和位置变量
  5. 乔布斯,影响了一个时代的人
  6. Web开发者一定会用的5个google浏览器插件
  7. Android依赖注入:Dagger、RoboGuice和ButterKnife
  8. secoclient全版本下载分享
  9. 高性能MySQL(第3版) 中文PDF带目录清晰版
  10. css中的flow-root属性
  11. als算法参数_矩阵分解之交替最小二乘ALS
  12. 【小学生打字练习软件】_在线网上打字比赛软件系统
  13. 征服统计学09|统计学里的p值有何意义
  14. js实现GeoHash算法
  15. KITTI结果评测流程
  16. 百度以图搜图API介绍
  17. 我看到西电通院考试——学生应该做的事情?
  18. ZIGBEE------协调器断开重连,终端设备无法重新入网。
  19. Carla release与ros-bridge
  20. 创业必读:组建初创团队最常见、最致命的10个大坑

热门文章

  1. 考研二战日记-第34天——高数6.2可分离变量的微分方程
  2. [NOIP 2018]龙虎斗 题解(Python)
  3. android studio 官方虚拟机,Android Studio 移动虚拟机
  4. JavaWeb查漏补缺
  5. 2019百日打卡DAY12
  6. Reactor反应器模式
  7. Doom3 引擎渲染管线分析
  8. 基于JAVA实现的图形化页面置换算法
  9. moneybookers api支付接口
  10. case when 语句用法