Yudkowsky Sequences 日本語訳
非公式日本語訳 — 原著者・発行元による公式の翻訳ではありません

Eliezer Yudkowsky — 非公式日本語訳

条件付き独立性とナイーブベイズ

Conditional Independence, and Naive Bayes

先に、XYの間の相互情報量について述べた。これはI(X;Y)と書き、同時確率分布のエントロピーH(X,Y)と、周辺分布のエントロピーH(X) + H(Y)との差である。

私は、八つの状態X1からX8までを持ち、まだ何の証拠にも出会っていなければどの状態も同じ確率である変数Xと、四つの状態Y1からY4までを持ち、まだ何の証拠にも出会っていなければやはりどの状態も同じ確率である変数Yの例を挙げた。このとき、周辺エントロピーH(X)H(Y)を計算すれば、Xのエントロピーは3ビット、Yのエントロピーは2ビットだとわかる。

しかし、XYがともに偶数であるか、ともに奇数であることもわかっており、両者の関係について知っているのはこれがすべてである。したがって、同時分布(X,Y)には同じ確率の状態が16通りしかなく、同時エントロピーは4ビットである。XYが独立ならエントロピーは5ビットになるのと比べて、1ビットのエントロピー欠損がある。このエントロピー欠損が相互情報量である。つまり、XYについて、あるいはその逆に教える情報であり、一方を知ったあとにはもう一方についての不確実性が小さくなる。

ただし、第三の変数Zが存在するとしよう。変数Zには「偶数」と「奇数」の二つの状態があり、(X,Y)が偶数か奇数かと完全に相関している。実際、Zは単に「XYは偶数か、それとも奇数か?」という問いそのものだとしよう。

XYについて証拠が何もなければ、与えられた情報のもとで、Z自体には必然的に1ビットのエントロピーがある。ZXの間には1ビット、ZYの間にも1ビットの相互情報量がある。そして先に述べたとおり、XYの間にも1ビットの相互情報量がある。それなら、系全体(X,Y,Z)のエントロピーはいくらだろうか。素朴には、次の式を予想するかもしれない。

H(X,Y,Z) = H(X) + H(Y) + H(Z) − I(X;Z) − I(Z;Y) − I(X;Y) ,

ところが、実際にはそうならない。

結合系(X,Y,Z)には、可能な状態が16通りしかない。Zは単に「XYは偶数か、それとも奇数か?」という問いだからである。したがって、H(X,Y,Z) = 4ビットである。しかし、今示した式を計算すると、次のようになる。

(3 + 2 + 1 − 1 − 1 − 1)ビット = 3ビット = 間違い!

なぜか。XZの相互情報量、およびZYの相互情報量には、XYの間に存在すると計算される相互情報量の一部と同じものが含まれているかもしれないからである。たとえばこの場合、Xが偶数だと知ればZが偶数だとわかり、Zが偶数だと知ればYが偶数だとわかるが、これはXYについて教える情報と同じである。私たちは知識の一部を二重に数えたため、エントロピーを小さく見積もりすぎた。

正しい式は、(私が思うに)次である。

H(X,Y,Z) = H(X) + H(Y) + H(Z) − I(X;Z) − I(Z;Y) − I(X;Y|Z).

ここで最後の項I(X;Y|Z)は、「すでにZを知っているという条件のもとで、XYについて教える情報」を意味する。この場合、すでにZを知っていれば、XはYについて何も教えないため、この項はゼロになる――すると方程式は正しい答えを返す。ほら、素敵ではないか。

「いや」とあなたは正しく答える。「あなたはI(X;Y|Z)の計算方法を教えず、それがゼロになるはずだという言葉による論証を示しただけだ」

I(X;Y|Z)は、予想どおりの方法で計算する。I(X;Y) = H(X) + H(Y) − H(X,Y)だとわかっているので、次のようになる。

I(X;Y|Z) = H(X|Z) + H(Y|Z) − H(X,Y|Z).

今度は、条件付きエントロピーをどう計算するのか知りたいのだろう。さて、エントロピーの元の式は次である。

