行列分解・距離保存・ランクの哲学 — NMF・ICA・MDS・PageRank

「データは何の部品から作られているか?」「混ざり合った信号を分離できるか?」 「距離だけからどこまでわかるか?」——教師なし学習の深淵を探ろう。

「部品に分解する」という発想 — NMF

あなたは今、100枚の顔写真を持っている。これを「どう分析するか」を考えてほしい。

PCAなら「最も分散が大きい方向」を見つける。でも、こんな問いはどうだろう:この100枚の顔は、どんな「部品」の組み合わせで作られているのか?

目。鼻。口。眉毛。輪郭。顔とは、これらの部品を「足し合わせて」作られている。 そしてここに、非常に自然な制約が生まれる:部品は「負にならない」。 マイナスの目というものは存在しない。

この制約——すべての成分が非負であること——を課した行列分解が、非負値行列因子分解(NMF) だ。

NMFの行列分解構造:大きな青い行列Xが、緑のW行列と黄色のH行列の積に分解される
大きなデータ行列 X が、「部品の割合」行列 W と「基底パターン」行列 H の積として表現される

数学的には、データ行列 $\mathbf{X}$$N \times p$)を次のように分解する:

$$\mathbf{X} \approx \mathbf{W}\mathbf{H}, \quad w_{ik} \geq 0, \quad h_{kj} \geq 0$$

ここで $\mathbf{W}$$N \times r$)は各データ点の「部品の割合」を表し、$\mathbf{H}$$r \times p$)は「基底パターン(部品)」を表す。 そして $\mathbf{W}, \mathbf{H}$ の全要素が 非負 でなければならない。

PCAとの決定的な違いはここにある。PCAでは基底ベクトルが「プラスとマイナスで打ち消し合う」ことがあるため、解釈が難しい。 NMFでは「積み上げるだけで合成できる」ため、各基底が直感的な「部品」に対応しやすい

最適化は 乗法的更新則(Lee-Seung, 2001) で解く。$W$$H$ を交互に更新しながら収束させる:

$$w_{ik} \leftarrow w_{ik} \cdot \frac{\sum_j h_{kj} x_{ij} / (\mathbf{WH})_{ij}}{\sum_j h_{kj}}$$
$$h_{kj} \leftarrow h_{kj} \cdot \frac{\sum_i w_{ik} x_{ij} / (\mathbf{WH})_{ij}}{\sum_i w_{ik}}$$

更新式の分子と分母が常に非負のため、非負性が自動的に保たれるという美しい性質がある。 初期値が非負であれば、更新後も常に非負が保証される。

凸包の頂点を探す — 原型分析

NMFに関連した、もう一つ美しいアイデアを紹介しよう。

NMFは「基底パターン(部品)$\mathbf{H}$を使ってデータを表現する」という方向性だった。原型分析(Archetypal Analysis) はその逆を目指す: 「データそのものの中から、すべての観測をその凸結合として表現できる『原型』を見つける」。

2D散布図に凸包が描かれ、頂点(原型点)が赤くハイライトされ、内側の点から矢印が伸びる
凸包の頂点(赤い点)が「原型」。内側の点はこれらの凸結合として表現される

直感を掴もう。2次元の散布図を思い浮かべてほしい。多数の点が分布している。 その「輪郭」を形成する点々——凸包の頂点に近い点——がデータの「極端な例」だ。 原型分析はこの「極端な例」を $r$ 個の原型として見つけ出す。

数式で書くと:

$$\mathbf{X} \approx \mathbf{W}\mathbf{H}, \quad \mathbf{H} = \mathbf{B}\mathbf{X}$$

ここで $\mathbf{W}$ の行と $\mathbf{B}$ の行はそれぞれ凸結合の係数(非負かつ和が1)。

重要な洞察:原型 $\mathbf{BX}$ は「データ点の凸結合」だから、 データの範囲外には出ない。そして各データ点は「原型の凸結合」で表現される。

NMFとの違いをまとめると:

カクテルパーティー問題 — ICA

パーティー会場を想像してほしい。複数の会話が同時に行われている。複数のマイクがある。 各マイクはすべての声を拾うが、それぞれ少しずつ違う「混ざり具合」で録音している。

この録音データから、個々の声を分離できるか?

これが有名な カクテルパーティー問題 だ。 そして 独立成分分析(ICA) はこれを解く手法の一つだ。

青い正弦波と緑の鋸波が混合ボックスを通り、赤い混合信号になり、逆向き矢印で分離される
2つの独立な源泉信号が混合され、混ざった信号が観測される。ICAはこの逆過程——混合から源泉を復元する

数学的には、観測データ $\mathbf{X}$$N \times p$)は 潜在的な独立信号 $\mathbf{S}$$N \times p$)と 混合行列 $\mathbf{A}$$p \times p$)から生成されると仮定する:

