教師なし学習 — ラベルなしでデータの「形」を読む
正解がなくても、データには構造が潜んでいる。 K-meansクラスタリング、主成分分析(PCA)、多様体学習、独立成分分析(ICA)—— ラベルなしのデータから隠れたパターンを発見する4つの視点を、一緒に見ていきましょう。
「正解なし」の探索へ
医師が数百人の患者データを眺めています。血液検査の数値、年齢、体重、生活習慣——。 診断名はついていません。しかし、どこかに「似た患者のグループ」が潜んでいるはずです。 これを見つけられれば、新薬の開発や治療法の改善につながります。
これが教師なし学習の動機です。

正解ラベルがなくても、データには構造がある。
これまで学んできた手法(回帰・分類・SVM・k-NN)はすべて教師あり学習でした。 入力 X と正解 Y のペアから関係を学びます。しかし、現実には正解がつけられていないデータがほとんどです。
教師なし学習では、観測値 x₁, x₂, ..., x_N だけから、データの分布 Pr(X) の隠れた構造を発見します。
データの中に潜む構造には、大きく2種類あります。
- クラスター構造: データが自然にグループを作っている (K-meansクラスタリング、階層クラスタリングなど)
- 低次元構造: 高次元データが実は低次元の形の上に乗っている (主成分分析、独立成分分析など)
このページでは、最も直感的で重要なこの2つの構造を深く掘り下げていきます。
データの中の「グループ」を見つける — K-meansクラスタリング
直感から始めましょう。初めて動物園に行ったとします。動物の名前を知らなくても、 「似た見た目の動物が群れている」ことに気づきます。形・大きさ・色——似た特徴の個体が自然に集まる。 これがクラスタリングの本質です。

K-meansアルゴリズムは、最もシンプルなクラスタリング手法です。 K(クラスター数)を事前に決め、次の2ステップを交互に繰り返します。
ステップ1: 割り当て
各データ点を、最も近いクラスター重心に割り当てます。
「最も近い」の判定には、ユークリッド距離(直線距離の2乗)を使います。 μ_k は k 番目のクラスターの「重心(中心)」です。
ステップ2: 更新
各クラスターの重心を、割り当てられた全データ点の平均に更新します。
この2ステップを、重心が動かなくなるまで繰り返します。 これで必ず収束します——なぜなら、全体の「クラスター内誤差」が単調に減少するからです。
W(C) は「クラスター内変動(Within-cluster variation)」と呼ばれます。 K-meansはこれを小さくすることを目指します。 この式が意味するのは、「各クラスター内でデータ点が重心から離れすぎていない状態」を求めるということです。
一つ注意点: 初期重心の選び方によって結果が変わります。 そのため実際には、複数の初期値でアルゴリズムを走らせ、 最も W(C) が小さい結果を採用します。
データの「主な向き」を見つける — 主成分分析(PCA)
100個の変数を持つデータを想像してください。それを可視化することも、理解することも困難です。 でも、もしそのデータの「本質的なバラツキ」が実は2方向で説明できるとしたら?
主成分分析(PCA: Principal Component Analysis)は、 データの「最も重要な方向」を見つける手法です。

まず一歩引いて考えましょう。細長い楕円形に広がった点群があります。 この点群を「最もうまく表現する」1本の軸はどれでしょうか?
それは、点群が最も広がっている方向、 つまり分散を最大化する方向です。これが「第1主成分」です。
第2主成分は、第1主成分と直交(垂直)する方向の中で、分散が最も大きいものです。 2次元なら第2主成分まで、3次元なら第3主成分まで——これで元の空間全体をカバーできます。
共分散行列と固有値分解
「分散の向き」を数学的に捉えるには、共分散行列を使います。 共分散行列 S は、変数どうしの「広がり方と共変動」を記録した行列です。 2変数 (x₁, x₂) の場合:
対角成分は各変数の分散(広がり)、非対角成分は変数間の共変動(一緒に動く度合い)です。
PCAでは、この共分散行列の固有値分解を行います:
「固有ベクトル」V の各列が主成分の方向、 「固有値」D の対角成分がその方向の分散の大きさです。 固有値が大きい = その方向への広がりが大きい = 重要な方向、ということです。
次元削減と寄与率
最初の q 個の主成分を使った低次元表現:
これで p 次元データを q 次元に圧縮しながら、情報の損失を最小化できます。
どれだけ情報が保存されているかを見る「寄与率」:
例えば最初の2主成分で90%の分散を説明できるなら、2次元グラフに描いても情報の歪みは小さいということです。 この数値が高いほど、圧縮による情報の損失が少ないといえます。
データが低次元の「形」に乗っている場合 — 非線形次元削減
PCAは強力ですが、「線形な」次元削減です。 データが直線や平面に近い構造をしているときは効果的ですが、 データが曲がった構造(多様体)の上に乗っているときは対応できません。
「多様体」とは、高次元空間に埋め込まれた低次元の曲がった形のことです。 S字カーブ、筒状の形、ドーナツ形——これらは3次元空間に埋め込まれていても、 本質的には1次元や2次元の構造です。