H(S) = Σi P(Si) × log 2(P(Si)).

ここで新しい事実Z0を知ったなら、Sについて残る不確実性は次のようになる。

H(S|Z0) = Σi P(Si|Z0)log2(P(Si|Z0)).

そこで、新しい事実Zをこれから知るものの、それがどのZかまだわからないなら、知ったあとも平均してSについてこれくらい不確実だと予想する。

H(S|Z) = Σj 左(開き)丸括弧P(Zj)Σi P(Si|Zj)log2(P(Si|Zj))右(閉じ)丸括弧.

これが条件付きエントロピーの計算方法であり、そこから今度は条件付き相互情報量を得られる。

ここには、実にさまざまな付随定理がある。たとえば、

H(X|Y) = H(X,Y) − H(Y)

や、

I(X;Z) = 0 かつ I(Y;X|Z) = 0 ならば I(X;Y) = 0,

などだが、そこまでは立ち入らない。

「だが」とあなたは尋ねる。「これは、言葉の性質や、そこに隠れたベイズ的構造と何の関係があるのか?」

その質問をしてくれて、私はもう言葉にならないほど嬉しい。好むと好まざるとにかかわらず、もともと話すつもりだったからである。だがその前に、もう少しだけ予備知識が要る。

相互情報量とベイズ的証拠には双対性があることを思い出すだろう――そう、必ず思い出してもらう。少なくとも一部の同時事象の確率P(x,y)が、個別事象の確率の積P(x)P(y)と等しくない場合、かつその場合に限り、相互情報量は正である。これはさらに、xyの間にベイズ的証拠が存在するという条件と正確に同値である。

I(X;Y) > 0 ⇒
P(x,y) P(x)P(y)
P(x,y) P(x)
P(y)
P(x|y) P(x)

Zで条件づけるなら、導出全体をそれに応じて調整するだけである。

  I(X;Y|Z) > 0 ⇒
  P(x,y|z) P(x|z)P(y|z)
  P(x,y|z) P(x|z)
P(y|z)
(P(x,y,z)/P(z)) P(x|z)
(P(y,z)/P(z))
  P(x,y,z) P(x|z)
P(y,z)
  P(x|y,z) P(x|z).

最後の行を言葉で読めば、「Zを知っていても、Yを知ればなおXについての信念が変わる」となる。

逆に、Zが「偶数」または「奇数」である元の例のように、ZXYから遮蔽する。すなわち、Zが「偶数」だとわかっていれば、Yが状態Y4にあると知っても、XX2X4X6X8のどれかについてはそれ以上何もわからない。あるいは、Zが「奇数」だとわかっていれば、XX5だと知っても、YY1Y3かについてそれ以上何もわからない。Zを知ることで、XY条件付き独立になったのである。

条件付き独立性は確率論できわめて重要な概念である。一例だけ挙げれば、条件付き独立性がなければ、宇宙には構造が存在しない。

ただしここでは、条件付き独立性のうち、中央にある一つの変数が、触手を持つ中心体のように、その周囲のほかの変数どうしを遮蔽するという、ある特定の種類だけを論じるつもりである。

五つの変数UVWXYがあるとしよう。さらに、これらの変数のどの組を取っても、一方の変数がもう一方についての証拠になるとする。たとえばUWを選んだなら、U = U1だと知ることで、W = W1である確率について、それまで知らなかった何かがわかる。

手に負えない推論の混乱だろうか。証拠が暴走しているのだろうか。必ずしもそうではない。

Uは「言語を話す」、Vは「二本の腕と十本の指を持つ」、Wは「服を着る」、Xは「毒ニンジンで毒されうる」、Yは「血が赤い」を表すのかもしれない。ここで、リンゴかもしれず岩かもしれない、現実世界の何かに遭遇し、それが中国語を話すと知ったなら、それが服を着る確率をはるかに高く評価するだろう。また、そのものが毒ニンジンで毒されえないと知れば、血が赤い確率をいくらか低く評価するだろう。

