Hatena::ブログ(Diary)

Mi manca qualche giovedi`? このページをアンテナに追加 RSSフィード

2014-01-29 つづかない……はずが二番煎じでごめん。

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 を『その和の偶奇』とする。いい?」

「鉄板例ですね……んーでもそれってグラフは元からこの形に決まってるんじゃないですか?」

f:id:n_shuyo:20140129122741p:image

「自分から『分解の選択は恣意的』と言っておきながら、都合でそれを忘れるのはさすがにどうかと」

ぐぬぬ

「……というわけで、同時分布の分解を『恣意的に選んで』このモデルを解釈してみて」

「はーい……ではまず p(a, b, c)=p(a)p(b|a)p(c|a, b) と分解してみます。グラフはこんな形。


f:id:n_shuyo:20140129122740p:image


んで……それから……?」

「今、各変数は具体的にわかっている」

「え? ああ、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 への矢印が消えてこの形に。なるほどな〜。


f:id:n_shuyo:20140129122741p:image


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


f:id:n_shuyo:20140129122739p:image


c は偶数奇数だから p(c=偶)=p(c=奇)=1/2 ですね。p(b|c) は……ビミョウにややこしい……」

「表を書いたら?」

「そっか。a と b とで表にすると、


a\b123456
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 への矢印が消えて


f:id:n_shuyo:20140129122738p:image


ってグラフになっちゃいます。同じモデルが2種類の全く違うグラフを持つとか、どう見てもまずいじゃないですか」

「つまりどこかが間違っている?」

「それがさっきから見直しているんですが、どこも間違えてなくて……」

「間違ってないからねえ」

「えーっ! いやでも。え〜……。そんなんアリなんですか?」

「そもそも、モデルの情報をわずかな丸と線でどれくらい表せると思う?」

「そりゃまあ全部ってことはないでしょうけど」

「一部しか表せないなら、『どの一部を表すか』という選択が生じる。つまり、グラフィカルモデルによる表現は一意ではない」

「はぁ〜なるほど。分解に恣意性があるようにグラフにも恣意性があるわけですね」

「普通は構成から自然に決まるグラフしか見ないから意識しないけれどね。これがまず一つわかること」

「もう一つあるんですか?」

「最初のあなたの疑問の答え。今得た2つのグラフィカルモデルを見比べてみて」

「最初の疑問って矢印の向きの話ですよね。でも、向き以前にグラフの形というか、切れているところがぜんぜん違いますよ」

「いいね。それが答え」

「む〜〜〜。禅問答じゃないんですから、もうちょっとわかりやすくプリーズ」

「では、切る前と切った後を並べてみよう」


f:id:n_shuyo:20140129122737p:image


「これ見せられてもやっぱりわかりませんよう。これ見てわかることなんて、向きが違うと切れるところが違うってことくらい……あ」

「気づいた?」

「左は 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) があることをグラフを用いて次のように表す」


f:id:n_shuyo:20140129122736p:image


「そうか! 指している先が同じ矢印は全部セットなんですね」

「だから a と b が独立であっても、p(a|b, c) で引いた辺の片方を勝手に消すことは出来ない」

「a と b、a と c が両方とも独立でも、 a と b, c の組が独立とは限らないですもんねー」

「どう? 疑問はかなり解消されたと思うけど」

「はい、ストンときました! でも考えたんですけど、『この構造のためにこの向き』ということは、もちろん一つ一つの矢印の向きも大事なんでしょうけど、『どこが切れているか』のほうがもっと重要なのかなあ、なんて思えてきました」

「そうだね。PRML にもそう書いてあるし」

「うんうん……えっ!? 書いてあるんですか?」

「確かこのあたり……あった、下巻 73 ページ」

「『グラフはリンクが存在しないことをもって分布のクラスの性質に関する情報を表現する』うわーほんとだ、まんま書いてある……なんかもっと目立つように書いて、大事なんですよ! って主張してくれないと見逃しちゃいますよう」

「一応太字で記されてはいるのだけれどね。四倍角で書いてあってもいいくらいではあるだろうね」

「よんばいかく?」

「知らないの? 文芸部なのに。ほら、ワープロで文字を縦横二倍の大きさに……」

「わーぷろ?」

「……文章を打つときに。会誌用に原稿を清書とか」

「ああ、ワードのことですか」

「ワードはパソコンでしょう。そうじゃあなくて、専用の。インクリボンで印刷する……」

「いんくりぼん?」

「……」

「……そういえば先輩の原稿って、文字がギザギザしてムラがあって、なんかちょっと昔風で味があるなあと思ってたんですが、あれはわざとではなく?」

「おとうさ……父が貸してくれて……最新の機械だって……まだ普及していないからインクリボンも手に入りにくいので、大事に使うようにと……」

「ひょっとしてですけど、その機械、印刷うるさかったりしません?」

「……する……」

「あの〜、大っ変申し上げにくいんですが、それ、たぶん絶対からかわれてますね。きっと」

「……また、だまされ……いや、なんでもない」

「……許せませんね」

「いや、別にあなたが怒ることじゃあ……」

PRML では鋭い切れ味を見せる才媛ながら、普段は迂闊なお人好しキャラとか、ずるいです!」

「え……えええー! ぼ、僕!?」

「あたしの立ち位置のことも考えてください!! 読者が許してもあたしが許しません!!!」

「そんなこと言われても……いえ、ごめんなさい……」

「今度から気をつけてくださいね!」


(おしまい)




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

今までの分:

2013-07-25

PRML Wednesday (平日読書会) と読み始める人のための参考リンク集

毎週決まった平日の夜に 「機械学習パターン認識」(PRML) を読み進めようという PRML Wednesday のキックオフにのこのこ顔を出してきた。主催の naoya_t さん&参加者のみなさん、お疲れ様でした&ありがとうございました。



ほとんど初顔の方ばかりの中で好き放題しゃべってしまい。まあ例によって反省はしていないのだけれど(苦笑)。


会であれこれ言ったこと(めんどくさいので、ここでもう一度繰り返すことはしないw)はあくまで「素人から出発して PRML をひと通り読み終わった個人が、その経験から感じたこと」であり、絶対の正解なんかではない。

気に入らなかったら「なるほど、お前の中では(ry」で片付けて欲しい。勉強なんて続かなかったら意味が無いので、自分が続けられる方法やスタンスを模索して選びとっていかないとしょうがないのだから。


PRML Wednesday にはたぶん毎回は参加しないで、時々顔を出す感じで行こうかなと思っている。まあ 2 章や 3 章はアンチョコ(後述)があって、しかも読んだことのある人間が1人でもいれば、フォローを必要とする事態にはあんまりならないと思う。

次行くのは……ロジスティック回帰とか? って、ちょっと先すぎる? じゃあ、もうちょっと手前のどこかでw ロジスティック回帰も言っときたいことはだいたい gihyo.jp の連載(これも後述)の方で書いたんだけどね。


会の冒頭の自己紹介で、全員「あなたと PRML 」を語るようにと naoya_t さんからムチャぶりされ、一瞬「なにそれ1時間ほど語っていいの?」と誰もの頭をよぎったことだろう。

残念ながらきっとそんなわけないので、「こんなん書きました」と PRML の薄い本を見せてお茶を濁したわけだが。

PRML を読んできた履歴はまさに今見ているこのブログにだいたいまとまっている。初心者時代から振り返ってみるのもこれから PRML と戦おうとしている人の参考になるかも。


naoya_t さんの PRML 読書会(初回レーン)が始まったのが4年前。その第3回から参加した。

「確率分布ってどうにも苦手」「解析と線形代数すっかり忘れてる」と微笑ましいことを書いている。まあそうは言っても「腐っても数学科」というやつで、思い出して現役の頃のように行列計算とかできるようになるのにそれほど時間はかからなかった。

が、確率分布の苦手っぷりは謙遜抜きの本物で、特に事前分布は本気でわからなくて、ずいぶん苦しんだ。

今でこそドヤ顔であれこれ語っていてウザイが、最初はそんなもんである。


完全に理解したわけではないにせよ苦しみを脱出し始めたのは、読み始めてからもう1年近くたって、読書会がようやく 10章に差し掛かった頃。

ちょうどそのすぐ後、PRML 復習レーンが始まるというので、宣伝っぽく書いたエントリがこれ。

上の参加初回エントリの 10ヶ月後に「極論、PRML は全編にわたってこの加法定理、乗法定理を繰り返し繰り返し使っているだけである」みたいなことを言えている。

逆に言うと、この程度の理解にたどり着くまでに10ヶ月かかっている。それより短い期間で一定の理解に達したら n_shuyo より頭良さそう。


これもちょうど同じ頃の話だが、とある勉強会で PRML の勉強に使っているノートを広げてて、そんなノート作ってるのかとびっくりされたことがあって。いや逆にどうやってノート作らずに勉強しているんだろうと、びっくり。

この記事でも言っているが、ガウス分布の式はこれまでにもう100回くらいは書いている気がする。あとディリクレ分布も。

その後、社内で PRML 読書会を行うことになったのだが、その時は「担当は自分の作ったノートを見てしゃべれ! 本(PRML)を持つのは禁止!」と言い渡した。


ノート以外では、とにかくコードを書くのは大好きというか全く苦にならない人なので、PRML で実装しまくっている。

これは PRML を読んだ人の中でも比較的多いほうだろう。

こんだけ実装しまくっていると、「やっぱり本当の理解のためには実装しないとダメですかねえ」的な相談をちょいちょいされるので、「うん、実装してみたらいーんじゃあない?」と気楽気軽に答えていたが、最近心を改めた。


もともと機械学習や確率・統計をやったことがない人が PRML を読んで理解するのは大変だと思う。

ただ、「いくら勉強してもわかるようにならない」というのが 1 ヶ月や 3 ヶ月くらいの話だったら、「そりゃあそうだ」としか言ってあげない。それは才能うんぬん以前に時間が足りてない。

社会人、特に家族持ちだと、まとまった勉強時間を継続して取り続けるのは本当に困難だから、何がしかの方法でちょっとでも応援出来ればと思っている。


あんましまとまってないが、あとはこれから PRML を読む人の参考になりそうなリンク集


PRML - 機械学習の「朱鷺の杜Wiki」 / 日本語版サポート情報
http://ibisforest.org/index.php?PRML#about

PRML を読むにあたっては、初めにここにある正誤表を必ず反映させる

PRML は比較的新しい版でもかなり多くの間違いが残っている。すでに指摘済みの間違いに気づかず悩むのは、時間の無駄。

正誤表はそこそこ高い頻度で更新されているので、章が変わるたびにその章の内容をチェック&反映させるくらいがいいと思う。


同じ「朱鷺の杜Wiki」の中にある PRML のコース分けは、内容を節ごとに難易度レベル付けをした情報。

読んだことのある人にアドバイスやフォローをもらえるのが一番だが、身近にそう言うことを頼める人がいない場合はこの情報も大変参考になるだろう。

PRML は分量のある本であり、全てを読破するのは相当なエネルギーと時間が必要となってしまうので、例えばまず易しいと言われているところから手を付ける、あるいは難しいと言われているところは軽く音読だけで済ませる(出てくる用語を耳にしたことがある状態にはしておく)、といった方針で進めるという手もあるだろう。


PRML アンチョコ / 「機械学習パターン認識の学習」(PRML同人誌) の PDF
https://github.com/herumi/prml/raw/master/main.pdf

サイボウズ・ラボの社内 PRML 読書会で行列計算に苦しむメンバーのために、同僚の光成さんがメモとして起こしたのがこのアンチョコ

某黒幕の手にかかって、かの暗黒通信団から「機械学習とパターン認識の学習」という書籍として出版され、ジュンク堂アマゾンで購入可能になっているが、もともとは PDF で無料公開(CC-BY ライセンス)されているものである。

フォローされている範囲は 2〜4 章と 9 章 10 章。社内勉強会で中心的に勉強した中で、計算の重要度が高い範囲となっている。後は 5 章の補足も追加されている(書籍の第2版で追加された範囲)。

ちなみに、PDF を生成するための元 tex ファイルもこちらで一緒に公開されている( main.tex )。需要は正直なさそうだが、一応紹介。

ある程度自信のある人ならどうしてもわからないところを辞書的に見る。自信のない人は一度目はこのアンチョコを首っ引きで見てノートに数式を書き下し、二度目は見ないで自力で解く。

というのがお勧めパターンだろうか。誰ですか、今「えー2回もやるの?」って言った人。


機械学習 はじめよう:連載|gihyo.jp … 技術評論社
http://gihyo.jp/dev/serial/01/machine-learning

手前味噌で申し訳ないが、gihyo.jp で書いている機械学習連載。

ここだけのハナシ、実はこの連載は PRML 1 章から 4 章の範囲に対応している。シンクロしているわけではないのでアンチョコ的には使えないだろうけど。

PRML 1章&2章

PRML 3章「線形回帰モデル」

PRML 4章「線形識別モデル」

この連載は、自分が門外漢の状態で PRML を読んだときに「なんでこんなことするんだ(してもいいんだ)?」と感じたことを 1 つずつ 1 つずつつぶしていっている。

ので、PRML を読む前にこの連載を読んで、引っかかりそうなところを先につぶしておき、読みながらわからないところ(計算)があったらアンチョコでチェックする、という補完する感じで使ってもらえたら、と思う。


ちなみに予定通りに行けばあと 2 回か 3 回で連載終了。PRML 網羅してくれと言われても大変すぎるのでホント勘弁。連載の1回分書くのに1ヶ月とかザラにかかるんで……。

2013-07-22 発表者でもないのに喉がかれてるのはナイショ

「ぷるむるクイズ☆2: tail-to-tail で話が違う!?」の解答編

下巻で一番大切な一文は p73 の「グラフはリンクが存在しないことをもって分布のクラスの性質に関する情報を表現する」やねんって儂が言わんかったら誰が言うてくれるねん! という使命感に思わず燃えてしまう PRML 第8章「グラフィカルモデル」(半分嘘)。

大事なことはしっかりきちんと書いてはあるんだけどいささか伝わりにくい、というのは PRML 8 章の全編にわたって共通しちゃっている。


実は「ぷるむるクイズ」第2問は、そんな「伝わりにくい大事なこと」の1つから出題していた。



問題本文は上のリンクを参照してもらうとして、以下解答編。


----

ぷるむるクイズ☆2: tail-to-tail で話が違う!? - Mi manca qualche giovedi`? の解答


