你一定经历过这样的时刻,看着电脑屏幕挠头,一头雾水:“我为什么要用这三个术语在代码中?,有什么区别?”因为他们看起来很像。为了理解这些术语有何不同,您需要了解一些机器学习术语,例如梯度下降,以帮助您理解。这里简单总结一下梯度下降的含义...梯度下降是机器学习中使用的一种迭代优化算法,用于寻找最佳结果(曲线的最小值)。梯度是指斜率或斜率的斜率。下降意味着成本函数的减少。该算法是迭代的,这意味着该算法需要多次使用以获得结果才能获得最优结果。梯度下降的迭代特性使欠拟合图能够进化以获得对数据的最佳拟合。梯度下降中有一个参数叫做学习率。如上图左侧所示,一开始学习率较大,因此下降的步长较大。随着点的减少,学习率变小,因此下降步长变小。同时代价函数也在递减,或者成本在递减,有时也称为损失函数或损失,两者是一样的。(损失/成本降低是好事)只有当数据很大时(在机器学习中,几乎任何时候)我们才需要使用epochs,batchsize,迭代这些术语,在这种情况下,不可能将数据输入到电脑一次。因此,为了解决这个问题,我们需要将数据分成小块,一块一块地传递给计算机,并在每一步结束时更新神经网络的权重,以适应给定的数据。EPOCHS当一个完整的数据集通过神经网络一次并返回一次时,这个过程称为一个epoch。然而,当一个epoch对于计算机来说太大时,就需要将它分成多个小块。为什么要使用多个纪元?我知道一开始听起来很奇怪,通过神经网络一次传递完整的数据集是不够的,我们需要通过同一个神经网络多次传递完整的数据集。但请记住,我们正在处理一个有限的数据集,并且我们正在使用称为梯度下降的迭代过程来优化学习过程和图形。因此,仅更新一次权重或使用一个时期是不够的。随着epoch数的增加,神经网络中权重的更新次数也随之增加,曲线由欠拟合变为过拟合。那么,多少个epoch合适呢?不幸的是,这个问题没有正确答案。对于不同的数据集,答案是不同的。但是数据的多样性会影响合适的epochs的数量。例如,一个数据集只有黑猫,一个数据集有各种颜色的猫。BATCHSIZE一批中的样本总数。请记住:批大小和批数是不同的。什么是批次?当数据无法插入神经网络时,需要将数据集分成几批。就像把这篇文章分成Introduction、GradientDescent、Epoch、Batchsize和Iterations几个部分,让文章更容易阅读和理解。迭代要理解迭代,你只需要知道乘法口诀表或计算器。迭代次数是批处理完成一个纪元所需的次数。请记住:在一个epoch中,batch的数量和迭代的数量是相等的。例如,考虑一个包含2000个训练样本的数据集。将2000个样本分成大小为500的批次,然后需要4次迭代才能完成一个epoch。
