LogSumExp
LogSumExp(LSE,嘛稱RealSoftMax或者是多變數softplus)函式是一个平滑上大值—— 一个對極值函式的金滑近來若像,主要用佇機器學習演算法內底。其定義做參數的指數的佮的對數:
- $ \ mathrm { LSE } ( x _ { 一 } , \ dots , x _ { n } )=\ log \ left ( \ exp ( x _ { 一 } ) + \ cdots + \ exp ( x _ { n } ) \ right ) . $
性質
LogSumExp 函式的定義域為 $ \ mathbb { R } ^ { n } $(實數空間), 把域是 $ \ mathbb { R } $(實數線)。 伊是對極值函式 $ \ max _ { i } x _ { i } $ 的近似,同時有如下的界限:
- $ \ max { \ { x _ { 一 } , \ dots , x _ { n } \ } } \ leq \ mathrm { LSE } ( x _ { 一 } , \ dots , x _ { n } ) \ leq \ max { \ { x _ { 一 } , \ dots , x _ { n } \ } } + \ log ( n ) . $
頭一个無等式佇咧 $ n=一 $ 以外的狀況是嚴格成立的,第二个不等式干焦佇所有元素相等時取等號。 ( 證明:令 $ m=\ max _ { i } x _ { i } $,著 $ \ exp ( m ) \ leq \ sum _ { i=一 } ^ { n } \ exp ( x _ { i } ) \ leq n \ exp ( m ) $。將無等式取對數即可。)
另外咧,咱會當共不等式縮囥予較絚的界限。考慮函式 $ { \ frac { 一 } { t } } \ mathrm { LSE } ( tx ) $。然後,
- $ \ max { \ { x _ { 一 } , \ dots , x _ { n } \ } } < { \ frac { 一 } { t } } \ mathrm { LSE } ( tx ) \ leq \ max { \ { x _ { 一 } , \ dots , x _ { n } \ } } + { \ frac { \ log ( n ) } { t } } $
( 證明:將上式 $ x _ { i } $ 用 $ t > 零 $ 的 $ tx _ { i } $ 替換,得著
- $ \ max { \ { tx _ { 一 } , \ dots , tx _ { n } \ } } < \ mathrm { LSE } ( tx _ { 一 } , \ dots , tx _ { n } ) \ leq \ max { \ { tx _ { 一 } , \ dots , tx _ { n } \ } } + \ log ( n ) $
因為 $ t > 零 $,
- $ t \ max { \ { x _ { 一 } , \ dots , x _ { n } \ } } < \ mathrm { LSE } ( tx _ { 一 } , \ dots , tx _ { n } ) \ leq t \ max { \ { x _ { 一 } , \ dots , x _ { n } \ } } + \ log ( n ) $
最後咧,同除 $ t $ 得著結果。)
此外,若是阮共坐一个負數,會當得著一个佮 $ \ min $ 有關係的不等式:
- $ \ min { \ { x _ { 一 } , \ dots , x _ { n } \ } }-{ \ frac { \ log ( n ) } { t } } \ leq { \ frac { 一 } {-t } } \ mathrm { LSE } (-tx ) < \ min { \ { x _ { 一 } , \ dots , x _ { n } \ } } . $
LogSumExp 函式是凸函式,所以佇定義域頂懸嚴格遞增。(但並毋是所在攏是嚴格凸的。)
令 $ \ mathbf { x }=( x _ { 一 } , \ dots , x _ { n } ) $,偏導數為:
- $ { \ 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:
- $ \ mathrm { LSE } ( \ log ( x _ { 一 } ) , . . . , \ log ( x _ { n } ) )=\ log ( x _ { 一 } + \ dots + x _ { n } ) $
使用對數體計算的一個常見目的是使用有限精度浮點數直接表示(線頂性域內底)足細的抑是足大的數字的時陣提懸精度並免溢个問題 .
不幸的是,佇一寡情況下直接使用 LSE 猶原會致使上溢 / 發生問題,著愛改用以下等效公式按呢(尤其是當中「上大」近來若值的準確性無夠時)。 所以,IT + + 等足濟數學庫攏提供矣 LSE 的預設常式,閣佇內底使用這个公式。
- $ \ mathrm { LSE } ( x _ { 一 } , \ dots , x _ { n } )=x ^ { * } + \ log \ left ( \ exp ( x _ { 一 }-x ^ { * } ) + \ cdots + \ exp ( x _ { n }-x ^ { * } ) \ right ) $
其中 $ x ^ { * }=\ max { \ { x _ { 一 } , \ dots , x _ { n } \ } } $
一个嚴格凸的 log-sum-exp 型函式
LSE 是凸的,但毋是嚴格凸的。咱會當通過增加一項為零的額外參數來定義一个嚴格凸的 log-sum-exp 型函式:
- $ \ mathrm { LSE } _ { 零 } ^ { + } ( x _ { 一 } , . . . , x _ { n } )=\ mathrm { LSE } ( 零 , x _ { 一 } , . . . , 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 函式