DL之DNN:利用MultiLayerNetExtend模型【6*100+ReLU+SGD,dropout】对Mnist数据集训练来抑制过拟合

目录

输出结果

设计思路

核心代码

更多输出


输出结果

设计思路

190417更新

核心代码

class RMSprop:def __init__(self, lr=0.01, decay_rate = 0.99):self.lr = lrself.decay_rate = decay_rateself.h = Nonedef update(self, params, grads):if self.h is None:self.h = {}for key, val in params.items():self.h[key] = np.zeros_like(val)for key in params.keys():self.h[key] *= self.decay_rateself.h[key] += (1 - self.decay_rate) * grads[key] * grads[key]params[key] -= self.lr * grads[key] / (np.sqrt(self.h[key]) + 1e-7)class Nesterov:def __init__(self, lr=0.01, momentum=0.9):self.lr = lrself.momentum = momentumself.v = Nonedef update(self, params, grads):if self.v is None:self.v = {}for key, val in params.items():self.v[key] = np.zeros_like(val)for key in params.keys():self.v[key] *= self.momentumself.v[key] -= self.lr * grads[key]params[key] += self.momentum * self.momentum * self.v[key]params[key] -= (1 + self.momentum) * self.lr * grads[key]use_dropout = True
dropout_ratio = 0.2network = MultiLayerNetExtend(input_size=784, hidden_size_list=[100, 100, 100, 100, 100, 100],output_size=10, use_dropout=use_dropout, dropout_ration=dropout_ratio)
trainer = Trainer(network, x_train, t_train, x_test, t_test, epochs=301, mini_batch_size=100,optimizer='sgd', optimizer_param={'lr': 0.01}, verbose=True)
trainer.train()
train_acc_list, test_acc_list = trainer.train_acc_list, trainer.test_acc_list

更多输出

1、DNN[6*100+ReLU,SGD]: accuracy of not dropout on Minist dataset

train loss:2.3364575765992637
=== epoch:1, train acc:0.10333333333333333, test acc:0.1088 ===
train loss:2.414526554119518
train loss:2.341182306768928
train loss:2.3072782723352496
=== epoch:2, train acc:0.09666666666666666, test acc:0.1103 ===
train loss:2.2600377181768887
train loss:2.263350960525319
train loss:2.2708260374887645……=== epoch:298, train acc:1.0, test acc:0.7709 ===
train loss:0.00755416896470134
train loss:0.009934657874546435
train loss:0.008421672959852643
=== epoch:299, train acc:1.0, test acc:0.7712 ===
train loss:0.007142981215285884
train loss:0.008205245499586114
train loss:0.007319626293763803
=== epoch:300, train acc:1.0, test acc:0.7707 ===
train loss:0.00752230499930163
train loss:0.008431046288276818
train loss:0.008067532729014863
=== epoch:301, train acc:1.0, test acc:0.7707 ===
train loss:0.010729407851274233
train loss:0.007776889701033221
=============== Final Test Accuracy ===============
test acc:0.771

2、DNN[6*100+ReLU,SGD]: accuracy of dropout(0.2) on Minist dataset

train loss:2.3064018541384437
=== epoch:1, train acc:0.11, test acc:0.1112 ===
train loss:2.316626942558816
train loss:2.314434337198633
train loss:2.318862771955365
=== epoch:2, train acc:0.11333333333333333, test acc:0.1128 ===
train loss:2.3241989320140717
train loss:2.317694982413387
train loss:2.3079716553885006……=== epoch:298, train acc:0.6266666666666667, test acc:0.5168 ===
train loss:1.2359381134877185
train loss:1.2833380447791383
train loss:1.2728131428100005
=== epoch:299, train acc:0.63, test acc:0.52 ===
train loss:1.1687601000183936
train loss:1.1435412548991142
train loss:1.3854277174616834
=== epoch:300, train acc:0.6333333333333333, test acc:0.5244 ===
train loss:1.3039470016588997
train loss:1.2359979876607923
train loss:1.2871396654831204
=== epoch:301, train acc:0.63, test acc:0.5257 ===
train loss:1.1690084424502523
train loss:1.1820777530873694
=============== Final Test Accuracy ===============
test acc:0.5269

相关文章
CSDN:2019.04.09起

DL之DNN:利用MultiLayerNetExtend模型【6*100+ReLU+SGD,dropout】对Mnist数据集训练来抑制过拟合相关推荐

  1. DL之DNN:利用MultiLayerNet模型【6*100+ReLU+SGD】对Mnist数据集训练来理解过拟合现象

    DL之DNN:利用MultiLayerNet模型[6*100+ReLU+SGD]对Mnist数据集训练来理解过拟合现象 导读 自定义少量的Mnist数据集,利用全连接神经网络MultiLayerNet ...

  2. DL之DNN:自定义MultiLayerNet【6*100+ReLU,SGD】对MNIST数据集训练进而比较【多个超参数组合最优化】性能

    DL之DNN:自定义MultiLayerNet[6*100+ReLU,SGD]对MNIST数据集训练进而比较[多个超参数组合最优化]性能 目录 输出结果 设计思路 核心代码 输出结果 val_acc: ...

  3. DL之DNN:利用MultiLayerNet模型【6*100+ReLU+SGD,weight_decay】对Mnist数据集训练来抑制过拟合

    DL之DNN:利用MultiLayerNet模型[6*100+ReLU+SGD,weight_decay]对Mnist数据集训练来抑制过拟合 目录 输出结果 设计思路 核心代码 更多输出 输出结果 设 ...

  4. DL之DNN:自定义MultiLayerNet(5*100+ReLU+SGD/Momentum/AdaGrad/Adam四种最优化)对MNIST数据集训练进而比较不同方法的性能

    DL之DNN:自定义MultiLayerNet(5*100+ReLU+SGD/Momentum/AdaGrad/Adam四种最优化)对MNIST数据集训练进而比较不同方法的性能 目录 输出结果 设计思 ...

  5. DL之CNN:利用自定义DeepConvNet【7+1】算法对mnist数据集训练实现手写数字识别、模型评估(99.4%)

    DL之CNN:利用自定义DeepConvNet[7+1]算法对mnist数据集训练实现手写数字识别.模型评估(99.4%) 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 netwo ...

  6. DL之CNN:利用自定义DeepConvNet【7+1】算法对mnist数据集训练实现手写数字识别并预测(超过99%)

    DL之CNN:利用自定义DeepConvNet[7+1]算法对mnist数据集训练实现手写数字识别并预测(超过99%) 目录 输出结果 设计思路 核心代码 输出结果 准确度都在99%以上 1.出错记录 ...

  7. DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程

    DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程 目录 输出结果 设计思路 核心代码 更多输出 相关文章: ...

  8. DL之DNN优化技术:自定义MultiLayerNet【5*100+ReLU】对MNIST数据集训练进而比较三种权重初始值(Xavier参数初始化、He参数初始化)性能差异

    DL之DNN优化技术:自定义MultiLayerNet[5*100+ReLU]对MNIST数据集训练进而比较三种权重初始值(Xavier参数初始化.He参数初始化)性能差异 导读 #思路:观察不同的权 ...

  9. DL之CNN可视化:利用SimpleConvNet算法【3层,im2col优化】基于mnist数据集训练并对卷积层输出进行可视化

    DL之CNN可视化:利用SimpleConvNet算法[3层,im2col优化]基于mnist数据集训练并对卷积层输出进行可视化 导读 利用SimpleConvNet算法基于mnist数据集训练并对卷 ...

最新文章

  1. 如何更新你的机器学习模型?手把手带你设计一个可持续的预测模型!
  2. (干货)微信小程序转发好友
  3. JavaScript 工作原理(一):引擎,运行时,调用堆栈
  4. 降低软件复杂性一般原则和方法
  5. java 数组大数乘法_java – 在数组中查找3个数字的最大乘积
  6. win10运行YOLOv4+OPENCV+VS2017
  7. mysql 常用配置
  8. 【物理/数学】概念的理解 —— pivot、position
  9. 站点的安全防范都是后端的职责?非也,Web前端安全同样不可忽视
  10. RabbitMQ 与 Erlang 安装与配置
  11. 计算机管理系统论文参考文献,关于计算机系统管理的论文参考文献 计算机系统管理论文参考文献哪里找...
  12. trend函数用oracle实现,excel线性回归拟合线Trend函数是这样来使用的
  13. 《笑傲江湖》清心普善咒——曲谱(琴箫合奏曲)
  14. OpenCV 表盘指针自动读数
  15. 由 Apache Kylin 组建的 Kyligence 公司获得数百万美元的天使轮投资
  16. 如何查看DNS记录的生存时间(TTL)?
  17. 清除页面缓存快捷键-避免重新登陆方式
  18. mysql 42000 1064_mysql主从复制或其他操作报错ERROR 1064 (42000): You have an er
  19. 阿里云新ip某些地区无解析值
  20. 如何引导回购和好评且不被平台抽查和处罚

热门文章

  1. 像个字段相减绝对值_【高考数学】33个知识点+66个易混点大整合
  2. 一个项目有两个pom_实现一个Spring Boot Starter超简单,读 Starter 源码也不在话下...
  3. 智能计算升级背后:华为“不想再搬砖”
  4. Docker安装Hadoop
  5. 深入学习微框架:Spring Boot
  6. VISUAL STUDIO 2008 破解方法
  7. Vue route页面跳转,传递参数接收到的参数为空
  8. loadrunner 的脚本语言
  9. Spring Boot 发邮件和附件,超实用!
  10. 我作为开发者犯过的两次愚蠢的错误