PRML ガール 〜とある文芸部の統計女子〜

これは「PRMLガール 〜 文芸部のマネージャーが「パターン認識と機械学習」を読んだら 〜」の幕間的なお話です。
未読の方は先にそちらをどうぞ。




「先輩、先輩。我らが PRML ガールの評判聞きました?」
「聞いてない」
「やっぱり気になりますよねえ。ねえ?」
「僕は別に」
「……」
「……わかったわかった。どんな評判なの?」
「評判というか苦情ですかね。『 PRML ガール言うくせに PRML 関係ないやん!』みたいな」
「まあ、情報量とエントロピーの話しかしてないし」
「『あとがきがわりの AC ガール』(暗黒通信団刊行の書籍『PRML ガール』に収録)に至っては選択公理ですからねえ。そんな評判を跳ね返すためには、紛れもなく PRML ってテーマをここらで一発取り扱っておくべきなんじゃないか! と愚考するわけですよ。このあたくし」
「そういうことを言い出すと、黒幕がウォーミングアップを始めるからやめて欲しいのだけれど……それで本音は?」
「あの〜、PRML 8 章のグラフィカルモデルでどーしてもスッキリしないとこがあって〜」
「はいはい。余計な前振りいらないから。普通に聞けばいいのに」
「矢印のある方のグラフィカルモデルなんですけど」
ベイジアンネットワークだね」
「はい。あれの矢印の向きに、本質的な意味なんか無いような気がしてきちゃってて……なんのためにあるのかなあ、と」
「なるほど。どうしてそう思ったか……の前に、ベイジアンネットワークの矢印の定義は?」
「むー、さすがにそれくらいはわかってますよー」
「わかっているなら答えられるよね」
「はうっ。……えーとぉ、改めて聞かれると自信なくなるんですが、変数 a から変数 b に矢印が引かれているのは、b が a に依存している、みたいな……」
「依存とは?」
「待って待って、依存、うーん、条件付き分布 p(b|a) がある?」
「……今のところはそれでいいか。後でもう一度確認しよう」
「つまりなんか間違えてるんですね……」
「間違いというほどではないけどね。とりあえずその定義で考えても、a→b なら p(b|a) が、b→a なら p(a|b) があるということだから、矢印の向きに意味はある。どう?」
「あれれ? いや、そうじゃなくて、生成モデルって言うんですか、つまり同時分布 p(a, b) があるときに、これを乗法定理で p(a)p(b|a) と分解するとグラフは a→b になるけど、p(b)p(a|b) と分解すると b→a になるわけですよね。まあ p(a|b) と p(b|a) のどちらを考えるのが自然かとかはあるんでしょうけど、それに目をつむれば分解の選択は恣意的なので、矢印の向きに本質的な意味はないのかなあと」
「そうだね。その例なら」
「やっぱり! ……って、その例なら?」
「変数2個で例を作るのは無理があるから3個にして、設定も具体的にしようか。変数 a と b を『サイコロを振って出る目』、c を『その和の偶奇』とする。いい?」
「鉄板例ですね……んーでもそれってグラフは元からこの形に決まってるんじゃないですか?」

「自分から『分解の選択は恣意的』と言っておきながら、都合でそれを忘れるのはさすがにどうかと」
ぐぬぬ
「……というわけで、同時分布の分解を『恣意的に選んで』このモデルを解釈してみて」
「はーい……ではまず p(a, b, c)=p(a)p(b|a)p(c|a, b) と分解してみます。グラフはこんな形。



んで……それから……?」
「今、各変数は具体的にわかっている」
「え? ああ、p(b|a) とかが書けるってことですね。えと、a はサイコロの目そのままだから p(a) は毎度おなじみ 1/6 ずつ。p(b|a) は……もう一つのサイコロの目に影響受けないから、やっぱり 1/6 ずつ。p(c|a, b) は…… a と b が与えられたら c は確定だから、a+b が偶数なら p(c=偶|a, b)=1、以下省略」
「気づくことは?」
「気づく、というか、最初からわかってたことですが a と b は独立ですよね」
「独立とは?」
「独立…… b は a によらない……?」
「今何を求めていたの?」
「えっ? あ、そうか、p(b|a) は a によらない、p(b|a)=p(b) だ」
「そう。独立の定義そのまま。『b は a によらない』とかあいまいなことを言う必要はない」
「ぐはっ……もうあたしの HP はゼロです……」
「……このときグラフィカルモデルは?」
「ん〜、p(b|a)=p(b) だから a から b への矢印が消えてこの形に。なるほどな〜。



要領わかってきましたよ。次は p(a, b, c)=p(c)p(b|c)p(a|b, c) でやってみますね。まずグラフ描いといて。



c は偶数奇数だから p(c=偶)=p(c=奇)=1/2 ですね。p(b|c) は……ビミョウにややこしい……」
「表を書いたら?」
「そっか。a と b とで表にすると、

a\b 1 2 3 4 5 6
1
2
3
4
5
6


ふむふむ、これなら簡単ですね。c が偶数の時、b のそれぞれの確率は

p(b=1|c=偶) = 3/18 = 1/6
p(b=2|c=偶) = 3/18 = 1/6