「グラフも間違っていないし、計算もあっていると思うんだけど、どうして独立になるんだろう……」


ラプラスくんの愚痴を聞いて、フィッシャーくんはやれやれと首を振りました。


「確かにグラフも計算も正しいよ。けれど、もっと根本的なところを間違っているね。

最初の「 tail-to-tail は観測されてないときには非独立」。これが完全にアウト。

ちゃんと PRML を読んでごらん。tail-to-tail で真ん中を観測していなかったら「非独立になる」なんて一言も書いていないから。

書かれているのは『条件付き独立性が「一般には」成立しない』だ。p86 の上の方ね。

つまり、グラフィカルモデルでわかるのは「独立と言えるか、言えないか」だけなんだ」


フリーズしたラプラスくんの表情を見て、フィッシャーくんは考え考え付け加えた。


「例えば……そうだな、変数 c を「3 で割ったあまり」から「4 で割ったあまり」に替えれば、希望通り b と c が非独立な例になるよ。

君の例は、6 の約数で互いに素な 2 と 3 を選んだために、たまたま独立性が生まれてしまったんだ。

こういう「構造によらない独立性」はグラフィカルモデルだけでは読み取ることができないということ。わかった?」

----


PRML で『(条件付き)独立性が「一般には」成立しない』とされているのは、このパターンもあわせて全部で3つある。


  • tail-to-tail で真ん中を非観測時に、両側の変数の独立性は一般に成立しない
  • head-to-tail で真ん中を非観測時に、両側の変数の独立性は一般に成立しない
  • head-to-head で真ん中を観測時に、両側の変数の独立性は一般に成立しない

