2005年08月17日

数値計算テクニック

logAとlogBが与えられたときの、log(A+B)の計算の仕方

log(A+B)=logA+log(1+exp(logB-logA))

単純には、log(A+B)=log(exp(logA)+exp(logB))であるが、
Aが非常に小さい場合、アンダーフローを起こしてしまい、NANになってしまう。
上の方法により、対数logAをAに変換することなく和を計算することができる。

HMMや混合正規分布などを扱っていると非常に小さい確率が出てくることが多
く、そのような場面で使える。




posted by xi at 18:59 | Comment(0) | TrackBack(2) | コンピュータ
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバック

log(A+B)の計算!
Excerpt: logAとlogBが与えられたときの、log(A+B)の計算の仕方 log(A+B)=logA+log(1+exp(logB-logA)) とすればいいみたい。計算機ちゃんは人間にとって簡単な等式..
Weblog: nadja in wbo
Tracked: 2005-08-19 00:09

log(A+B)の計算!
Excerpt: logAとlogBが与えられたときの、log(A+B)の計算の仕方 log(A+B)=logA+log(1+exp(logB-logA)) とすればいいみたい。計算機ちゃんは人間にとって簡単な等式..
Weblog: nadja in wbo
Tracked: 2005-08-19 00:10
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。