很多朋友对一文看懂神经网络之Epoch、Batch,Size和迭代不是很了解,六月小编刚好整理了这方面的知识,今天就来带大家一探究竟。你是不是还
很多朋友对一文看懂神经网络之Epoch、Batch,Size和迭代不是很了解,六月小编刚好整理了这方面的知识,今天就来带大家一探究竟。
你是不是还在纠结于网上各种技术代名词,你是不是觉得它们很相似,为了理解这些术语的区别,你需要了解一些关于机器学习的术语,比如梯度下降,来帮助你理解。梯度下降这是机器学习中用于寻找最佳结果(曲线的最小值)的迭代优化算法。
梯度是指斜率或斜率的斜率。下降意味着成本函数的减少。
算法是迭代的,这意味着算法需要多次使用来获得结果,才能获得最优结果。梯度下降的迭代特性使得欠拟合图的演化能够获得对数据的最佳拟合。
梯度下降中有一个参数叫做学习率。如上图左侧所示,一开始学习率较大,因此下降的步长较大。
随着点的减少,学习率变小,因此下降步长变小。同时代价函数也在递减,或者成本在递减,有时也称为损失函数或损失,两者是一样的。
(损失/成本降低是好事)只有当数据量很大时(在机器学习中,几乎任何时候),我们才需要使用epochs、batch size、iterations 这些术语,在这种情况下,不可能一次性将数据输入计算机。因此,为了解决这个问题,我们需要将数据分成小块,一块一块地传递给计算机,并在每一步结束时更新神经网络的权重,以适应给定的数据。
EPOCHS 当一个完整的数据集通过神经网络一次并返回一次时,这个过程称为一个epoch。然而,当一个epoch对于计算机来说太大时,就需要将它分成多个小块。
为什么要使用多个纪元?我知道一开始这听起来很奇怪,将完整的数据集通过神经网络传递一次是不够的,我们需要通过同一个神经网络多次传递完整的数据集。但请记住,我们正在处理一个有限的数据集,并且我们正在使用称为梯度下降的迭代过程来优化学习过程和图形。
因此,仅更新一次权重或使用一个时期是不够的。随着epoch数的增加,神经网络中权重的更新次数也随之增加,曲线由欠拟合变为过拟合。
那么,多少个epoch合适呢?不幸的是,这个问题没有正确答案。对于不同的数据集,答案是不同的。
但是数据的多样性会影响合适的epochs的数量。例如,一个数据集只有黑猫,一个数据集有各种颜色的猫。
BATCH SIZE 一批中的样本总数。请记住:批大小和批数是不同的。
什么是批次?当数据不能一次性通过神经网络时,就需要将数据集分成几批。就像把这篇文章分成Introduction、Gradient Descent、Epoch、Batch size 和Iterations 几个部分,让文章更容易阅读和理解。
迭代要理解迭代,你只需要知道乘法口诀表或计算器。迭代次数是批处理完成一个纪元所需的次数。
请记住:在一个epoch 中,batch 的数量和迭代的数量是相等的。例如,考虑一个包含2000 个训练样本的数据集。
将2000 个样本分成大小为500 的批次,然后需要4 次迭代才能完成一个epoch。
以上就是关于一文看懂神经网络之Epoch、Batch,Size和迭代的知识,希望能够帮助到大家!
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们