0

通常,当 lambda.bar - lambda 小于某个 epsilon 值时,重新估计迭代过程会停止。

究竟如何确定这个 epsilon 值?我经常只看到在论文中写成一般的 epsilon 符号,而不是实际使用的值,我认为它会根据数据而改变。

因此,例如,如果我第一次迭代的 lambda 值为 5*10^-22,第二次迭代是 1.3*10^-15,第三次是 8.45*10^-15,第四次是 1.65*10^-14,等等.,我将如何确定算法何时不再需要迭代?

此外,如果我将相同的算法应用于不同的数据集怎么办?我需要更改我的 epsilon 定义吗?

对不起,很长的问题。对此感到非常困惑...... :)

4

2 回答 2

0

“我如何确定算法何时不再需要迭代?”

当您在合理的时间内获得“足够好”的结果时。;-)

“此外,如果我将相同的算法应用于不同的数据集怎么办?我需要更改我的 epsilon 定义吗?”

是的,很可能。

于 2013-05-10T17:47:40.550 回答
0

如果你负担得起,你可以让它迭代直到更新值 <= 旧值(它可能是 < 由于浮点错误)。在我用尽耐心或 CPU 预算之前,我会倾向于这样做。

于 2013-05-10T20:12:37.747 回答