当我们处理随机梯度下降时,成本函数基于单个随机训练数据进行更新。
但这一项可能会改变权重,使其对其有利,并且由于成本函数仅依赖于该项,因此成本函数可能会误导我们,因为它实际上并没有降低成本,而是过度拟合特定的条目。对于下一个条目,权重将再次更新以支持此条目。
这不会导致过度拟合吗?我该如何解决这个问题呢?
发布于 2019-05-07 04:24:28
训练数据不是随机的- SGD迭代所有的训练点(单独或批量)。因为损失函数是针对数据批次(或单个训练点)计算的,所以它可以被认为是从权重空间中的梯度向量分布中随机抽取的,不会与在整个训练数据上计算的损失函数的全局梯度精确匹配。单个步骤对批处理/训练点绝对是“过拟合”的,但我们只在该方向上采取了单个步骤(由学习率调节,通常为<< 1)。然后我们移动到下一个数据点(或批次)并计算新的梯度。有一种“新近”效应(最近训练的数据更有效),但这是由小学习率调节的。在多次迭代中,所有训练数据的权重都是相等的。
通过依次对所有数据执行此操作,每个单独的支持步骤在权重空间中采取一个小的随机(但不是不相关)步骤。在许多训练迭代中,网络可能能够找到非常好的解决方案(不是很多关于全局最优性的保证,但神经网络的本质是高度表达的,并且通常可以找到非常好的解决方案)。然而,可能需要在同一数据集上进行多次逐步迭代才能收敛到局部吸引盆地。
训练数据的过度拟合绝对是神经网络的一个问题,但这是其表达能力的函数,而不是随机梯度下降算法。像dropout和核正则化器这样的技术可以提供正则化鲁棒性,但唯一的方法是
https://stackoverflow.com/questions/47205580
复制相似问题