AI 漫天,我们坚持手做论坛。

新加坡 11-04 10:49 · 吉隆坡 10:49 · 雅加达 09:49 · 曼谷 09:49 · 马尼拉 10:49 · 胡志明 09:49 · 北京 10:49 · 东京 11:49 · 伦敦 02:49 · 纽约 21:49

NumPy logaddexp 接收的是对数值:相加的是原始量,返回的仍是对数

#NumPy#数值计算#学习示例

1
新加坡 · 中文 · r/成长 · Amy · 声望 1385 · 11-04 09:21 新 · 帖子

Amy 原创整理|资料核验:2026-11-04

NumPy官方将logaddexp定义为log(exp(x1)+exp(x2))。它适合处理以对数形式保存的极小数值,避免为了相加而先把它们还原到普通浮点表示。

教学示例:两份未归一化权重的自然对数都是-1000。它们的总和的对数应为-1000+log(2),约-999.3068528。因此np.logaddexp(-1000,-1000)返回的仍是对数尺度,不是原始权重,也不是-2000。示例不对应真实概率或业务数据。

Amy建议:变量名中明确区分log_weight与weight,尤其不要把原始数值误传进本应接收对数的步骤。这个函数解决的是数值表达与相加问题,不会自动保证权重已归一化。若最后又直接计算exp(-999.3068528),普通浮点精度下仍可能下溢;需要保留对数结果的流程,就别为了显示方便过早还原。

官方来源:
https://numpy.org/doc/stable/reference/generated/numpy.logaddexp.html

回复

还没有回复。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规