3

概念的には、偶然の一致で各イベントの確率を乗算する必要があります。非常に多くのイベントが関係している可能性があるため、アンダーフローを回避するためにコンピューターに対数を追加してもらいます。

しかし、突然、追加を開始する前に戻り値をゼロに初期化する必要があることを確信できなくなりました。ゼロが足し算の単位元であることは知っています。これが私のやり方だと覚えていますが、対数のグラフを見ると、ゼロの真数が負の無限大であることがはっきりとわかります。

したがって、戻り値をゼロに初期化することは、すべての確率に負の無限大を掛けることと同等であるはずですが、これは間違いなく正しくありません。私は何が間違っているのですか?

4

3 に答える 3

7

値を掛け合わせると、次のようになります。

product = 1*p1*....*pn

両側の自然対数をとると、次のようになります。

ln(product) = ln(1) + ln(p1) + .... + ln(pn)

しかしln(1) = 0、これが対数の合計を初期化する方法です。ゼロに設定します。

ここで合計していることを覚えておいてください。各確率の対数は、全確率の対数に追加されます。合計を完了すると、次のような製品を入手できます。

product = exp(ln(product)) = exp(ln(sum of ln(pn))
于 2011-02-11T12:07:07.717 に答える
6

ゼロの真数は1であり、負の無限大ではありません。つまり、対数を0で加算し始めることは、確率自体を1で乗算し始めることと同じです。

于 2011-02-11T12:05:45.510 に答える
0

イベントの共通部分を計算している場合。それらを掛けるだけです。対数空間を使用する必要はありません。それが本当に本当に小さくなる場合、イベントの交差の確率はゼロです。

于 2011-02-11T12:08:42.143 に答える