Δw(t)=−ε
∂w(t)
∂E

+αΔw(t−1)(9)

我们知道反向传播每次迭代的效果是这样的:
w=w+Δw(t) w=w+\Delta w(t)
w=w+Δw(t)

我们知道,每条训练数据都会导致训练的过程中,
计算一次∂E∂w(t) \frac{∂E}{∂w(t)}
∂w(t)
∂E

,假如我的wi w_iw
i

初始化为0,最终的值是0.7
但是我的学习率ε=0.0001 \varepsilon=0.0001ε=0.0001,一万条数据,
epoch=1够不够,可能够,也可能不够.
因为你想啊,就假如一个三层的神经网络
第一层和第二层之间有个wi w_iw
i

第2层和第3层之间有个wj w_jw
j

假设w在0~1之间,那么就有1/ε \varepsilonε=10000种取值,
并且层与层之间的w还得排列组合,这些排列组合虽然是根据∂E∂w(t) \frac{∂E}{∂w(t)}
∂w(t)
∂E

不断调整w ww的,你能确保这些层与层之间的不同w的值的组合
刚好令loss(也就是E)最小吗?
显然不能,所以根据梯度下降的过程,你需要很多次epoch,才有可能让神经网络来拟合处满足当前训练集的模型.
一言概之,为啥需要多次epoch,
就是
w=w+Δw(t) w=w+\Delta w(t)
w=w+Δw(t)
还没来得及迭代到最终的值.

当然最终的值很可能会让神经网络过拟合,这是后话.
---------------------
作者:Chi Yus Blog
来源:CSDN
原文:https://blog.csdn.net/appleyuchi/article/details/86555315
版权声明:本文为博主原创文章,转载请附上博文链接!

神经网络为什么需要多次epoch的更多相关文章

  1. 手动设计神经网络进行MNIST分类

    前言: 用手工设计的两层神经网络,经过200个epoch,最后得到0.9599,约0.96的精度 正文 import tensorflow as tf from tensorflow.examples ...

  2. 3.对神经网络训练中Epoch的理解

    代表的是迭代的次数,如果过少会欠拟合,反之过多会过拟合 EPOCHS 当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一个 epoch.   然而,当一个 epoch 对于计算机而言太 ...

  3. 神经网络中Epoch、Iteration、Batchsize相关理解

    batch 深度学习的优化算法,说白了就是梯度下降.每次的参数更新有两种方式. 第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度.这种方法每更新一次参数都要把数据集里的所有样 ...

  4. 一文读懂神经网络训练中的Batch Size,Epoch,Iteration

    一文读懂神经网络训练中的Batch Size,Epoch,Iteration 作为在各种神经网络训练时都无法避免的几个名词,本文将全面解析他们的含义和关系. 1. Batch Size 释义:批大小, ...

  5. 如何用卷积神经网络CNN识别手写数字集?

    前几天用CNN识别手写数字集,后来看到kaggle上有一个比赛是识别手写数字集的,已经进行了一年多了,目前有1179个有效提交,最高的是100%,我做了一下,用keras做的,一开始用最简单的MLP, ...

  6. 使用神经网络来识别手写数字【译】(三)- 用Python代码实现

    实现我们分类数字的网络 好,让我们使用随机梯度下降和 MNIST训练数据来写一个程序来学习怎样识别手写数字. 我们用Python (2.7) 来实现.只有 74 行代码!我们需要的第一个东西是 MNI ...

  7. RNN神经网络和英中机器翻译的实现

    本文系qitta的文章翻译而成,由renzhe0009实现.转载请注明以上信息,谢谢合作. 本文主要讲解以recurrent neural network为主,以及使用Chainer和自然语言处理其中 ...

  8. [转]Theano下用CNN(卷积神经网络)做车牌中文字符OCR

    Theano下用CNN(卷积神经网络)做车牌中文字符OCR 原文地址:http://m.blog.csdn.net/article/details?id=50989742 之前时间一直在看 Micha ...

  9. c++实现mlp神经网络

    之前一直用theano训练样本,最近需要转成c或c++实现.在网上参考了一下其它代码,还是喜欢c++.但是看了几份cpp代码之后,发现都多少有些bug,很不爽.由于本人编码能力较弱,还花了不少时间改正 ...

随机推荐

  1. vmstat-虚拟内存查看实例

    虚拟内存运行原理 在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间.当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存 ...

  2. 集训队日常训练20180518-DIV1

    A.3583 n根木棍是否能分成相等两堆. 背包dp,首先求和sum,如果为偶数就说明不行,否则考虑做一个sum/2大小的背包. #include<bits/stdc++.h> using ...

  3. Google earth爬取卫星影像数据并进行标注路网的方法

    一.下载goole earth 和GetScreen: 试了很多,找了可以使用的上传到百度网盘,链接如下所示: 链接:https://pan.baidu.com/s/1fp-W8u68iRsJ0xcu ...

  4. httpserver实现简单的上下文

    package main import ( "net/http" "com.jtthink.net/myhttpserver/core" ) type MyHa ...

  5. js读取解析JSON数据(转)

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  6. Leetcode697.Degree of an Array数组的度

    给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值. 你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度. 示例 1: 输入: [ ...

  7. PLAY2.6-SCALA(十一) 模板常用场景

    1.布局 声明一个views/main.scala.html模板作为主布局模板 @(title: String)(content: Html) <!DOCTYPE html> <ht ...

  8. 将centos 7 自带的 php 5.4升级为 5.6

    1.进入终端后查看php版本 php -v 输出可能如下: PHP 5.4.35 (cli) (built: Nov 14 2014 07:04:10) Copyright (c) 1997-2014 ...

  9. 【7.19 graphshortestpath graphallshortestpaths函数】matlab 求最短路径函数总结

    graphshortestpath 函数是用来解决最短路径问题的. 语法为: [dist, path, pred]=graphshortestpath(G,S) [dist, path, pred]= ...

  10. objectarx之遍历当前模型空间中的所有实体,并对每个实体进行炸开

    //炸开void BomEntity(){ AcDbBlockTable *pBlkTbl; acdbHostApplicationServices()->workingDatabase()-& ...