通常,当lambda.bar - lambda小于某个epsilon值时,重新估计迭代过程停止。
如何确定这个epsilon值?我经常只看到在论文中被写为一般的epsilon符号,而从未使用的实际值,我认为这将取决于数据。
因此,例如,如果我的第一次迭代的lambda值是5 * 10 ^ -22,则第二次迭代是1.3 * 10 ^ -15,第三次是8.45 * 10 ^ -15,第四次是1.65 * 10 ^ - 14,等等,我如何确定算法何时不再需要迭代?
此外,如果我将相同的算法应用于不同的数据集怎么办?我需要更改我的epsilon定义吗?
很抱歉这个问题很长。非常困惑的是...... :)
答案 0 :(得分:0)
“我如何确定算法何时不再需要迭代?”
当您在合理的时间内获得“足够好”的结果时。 ;-)
“而且,如果我将相同的算法应用于不同的数据集怎么办?我需要这样做 改变我的epsilon定义?“
是的,很可能。
答案 1 :(得分:0)
如果你能负担得起,你可以让它迭代直到更新的值< =旧值(它可能是<由于浮点错误)。我会倾向于这样做,直到我没有耐心或cpu预算。