無向グラフィカルモデル — 変数の「関係網」を可視化する

友人関係のネットワークを思い浮かべてください。AさんとBさんが知り合いかどうか、 Bさんの状況を知っていれば、Aさんを観察しなくても間接的にBさんの友人たちについて推測できます。 多変量データの分析でも同じ問題が起きます。「どの変数がどの変数に直接関係しているのか」を知りたいのに、 間接的な相関が邪魔をするのです。 グラフィカルモデルはこの問題を解決します。グラフの構造が「直接の依存関係」だけを浮き彫りにします。

グラフィカルモデルとは何か — 「直接の関係」だけを見る

11個のタンパク質があります。それぞれは細胞内でお互いに影響し合っているのですが、 「どのタンパク質がどのタンパク質に直接関係しているか」を知りたいとします。

単純に相関を計算すると問題が起きます。A→B→Cという経路でAとCが間接的に相関していても、 「AとCが直接関連している」と誤解してしまうのです。

ノードとエッジで構成されるグラフが変数間の依存関係を表す様子
青いノードが変数を表し、エッジ(辺)が直接の依存関係を示す。エッジのないペア(赤くフラッシュ)は条件付き独立を意味する

グラフィカルモデルの核心は、この問いに答えることです:「他のすべての変数を知った上でも、まだ関連しているか?」

これを「条件付き独立性」と呼びます。 Bを知った上でAとCが無関係なら、AとCの間に直接的な関係はない、と判断します。

グラフで表すと:

この「エッジなし = 条件付き独立」という対応が、グラフィカルモデルの直感的な美しさです。

無向グラフ(Undirected Graph)は有向グラフと異なり、「A→B」ではなく「A-B」という双方向の関連性を表します。 原因と結果ではなく、「相互のつながり」を示すモデルです。 別名「マルコフ確率場(Markov random fields)」とも呼ばれます。

条件付き独立性 — グラフの「読み方」

グラフィカルモデルの真価は、グラフの「形」から独立性を読み取れることにあります。

まず最もシンプルなケースを考えましょう。ペアワイズ・マルコフ独立性(pairwise Markov independence)とは: エッジで結ばれていない2つの変数XとYは、残りすべての変数を条件付けたとき、独立です。

$$\text{エッジなし}(X, Y) \iff X \perp Y \mid \text{残り全変数}$$

しかし、独立性はもっと豊かな構造を持ちます。 「2つの変数だけでなく、グループとグループの独立性も読み取れる」のです。

3ノードのパス X - Z - Y を例に考えてみましょう。 下のアニメーションで、ZノードにXからの信号が流れ、Yに届く様子を見てください。 次に、Zを「知っている状態」にすると、何が起きるでしょうか?

パスを介した条件付き独立性の概念を視覚化
X(青)からZを通じてY(緑)へ信号が伝播する。ZがわかるとZで信号が遮断されYに届かなくなる

これをもっと一般化したのが「分離(separation)」の概念です。 頂点集合Cが2つのグループAとBの間のすべてのパスを遮断するとき、CはAとBを「分離する」といいます。 その場合:

$$A \perp B \mid C \quad (\text{CがAとBを分離するとき})$$

友人関係の例で考えると:AさんとBさんが「共通の友人Cさん経由でしか繋がっていない」場合、 Cさんの状況を知っていれば、AさんとBさんの状況は独立になります。

重要な定理:正の分布に対して、「エッジなし=条件付き独立」という弱い条件(ペアワイズ独立性)と、 「分離=条件付き独立」という強い条件(グローバル独立性)は等価です。

クリーク分解 — 「仲良しグループ」への分解

グラフの独立性構造を理解したところで、次の疑問が生まれます: 「グラフィカルモデルの確率分布は、どのような数式で表されるのか?」

答えは「クリーク(Clique)」への分解です。

クリークとは、グラフの中でお互いが全員エッジで結ばれているノードの最大グループのことです。 3人が全員友達の「三角形」を想像してください。

グラフが複数のクリークに分解される様子
5ノードのグラフが色分けされたクリーク(青の三角形、緑のペア)に分解される

Hammersley-Cliffordの定理(グラフィカルモデルの基礎定理)によると、 マルコフグラフ上の分布は次のように表現できます:

$$f(x) = \frac{1}{Z} \prod_{C \in \text{クリーク}} \psi_C(x_C)$$

ここで:

直感的な意味:グラフを「仲良しグループ」(クリーク)に分解し、 各グループの「相性の良さ」(ポテンシャル)を掛け合わせた値が確率を決めます。 グループ内の変数が「好む」配置では高いポテンシャル(高い確率)、 「嫌う」配置では低いポテンシャル(低い確率)になります。

ガウスグラフィカルモデル — 精密度行列の魔法

多変数のデータが多変量ガウス分布に従う場合、グラフィカルモデルは特に美しい形になります。 ガウス分布は最も扱いやすい連続分布であり、多くの自然現象に当てはまります。

変数の共分散行列を $\Sigma$ とすると、 その逆行列 $\Theta = \Sigma^{-1}$ が 「精密度行列(Precision Matrix)」です。

驚くべき事実:精密度行列の成分がゼロ = 条件付き独立

$$\Theta_{jk} = 0 \iff X_j \perp X_k \mid X_{\text{rest}}$$

つまり、精密度行列のゼロ・非ゼロのパターンが、グラフのエッジ構造と完全に一致します!

精密度行列のゼロ要素とグラフのエッジなしの対応を視覚化
左の行列グリッドで赤(ゼロ)の要素が、右のグラフで「エッジなし」ペアに対応する(黄矢印)

なぜそうなるのか?

ガウス分布では、変数 $X_j$ を他のすべての変数$X_{-j}$ で「線形回帰」したとき、 係数は精密度行列の要素と直接関係しています:

$$\beta_{jk} = -\frac{\Theta_{jk}}{\Theta_{jj}}$$

この式の意味:$\Theta_{jk} = 0$ は 「$X_k$ の回帰係数がゼロ」、 つまり「$X_k$ は他の変数を制御しても$X_j$ の予測に寄与しない」= 「条件付き独立」を意味します。

グラフ構造の推定は、「どの精密度行列の要素がゼロか」を見つけることに帰着します。

Graphical Lasso — 「関係」を自動で発見する

ここまでは「グラフが与えられた場合」の話でした。実際のデータでは、グラフ構造は未知です。 「どのノード間にエッジがあるか」を自動的に発見するにはどうすればよいでしょうか?

p個の変数があると、候補となるエッジは $\binom{p}{2}$ 個 (p=100なら4,950個!)。総当りで試す手法は現実的ではありません。

Graphical Lasso(グラフィカル・ラッソ)は、 この問題を精密度行列 $\Theta$ のスパース推定として解きます:

$$\hat{\Theta} = \arg\max_{\Theta \succ 0} \left[ \log \det \Theta - \operatorname{tr}(S\Theta) - \lambda \|\Theta\|_1 \right]$$

各項の意味:

λが小さくなるにつれてグラフのエッジが増加する様子
6ノードのネットワーク。λが大きいときはエッジがほぼなく(疎)、λが小さくなるにつれてエッジが順次追加される

λの役割

適切な $\lambda$ は交差検証で決定します。

計算効率の高さ:この最適化はp個の「修正回帰」問題として効率的に解けます。 1000変数のデータでも1分以内に解けます。

離散変数のグラフィカルモデル — イジングモデル

ここまでは連続値(身長、温度、タンパク質の発現量など)の変数を扱ってきました。 では「あり/なし」「0/1」の二値変数の場合はどうなるでしょうか?

物理学の「イジングモデル(Ising model)」が登場します。 元々は磁石のスピン(上向き/下向き)を記述するモデルですが、 機械学習では画像処理、テキスト分類、社会ネットワーク分析など幅広く活用されます。

イジングモデルの二値変数の相互作用(正の結合による整合)を視覚化
4×4格子の各セルが0(黒)または1(青)の状態を持つ。正の相互作用により隣接セルが同じ色に揃い、大きなクラスターが形成される

p個の二値変数 $X_j \in \{0, 1\}$ について、 イジングモデルは次のように分布を定義します:

$$p(X;\Theta) \propto \exp\!\left[\sum_{(j,k)\in E}\theta_{jk}X_jX_k + \sum_j\theta_jX_j\right]$$

各項の意味:

離散モデルの難しさ:連続変数と異なり、正規化定数(分配関数)$Z$ の計算が困難です。$2^p$ 通りの状態を全部計算する必要があります (p=100では約 $10^{30}$ 通り!)。

実用的な解決策は「擬似尤度(Pseudo-likelihood)」という近似手法です。 各変数を一つずつ、他の変数を固定した条件付き確率として個別に推定します。 完全な尤度の代わりに使うことで、計算を大幅に削減できます。

制限付きボルツマンマシン — 隠れ層という「翻訳者」

イジングモデルでは変数間の相互作用を直接表現しましたが、 データが非常に複雑なとき(例:画像の全ピクセル間の相互作用)、 直接的な表現は困難です。

隠れ変数(hidden variable)」を導入すれば、この問題を解決できます。 観測できる変数(可視層)の複雑な依存関係を、 観測できない「中間的な特徴」(隠れ層)を通じて表現するのです。

RBMの可視層・隠れ層の構造と双方向の情報フローを可視化
下の可視層(青)から上の隠れ層(黄)へ信号が伝播し(緑の点)、また逆方向にも流れる。同じ層内にはエッジがない

制限付きボルツマンマシン(RBM:Restricted Boltzmann Machine)の構造:

$$p(V, H; \Theta) \propto \exp\left[ \sum_{j,k} W_{jk} V_j H_k + \sum_j b_j V_j + \sum_k c_k H_k \right]$$

各項の意味:

「制限」がもたらす計算効率:同じ層内に接続がないため、 条件付き確率が積の形に因数分解されます:

$$p(H | V) = \prod_k p(H_k | V), \quad p(V | H) = \prod_j p(V_j | H)$$

これにより、可視層→隠れ層→可視層と交互にサンプリングする 「Gibbs サンプリング(交互サンプリング法)」が高速に実行できます。

実用例:784ピクセルの手書き数字データ(MNIST)に対して、 500の隠れユニットを持つRBMを学習すると、テスト誤り率1.9%を達成します。

RBMは現代のディープラーニングの先駆けとなった手法であり、 「データから自動的に特徴を学ぶ」という概念を確立しました。

まとめ — グラフで「つながり」を読む

無向グラフィカルモデルは、高次元データの「関係構造」を見える化する強力なツールです。

Graphical Lassoで学習されたスパースネットワークとハブ構造の表示
11ノードの円形ネットワーク。少数のエッジが出現し(スパース構造)、多くのエッジを持つハブノード(黄)が強調される

学んだ主要なポイントを振り返りましょう:

グラフの基本

ガウスグラフィカルモデル

離散グラフィカルモデルイジングモデル):

制限付きボルツマンマシン(RBM)

グラフィカルモデルの真の強みは「解釈可能性」にあります。 複雑な多変量分布を視覚的なグラフとして表現することで、 「どの変数がどの変数に直接影響しているか」を一目で理解できます。 ゲノムネットワーク、金融リスク管理、画像認識、自然言語処理など、 多くの現実世界の問題で活躍する理由がここにあります。