python中scipy.misc.logsumexp函数的运用场景

scipy.misc.logsumexp函数的输入参数有(a, axis=None, b=None, keepdims=False, return_sign=False),具体配置可参见这里,返回的值是np.log(np.sum(np.exp(a)))。
这里需要强调的是使用该函数的场景:
一般来说,该函数主要用于非常小的数值的运算(比如蒙特卡洛取样样本)。在这种情况下,将数据保持log处理是必须的。所以这时你如果想将数组中的数据累加求和就需要这样计算log(sum(exp(a))),但这样做就会产生一些精确性的问题,而这个问题scipy.misc.logsumexp是引进解决了的,所以进行小数据求和可以直接使用scipy.misc.logsumexp函数。

参考: https://github.com/numpy/numpy/issues/5652

posted on 2016-06-23 00:15  Arkenstone  阅读(3555)  评论(0编辑  收藏  举报