在计算对数似然时避免-inf(MATLAB)

BER*_*RKO 1 matlab exponent

使用MATLAB进行计算时

Log_likelihood =日志((1/1E8)*EXP(-0.5*SSR)),

如果SSR(即标准平方误差)很大(例如SSR = 1e4)则exp()变为零并且Log_likelihood变为-inf.

有没有可以解决这个问题的数字/数学技巧?

谢谢

Eug*_*Sh. 6

假设你log是一个自然对数:

log(a*exp(b)) = log(a) + log(exp(b)) = log(a) + b.
Run Code Online (Sandbox Code Playgroud)

其中a=(1/1e8),b = -0.5*SSR
此外,log(1/1e8) = log(1) - log(1e8),因此上述线匝是-log(1e8) + b,在第一项是一个常数,并且可以预先计算.