行列分解・距離保存・ランクの哲学 — NMF・ICA・MDS・PageRank
「データは何の部品から作られているか?」「混ざり合った信号を分離できるか?」 「距離だけからどこまでわかるか?」——教師なし学習の深淵を探ろう。
「部品に分解する」という発想 — NMF
あなたは今、100枚の顔写真を持っている。これを「どう分析するか」を考えてほしい。
PCAなら「最も分散が大きい方向」を見つける。でも、こんな問いはどうだろう:この100枚の顔は、どんな「部品」の組み合わせで作られているのか?
目。鼻。口。眉毛。輪郭。顔とは、これらの部品を「足し合わせて」作られている。 そしてここに、非常に自然な制約が生まれる:部品は「負にならない」。 マイナスの目というものは存在しない。
この制約——すべての成分が非負であること——を課した行列分解が、非負値行列因子分解(NMF) だ。

数学的には、データ行列 $\mathbf{X}$($N \times p$)を次のように分解する:
ここで $\mathbf{W}$($N \times r$)は各データ点の「部品の割合」を表し、$\mathbf{H}$($r \times p$)は「基底パターン(部品)」を表す。 そして $\mathbf{W}, \mathbf{H}$ の全要素が 非負 でなければならない。
PCAとの決定的な違いはここにある。PCAでは基底ベクトルが「プラスとマイナスで打ち消し合う」ことがあるため、解釈が難しい。 NMFでは「積み上げるだけで合成できる」ため、各基底が直感的な「部品」に対応しやすい。
最適化は 乗法的更新則(Lee-Seung, 2001) で解く。$W$ と $H$ を交互に更新しながら収束させる:
更新式の分子と分母が常に非負のため、非負性が自動的に保たれるという美しい性質がある。 初期値が非負であれば、更新後も常に非負が保証される。
凸包の頂点を探す — 原型分析
NMFに関連した、もう一つ美しいアイデアを紹介しよう。
NMFは「基底パターン(部品)$\mathbf{H}$を使ってデータを表現する」という方向性だった。原型分析(Archetypal Analysis) はその逆を目指す: 「データそのものの中から、すべての観測をその凸結合として表現できる『原型』を見つける」。

直感を掴もう。2次元の散布図を思い浮かべてほしい。多数の点が分布している。 その「輪郭」を形成する点々——凸包の頂点に近い点——がデータの「極端な例」だ。 原型分析はこの「極端な例」を $r$ 個の原型として見つけ出す。
数式で書くと:
ここで $\mathbf{W}$ の行と $\mathbf{B}$ の行はそれぞれ凸結合の係数(非負かつ和が1)。
重要な洞察:原型 $\mathbf{BX}$ は「データ点の凸結合」だから、 データの範囲外には出ない。そして各データ点は「原型の凸結合」で表現される。
NMFとの違いをまとめると:
- NMF:基底(部品)はデータから分離して自由に学習
- 原型分析:基底(原型)はデータ点の凸結合——データの「端点」を学ぶ
カクテルパーティー問題 — ICA
パーティー会場を想像してほしい。複数の会話が同時に行われている。複数のマイクがある。 各マイクはすべての声を拾うが、それぞれ少しずつ違う「混ざり具合」で録音している。
この録音データから、個々の声を分離できるか?
これが有名な カクテルパーティー問題 だ。 そして 独立成分分析(ICA) はこれを解く手法の一つだ。

数学的には、観測データ $\mathbf{X}$($N \times p$)は 潜在的な独立信号 $\mathbf{S}$($N \times p$)と 混合行列 $\mathbf{A}$($p \times p$)から生成されると仮定する:
PCAと何が違うのか?PCAは「無相関な成分」を求める。でも無相関は独立性よりずっと弱い条件だ。独立とは「一方を知っても他方について何も情報が得られない」こと。
核心の洞察:独立な成分を見つけるには、「ガウス分布からいかに外れているか」を測ればいい。 なぜなら、ガウス分布の線形結合はガウス分布になる—— ガウス的に見えるなら「まだ混ざっている」のだ。
ICAは ネゲントロピー(negentropy) を最大化する。 エントロピー $H(Y)$ はデータの乱雑さを測る指標だ。 ガウス分布は同じ分散を持つ分布の中で最も高いエントロピーを持つ——つまり「最も情報が少ない」分布だ。
ここで $Z_j$ は $Y_j$ と同じ分散を持つガウス変数。$J(Y_j)$ は「ガウス分布からどれだけ外れているか」を測る。$J(Y_j)$ が大きいほど $Y_j$ はガウス分布から外れている、 つまり「より独立した源泉に近い」。
実際の応用として、EEG(脳波)データへの適用が有名だ。100個の電極信号に ICA を適用すると、瞬きのアーティファクトや心拍のノイズが独立成分として分離され、 純粋な脳活動成分のみを取り出せる。
距離を守って次元を縮める — MDS
全く異なるアプローチを見てみよう。
地図を作ることを考えてほしい。各都市間の距離データだけが与えられている。 GoogleマップもGPSもない。でも「東京と大阪は500km、東京と福岡は1100km、大阪と福岡は600km……」 という距離情報があれば、2次元地図を復元できるはずだ。
これが 多次元尺度構成法(MDS) の本質だ。