あ、あれ? 変だな〜」
「どうかした?」
「全部 1/6 になります」
「そうだね」
「p(b|c)=p(b) になっちゃいます」
「なるね」
「ダメでしょう!?」
「なぜ?」
「だって、c から b への矢印が消えて



ってグラフになっちゃいます。同じモデルが2種類の全く違うグラフを持つとか、どう見てもまずいじゃないですか」
「つまりどこかが間違っている?」
「それがさっきから見直しているんですが、どこも間違えてなくて……」
「間違ってないからねえ」
「えーっ! いやでも。え〜……。そんなんアリなんですか?」
「そもそも、モデルの情報をわずかな丸と線でどれくらい表せると思う?」
「そりゃまあ全部ってことはないでしょうけど」
「一部しか表せないなら、『どの一部を表すか』という選択が生じる。つまり、グラフィカルモデルによる表現は一意ではない」
「はぁ〜なるほど。分解に恣意性があるようにグラフにも恣意性があるわけですね」
「普通は構成から自然に決まるグラフしか見ないから意識しないけれどね。これがまず一つわかること」
「もう一つあるんですか?」
「最初のあなたの疑問の答え。今得た2つのグラフィカルモデルを見比べてみて」
「最初の疑問って矢印の向きの話ですよね。でも、向き以前にグラフの形というか、切れているところがぜんぜん違いますよ」
「いいね。それが答え」
「む〜〜〜。禅問答じゃないんですから、もうちょっとわかりやすくプリーズ」
「では、切る前と切った後を並べてみよう」



「これ見せられてもやっぱりわかりませんよう。これ見てわかることなんて、向きが違うと切れるところが違うってことくらい……あ」
「気づいた?」
「左は a→b, b→c, a→c 『だから』 a→b が切れる。右は c→b, b→a, c→a 『だから』 c→b が切れる。向きが逆なら切れる場所が変わる!」
「そう。つまり、ベイジアンネットワークがこの構造を採るためには、各辺はこの向きである必要がある」
「この向きがあって初めてこの形のグラフになるんですね……ん? ちょっと待ってください」
「何?」
「こっちの後から描いた方のグラフでも、a と b って独立じゃあないですか。だからもともとそこは切れるんじゃないですか?」
「そして先ほど b と c が独立とわかったのと同様に a と c も独立と示せるので、すべての辺が切れる、と」
「あれれ?」
「ちょうどいい。矢印の定義の話に戻ろう」
「あたしのが間違えてたやつですね」
「だから間違っていたわけではないよ。矢印が条件付き分布に対応するのはいい。ただ、親の変数は複数を許す。つまり、p(x|y_1, …, y_n) があることをグラフを用いて次のように表す」



「そうか! 指している先が同じ矢印は全部セットなんですね」
「だから a と b が独立であっても、p(a|b, c) で引いた辺の片方を勝手に消すことは出来ない」
「a と b、a と c が両方とも独立でも、 a と b, c の組が独立とは限らないですもんねー」
「どう? 疑問はかなり解消されたと思うけど」
「はい、ストンときました! でも考えたんですけど、『この構造のためにこの向き』ということは、もちろん一つ一つの矢印の向きも大事なんでしょうけど、『どこが切れているか』のほうがもっと重要なのかなあ、なんて思えてきました」
「そうだね。PRML にもそう書いてあるし」
「うんうん……えっ!? 書いてあるんですか?」
「確かこのあたり……あった、下巻 73 ページ」
「『グラフはリンクが存在しないことをもって分布のクラスの性質に関する情報を表現する』うわーほんとだ、まんま書いてある……なんかもっと目立つように書いて、大事なんですよ! って主張してくれないと見逃しちゃいますよう」
「一応太字で記されてはいるのだけれどね。四倍角で書いてあってもいいくらいではあるだろうね」
「よんばいかく?」
「知らないの? 文芸部なのに。ほら、ワープロで文字を縦横二倍の大きさに……」
「わーぷろ?」
「……文章を打つときに。会誌用に原稿を清書とか」
「ああ、ワードのことですか」
「ワードはパソコンでしょう。そうじゃあなくて、専用の。インクリボンで印刷する……」
「いんくりぼん?」
「……」
「……そういえば先輩の原稿って、文字がギザギザしてムラがあって、なんかちょっと昔風で味があるなあと思ってたんですが、あれはわざとではなく?」
「おとうさ……父が貸してくれて……最新の機械だって……まだ普及していないからインクリボンも手に入りにくいので、大事に使うようにと……」
「ひょっとしてですけど、その機械、印刷うるさかったりしません?」
「……する……」
「あの〜、大っ変申し上げにくいんですが、それ、たぶん絶対からかわれてますね。きっと」
「……また、だまされ……いや、なんでもない」
「……許せませんね」
「いや、別にあなたが怒ることじゃあ……」
PRML では鋭い切れ味を見せる才媛ながら、普段は迂闊なお人好しキャラとか、ずるいです!」
「え……えええー! ぼ、僕!?」
「あたしの立ち位置のことも考えてください!! 読者が許してもあたしが許しません!!!」
「そんなこと言われても……いえ、ごめんなさい……」
「今度から気をつけてくださいね!」


(おしまい)




新春お年玉駄文……のはずが、仕上げに時間がかかりすぎて危うく2月になるところだった。ふう。

今までの分: