DL之DNN优化技术:神经网络算法简介之数据训练优化【mini-batch技术+etc】

目录

1、mini-batch技术

输出结果

实现代码


1、mini-batch技术

输出结果

实现代码

# coding: utf-8
#DL之mini-batch:理解深度学习算法中的优化技术【mini-batch技术+etc】import numpy as np
from DIY_module.mnist import load_mnist(x_train, t_train), (x_test, t_test) = load_mnist(normalize=True, one_hot_label=True)
#设定参数one_hot_label=True,可以得到one-hot 表示(即仅正确解标签为1,其余为0 的数据结构)。print(x_train.shape) # (60000, 784)
print(t_train.shape) # (60000, 10)#从训练数据中随机抽取10笔数据,只需指定这些随机选出的索引,取出mini-batch,然后使用这个mini-batch 计算损失函数即可!
train_size = x_train.shape[0]
batch_size = 10
batch_mask = np.random.choice(train_size, batch_size)
#np.random.choice(60000, 10)会从0 到59999 之间随机选择10 个数字x_batch = x_train[batch_mask]
t_batch = t_train[batch_mask]#实现mini-batch版交叉熵误差
#同时处理单个数据和批量数据(数据作为batch集中输入)两种情况的函数。
def cross_entropy_error(y, t):if y.ndim == 1: #if判断y的维度为1 时,即求单个数据的交叉熵误差时,需要改变数据的形状t = t.reshape(1, t.size)y = y.reshape(1, y.size) #当输入为mini-batch 时,要用batch 的个数进行正规化,计算单个数据的平均交叉熵误差。batch_size = y.shape[0]return -np.sum(t * np.log(y + 1e-7)) / batch_size#当监督数据是标签形式(非one-hot 表示,而是像“2”“7”这样的标签)时,交叉熵误差可通过如下代码实现。
#(1)、实现的要点是,由于one-hot表示中t为0的元素的交叉熵误差也为0,因此针对这些元素的计算可以忽略。即如果可以获得神经网络在正确解标签处的输出,就可以计算交叉熵误差。
def cross_entropy_error(y, t):if y.ndim == 1:t = t.reshape(1, t.size)y = y.reshape(1, y.size)batch_size = y.shape[0]return -np.sum(np.log(y[np.arange(batch_size), t] + 1e-7)) / batch_size  #微小值1e-7#np.log(y[np.arange(batch_size),t]) #np.arange(batch_size)会生成一个从0到batch_size-1的数组
#y[np.arange(batch_size),t]  #会生成NumPy数组[y[0,2], y[1,7], y[2,0],y[3,9], y[4,4]])。

DL之DNN优化技术:神经网络算法简介之数据训练优化【mini-batch技术+etc】相关推荐

  1. DL之CNN优化技术:卷积神经网络算法简介之特有的优化技术及其代码实现——im2col技术等技术

    DL之CNN优化技术:卷积神经网络算法简介之特有的优化技术及其代码实现--im2col技术等技术 目录 im2col技术 im2col简介 im2col代码实现 im2col技术 im2col简介 1 ...

  2. DL框架之MXNet :神经网络算法简介之MXNet 常见使用方法总结(神经网络DNN、CNN、RNN算法)之详细攻略(个人使用)

    DL框架之MXNet :神经网络算法简介之MXNet 常见使用方法总结(神经网络DNN.CNN.RNN算法)之详细攻略(个人使用) 相关文章 DL框架之MXNet :深度学习框架之MXNet 的简介. ...

  3. DL之CNN:卷积神经网络算法简介之原理简介——CNN网络的3D可视化(LeNet-5为例可视化)

    DL之CNN:卷积神经网络算法简介之原理简介--CNN网络的3D可视化(LeNet-5为例可视化) CNN网络的3D可视化 3D可视化地址:http://scs.ryerson.ca/~aharley ...

  4. DL之CNN:卷积神经网络算法简介之卷积矩阵、转置卷积(反卷积Transpose)、膨胀卷积(扩张卷积Dilated/带孔卷积atrous)之详细攻略

    DL之CNN:卷积神经网络算法简介之卷积矩阵.转置卷积(反卷积Transpose).膨胀卷积(扩张卷积Dilated/带孔卷积atrous)之详细攻略 目录 卷积矩阵的简介 卷积.转置卷积--Tran ...

  5. DL之CNN:卷积神经网络算法简介之原理简介(步幅/填充/特征图)、七大层级结构(动态图详解卷积/池化+方块法理解卷积运算)、CNN各层作用及其可视化等之详细攻略

    DL之CNN:卷积神经网络算法简介之原理简介(步幅/填充/特征图).七大层级结构(动态图详解卷积/池化+方块法理解卷积运算).CNN各层作用及其可视化等之详细攻略 目录 CNN 的层级结构及相关概念 ...

  6. DL之DNN优化技术:神经网络算法简介之GD/SGD算法(BP的梯度下降算法)的简介、理解、代码实现、SGD缺点及改进(Momentum/NAG/Ada系列/RMSProp)之详细攻略

    DL之DNN优化技术:神经网络算法简介之GD/SGD算法(BP的梯度下降算法)的简介.理解.代码实现.SGD缺点及改进(Momentum/NAG/Ada系列/RMSProp)之详细攻略 目录 GD算法 ...

  7. DL之DNN优化技术:神经网络算法简介之GD/SGD算法的简介、代码实现、代码调参之详细攻略

    DL之DNN优化技术:神经网络算法简介之GD/SGD算法的简介.代码实现.代码调参之详细攻略 目录 GD算法的简介 GD/SGD算法的代码实现 1.Matlab编程实现 GD算法的改进算法 GD算法中 ...

  8. DL之CNN:卷积神经网络算法应用之卷积神经网络实践技巧(DA/DP/WI/BN/H/O/R)、优化技术经验之详细攻略

    DL之CNN:卷积神经网络算法应用之卷积神经网络实践技巧(DA/DP/WI/BN/Hyperparameter/Overfitting/Regularization).优化技术经验之详细攻略 目录 卷 ...

  9. DL之DNN之BP:神经网络算法简介之BP算法/GD算法之不需要额外任何文字,只需要八张图讲清楚BP类神经网络的工作原理

    DL之DNN之BP:神经网络算法简介之BP算法/GD算法之不需要额外任何文字,只需要八张图讲清楚BP类神经网络的工作原理 目录 BP类神经网络理解 1.信号正向传播FP 2.误差反向传播BP+GD B ...

最新文章

  1. linux笔记 1-13-软件安装
  2. [转]一张图理解prototype、proto和constructor的三角关系
  3. SDWebImage实现原理(怎么实现图片缓存器)
  4. 被3整除的子序列(线性dp)
  5. springboot 参数校验详解
  6. EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽
  7. leetcode474. 一和零
  8. 通过Java代码打开浏览器,本地文件目录以及ftp站点
  9. 电气研究生做计算机视觉,UCI研究生电气工程专业排名!师哥带你瞬间拿下
  10. chmod是linux命令吗,Linux chmod命令怎么用
  11. LeetCode(693)——交替位二进制数(JavaScript)
  12. 【渝粤教育】国家开放大学2018年秋季 0570-21T摄像、录像制作 参考试题
  13. win7创建mysql odbc数据源_Win7下如何创建odbc数据源
  14. ARP报文的存入条件和回复条件
  15. 树莓派33/100 - Pico控制直流小马达,为智能避障小车提供动力
  16. 用时间做种子生成随机数
  17. python-鸢尾花分类
  18. ES摄入性能优化(插入提高了2倍+ 17w/s到37w/s)
  19. 完美解决html表格表头固定存在的问题
  20. 我在国企做软件开发这4年。。

热门文章

  1. python 操作redis之——HyperLogLog (八)
  2. C#获取当前程序运行路径的方法集合
  3. document.forms用法
  4. 扫盲了!一个Java字符串中到底有多少个字符?
  5. “国货之光” 完美日记的微服务实践和优化思路
  6. 奇葩面试经历分享:喊价25K,HR 却给了30K!
  7. 从公司发展看技术人才需求
  8. 为什么大多数同学宁愿吃学习的苦,也不愿意尝思考的痛?
  9. Spring Cloud Gateway(过滤器)
  10. 【Python】青少年蓝桥杯_每日一题_9.19_三行英文字母