**LogSumExp**（LSE，也称**RealSoftMax**或多变量**softplus**）函数是一个平滑最大值——一个对极值函数的光滑近似，主要用在机器学习算法中。 其定义为参数的指数的和的对数：

{\displaystyle \mathrm {LSE} (x\_{1},\dots ,x\_{n})=\log \left(\exp(x\_{1})+\cdots +\exp(x\_{n})\right).}

性质
--

LogSumExp函数的定义域为\R^n（实数空间（英语：）），共域是\R（实数线）。
它是对极值函数{\displaystyle \max \_{i}x\_{i}}的近似，同时有如下的界限：

{\displaystyle \max {\{x\_{1},\dots ,x\_{n}\}}\leq \mathrm {LSE} (x\_{1},\dots ,x\_{n})\leq \max {\{x\_{1},\dots ,x\_{n}\}}+\log(n).}
第一个不等式在n=1以外的情况是严格成立的，第二个不等式仅在所有元素相等时取等号。
（证明：令{\displaystyle m=\max \_{i}x\_{i}}，则{\displaystyle \exp(m)\leq \sum \_{i=1}^{n}\exp(x\_{i})\leq n\exp(m)}。将不等式取对数即可。）

另外，我们可以将不等式缩放到更紧的界限。考虑函数{\displaystyle {\frac {1}{t}}\mathrm {LSE} (tx)}。然后，

{\displaystyle \max {\{x\_{1},\dots ,x\_{n}\}}<{\frac {1}{t}}\mathrm {LSE} (tx)\leq \max {\{x\_{1},\dots ,x\_{n}\}}+{\frac {\log(n)}{t}}}
（证明：将上式x\_{i}用t>0的{\displaystyle tx\_{i}}替换，得到

{\displaystyle \max {\{tx\_{1},\dots ,tx\_{n}\}}<\mathrm {LSE} (tx\_{1},\dots ,tx\_{n})\leq \max {\{tx\_{1},\dots ,tx\_{n}\}}+\log(n)}
由于t>0，

{\displaystyle t\max {\{x\_{1},\dots ,x\_{n}\}}<\mathrm {LSE} (tx\_{1},\dots ,tx\_{n})\leq t\max {\{x\_{1},\dots ,x\_{n}\}}+\log(n)}
最后，同除t得到结果。）

此外，如果我们乘上一个负数，可以得到一个与{\displaystyle \min }有关的不等式：

{\displaystyle \min {\{x\_{1},\dots ,x\_{n}\}}-{\frac {\log(n)}{t}}\leq {\frac {1}{-t}}\mathrm {LSE} (-tx)<\min {\{x\_{1},\dots ,x\_{n}\}}.}
LogSumExp函数是凸函数，因此在定义域上严格递增。 （但并非处处都是严格凸的。）

令{\displaystyle \mathbf {x} =(x\_{1},\dots ,x\_{n})}，偏导数为：

{\displaystyle {\frac {\partial }{\partial x\_{i}}}{\mathrm {LSE} (\mathbf {x} )}={\frac {\exp x\_{i}}{\sum \_{j}\exp {x\_{j}}}},}
表明LogSumExp的梯度是softmax函数。

LogSumExp的凸共轭是负熵（英语：）。

对数域中的log-sum-exp计算技巧
--------------------

当通常的算术计算在对数尺度上进行时，经常会遇到LSE函数，例如对数概率。

类似于线性尺度中的乘法运算变成对数尺度中的简单加法，线性尺度中的加法运算变成对数尺度中的LSE：

{\displaystyle \mathrm {LSE} (\log(x\_{1}),...\log(x\_{n}))=\log(x\_{1}+\dots +x\_{n})}
使用对数域计算的一个常见目的是在使用有限精度浮点数直接表示（在线性域中）非常小或非常大的数字时提高精度并避免溢出问题.

不幸的是，在一些情况下直接使用 LSE 依然会导致上溢/下溢问题，必须改用以下等效公式（尤其是当上述"最大"近似值的准确性不够时）。 因此，IT++等很多数学库都提供了LSE的默认例程，并在内部使用了这个公式。

{\displaystyle \mathrm {LSE} (x\_{1},\dots ,x\_{n})=x^{\*}+\log \left(\exp(x\_{1}-x^{\*})+\cdots +\exp(x\_{n}-x^{\*})\right)}
其中{\displaystyle x^{\*}=\max {\{x\_{1},\dots ,x\_{n}\}}}

一个严格凸的log-sum-exp型函数
--------------------

LSE是凸的，但不是严格凸的。我们可以通过增加一项为零的额外参数来定义一个严格凸的log-sum-exp型函数：

{\displaystyle \mathrm {LSE} \_{0}^{+}(x\_{1},...x\_{n})=\mathrm {LSE} (0,x\_{1},...x\_{n})}
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.

在热带分析（英语：）中，这是对数半环（英语：）的和。

参见
--

* 對數平均
* Log semiring
* 平滑最大值
* Softmax函数

参考资料
----

1. ↑  Zhang, Aston; Lipton, Zack; Li, Mu; Smola, Alex.. www.d2l.ai.  [27 June 2020]. （原始内容存档于2022-03-31）.
2. ↑  Nielsen, Frank; Sun, Ke.. Entropy. 2016, **18** (12): 442. Bibcode:2016Entrp..18..442N. S2CID 17259055. arXiv:1606.05850 可免费查阅. doi:10.3390/e18120442 可免费查阅.
3. ↑  El Ghaoui, Laurent.. 2017  [2022-10-16]. （原始内容存档于2020-12-19）.
4. ↑ . stackexchange.com.
5. ↑  McElreath, Richard.. OCLC 1107423386.
6. ↑ . CS231n Convolutional Neural Networks for Visual Recognition.  [2022-10-16]. （原始内容存档于2022-12-06）.
7. ↑  Nielsen, Frank; Hadjeres, Gaetan.. 2018. Bibcode:2018arXiv180307225N. arXiv:1803.07225 可免费查阅.