LogSumExp
Template:NoteTA LogSumExp(LSE,也称RealSoftMax[1]或多变量softplus)函数是一个平滑最大值——一个对极值函数的光滑近似,主要用在机器学习算法中。[2] 其定义为参数的指数的和的对数:
性质
LogSumExp函数的定义域为(Template:Link-en),共域是(实数线)。 它是对极值函数的近似,同时有如下的界限:
第一个不等式在以外的情况是严格成立的,第二个不等式仅在所有元素相等时取等号。 (证明:令,则。将不等式取对数即可。)
另外,我们可以将不等式缩放到更紧的界限。考虑函数。然后,
(证明:将上式用的替换,得到
由于,
最后,同除得到结果。)
此外,如果我们乘上一个负数,可以得到一个与有关的不等式:
LogSumExp函数是凸函数,因此在定义域上严格递增。[3] (但并非处处都是严格凸的[4]。)
令,偏导数为:
LogSumExp的凸共轭是Template:Link-en。
对数域中的log-sum-exp计算技巧
当通常的算术计算在对数尺度上进行时,经常会遇到LSE函数,例如对数概率。[5]
类似于线性尺度中的乘法运算变成对数尺度中的简单加法,线性尺度中的加法运算变成对数尺度中的LSE:
使用对数域计算的一个常见目的是在使用有限精度浮点数直接表示(在线性域中)非常小或非常大的数字时提高精度并避免溢出问题.[6]
不幸的是,在一些情况下直接使用 LSE 依然会导致上溢/下溢问题,必须改用以下等效公式(尤其是当上述“最大”近似值的准确性不够时)。 因此,IT++等很多数学库都提供了LSE的默认例程,并在内部使用了这个公式。
其中
一个严格凸的log-sum-exp型函数
LSE是凸的,但不是严格凸的。我们可以通过增加一项为零的额外参数来定义一个严格凸的log-sum-exp型函数[7]:
This function is a proper Bregman generator (strictly convex and differentiable). It is encountered in machine learning, for example, as the cumulant of the multinomial/binomial family.
在Template:Link-en中,这是Template:Link-en的和。
参见
参考资料
Template:Reflist Template:Refbegin