🎓 レベル:標準 | 重要度:A(必須)
📎 前提:機械学習とは・3類型 | 数理:期待値の基礎(統計検定サイト)
要点(BLUF)
- 教師あり学習は「仮説集合 の中から、期待損失(リスク) を最小にする関数 を選ぶ」問題として定式化できます。
- 真の分布は未知なので、実際には手元データでの平均損失=経験リスク を最小化します(経験リスク最小化, ERM)。
- を下げすぎると が下がらない=過学習。ここに汎化の問題の起源があります。
1. 登場人物
- 入力空間 、出力空間 。データは未知の同時分布 から独立に得られると仮定します。
- 仮説(モデル) 。候補となる関数の集合を 仮説集合 と呼びます(例:すべての直線、深さ5の決定木全体)。
- 損失関数 :予測 が正解 からどれだけ外れたかを測る非負の値。
代表的な損失:
| 問題 | 損失関数 | 式 |
|---|---|---|
| 回帰 | 二乗損失 | |
| 分類 | 0-1損失 | |
| 分類(確率) | 交差エントロピー |
2. 期待リスクと経験リスク
本当に最小化したいのは、未知データ全体での平均損失=期待リスク(汎化誤差):
これは「要するに、これから出会うすべてのデータでの平均的な間違いの大きさ」です。しかし は未知なので は直接計算できません。
そこで、手元の訓練データ での平均損失=経験リスク で代用します:
そして仮説集合の中で経験リスクが最小の を選ぶ。これが 経験リスク最小化(Empirical Risk Minimization, ERM) です:
flowchart LR D["訓練データ<br/>(xi, yi)"] --> ER["経験リスク R̂(f) を計算"] H["仮説集合 H"] --> ER ER --> OPT["最小化(学習)"] OPT --> FH["選ばれた f̂"] FH -. "本当に評価したいのは未知データでの R(f)" .-> R["期待リスク R(f̂)"]
3. なぜ過学習が起きるのか
ERM は (訓練データでの誤差)を下げますが、本当に下げたいのは (未知データでの誤差)です。両者の差
は、仮説集合 が複雑(表現力が高い)ほど大きくなりがちです。表現力が高いモデルは訓練データの偶然のノイズまで「暗記」でき、 をほぼ 0 にできてしまう一方、 は下がらない——これが 過学習 です。
逆に が単純すぎると、訓練データすら十分に説明できず も も高い——未学習(underfitting)。
この綱引きを定量化するのが次のノートの バイアスバリアンス分解 です。
補足:「あらゆる問題で万能に最良な学習器は存在しない」という ノーフリーランチ定理 は、仮説集合や前提(帰納バイアス)を問題に合わせて選ぶ必要があることを示しています。
⚠️ よくある誤解
- 訓練誤差が低い=良いモデル、ではない。評価すべきは未知データでの誤差(→ 汎化と過学習・バイアスバリアンス分解、訓練/検証/テスト分割)。
- 損失関数と評価指標は別物。学習では微分しやすい損失(交差エントロピー等)を最小化し、報告は別の指標(正解率・AUC)で行うことが多い。
- ERM は最尤推定と地続き。二乗損失の最小化はガウス誤差での最尤、交差エントロピー最小化はベルヌーイ/カテゴリ分布での最尤に対応します(→ 統計の 最尤法・モーメント法(推定量の作り方と最尤推定量の漸近論))。