scipy のlogsumexp()
実装には、配列内で見つかった最大値を各要素から減算することによってアンダーフローを防止するハックが含まれていますか?
ここで説明するものは次のとおりですm = maxval
。
scipy のlogsumexp()
実装には、配列内で見つかった最大値を各要素から減算することによってアンダーフローを防止するハックが含まれていますか?
ここで説明するものは次のとおりですm = maxval
。
logsumexp
ここで定義しているソース コードを調べることができます。(ドキュメントページにソースへのリンクがあることに注意してください)。
わかるでしょ:
a_max = a.max(axis=0)
...
out = log(sum(exp(a - a_max), axis=0))
そうです、scipy'slogsumexp
は各要素から最大値を差し引いています。