PRML では、式をゴニョゴニョいじったあげく「これは因数分解できない」という意味不明な論理をもって「一般に成立しない」ことを示しているつもりになっているが、数学の答案でこれをやったら 0 点だ。「一般に成立しない」を示したいなら、例を1つ上げるのが正解。

head-to-head の「観測時に非独立になる例」は PRML の中でもあげられているので(良い例であるとはお世辞にも言えないけどねw)、tail-to-tail や head-to-tail の「非独立になる例」も自分で作ってみると、理解の助けになって大変おすすめ。

さらに逆の「独立になる例」も作ってみたら完璧。こちらはちょっと工夫しないと作れないことがわかって、「一般には」に込められているニュアンスも実感できるだろう。

2013-07-21 PRML の薄い本を見た一言目が「何日目?」な人たち

「ぷるむるクイズ☆ head-to-tail で新定理発見!?」の解答編

7/21 開催の PRML(パターン認識機械学習) 読書会 復々習レーンにのこのこ参加してきました。主催者、発表者、参加者、そして会場を提供してくださったニフティさん、お疲れさまでした&ありがとうございました。



なんか TokyoNLP が無くなってからまるで命の火が消えたように最近勉強会系なもの参加してないから久しぶりにどこか行くかー、うん、なんというか本当にいろいろお世話になった PRML 読書会に、せっかくだから微力ながらもわずかばかり恩返し的なことができると嬉しいよね、よく見たら復々習レーンも8章突入という「最大の途中参加チャーンス!」、「長い PRML の中で一番替えの効かない大事なとこなのにわかりにくくて、気持ちいいツッコミどころ満載!!」というタイミング的にばっちり、これはもう行くしか、みたいな感じで。

最初の内はそれでも遠慮がちに口を挟んでいたのだが、後半になってくるともう社内読書会の半分くらいの勢いで突っ込みまくってたりw いかんいかん。すまんかった。でも反省はしてない。

