# 教師なし学習
## 定義
教師なし学習(unsupervised learning)とは、教師(正解)が付けられていないデータ $D=\{x^{(1)},x^{(2)},\ldots,x^{(n)}\}$ を用いた学習である。[[教師あり学習]]では教師データで与えられた出力をうまく推定するという目標があるのに対し、教師なし学習ではデータ自身に学習すべき目標が与えられないため、学習を設計する側が教師なしデータから計算できる目標を問題として設定する必要がある。多くの教師なし学習の目標は、データの特徴を捉え、データの最適な表現やデータ間の関係を獲得することにある。教師なし学習が単体で使われることは少なく、学習した結果をさらに教師あり学習や強化学習、人によるルールベースのシステムと組み合わせて使うのが一般的である。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 2 [入門]機械学習]] §2.4)
## 代表例
- **クラスタリング(clustering)**: データ間の類似度をもとに、似ているデータを同じクラスタへ、似ていないデータを別のクラスタへ分けるようにグループ化する。詳細は [[クラスタリング]]。
- **外れ値検出**: どのデータからも似ていないデータ(outlier)を求める。
- **表現変換・次元削減**: データを別の表現に変換し、可視化や後続タスクを容易にする。データの分散が大きい軸に沿って変換する[[主成分分析]](principal component analysis, PCA)、射影後の各次元が互いに独立になるよう変換する[[独立成分分析]](ICA)、行列を低ランクの2つの行列の積で表す協調フィルタリング等の行列分解が代表例であり、いずれもデータの情報を保ちながら次元数を小さくする次元削減を達成する。
- **生成モデル(generative model)**: 与えられたデータを生成できるようなモデルを学習することも教師なし学習である。複雑なデータの生成だけでなく、表現学習としても有効。
(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 2 [入門]機械学習]] §2.4)
## ディープラーニングによる表現学習(自己教師あり学習)
近年、ディープラーニングの発展とともに、教師なし学習によってデータの表現・データからその表現への変換方法を自動獲得できることがわかってきた。この学習は表現学習(feature learning)と呼ばれる。さらに、問題設定を工夫して入力から自動で訓練データ(教師ありデータ)を作り、教師あり学習の枠組みで学習する自己教師あり学習(self-supervised learning)が重要な役割を果たしている。詳細は [[表現学習]]・[[自己教師あり学習]] を参照。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 2 [入門]機械学習]] §2.4)
## 横断的知見
1 ソース目のため、複数ソースの突き合わせによる横断的知見は今後の蓄積に委ねる。[[統計的機械学習]]は、The Elements of Statistical Learning第1章がDNA発現マイクロアレイのクラスタリングを教師なし学習の導入例とすることを既に扱っており、教師なし学習という分類軸そのものは複数ソースで独立に確認されている(詳細は [[統計的機械学習]] の横断的知見を参照)。
- **SRE実務では教師なし学習の代表例が「外れ値検出」に寄る**: 『SREの探求』第18章は、教師なし学習の応用例として、人間の介入なしにサイトトラフィックが「良好」か「問題がある」かを機械が徐々に把握するクラスタリングを1件だけ挙げ、次元削減・生成モデルには触れない。同章は代わりに、[[異常検知]]の文脈で外れ値検出(クラスタの機能不全等)をSREが解決したい運用課題の1つとして別立てで扱っており、本ページが列挙する「クラスタリング/外れ値検出/表現変換・次元削減/生成モデル」という4系統のうち、SRE実務で最も需要が高いのはクラスタリングと外れ値検出であることが2018年時点の実務者向け解説からも読み取れる。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 2 [入門]機械学習]] §2.4, [[@2021__OReillyJapan__SREの探求 - Chapter 18 SREのための機械学習入門]] §18.2.1, §18.4.1)
## 未解決の問い
- 教師なし学習で獲得した表現の「良さ」は、後続タスクでの性能以外にどう定量評価できるか。
- クラスタリング・次元削減・生成モデルという3系統の教師なし学習は、いずれも「データの構造を捉える」という共通目標を持つが、どの系統を選ぶべきかの指針は本章だけでは明示されていない。
## 関連
- source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 2 [入門]機械学習]] / [[@2021__OReillyJapan__SREの探求 - Chapter 18 SREのための機械学習入門]]
- concept: [[教師あり学習]] / [[自己教師あり学習]] / [[表現学習]] / [[クラスタリング]] / [[主成分分析]] / [[独立成分分析]] / [[異常検知]]
## 出典
- 岡野原大輔, 『ディープラーニングを支える技術』, 技術評論社, 2022, 第2章, §2.4.
- [[@2021__OReillyJapan__SREの探求 - Chapter 18 SREのための機械学習入門]] §18.2.1, §18.4.1.