梯度下降(在错误检测差)

梯度下降(在错误检测差)

问题描述:

高那里,梯度下降(在错误检测差)

所以我试图写的程序来执行与一个Y输出和几个X输入设置的采样数据的梯度下降算法。而不是让用户根据错误设置更新系数的“时代”的数量,以便像对旧错误迭代地测试更新的错误,并且当差异水平低于某个容差时停止函数(可能由用户设置)。我是否以正确的方式解决这个问题?如果是的话,可能是用来量化新旧错误之间差异的最佳方法?

我正在做这个作为Python的数据编程课程的一部分。

任何提示赞赏。

感谢

我想指出的是:在每次迭代后

训练误差通常是不稳定的,当你与小批量梯度下降,或随机梯度下降或其他算法优化取决于批量大小。 所以你的方法可能会导致早期停止或无限循环。

但是,如果您使用的是批量渐变下降,我认为您的方法可能有效。

编辑:

随机GD意味着你在一个时间计算只有一个样本误差和梯度,而在批量GD,你计算错误和毕业生在训练集中每个样本。

BatchGD的缺点是您需要一次又一次地为整个训练集计算梯度(想象当您有数百万训练样本时)。

关于你的f值:我认为你可以卡在鞍点(你的功能是平坦的)。 https://en.wikipedia.org/wiki/Saddle_point

但是,如果你仍然想实现这种方法,我觉得你的“新”的错误(或新的F值)应为10或20步“老”一后。

+0

谢谢你的回答。恐怕我的经验没有达到知道随机指标和批量指标之间的差异。你能否详细说明。我的训练数据有两个变量,一个是变量,我正在考虑使用f值。 – Thomas