第4章: 教師なし学習
Unsupervised Learning
教師なし学習とは
教師なし学習
正解ラベルなしで、データの中に潜む構造やパターンを発見する学習。
$$\{\mathbf{x}_1, \mathbf{x}_2, \ldots, \mathbf{x}_n\} \rightarrow \text{構造・パターン}$$教師なし学習の目的
- データのグループ化(クラスタリング)
- データの圧縮・要約(次元削減)
- 異常の検出(異常検知)
- データの生成(生成モデル)
このうち「生成」とは、データの分布を学習して新しいデータを作り出すこと(VAE・GAN などの生成モデル)を指し、近年の生成 AI も教師なし学習の考え方を基盤の一つとする。本稿では代表的なクラスタリング・次元削減・異常検知の3つを扱う。
クラスタリング
クラスタリング
似たデータ同士をグループ(クラスタ)にまとめる。ラベルなしで自然な分類を発見する。
クラスタリングの応用例
- 顧客セグメンテーション:購買パターンで顧客をグループ化
- 画像のグループ化:似た画像を自動でまとめる
- 文書クラスタリング:ニュース記事をトピック別に分類
- 遺伝子発現解析:類似した発現パターンの遺伝子をグループ化
代表的なアルゴリズム
- k-means:k 個のクラスタに分割(最も基本的)
- 階層的クラスタリング:木構造でクラスタを階層化
- DBSCAN:密度ベースで任意形状のクラスタを発見
次元削減
次元削減
高次元データを低次元に圧縮しつつ、重要な情報を保持する。
次元削減の応用例
- 可視化:高次元データを2D/3Dでプロット
- 前処理:特徴量を圧縮して計算量を削減
- ノイズ除去:重要でない成分を削除
- 特徴抽出:本質的な特徴を発見
代表的な手法
- PCA(主成分分析):データがよく広がる方向(主成分)を分散の大きい順に選び、上位の数本へ射影して情報を保ちつつ次元を減らす
- t-SNE:局所的な構造を保持した可視化向け
- UMAP:t-SNE より高速で大域構造も保持
異常検知
異常検知
通常のパターンから大きく外れた異常なデータを発見する。
異常検知の応用例
- 不正検知:クレジットカードの不正利用
- 設備監視:機械の故障予兆検知
- サイバーセキュリティ:不正アクセスの検出
- 医療:異常な検査値の検出
教師あり vs 教師なし
| 観点 | 教師あり | 教師なし |
|---|---|---|
| 正解ラベル | 必要 | 不要 |
| 目的 | 予測(回帰・分類) | 構造発見 |
| 評価 | 正解との比較 | 評価が難しい |
| データ収集 | ラベル付けコスト大 | 比較的容易 |
※ 教師なし学習は正解ラベルが存在しないため、結果の良し悪しを客観的な正解と比べて評価しにくい。
まとめ
- 教師なし学習:正解ラベルなしでデータの構造を発見
- クラスタリング:似たデータをグループ化(k-means・DBSCAN など)
- 次元削減:高次元データを圧縮・可視化(PCA・t-SNE など)
- 異常検知:通常と異なるデータを発見
よくある質問
Q. 教師なし学習とは何か
正解ラベルのないデータから、潜在するパターンや構造を発見する機械学習の一分野である。クラスタリング(似たデータのグループ化)・次元削減(高次元データの圧縮)・異常検知(外れたデータの発見)・生成モデル(データの生成)が代表的な目的である。
Q. k-means クラスタリングはどのように機能するか
k 個のクラスタ中心(セントロイド)を初期化し、(1) 各データを最も近いセントロイドへ割り当て、(2) 各クラスタに属するデータの平均でセントロイドを更新する、という操作を割り当てが変化しなくなるまで繰り返す。最も基本的なクラスタリング手法であり、クラスタ数 k はあらかじめ与える必要がある。
Q. PCA(主成分分析)の用途は何か
データの分散を最大化する直交方向(主成分)を順に求め、上位の少数の成分だけを残して次元を削減する次元削減の代表的手法である。情報の損失を抑えつつ次元を圧縮できるため、可視化・ノイズ除去・特徴抽出・前処理として広く使われる。
Q. 教師なし学習は正解がないのにどう学習するのか
正解ラベルは使わないが、データ同士の距離・類似度・分布といった統計的な構造を手がかりに、共通するパターンやまとまりを見つける。たとえばクラスタリングは「近いデータ同士をまとめる」、PCA は「分散が大きい方向を残す」という明確な基準(目的関数)を最適化することで学習する。