梯度下降(在错误检测差)
问题描述:
高那里,梯度下降(在错误检测差)
所以我试图写的程序来执行与一个Y输出和几个X输入设置的采样数据的梯度下降算法。而不是让用户根据错误设置更新系数的“时代”的数量,以便像对旧错误迭代地测试更新的错误,并且当差异水平低于某个容差时停止函数(可能由用户设置)。我是否以正确的方式解决这个问题?如果是的话,可能是用来量化新旧错误之间差异的最佳方法?
我正在做这个作为Python的数据编程课程的一部分。
任何提示赞赏。
感谢
答
我想指出的是:在每次迭代后
训练误差通常是不稳定的,当你与小批量梯度下降,或随机梯度下降或其他算法优化取决于批量大小。 所以你的方法可能会导致早期停止或无限循环。
但是,如果您使用的是批量渐变下降,我认为您的方法可能有效。
编辑:
随机GD意味着你在一个时间计算只有一个样本误差和梯度,而在批量GD,你计算错误和毕业生在训练集中每个样本。
BatchGD的缺点是您需要一次又一次地为整个训练集计算梯度(想象当您有数百万训练样本时)。
关于你的f值:我认为你可以卡在鞍点(你的功能是平坦的)。 https://en.wikipedia.org/wiki/Saddle_point
但是,如果你仍然想实现这种方法,我觉得你的“新”的错误(或新的F值)应为10或20步“老”一后。
谢谢你的回答。恐怕我的经验没有达到知道随机指标和批量指标之间的差异。你能否详细说明。我的训练数据有两个变量,一个是变量,我正在考虑使用f值。 – Thomas