わかりやすい例としてS字カーブを考えましょう。 S字の形に沿って点が並んでいる場合、PCAで2次元に投影すると構造が潰れてしまいます。 しかしS字に沿った「曲線上の距離(測地線距離)」を保ちながら展開すれば、 1次元の直線として綺麗に整理されます。
代表的な非線形次元削減手法
MDS(多次元尺度法):データ間の距離行列から低次元座標を再構成する手法です。
「元の距離関係をできるだけ保った地図を作る」操作です。 地図作成に例えると、各都市間の距離を保ちながら2次元の地図に落とし込むイメージです。
Isomap:直線距離ではなく、多様体の表面に沿った距離(測地線距離)を使うMDSです。 曲がった構造を正しく「展開」できます。 S字カーブの例で言えば、遠回りな曲線上の距離を使って近傍を定義します。
LLE(局所線形埋め込み):各点の近傍だけ線形に近似し、その局所構造を低次元で保持します。 「全体は曲がっているが、局所的には平ら」という性質を利用します。
これらの手法は、PCAが「地球を平面の地図に広げる」ような操作と似ていますが、 PCAが投影(影を映す)のに対し、非線形次元削減は 「皮を剥いて広げる」イメージに近いです。
混ざった信号を分解する — 独立成分分析(ICA)
カクテルパーティーを想像してください。複数の人が同時に話している部屋に、2本のマイクがあります。 各マイクは全員の声が混ざって録音されます。この録音データから、「誰が何を言っていたか」を取り出せるでしょうか?
これが「カクテルパーティー問題」です。独立成分分析(ICA: Independent Component Analysis)はまさにこれを解きます。

数学モデル
数学的なモデルは単純です:
s は「元の独立した信号」(各人の声)、A は「混合行列」(マイクの位置関係)、x が実際に観測されるデータです。
ICAの目標は、x だけから A と s を推定することです。 分離行列 W = A⁻¹ が求まれば:
PCAとの本質的な違い
PCAは「分散(2次統計)を最大化」しますが、 ICAは「統計的独立性(高次の統計量)を最大化」します。 独立とは、2つの変数の間にどんな統計的依存関係もないことを意味します。
| 手法 | 最大化するもの | 求める構造 |
|---|---|---|
| PCA | 分散(2次統計) | 無相関な方向 |
| ICA | 統計的独立性(高次統計) | 独立な信号源 |
重要な条件:元信号 s の各成分が独立で、 かつ非ガウス分布であること(ガウス分布では原理的に分離不可能です)。
実際の応用例: 脳波(EEG)データから筋電図などのノイズを除去、 金融データから独立なリスク因子を抽出、音声認識の前処理など。 混ざり合ったものを分解したい場面で広く使われています。
教師なし学習の全体像
ここで一歩引いて、教師なし学習の全体像を眺めてみましょう。

| 手法 | 発見する構造 | 直感的なたとえ |
|---|---|---|
| K-meansクラスタリング | データのグループ | 動物を種類ごとに仕分ける |
| 主成分分析(PCA) | 分散の最大方向 | 影が最も長くなる向きを見つける |
| 非線形次元削減 | 曲がった多様体 | S字を引き伸ばして直線に戻す |
| 独立成分分析(ICA) | 独立な信号源 | 混ざった声を一人ずつ分離する |
| アソシエーション規則 | 同時出現パターン | よく一緒に買われる商品の発見 |
これらは異なる仮定と目的を持っています。 どの手法が正しいかではなく、「データの中にどんな構造があるか」という問いに対して、 それぞれの手法が異なる「答えの形」を提案しています。
教師なし学習の本質的な難しさ
教師なし学習の本質的な難しさは、「答え合わせ」ができないことです。 正解がないからこそ、発見した構造が意味を持つかどうかは、 ドメイン知識と洞察力で判断する必要があります。
でも考えてみると——これは科学の営みそのものです。 仮説を立て、パターンを発見し、それが意味を持つかを問い続ける。 教師なし学習は、データサイエンスの中で最も「探索的」な領域です。 そしてラベルなしの生データこそが、世界のほとんどを占めています。
あなたが今見ているこの画面も、モデルが学習したテキストも、 センサーが記録した膨大なデータも——ほとんどはラベルなしです。 教師なし学習は、その「ほとんど」に光を当てる方法です。