我有一个大的可能性向量都在范围内(0到1)但所有数字都小于1.我需要计算这些向量乘积的最大似然。
我怎样才能避免下沉,我的钳工在所有尝试中都失败了。我采取的第一步是将我的数组除以数组中的最大值。 我正在最大化两次采样的两个概率之和的乘积,最终我需要根据BIC最小化:
BIC = -2. * ln(L) + 5n_theta(nz)
无论如何L
是一个非常少数形式的数组
L = product of ([(p(z1|a) + p(z1|b)), (p(z2|a) + p(z2|b)), ...., (p(zn|a) + p(zn|b))])
以下是一个示例,其中包含两个参数a
和b
,我变化了,数组的大小为n
,每个p
为< 1
。
答案 0 :(得分:0)
您是否考虑过使用对数似然?
L = (p1 * p2 * p3) ** N
变为ln(L) = N * (ln(p1) + ln(p2) + ln(p3))
这对数值精度问题更具抵抗力。
然后您可以在ln(L)
-2.0 * ln(L) + 5n_theta(nz)