$$\mathbf{X} = \mathbf{S}\mathbf{A}^T \quad \Rightarrow \quad \mathbf{S} = \mathbf{X}(\mathbf{A}^{-1})^T$$

PCAと何が違うのか?PCAは「無相関な成分」を求める。でも無相関は独立性よりずっと弱い条件だ。独立とは「一方を知っても他方について何も情報が得られない」こと。

核心の洞察:独立な成分を見つけるには、「ガウス分布からいかに外れているか」を測ればいい。 なぜなら、ガウス分布の線形結合はガウス分布になる—— ガウス的に見えるなら「まだ混ざっている」のだ。

ICAは ネゲントロピー(negentropy) を最大化する。 エントロピー $H(Y)$ はデータの乱雑さを測る指標だ。 ガウス分布は同じ分散を持つ分布の中で最も高いエントロピーを持つ——つまり「最も情報が少ない」分布だ。

$$J(Y_j) = H(Z_j) - H(Y_j)$$

ここで $Z_j$$Y_j$ と同じ分散を持つガウス変数。$J(Y_j)$ は「ガウス分布からどれだけ外れているか」を測る。$J(Y_j)$ が大きいほど $Y_j$ はガウス分布から外れている、 つまり「より独立した源泉に近い」。

実際の応用として、EEG(脳波)データへの適用が有名だ。100個の電極信号に ICA を適用すると、瞬きのアーティファクト心拍のノイズが独立成分として分離され、 純粋な脳活動成分のみを取り出せる。

距離を守って次元を縮める — MDS

全く異なるアプローチを見てみよう。

地図を作ることを考えてほしい。各都市間の距離データだけが与えられている。 GoogleマップもGPSもない。でも「東京と大阪は500km、東京と福岡は1100km、大阪と福岡は600km……」 という距離情報があれば、2次元地図を復元できるはずだ。

これが 多次元尺度構成法(MDS) の本質だ。

左側の3D空間の赤い点群と距離線が、緑の矢印を経て右側の2D平面の青い点群に写像される
高次元の点間距離を保ちながら低次元に配置する。左の3D点群が右の2D点群に変換されるが、相対的な距離関係は保存される

