计算避免下溢问题的指数加权因子的比例

计算科学 数值分析 Python 效率 数值限制
2021-12-18 01:53:30

我正在尝试在 Python 中实现这个比率: wt(i)wt(j)在哪里wt(i)=wt1(i)exp(xt(i)),即权重呈指数下降而不会遇到下溢问题。我稍后会在公式中使用这个比率。有没有人有同样的问题?有任何想法吗?我读了一些关于 logsumexp 技巧的文章,但我不确定我可以在这里使用它。

1个回答

解决方案可能在某种程度上取决于您的应用程序。通常,您可以跟踪对数权重以最大程度地减少下溢问题(即log-likelihoods;然后“logsumexp 技巧”可以应用于您的规范化因子的日志)。然而,一些权重最终仍将有效地变为 0。粒子滤波中,这被称为“样本退化问题”,通常通过重采样来解决(例如,在上述链接中描述的自举滤波器中)。