PRML下巻_8章 グラフィカルモデル 読解メモ #8

f:id:lib-arts:20190204192256p:plain

#7では7章の疎な解を持つカーネルマシン(SVMなど)についてまとめました。

#8では8章の読解メモをまとめていければと思います。(7~8割の理解を目標においた読解にあたってのメモなので、要旨を掴みたい方向けです)
8章ではグラフィカルモデルに関して取り扱われています。
以下目次になります。


1. 8章の内容に関して概要
2. 詳細
2.1 ベイジアンネットワーク(8.1)
2.2 条件付き独立性(8.2)
2.3 マルコフ確率場(8.3)
2.4 グラフィカルモデルにおける推論(8.4)
3. まとめ&所感


1. 8章の内容に関して概要
8章では通常のモデリンググラフ理論をベースに可視化を行なった確率的グラフィカルモデル(probabilistic graphical model)について取り扱われています。下記記事でもまとめましたが、グラフ理論は点(Node)と線(Edge)で諸々の概念を表す考え方で、機械学習モデリングにおいてもグラフ理論を導入すると非常に便利です。

グラフィカルモデルについてはなかなかまとまった情報がないのですが、有向グラフィカルモデルの例であるベイジアンネットワークから無向グラフィカルモデルの例であるマルコフ確率場まで情報量が豊富なのでこの辺の勉強を行う上で非常に参考になると思います。

 

2. 詳細
8.1では有向グラフの例であるベイジアンネットワークについてまとまっています。8.3では無向グラフの例であるマルコフ確率場(Markov Random Field)についてまとまっています。

 

2.1 ベイジアンネットワーク(8.1)

8.1では有向グラフィカルモデルの例であるベイジアンネットワークについてまとまっています。まず導入として用いられている(8.1)式や(8.2)式ですが、条件付き確率の書式をグラフィカルモデルに対応させています。(8.2)の式に対応するグラフが図8.1であり、条件付き確率はグラフのパスに対応します。また、キーワードとして親ノード(parent node)、子ノード(child node)、全結合(fully connected)、分解(factorization)は言葉として抑えておくと良いと思います。全結合についてはニューラルネットワークにおけるFC層はここからきているので意識しておくと良いと思います。それと、ここで有向閉路を持たないグラフのことを有向非循環グラフ(DAG; Directed Acyclic Graph)と呼ばれており、因果推論がベースにあるベイジアンネットワークやブロックチェーンの分脈のIOTAなどではDAG構造を前提としています。
8.1.1は前述の話題をベースに多項式曲線フィッティングについて取り扱われています。(8.6)式をグラフィカルに表現するにあたって、学習データが潜在変数wを用いて表現されることをコンパクトに表現するために図8.4のようなプレート(plate)を導入していることは抑えておくと良いと思います。また、観測される変数とモデルのパラメータを区別するにあたって図8.6のような影付けを行うことで、観測変数(observed variable)と潜在変数(latent variable)を区別するというのにも注意すると良いかと思います。

8.1.2の生成モデル(generative model)では様々な潜在変数から観測データが生成される因果(causality)過程についてまとめられています。生成モデルは近年のニューラルネットワークの分脈だとGANなどにも繋がってくるので、これを機に抑えておくと良いと思います。また、伝承サンプリング(ancestral sampling)について言及されています。この話は11章のサンプリング(サンプリングとしてはMCMCが有名)にも繋がってきます。
8.1.3、8.1.4は全体を俯瞰するあたって一旦飛ばしました。


2.2 条件付き独立性(8.2)

8.2では条件付き独立性(conditional independence)についてまとめられています。(8.20)〜(8.22)はややこしいですがどれもcが与えられた際にaがbに対して条件付き独立であることを表しています。以後ややこしいので、初見の際はキーワードを抑えるで十分な印象でした。後の節での言及を元に振り返ると、tail-to-tail、head-to-tail、head-to-headという言葉を図8.16〜8.21の対応で覚えておくこと、図8.25で表されている有向分解(directed factorization)とフィルタの入出力のイメージをざっくり掴んでおくこと、有向分離と有向分解は違い前者は因数分解中心な一方で後者はグラフの分離がメインだと把握すること、マルコフブランケット(Markov blanket)はあるノードを残りのグラフから孤立させるためのノードの最小集合を表すと把握しておくことなどを行うのが良いように思われました。


2.3 マルコフ確率場(8.3)

8.3では無向グラフィカルモデルの例としてマルコフ確率場(Markov Random Field)についてまとめられています。議論がしやすいという理由から分解特性よりも条件付き独立性について先に議論されており、8.1.1で条件付き独立性について取り扱われています。実際に条件付き独立性をグラフの「遮断」を調べるだけでわかるということでhead-to-headノードを含んだ経路を持つ有向グラフよりもシンプルに議論されています。マルコフブランケットについても図8.28のようにシンプルに表現されています。
8.3.2の分解特性では、グラフの同時分布p(x)をどのように分解するかにあたって、クリーク(clique)中でも極大クリーク(maximal clique)という概念が導入されています。また、同時分布をクリークが含む変数集合の関数にするにあたって、ポテンシャル関数(potential function)を導入し、(8.39)、(8.40)式で同時分布を表現しています。この同時分布を考える際に元となるポテンシャル関数を狭義に正に限るにあたって、(8.41)式のようなエネルギー関数(energy function)を導入し、この指数関数表現をボルツマン分布(Boltzmann distribution)と呼んでいます。また、ポテンシャル関数の選び方としては、「ポテンシャル関数を、局所的な変数がどのような形状を持つことが他の形状を持つよりも望ましいかを表現するものと解釈すればよい」とあるように、近似的に取り扱うことを示唆しています。
8.3.3では画像のノイズ除去の例を元に具体的にポテンシャル関数やエネルギー関数について紹介されています。他に比べて具体的で読みやすい節なので、ここまでで苦戦していれば(8.42)の理解を一旦目標に置くのもありだと思います。
8.3.4では有向グラフとの関係についてまとめられています。まず有向グラフを無向グラフに変換するにあたって、モラル化(moralization)という考え方について触れられています。モラル化はhead-to-headを無向グラフで表現するにあたって親ノード同士を結びつける処理で、、図8.33で主に表されています。また後半部では依存性マップ(dependency map)、独立性マップ(independence map)、完全マップ(perfect map)について触れられており、こちらも言葉を抑えておくと良さそうな印象でした。


2.4 グラフィカルモデルにおける推論(8.4)

8.4ではグラフィカルモデルにおける推論の問題ということで、グラフのいくつかのノードが観測された(observed)時に、残ったノードの事後分布を計算する話についてまとめられています。効率の良い推論アルゴリズムを見つけたりそれらの構造の見通しをよくするために、グラフの「構造」を利用するということについてまとめられています。
直感的には、「多くのアルゴリズムが局所的なメッセージのグラフ全体にわたる伝播として表現できる」とコメントされています。簡易的な例として、(8.47)や(8.48)のようなベイズの定理を用いた簡単な推論を図8.37のように表されています。8.4.1以降は分量が多かったため、一旦飛ばしました。


3. まとめ&所感

グラフィカルモデルは数式や説明に加えて使用できる、概念を表現するツールだと捉えておくのが良いのではと思われました。複雑な概念も図的に表すことでシンプルに掴むことができるという意味でなかなか強力なツールだと思います。
グラフィカルモデル系の話が充実している本は入門書ではなかなか少ないので、内容が非常に充実しており読み込んでいくと良い内容だと思われました。