形式的に書こう。$N$ 点のデータ間の非相似度(距離)$d_{ii'}$ が与えられている。 MDS は $d_{ii'} \approx \|z_i - z_{i'}\|$ となるような 低次元の点配置 $z_1, z_2, \ldots, z_N$ を求める。

損失関数(ストレス)は:

$$S_M(z_1, \ldots, z_N) = \sum_{i \neq i'} (d_{ii'} - \|z_i - z_{i'}\|)^2$$

古典的 MDS(Metric MDS) では、元データの内積行列を固有値分解することで 解析的に解が求まる。これは実は PCA と等価 であることが知られている。

一方、距離の大小関係だけを保存したい場合は 非メトリック MDS を使う:

$$S_{NM} = \frac{\sum_{i \neq i'} (\|z_i - z_{i'}\| - \hat{d}_{ii'})^2}{\sum_{i \neq i'} \|z_i - z_{i'}\|^2}$$

ここで $\hat{d}_{ii'}$ は元の距離を「単調変換した値」—— 順序さえ保てば数値は変わってもいい。

重要:MDS はデータ点の座標を直接使わなくて良い。距離(または非相似度)だけあればいい。 このため、言語間の意味的距離、タンパク質の構造的類似度など、 「座標が定義しにくいデータ」にも適用できる。

曲がった空間を「広げる」— 非線形次元削減

ここで根本的な問いを立てよう。

PCAとMDSは「線形な」低次元表現を求めている。でも、データが「スイスロール」のように曲がった多様体上に分布していたら?

例えばこういう状況を考えよう:256次元の「手書き数字3の画像」が1万枚ある。 でも実際に変化している自由度は「文字の傾き」「尾の長さ」など数個だけかもしれない。 この「内在的な低次元構造」は、256次元の直線的な部分空間には対応していない——曲がった多様体 の上にある。

左側の青→黄グラデーションの螺旋状点群が、緑の矢印の後に右側で展開されて2D平面に広がる
螺旋状の多様体(左)を「広げる」と、色の順序を保ちながら低次元に展開できる(右)。非線形次元削減の核心的なアイデア

ISOMAP(等長写像) のアイデアはシンプルだ:

「多様体の上では、Euclid距離ではなく測地線距離(多様体の表面を這う最短距離)が本当の距離だ」

アルゴリズム:

  1. 各点の $K$ 近傍を Euclid 距離で探す
  2. 近傍グラフを作り、最短路(Dijkstra法)で測地線距離を近似
  3. 近似した測地線距離に古典的MDSを適用

局所線形埋め込み(LLE) は別の角度から攻める:

「多様体は局所的には平ら。各点をその近傍の線形結合で表す重みを保持したまま、低次元に移す」

具体的には:

  1. 各点 $x_i$ を K近傍の線形結合で最もよく表す係数 $w_{ik}$ を求める
  2. 低次元表現 $y_i$ で同じ係数 $w_{ik}$ を使って再構成したときの誤差を最小化
$$\min_{\{y_i\}} \sum_i \left\|y_i - \sum_k w_{ik} y_k\right\|^2$$

この解は行列 $\mathbf{M} = (\mathbf{I} - \mathbf{W})^T(\mathbf{I} - \mathbf{W})$最小固有値に対応する固有ベクトル だ。

PCAは「データ全体の最大分散方向」を求め、ISOMAPは「全体の測地線距離を保存」し、 LLEは「局所的な線形構造を保存」する。それぞれが「高次元の霧の中の形」を捉えようとしているが、何を保存するかという哲学が違う。

リンクで決まる重要度 — PageRank

非線形次元削減もMDSも、核心には「行列の固有構造を通じてデータの本質を捉える」という発想がある。 実は前の章で学んだスペクトラルクラスタリングも同じ—— グラフのラプラシアン行列の固有ベクトルを使う。 固有ベクトルという道具が、見た目の全く異なる問題を同じ数学でつなぐのだ。

最後に、全く異なる応用領域からもう一つの美しいアイデアを紹介しよう。

1990年代後半、Google の創業者たちは問いを立てた:「どのウェブページが『重要』か、どうやって決める?」

ナイーブな答えは「多くのページからリンクされているページが重要」。 でもこれには欠陥がある。重要でないページが大量にリンクを張っても意味がない。

本質的な問い:重要なページからリンクされたページが重要だ。でも、どのページが重要か?

これは循環的な定義だ。でも実は、この循環は恐れる必要がない。固有ベクトル問題として解けるのだ。

5つの円(ページ)と有向矢印(リンク)のネットワーク。光の粒子が流れ、多くリンクされる円が徐々に大きくなる
PageRankの収束プロセス。リンクを通じて「重要度」が伝播し、多くリンクを受けるページが大きくなる

PageRank の数式を書こう。 ページ $i$ のランク $p_i$ を次のように定義する:

$$p_i = (1-d) + d \sum_{j=1}^N \frac{L_{ij}}{c_j} p_j$$

ここで:

これを行列で書くと $\mathbf{p} = \mathbf{A}\mathbf{p}$—— つまり $\mathbf{p}$ は行列 $\mathbf{A}$固有ベクトル(固有値1に対応)だ!

$$\mathbf{p} = \mathbf{A}\mathbf{p}, \quad A_{ij} = (1-d)\frac{1}{N} + d\frac{L_{ij}}{c_j}$$

ランダムウォーク解釈:ウェブサーファーが確率 $d$ で 現在のページのリンクをランダムに辿り、確率 $(1-d)$ でランダムなページにジャンプする。 長時間後の滞在確率が PageRank だ。

これはべき乗法(Power Iteration)で効率よく計算できる:

$$\mathbf{p}_{k} = \mathbf{A}\mathbf{p}_{k-1}, \quad \mathbf{p}_k \leftarrow \frac{N \cdot \mathbf{p}_k}{\mathbf{e}^T \mathbf{p}_k}$$

Googleはこの反復計算を数十億ページに対して行っていた。 固有ベクトルがウェブの「重要度構造」を浮かび上がらせる—— これが統計学習と数学が世界を変えた瞬間の一つだ。

統一的な視点 — 行列の「分解」が世界を開く

この章で学んだ手法を振り返ろう。表面的には全く異なるように見えるが、深いところに共通の哲学がある。

5つのシンボル(格子、波形、距離線、螺旋、円ネットワーク)が順にフェードインし、中央から放射状の線で結ばれる
5つの手法のシンボルが1つの画面に集まる。中央の正方形は「行列の固有構造」——すべての手法に共通する数学的核心
手法何を分解/保存するか核心の問い
NMF行列を非負の基底で分解どんな部品から構成されているか?
ICA信号を独立な成分に分離独立した源泉は何か?
MDS距離構造を低次元に保存関係性を保ちながらどう見せるか?
ISOMAP/LLE多様体の局所構造を保存曲がった空間の本当の形は?
PageRankリンクグラフの固有構造ネットワークの重要度は何か?

これらすべてに共通するのは「データに隠れた構造を数学的に浮かび上がらせる」という目的だ。

そして気づいてほしいことがある。行列分解、固有ベクトル、最適化—— これらは機械学習のいたるところに現れる道具だ。 NMFの乗法更新則も、ICAの勾配法も、MDSの固有値分解も、PageRankのべき乗法も—— すべてが「適切な目的関数を適切なアルゴリズムで最小化する」という同じ枠組みに収まる。

教師なし学習の深淵は、ここにある。正解のないデータから、「これが真の構造だ」と主張できる根拠を数学が与えてくれる。それが統計学習の美しさだ。