为什么对数概率有用?

机器算法验证 可能性 分布 数据转换 对数
2022-02-06 23:47:10

随机变量观察的概率在范围内,而对数概率将它们转换为对数尺度。那么对应的对数概率范围是多少,即0的概率变成多少,是这个范围的最小值,1的概率变成多少,这就是对数概率范围的最大值?相比,这具有任何实际用途的直觉是什么[0,1][0,1]

我知道对数概率允许进行稳定的数值计算,例如求和,但除了算术之外,与使用原始概率的情况相比,这种转换如何使应用程序更好?记录前后连续随机变量的比较示例会很好

4个回答

的对数只是接近(从正面)的极限所以对数概率的值范围是10x0logx(,0]

真正的优势在于算术。对数概率不像概率那么容易理解(对于大多数人来说),但是每次你将两个概率相乘(除了),你最终会得到一个更接近的值。处理非常接近的数字可能会在有限精度近似下变得不稳定,因此使用对数会使事情变得更加稳定,在某些情况下更快更容易。为什么你需要更多的理由呢?1×1=100

我想补充一点,对概率或概率密度取对数通常可以简化某些计算,例如在给定一些参数的情况下计算密度的梯度。特别是当密度属于指数族时,记录后通常包含比以前更少的特殊函数调用。这使得手动求导更简单(因为乘积规则变得更简单的求和规则),并且还可以导致更稳定的数值导数计算,例如有限差分。

作为说明,让我们以概率函数的泊松为例。尽管是离散的,但这个函数对于 λ 是平滑的,并且对于关于的导数变为简单的,它涉及两个简单的操作。对比eλλxx!xλlogfx=λ+xlog(λ)log(x!)λlogfxλ=1+xλfxλ=eλ(xλ)λx1x!,其中涉及自然取幂、实取幂、阶乘计算,以及最糟糕的是除以阶乘。即使在这个简单的例子中,这都涉及更多的计算时间和更少的计算稳定性。对于更复杂的概率函数,以及在观察随机变量的独立同分布样本时,结果会变得复杂,因为这些是在对数空间中相加的,同时在概率空间中相乘(同样,导数计算复杂化,以及引入更多的浮点另一个答案中提到的错误)。

这些梯度表达式用于最大后验 (贝叶斯) 和最大似然估计量的分析和数值计算。它也用于矩量法估计方程的数值解,通常通过牛顿法(涉及 Hessian 计算或二阶导数)。在这里,记录和未记录的复杂性之间的差异可能很大。最后,它用于显示具有高斯误差结构的最小二乘和最大似然之间的等价性。0

作为 Greg Snow 回答中提到的过程的一个示例:我经常使用高级编程语言(Octave、Maxima[*]、Gnuplot、Perl 等)来计算贝叶斯模型比较的边际可能性之间的比率。如果尝试直接计算边际似然比,计算中的中间步骤(有时也是最终结果)经常超出解释器/编译器中浮点数实现的能力,产生的数字非常小,以至于除了零之外,计算机无法分辨它们,因为所有重要信息都在于这些数字实际上并不完全为零。另一方面,如果一个人始终以对数概率工作,并在最后取边际似然的对数之间的差,

[*]有时,Maxima 通过使用有理数算术而不是浮点算术来规避问题,但不一定能依赖于此。

这可能不是您感兴趣的,但统计物理学中的对数概率与能量的概念密切相关 (开尔文)下处于平衡状态的物理系统,两个微状态 A 和 B 之间的能量差与系统处于状态 A 或状态 B 的概率的对数有关:T

EAEB=kBT[ln(PA)ln(PB)]

因此,统计物理学家经常使用对数概率(或它们的缩放版本),因为它们在物理上是有意义的。例如,气体分子在恒定温度下,在均匀引力场(接近地球表面的良好近似)下,大气中的势能为,其中是气体分子的质量,是加速度重力,是分子在表面以上的高度。在建筑物的顶层与在底层找到气体分子的概率(假设楼层具有相同的体积并且从地板到天花板的高度很小)由下式给出:mghmgh

mg(htophbottom)kBT[ln(Ptop)ln(Pbottom)]

这个概率与两层楼的气体浓度无关。较高楼层的浓度较低,较重分子的浓度随高度衰减得更快。

在统计物理学中,在与对数概率成正比的量(能量、熵、焓、自由能)和与概率成正比的量(微状态数、配分函数、状态密度)之间来回切换通常很有用。