さて、これらの規則には強いものも弱いものもある。火山事故で指を一本失ったフレッドの例、まだ言葉を話さない赤ん坊バーニーの例、文を出力するが血を持たないIRCボットのアーヴィングの例がある。したがって、あるものが服を着ていないとわかっても、そのものの発話能力が血の色について教えるすべてを遮蔽するわけではない。そのものが服を着ていないが話しはするなら、裸のネリーなのかもしれない。

このため、五つの整数変数がすべて奇数かすべて偶数だが、それ以外には相関がない、といった場合よりも興味深くなる。その場合、変数をどれか一つ知れば、第二の変数を知ることで第三の変数についてわかることがすべて遮蔽される。

しかしここでは、裸のネリーの例が示すとおり、一つの変数を知っただけでは消えない依存関係がある。それならこれは、手に負えない推論上の厄介事なのだろうか。

恐れるな! もし知ることができれば、変数のすべての組を互いから本当に遮蔽してくれる第六の変数Zがあるかもしれない。直接観察するのではなくZ構成しなければならないとしても、次を満たす変数Zがあるかもしれない。

P(U|V,W,X,Y,Z) = P(U|Z)
P(V|U,W,X,Y,Z) = P(V|Z)
P(W|U,V,X,Y,Z) = P(W|Z)
   

おそらく、あるものが「人間」であるという条件のもとでは、そのものが話す確率、服を着る確率、標準的な本数の指を持つ確率は、どれも独立なのだろう。フレッドは指を一本失っているが、ほかの人よりヌーディストである可能性が高いわけではない。裸のネリーは決して服を着ないが、それを知っても彼女が話す可能性は少しも下がらない。そして赤ん坊バーニーはまだ話さないが、手足を一本も失ってはいない。

これは「ナイーブベイズ」法と呼ばれる。通常は完全には真でないが、真だと見なすことで、計算を途方もなく単純化できるからである。指の本数が与えられたもとで、服を着ていることが発話能力に及ぼす影響を別々に追跡したりはしない。観察したすべての情報を使って、このものが人間(または、チンパンジーやロボットのような何か別のもの)である確率を追跡し、次に中央のクラスについての信念を使って、毒ニンジンに対する弱さのように、まだ見ていないものを予測するだけである。

UVWXYについてのあらゆる観察は、中央のクラス変数Zに対する証拠として働くだけである。そして、Zの事後分布を使って、UVWXYのうち未観察の変数について、必要な予測を行う。

聞き覚えがあるだろうか。あるはずだ。

  図:中央のノード(カテゴリー)一つと、それに接続した周辺ノード(色、輝度、内部、質感、形状)五つからなるニューラルネットワーク  

ネットワーク2

実際、適切な種類のニューラルネットワーク・ユニットを使えば、この「ニューラルネットワーク」はナイーブベイズと数学的に、厳密に同値になる。中央のユニットに必要なのはロジスティック閾値――S字曲線の応答――だけであり、入力の重みは尤度比の対数などと一致すればよい。実のところ、ニューラルネットワークでロジスティック応答がしばしば非常にうまく働く理由の一つは、これだと考えるのが妥当である。設計者が見ていない間に、アルゴリズムが少しばかりベイズ推論を忍び込ませられるのだ。

誰かが、「スクラッフィー」や「創発的」といった流行語を一面に貼りつけ、学習済みネットワークがどう機能するかなどまるでわからないと誇らしげに断りながら、「ニューラルネットワーク」と呼ぶアルゴリズムを提示しているとする。だからといって、その小さなAIアルゴリズムが本当に「論理の領域を超越している」と思ってはいけない。この場当たり主義のパラダイムが機能するなら、そこにはベイズ的構造があると判明するだろう。「ベイズ的」と呼ばれる種類のアルゴリズムと厳密に同値でさえあるかもしれない。

表面上はベイズ的に見えないとしても、である。

そうなれば、ベイズ主義者たちが、そのアルゴリズムが厳密にどう機能し、どんな根底の仮定を反映し、どの環境の規則性を利用し、どこで機能してどこで失敗するかを説明し始め、さらには学習済みネットワークの重みに理解可能な意味を結びつけることまで、もうわかりきっている

がっかりではないか。