あまりにも久しぶりだったので顔見知り率が非常に低かったわけだが、新しく PRML 徒になろうとしている人たちと交流できて楽しかった。毎回参加させてもらうということにはならないかもだけど、まあまたツッコミどころ満載のところ(どこ?)に差し掛かったら、うずうずして乗り込んでしまう、かもしれない。


今回久しぶりに PRML 読書会に参加するにあたって、PRML 8章を読み返していたら、そういえば社内読書会やっていた頃に出した「ぷるむるクイズ」の解答編を書いてなかったことに気づいた。



twitter では答えつぶやいた気がするけど、埋もれてるよね。

というわけで、復々習レーン参加記念に「ぷるむるクイズ」の解答編。

まずは第1問「head-to-tail で新定理発見!?」から。問題文は上のリンク見てね。


----

ぷるむるクイズ☆ head-to-tail で新定理発見!? - Mi manca qualche giovedi`? の解答


フィッシャーくんは、ベイズくんの話を聞いてやれやれと首を振りました。


「それはグラフが根本的に間違っているよ。

3本目のくじ c の当たる確率は、2本目 b だけではなく 1本目 a の結果にも依存しているだろう? だから正しいグラフはこうだ。


f:id:n_shuyo:20130721224420p:image


つまり君のモデルは head-to-tail の例になっていない。

実際、このとき b が観測されたとしても、a と c が独立にならないことは直接リンクがあることからも明らかだよね。

わかった?」

2013-01-17 機械学習連載3回分くらいになっちゃった……

PRMLガール 〜 文芸部のマネージャーが「パターン認識と機械学習」を読んだら 〜

放課後の学食は、普段なら常時腹を空かせた運動部の連中があちこちにたむろっているのだが、今日は珍しく先客は一人きりだった。

静かな様子にほっとしたカズは、まったり休憩でもしようとジュースを片手に奥の目立たない席を目指す。が、学食で筆記用具を広げている女子生徒の横を通り過ぎたところで突然立ち止まった。

振り返ってその先客をよく眺めると、ツインテールの頭をどこか見覚えのある黄色い本に乗せて、机に突っ伏すようにして寝ていた。カズは思わず近寄って、本の正体を確認するためにのぞき込もうとしたそのとき。

「やっぱ、わかんない! ……って、ひゃあ!?」

「わわっ」

突然跳ね起きたその生徒は、目と鼻の先にいたカズの姿にびっくりして悲鳴を上げた。カズもやはり驚きうろたえてしまった。

二人してしばらくそのまま息をのむようにして顔を見合わせていたが、そのうちどちらともなくぷっと吹き出した。

「あはは、ごめん……すいません、まさか誰かいるなんて思ってなかったんで」

その生徒はカズの胸の学年章をちらっと見やって先輩だと確認したのか、物言いをちょっと改めつつ謝った。

「こちらこそ驚かせてしまってごめんなさい。その……本。それ、『パターン認識と機械学習』だよね」

女子生徒はカズの言葉にひとしきり目をぱちくりした後、身を乗り出すように勢いよくしゃべり出した。

「そうです! はい、PRML です! 先輩、ご存じなんですか!? あたし、この学校で PRML 知ってる人、初めて会いました!!」

「うん、僕も初めてだよ」

激しくうなずきながら話すものだから、ツインテールの髪が踊るように揺れる様に苦笑しながらカズも答えた。

カズの答えに、その女子生徒はちょっと首を傾げたように見えたが、思い直した感じで自己紹介を始めた。

「あの、あたし1年のランって言います」

「僕はカズ。2年だよ」

ランと名乗った生徒は、またなにか言いたげな表情で少しためらってから、続けた。

「実はあたし文芸部のマネージャーで、その仕事に役に立つかなあと思って PRML 読み始めたんです」

「……文芸部の?」

カズのいぶかしげな声に、たちまちランはふくれ面になる。

「あー、先輩も『文芸部のくせに』って人なんですかー? 偏見です。差別です。文芸部がどんな本を読んだって自由じゃないですか。それに、創作活動に役立たない経験なんてないんですよ!」

「それはなかなかの名言だね。いや大丈夫、そんなこと思うわけないから、安心して」

落ち着いてなだめる様子のカズにも、ランはまだ不満そうだった。

「よし、ちゃんと発想豊かになる証拠をお見せしますよ。えーと……今時珍しいうちの学校の男子の制服とかけまして、PRML を読む文芸部のマネージャーとときます」

「……え? ああ、その心は、ってやつ?」

ランの視線に期待のまなざしを感じて、あわてて合いの手を入れる。

「あつくて、もがくらん。あつくても、がくらん。お後がよろしいようで〜」

一瞬きょとんとしていたカズだったが、ぽんと手を打った。

「暑くても学ランと、本が厚くてもがいてるラン、ってことか。なるほど」

「解説なんかされると、せつなくて消えてしまいたいです……」

ランは恥ずかしそうに小さくなった。

「いや、本当に感心していたんだ……。でも、もがいているのは本当みたいだね。さっきも『わかんない』って叫んでいたし」

「そーなんですよー。いきなり1章から全然わかんなくて」

話題が変わったことに明らかにほっとした表情でランはうなずいた。

「一人で読むにはちょっと厳しいだろうね、この本は」

「先輩……もしかして……」

ランにきらきらした目で見つめられて、カズはこう答えるしかなかった。

「いいよ、聞いてくれて。わかることなら」

「やったー!!」

ランは歓声をあげながら本をめくる。

「わかんないことはいろいろあるんですけども、全部聞いちゃうとさすがに怒られるでしょうし……後の方読んだらわかるかもなこととかやめとくと……やっぱここかな」

「情報理論……エントロピーとか KL ダイバージェンスのところだね」

ランが開いて見せたページを見て、カズはうなずいた。

「はい、KL ダイバージェンスの方はわかんないなりになんとなくわからないでもなくないんですけど、エントロピーは……特にここ!」

どっちなんだか、とつぶやくカズを無視して、ランは自分が指さした場所を読み上げ始めた。

「ええと、ここで『最大のエントロピーを持つ確率分布は〜』とかいきなり言い出しちゃうんですけども、なんでエントロピー最大を持ち出したんだか、理由が書いてないんですよー」

「え? そうだったかな。ちょっと貸してみてくれる」

PRML を受け取ったカズは前後のページに目を通してうなった。

「本当だ。書いてないね。ビショップ先生には当たり前だったから書きそびれたのか」

「でしょー!? エントロピー最大の時に一様分布になったり、正規分布になったりするのは、計算したらきっとそうなるんだろうなーと思えるんですけど。エントロピー最大だとなにが嬉しいのかは、いくら考えてもわかんなくってー。こんなとこで引っかかってちゃダメダメなんでしょうけど……」

「疑問も持たずに通り過ぎるよりはいいことだよ。むしろよく気がついた、と思う」

「え? そ、そうですか? いやーえへへ」

照れまくったランはツインテールの右の房を指でくるくる回し出した。

「さて、エントロピー最大を考える理由……エントロピーがわかってしまえば自然な発想だけど、エントロピーは……?」

「わかるような、わからないような。あれですよね、常に増大するんですよね」

「熱力学のエントロピーと混ざっているよ……情報科学のエントロピーを説明した方が良さそうだね」

カズはしばらく考え込む。

「やはり情報量を導入するところから始めよう。今ここにトランプのカード一式があることにするよ。トランプはスペード、ハート、ダイヤ、クローバーの4つのマークそれぞれに、A(エース) から K(キング) の数字13種類があるから、全部で 4×13=52 枚だよね。実物があると説明しやすかったけど……」

「じゃーん!」

カバンに手を突っ込んでいたランが誇らしげに掲げてみせたのは、まさにトランプだった。

「……すごい。どうして?」

「こんなこともあろうかと……なーんて。部室でみんなで遊ぼうかと思って、たまたま持ってきてたんです」

「部室で、ね……」

「あ、先生にはナイショですよ?」

ランはおどけて片目をつぶってみせる。

「せっかくだからありがたく使わせてもらうね。ジョーカーは今いらないから抜くと、残りは言ったように52枚。さ、好きなカードを一枚引いて」

軽くシャッフルし広げられたカードを、ランは真剣な顔でにらみつけた後、右端に近いところから一枚抜き出した。

「そのカードを教えてもらうのは……あ、まだ言わないで。『52通りあるうちのどれか』を教えてもらうことだから、その情報の値打ちを f(52) と表すことにしよう。何か書くものを貸してもらえるかな」

カズは、ランから差し出されたノートに f(52) と書いた。

「そのカードのマークを教えて」

「マークだけですか? ハートです」

「トランプのマークはスペード、ハート、ダイヤ、クローバーの『4通りのどれか』なので、さっきの記号を使うと、その情報の値打ちは f(4) と書ける」

カズは f(52) の右に少し空けて f(4) と記した。


f(52)¥hspace{30}f(4)


「そのカードの数字はいくつ?」

「えー。それを言ったら何のカードかわかっちゃうじゃないですか〜」

「カードを当てる手品やろうってわけじゃあないから。さ、いくつ?」

「……8、です」

苦笑混じりにうながすカズに、ランは渋々答えた。

「今度は A(エース) から K(キング) の『13通りのどれか』だから、その情報の値打ちは同じく f(13) となる」

カズは f(4) のさらに右に f(13) を書き加えた。


f(52)¥hspace{30}f(4)¥hspace{30}f(13)


「ところでそのカードの正体は『ハートの8』とわかった……『わかっちゃった』し、逆に『ハートの8』と教えてもらえばマークも数字も当然わかる。つまり、f(4) と f(13) をあわせると f(52) に等しい。数式にすると、こう」

カズは先ほど空けておいた場所に = と + を書き込んで数式を完成させた。


f(52)¥;=¥;f(4)¥;+¥;f(13)


「情報の値打ち f はこういう加法性を持つものと仮定する。この例ではトランプにあわせて 4×13 で説明したけど、他の数でも同じことが言えるので、一般の自然数 m, n で書き直す」


f(mn)¥;=¥;f(m)¥;+¥;f(n)


「この式から f(1) が求められるけど、わかる?」

「わ、えっと、f(1) は……あ、0 ですね。m=n=1 を入れればすぐ出ます」

急に振られてあわてながらも答えたランにカズはうなずき、数式を書いた。


 f(1¥times1)¥;=¥;f(1)¥;+¥;f(1),¥hspace{30}f(1) = 0


「じゃあ m=n=0 を考えれば f(0) も 0 ですね〜」

納得顔のランに、カズは笑みを浮かべて首を振った。

「いいところに気がついた、と言いたいところだけど、残念」

「えー!? 計算間違い……してませんよねえ。やっぱり 0 になりますよ」

「試しに n にだけ 0 を入れてみて」

ノートを返されたランは、狐につままれた顔で計算し始める。


f(m¥times0) = f(m) + f(0)¥¥f(m) = f(0) - f(0) = 0


「……ん? あれれ、これって……任意の m で f(m) = 0 ってことですよね……」

「そう」

「じゃあ情報の値打ちは常に 0 ってことですか?」

「いや。その結果は f(0) の存在から導かれている。そんな自明な f は除外してもいいので、f(0) が存在しないと仮定すれば問題ない」

「はあ。そうなのかなあ、なんかだまされてる気分……」

ランは不満を隠さない。

「そもそもの導入を考えると、 f(0) は『0 通りのどれか』の情報の値打ちとなる。これなら f(0) が存在しないことにも納得できる?」

「そう言われればそうですね」

ようやくうなずいたランに、カズは説明を続けた。

「そこで f(mn)=f(m)+f(n) を満たす f(x) を x>0 の範囲で考えることにする。ここでは証明は飛ばすけど、そういう f(x) は実は対数関数しかないことが簡単に示せる。ただし、f(x) は連続関数という仮定が必要だけどね」


f(x)¥;=¥;¥log_c x


「c はなんですか?」

「c は何らかの定数。関係式 f(mn)=f(m)+f(n) だけからは決まらないので、問題によって都合のいい値を選ぶよ。対数の底だから負と 1 以外で、おおむね 2 かネイピア数 e かな」

「ふーん。微分する場合は e がいーよね、みたいな?」

「そう」

「……ところで、なんか f(mn)=f(m)+f(n) を満たすのって log しかなさそうな雰囲気ありありだから、連続を仮定しなくても示せたりするんじゃないですか」

何か気を取り直した風に、ランは尋ねた。

「うーん……」

珍しくカズが口ごもる。

「話せば長くなるから避けたいけど……選択公理って聞いたことある?」

「生意気言って大変申し訳ありませんでした」

机に平べったくなって謝りながら、ランは涙ながらに訴えた。

「おばあちゃんの遺言で、選択公理にだけは関わるな、と」

「それはいいおばあさんだね」

さすがに苦笑しながら、カズは手短に説明した。

「さらっと言うと、要は、選択公理を認めると f(mn)=f(m)+f(n) を満たす不連続関数が作れてしまう。それだけ嫌がるなら想像つくだろうけど、かなり変態チックな関数なので、現実的には考慮する必要は全くない。だから連続という自然な仮定を入れて除外してしまおう。ということ」

「ぜひぜひ連続を仮定してやってくださいましまし」

ランはまだやっている。

「ここまでで、 n 通りが全て同等である場合については『n 通りのどれか』の情報の値打ちがわかったよね。でも一般には等確率とは限らない。そこで、と……」

カズはトランプからハートのみ 13 枚を選び分け、簡単にシャッフルした。

「さ、また一枚引いて。そのカードが絵札かどうかだけ教えてくれるかな」

ランは、真ん中あたりから無造作に 1 枚引いた。

「絵札って、えっと、J(ジャック)か Q(クイーン)か K(キング)ってことですよね。絵札じゃないです」

「今度は『絵札かどうか』という情報の値打ちを考える。あり得る答えは『絵札』と『絵札ではない』の2通りだけど、その割合は等しくないので、さっきの f そのままは使えない」

ランは少し考えて、無言でうなずいた。

「そこで、確率をパラメータに使ってみる。『絵札ではない』確率は 10/13 なので、この情報の値打ちを I(10/13) と書く」

カズはランからまたノートを受け取って I(10/13) と書いた。

「さ、そのカードの数字は結局何だった?」

「…… 3、です」

ランはまだカードを教えてしまうことに不服そうだ。

「絵札ではないことはすでにわかっていたから、それが3であることは 1/10 の確率だ。つまり今教えてもらった情報の値打ちは I(1/10) と書ける」

カズは先ほどの I(10/13) の少し右に I(1/10) と記した。

「ところで、絵札かどうか聞く前にカードが3であることを教えてもらっても同じ値打ちの情報を受け取ったことになる。その確率は 1/13 だから、さきほどと同じようにしてこの数式を得る」

カズが完成させた数式をランはのぞき込んだ。


I(1/13)¥;=¥;I(10/13)¥;+¥;I(1/10)


「ほうほう、この後の展開はさすがにわかりますよー。10/13 × 1/10 が 1/13 になってるってわけですね」

「いいね。つまり確率 p,q に一般化すると……」


I(pq)¥;=¥;I(p)¥;+¥;I(q)


「で、これを満たす I は log しかない! と、こうでしょ?」

「そういうこと」

カズは続けて I(p) の式を書いた。


I(p)¥;=¥;-¥log_c p


「この I(p) を確率 p で起きる事象の『情報量』と定義する」

「おー、なんかエントロピーに近づいてきた感がありますねえ」

と、感心していたランだったが、ふと気づいて情報量の式を指さした。

「あれ? マイナス符号なんて、さっきの f にも付いてましたっけ?」

「いや。確率は1以下だから一般的な対数の値だと負になってしまう。負でも矛盾はしないけど、情報量の大小を感覚に合わせて符号を反転させたんだ。底を 1/c に取ればいいだけだから、式変形は問題ないよ」

「ふうん。でもそうすると確率が小さい方が情報量としては大きくなるんですねえ。なんか不思議」

「……そういえば、今日は夕方から雨だってね」

カズが不意に始めた世間話に、ランはなにげなくうなずきかけた。

「へー……え、雨!? お昼はあんないい天気だったのに! やばいです、傘持ってきてないですよう。ホントですか?」

「うそ」

ランはがっくり崩れ落ちた。

「うう、ひどいです……。先輩だけはそんな人じゃないと信じてたのに」

「『今日は夕方から晴れる』と言っていたら、同じように驚いた?」

何事もなかったかのようにカズは尋ねた。

「そんなんじゃ驚かないですよ」

「なぜ?」

「なぜって……昼間晴れてたし。『あーそ。そりゃ晴れるだろーね』ってなもんですよ」

ランは唇をとがらせて、ついっとそっぽを向いた。

「晴れる確率は高いから、聞いてもありがたみはなかった?」

「そーゆーことです……あ」

カズの伝えたいことにやっと思い当たって、ランは口を手で覆って考え込んだ。

「雨が降る確率は小さかったから、あれほど驚かせられた」

「もともとわかり切った情報に値打ちはなくて、まさかの情報は値打ちが高いってことなんですね。だから確率が小さいほど情報量が大きい、と。参りましたー」

感服の声を上げるランに軽くうなずきながら、カズはまたトランプのカードを何枚か選んでいた。

「今度は何ですか? わくわく」

「いよいよエントロピーの番だ。A(エース) を1枚、2 を 2 枚、3 を 3 枚、4 を 4 枚選んだから、手元には 10 枚ある。さ、また一枚引いて……まだ見ないで」

「10枚の中の1枚だから、このカードの情報量は log 10 ってことですね。それとも確率 1/10 だから I(1/10) だ、って言う方がいいのかな」

引いたカードを伏せて置きながらランは言った。

「いや、ここではマークは無視して数字だけを考えて欲しい」

「えっとそうすると、A のときは I(1/10)、2 のときは I(2/10)、3 なら I(3/10)、4 なら I(4/10) ってことですよね。うーんでもこのカードが何かわからないとどの情報量かわかりませんね」

「でも期待値なら求められる」

「情報量の期待値ですか? できそうですね。いっちょ計算してみましょうか。えと、 X をカードの数字の確率変数とすると……」

カズからまたノートを返してもらうと、ランは計算し始めた。


E¥[I(X)¥]¥¥= 1/10 I(1/10) + 2/10 I(2/10) + 3/10 I(3/10) + 4/10 I(4/10)¥¥= ¥frac{1}{10}¥log 10 + ¥frac{1}{5}¥log 5 + ¥frac{3}{10}(¥log 10- ¥log 3) + ¥frac{2}{5}(¥log 5- ¥log 2)


「……手計算だと log はキビシィ……」

「底が 10 で良ければ、log 2 は 0.30、log 3 は 0.48 だよ」

頭を抱えぎみにランがつぶやくと、カズが言い添えた。

「すっご。覚えてるんですか〜」

「よく使う奴は、ね。それにこれくらいの精度なら、覚えてなくてもその場で導けるし。余談すぎるから今はやらないけど」

感心しながらも、ランの手は素早く動き始める。


= ¥frac{1}{10} + ¥frac{1}{5}(1-0.30) + ¥frac{3}{10}(1-0.48) + ¥frac{2}{5}(1-0.30¥times 2)¥¥=0.1+0.14+0.156+0.16=0.556


「有効桁を考えると、0.56 ってところでしょうか……」

答えは出たものの、ランは複雑そうな顔をしている。

「なんか情報量の期待値が 0.56 とか言われても、全然実感わかないんですけど、そんなもんなんですか?」

「log 2 で割ってビットに直すというのも一つの手だけど、それでも実感を得るのは難しいだろうね。それより……」

カズは手に持ったカードを、ランに裏を向けて掲げた。はた、と気づいてランは机の上をわたわた見回す。

「あれ? それ、さっきあたしが引いたカード? 先輩が見ちゃうんですか!?」

「カードは偶数だ。さて、情報量の期待値はどうなる?」

「偶数……。そうか、確率が変わっちゃいますね。ちょっと待ってください。偶数は 2 が 2 枚、4 が 4 枚だから……」


E¥[I(X’)¥]¥¥= 2/6 I(2/6) + 4/6 I(4/6)¥¥= ¥frac{1}{3}¥log 3 + ¥frac{2}{3}(¥log 3- ¥log 2)¥¥= 0.16 + 0.12 = 0.28


「出ました! 0.28 ……って、あーっ!?」

頬を赤くして顔を上げたランの目に飛び込んできたのは、表を向けられた 4 のカードと、くすくす笑っているカズの姿だった。

「見たね。カードが 4 だとわかると期待値は?」

「人が一生懸命計算してたのにひどすぎます……。先輩ってたおやかな雰囲気のくせに絶対サドっ気ありますよね」

ぶつくさつぶやきながらも計算に取りかかろうとしたランの手が止まる。

「んーでも、もう 4 ってわかっちゃったから、確率とかないですけど……」

「確率がない? つまり 0 ?」

ランは、ツインテールが顔に当たるのもお構いなしに、ぶんぶん首を振った。

「いやいやいや、0 なわけないじゃないですかー。どっちかってっと……そうか、4 ってわかってるから 4 である確率は 1 なのか。なるほどなるほど」


E¥[I(X’’)¥] = 1 I(1) = 0


「こういうことですね〜」

「そう」

ランの計算を一つ一つ指さしながら、カズは説明した。

「今求めてもらった『情報量の期待値』こそがエントロピー。記号では H(X) と書く。そして、情報が与えられるたびにエントロピーは減少することを確かめてもらったわけだ」

「偶数なことがわかったら 0.56 から 0.28 に減って、4 とわかったら 0 になっちゃう。そうかそうか、これがエントロピーなんですね」

ランはうんうんうなずいた。

「わかればわかるほど減るってことは、エントロピーは『わかってない情報の値打ち』みたいな感じですかねー。情報量の方は『わかってる情報の値打ち』で」

カズはランの言葉に目を見張った。

「その理解はいいね。今度またエントロピーを説明する機会があったら、僕も使わせてもらうよ」

「そ、そうですか? いやーえへへ」

思いがけず褒められてしまって、ランは真っ赤になった顔を両手で覆った。

「ここまでの説明はもっぱら甘利『情報理論』の焼き直しだから、詳しく知りたければあの本を読むといい。甘利『情報理論』ではエントロピーは『不確定度』として紹介し、エントロピーの減少分は何か、ということも説明してくれてる。とりあえず今の目的には『情報を与えられるとエントロピーは減少する』ということだけわかっていればいいけど」

「お。いよいよってことですねー」

またトランプをより分け始めたカズを、ランは期待のまなざしで見つめた。

「今度のカードには A(エース) つまり 1 と、2 と 3 が入っているけど、それぞれ何枚かはわからない」

「え? ばっちり見てましたからわかりますよ。1 が……」

「何枚かはわからない『ということにする』」

カズは苦笑しつつも、強い声音で念押しして続けた。

「このカードをよくシャッフルして1枚引くということを十分多く行う。そうだな、10万回とか。で、そのときの平均は 2 だったとわかっているとする」

「気が遠くなりますねー」

ランは自分が10万枚めくっているところを想像したのか、軽く身震いした。

「この平均が 2 という条件だけから、1, 2, 3 の枚数はそれぞれ何枚と推測できる?」

「んー、それは簡単じゃないですか。平均が真ん中だから、全部同じ枚数ですよ」

ランが自信ありげに答えた。

「しかし実は 1 と 3 は 0 枚で、2 しかなかったという可能性もある。それでも平均は 2 になる」

「え!? いやまあそりゃそうですけど、いくらなんでも不自然ですよー。やっぱり同じ枚数って考える方が……」

ランは一瞬気色ばむが、カズにくすくす笑われて尻すぼみになった。

「『不自然』とはまたずいぶん主観的な基準だね。では、平均が 1.5 だったら? 例えば 1 が1枚、2 が 1 枚というパターンがあるけど、これは『自然』? 『不自然』?」

「えっ、えっ」

「それからこういうパターンもある。これも平均 1.5 になる」

カズは手に持っていたカードを広げて、1が4枚、2が1枚、3が1枚の組を指し示した。

「どちらの方が『自然』だと思う?」

「えーっ、えーっ」

問われて、ランはしどろもどろになる。

「わ、わかんないです……」

「主観的な感想では人によって判断が異なりうるし、複雑になるとそもそも判断もできない」

「はい……」

「もう少し定量的な指標、何かない?」

「定量……そうか、エントロピーだ!」

にっこり微笑んだカズに勇気づけられて、ランはノートに向かった。

「計算しますね。まず平均 2 をやっつけます。3種類とも同じ枚数だと、


1/3 I(1/3) + 1/3 I(1/3) + 1/3 I(1/3) = ¥log 3 = 0.48,


カードが 2 しかないと確率 1 で 2 ってことだから、これはさっき計算した 0 ですね。

次に平均 1.5 の方。1 が 1 枚、2 が 1 枚だと確率 1/2 ずつだから、


1/2 I(1/2) + 1/2 I(1/2) = ¥log 2 = 0.30,


1 が 4 枚、2 と 3 が1枚ずつだと、


4/6 I(4/6) + 1/6 I(1/6) + 1/6 I(1/6)¥¥= ¥frac{2}{3}(¥log 3 - ¥log 2) + ¥frac{1}{3}(¥log 3 + ¥log 2)¥¥= 0.12 + 0.26 = 0.38


となりました。えっとつまり、平均 2 では全部同じ枚数の方が、平均 1.5 では 4 枚 1 枚 1 枚の方がエントロピーが大きいです」

「ということは」

「ということはー、えと、えと、エントロピーは情報をもらうと下がる。エントロピーが小さい方は……何か情報をもらってる?」

少々自信なさげにランが答えると、カズは大きくうなずいた。

「そう。どちらの分布も『平均が 2 』という条件は満たしている上で、片方のエントロピーが小さい。これは、小さい方は『平均が 2 』以外にも何か未知の情報をもらっていることを表している。あなたの言葉を使えば『不自然』ということ」

「逆にエントロピーが大きいほど『自然』……やっぱこの言葉使うのやめます。できるだけわかっている情報だけを使って求めている。余計な先入観が少ない、とでも言えばいいのかな。だからエントロピー最大は嬉しいんですねー」

ランはようやくたどり着いた結論を噛みしめた。

エントロピーが一番大きいものを選ぶことを『エントロピー最大化原理』と呼ぶのだけど、もっとも大切なのは、これは『正解』を求めているわけではない、ということ」

カズはゆっくりと語る。

「統計や機械学習のようにモデルを立てる問題の多くは、答えの可能性は無数にあるけど、わかっている条件は有限個しかなく、論理的に答えを1つに絞り込むことは不可能だ。それでも1つ選ばないといけないとき、多くの人が納得しうる方法、そういうものの1つが『エントロピー最大化原理』なんだ」

「じゃあ『なんちゃら原理』は他にもあるんですね」

「例えば『最小記述長原理』というのもある。他にも。キリがないからやらないけどね」

カズはこれでおしまいという調子で口を閉じ、すっかり存在を忘れてて氷の溶けきったジュースを一口飲んだ。ランはきらきらした目を向ける。

「ほんと〜〜にすっごくよくわかりました! ありがとうございました!! あの……また何かわかんないところがあったら、お聞きしてもいいですか? 今日はもういっぱいお時間いただいちゃったんで、今度また……」

「いいよ。短ければ、なんなら今でも」

上目遣いでこちらをうかがってくるランに、カズは笑顔で答えた。

「短い……あ! あのー、あんまし関係ないけど1つだけどうしても聞いてみたかったことが」

ランは、改めてカズをじーっと見つめてから、尋ねた。

「先輩はー、どうしてご自分のことを『僕』って呼ばれるんですか?」

「え……」

あまりに思いがけない質問に、カズは完全に固まってしまった。

「……別に……大した理由は……小さい頃からそうだったから、今更変えるのもおかしいか、ぐらいで……」

ランから目をそらし、胸の前で髪の先をいじりながら、先ほどまでと打って変わって歯切れの悪い口調でカズは答えた。

「ふぅん、そうでしたかー。先輩のことだから何か深慮遠謀でもあったりするんだろうかと期待してみたりしたんですが、案外シンプルな理由なんですね」

「……じゃあ、ぼ……こっちも聞いてみたいことが 1 つあるのだけど、いいかな?」

ランの遠慮ない調子に、カズは瞳の奥になにやら光をたたえて静かに言った。

「はい、もちろんです! 教えていただいたご恩に答えるべく、なんでもお答えします!」

ランは背筋を伸ばして、ぴっと敬礼した。

「あなたは文芸部のマネージャ、そう言ってたよね」

「あー、やっぱり文芸部のくせに PRML なんて、って思われてるんですね……。まあこの理解度では反論しても説得力ないとは自覚してますけどもー」

ランはがっくりとうなだれた。

「いや、さっきも言ったけど、そんな風に思うわけがないんだよ。だって、僕も文芸部だからね」

カズの言葉を理解して次第に蒼白になっていくランに、カズは静かに告げた。

「そして、うちの文芸部にマネージャはいないのだけど。ねえ、あなたは誰?」


(つづかない)




新春お年玉駄文……のはずが、思ってたよりはるかに長くなりすぎてしまって、こんなタイミングに。

「恒例の」を付けると、来年もなにかやらないといけなくなっちゃうので、付けない。


昨年の分:


続きじゃないけど続き:




なんの因果か、「PRML ガール」が暗黒通信団から出版されてしまった。150円+税なり。



わずかな修正はあるものの、基本全く同じ内容。

しかしそれだけではせっかく買って下さった方に申し訳ないので、カズとランが AC についてごにょごにょする「あとがきがわりの AC ガール」というおまけがついている。

AC と言えばもちろん Axiom of Choice (選択公理)のことですよね!