形式的に書こう。$N$ 点のデータ間の非相似度(距離)$d_{ii'}$ が与えられている。 MDS は $d_{ii'} \approx \|z_i - z_{i'}\|$ となるような 低次元の点配置 $z_1, z_2, \ldots, z_N$ を求める。
損失関数(ストレス)は:
古典的 MDS(Metric MDS) では、元データの内積行列を固有値分解することで 解析的に解が求まる。これは実は PCA と等価 であることが知られている。
一方、距離の大小関係だけを保存したい場合は 非メトリック MDS を使う:
ここで $\hat{d}_{ii'}$ は元の距離を「単調変換した値」—— 順序さえ保てば数値は変わってもいい。
重要:MDS はデータ点の座標を直接使わなくて良い。距離(または非相似度)だけあればいい。 このため、言語間の意味的距離、タンパク質の構造的類似度など、 「座標が定義しにくいデータ」にも適用できる。
曲がった空間を「広げる」— 非線形次元削減
ここで根本的な問いを立てよう。
PCAとMDSは「線形な」低次元表現を求めている。でも、データが「スイスロール」のように曲がった多様体上に分布していたら?
例えばこういう状況を考えよう:256次元の「手書き数字3の画像」が1万枚ある。 でも実際に変化している自由度は「文字の傾き」「尾の長さ」など数個だけかもしれない。 この「内在的な低次元構造」は、256次元の直線的な部分空間には対応していない——曲がった多様体 の上にある。

ISOMAP(等長写像) のアイデアはシンプルだ:
「多様体の上では、Euclid距離ではなく測地線距離(多様体の表面を這う最短距離)が本当の距離だ」
アルゴリズム:
- 各点の $K$ 近傍を Euclid 距離で探す
- 近傍グラフを作り、最短路(Dijkstra法)で測地線距離を近似
- 近似した測地線距離に古典的MDSを適用
局所線形埋め込み(LLE) は別の角度から攻める:
「多様体は局所的には平ら。各点をその近傍の線形結合で表す重みを保持したまま、低次元に移す」
具体的には:
- 各点 $x_i$ を K近傍の線形結合で最もよく表す係数 $w_{ik}$ を求める
- 低次元表現 $y_i$ で同じ係数 $w_{ik}$ を使って再構成したときの誤差を最小化
この解は行列 $\mathbf{M} = (\mathbf{I} - \mathbf{W})^T(\mathbf{I} - \mathbf{W})$ の最小固有値に対応する固有ベクトル だ。
PCAは「データ全体の最大分散方向」を求め、ISOMAPは「全体の測地線距離を保存」し、 LLEは「局所的な線形構造を保存」する。それぞれが「高次元の霧の中の形」を捉えようとしているが、何を保存するかという哲学が違う。
リンクで決まる重要度 — PageRank
非線形次元削減もMDSも、核心には「行列の固有構造を通じてデータの本質を捉える」という発想がある。 実は前の章で学んだスペクトラルクラスタリングも同じ—— グラフのラプラシアン行列の固有ベクトルを使う。 固有ベクトルという道具が、見た目の全く異なる問題を同じ数学でつなぐのだ。
最後に、全く異なる応用領域からもう一つの美しいアイデアを紹介しよう。
1990年代後半、Google の創業者たちは問いを立てた:「どのウェブページが『重要』か、どうやって決める?」
ナイーブな答えは「多くのページからリンクされているページが重要」。 でもこれには欠陥がある。重要でないページが大量にリンクを張っても意味がない。
本質的な問い:重要なページからリンクされたページが重要だ。でも、どのページが重要か?
これは循環的な定義だ。でも実は、この循環は恐れる必要がない。固有ベクトル問題として解けるのだ。

PageRank の数式を書こう。 ページ $i$ のランク $p_i$ を次のように定義する:
ここで:
- $L_{ij}$:ページ $j$ からページ $i$ へのリンクの有無(1なら有、0なら無)
- $c_j$:ページ $j$ の外向きリンク数
- $d \approx 0.85$:ダンピングファクター
これを行列で書くと $\mathbf{p} = \mathbf{A}\mathbf{p}$—— つまり $\mathbf{p}$ は行列 $\mathbf{A}$ の固有ベクトル(固有値1に対応)だ!
ランダムウォーク解釈:ウェブサーファーが確率 $d$ で 現在のページのリンクをランダムに辿り、確率 $(1-d)$ でランダムなページにジャンプする。 長時間後の滞在確率が PageRank だ。
これはべき乗法(Power Iteration)で効率よく計算できる:
Googleはこの反復計算を数十億ページに対して行っていた。 固有ベクトルがウェブの「重要度構造」を浮かび上がらせる—— これが統計学習と数学が世界を変えた瞬間の一つだ。
統一的な視点 — 行列の「分解」が世界を開く
この章で学んだ手法を振り返ろう。表面的には全く異なるように見えるが、深いところに共通の哲学がある。

| 手法 | 何を分解/保存するか | 核心の問い |
|---|---|---|
| NMF | 行列を非負の基底で分解 | どんな部品から構成されているか? |
| ICA | 信号を独立な成分に分離 | 独立した源泉は何か? |
| MDS | 距離構造を低次元に保存 | 関係性を保ちながらどう見せるか? |
| ISOMAP/LLE | 多様体の局所構造を保存 | 曲がった空間の本当の形は? |
| PageRank | リンクグラフの固有構造 | ネットワークの重要度は何か? |
これらすべてに共通するのは「データに隠れた構造を数学的に浮かび上がらせる」という目的だ。
そして気づいてほしいことがある。行列分解、固有ベクトル、最適化—— これらは機械学習のいたるところに現れる道具だ。 NMFの乗法更新則も、ICAの勾配法も、MDSの固有値分解も、PageRankのべき乗法も—— すべてが「適切な目的関数を適切なアルゴリズムで最小化する」という同じ枠組みに収まる。
教師なし学習の深淵は、ここにある。正解のないデータから、「これが真の構造だ」と主張できる根拠を数学が与えてくれる。それが統計学習の美しさだ。