ちょっと前に "Foundations of Statistical Natural Language Processing"(FSNLP) 5.4 の Mutual Information(相互情報量)について書いた。
そこで Pointwise Mutual Information(PMI) についての説明にいろいろ納得いかないことがある、と書いたのだが、id:takeda25 さんにコメントにてフォローをいただいたりして、疑問に思っていたことについて少しわかって来たようなので、まとめておく。
再掲になるが、納得いかなかったのは FSNLP の p179 にあった以下の記述。
For example, the mutual information measure tells us that the amount of information we have about the occurence of 'Ayatolah' at position i in the corpus increses by 18.38 bits if we are told that 'Ruhollah' occurs at position i+1.
これを「コーパス内の i 番目に 'Ayatolah' が出現していることについて得ている情報量は、i+1 番目に 'Ruhollah' が出現すると教えられれば、18.38 bits 増える」と読んでしまい、いやいやそんなわけないだろう、と。より詳しくは前回の記事参照。
これは正しくは「コーパス内の i 番目に 'Ayatolah' が出現していることについて持っている情報量は、i+1 番目に 'Ruhollah' が出現すると教えられれば、(i+1 番目についての情報を教えられる前と比べて) 18.38 bits 増える」と読むべきだった。下線部が修正/追記したもの*1。
これがどういうことか、数式で表す。
X, Y は確率変数、x, y はそれぞれの事象とする。
「事象 x が起こったことを知らされたときに受け取る情報量」、すなわち self-information は I(X=x) = log 1/P(X=x) = -log P(X=x) 。
x と y の pointwise mutual information(PMI) は 。
PMI を self-information で書き直すと、
- 。
となるが(ここまで前回と一緒)、さらに条件付 self-information で書き直せば
- 。
となる。
これは「 I(x) と I(x|y) の差は PMI(X=x, Y=y)」、つまり「X=x の素の情報量」は「Y=y がわかっているときの X=x の情報量」より PMI(X=x, Y=y) だけ多いことを表している。
そして同じく、「Y=y の素の情報量」は「X=x がわかっているときの Y=y の情報量」より PMI(X=x, Y=y) だけ多いこともわかる(対称性)。
すっきり。
てか、最初からそう書いてくれれば……いや、誤読を本のせいにしては。
*1:"we have about the occurence of 'Ayatolah'" を「ここが『持っている』だと、どこから増えるのかがわからないなあ」と『得ている』に「意訳」したのが誤訳だった、と