汎化誤差と過学習

統計的学習理論において、汎化誤差(Generalization Error)とは 学習済みモデルが未知のデータに対して示す誤差であり、 過学習(Overfitting)とはモデルが訓練データに過度に適合し 汎化誤差が増大する現象を指す。両者は学習理論における最も根本的な概念であり、 モデル選択・正則化・複雑度制御の出発点となる。

設定

入力空間 $\mathcal{X}$、出力空間 $\mathcal{Y}$、 損失関数 $L: \mathcal{Y} \times \mathcal{Y} \to \mathbb{R}_+$ を固定する。 未知の確率分布 $P(\boldsymbol{x}, y)$ に従う独立同分布(i.i.d.)な標本

\[ \mathcal{D}_n = \{ (\boldsymbol{x}_i, y_i) \}_{i=1}^n, \quad (\boldsymbol{x}_i, y_i) \overset{\text{i.i.d.}}{\sim} P\]

が与えられ、仮説空間 $\mathcal{H}$($\mathcal{X}$ から $\mathcal{Y}$ への写像の族) から学習アルゴリズム $\mathcal{A}$ によって仮説 $\hat{f} = \mathcal{A}(\mathcal{D}_n)$ が選択されるとする。

真のリスクと経験リスク

任意の仮説 $f \in \mathcal{H}$ に対して、真のリスク(期待損失)を

\[ R(f) = \mathbb{E}_{(\boldsymbol{X}, Y) \sim P}\bigl[ L(f(\boldsymbol{X}), Y) \bigr]\]

と定義する。$R(f)$ は未知の分布 $P$ に依存するため直接評価できない。

観測可能な代理量として、経験リスク(訓練誤差)を

\[ R_n(f) = \frac{1}{n} \sum_{i=1}^n L(f(\boldsymbol{x}_i), y_i)\]

と定義する。大数の法則より各点収束 $R_n(f) \to R(f)$($n \to \infty$)が成立するが、 有限標本では $R_n(f)$ は $R(f)$ の偏った推定量となりうる。

汎化誤差の定義

学習アルゴリズム $\mathcal{A}$ が $\mathcal{D}_n$ から選択した仮説 $\hat{f} = \mathcal{A}(\mathcal{D}_n)$ に対して、 汎化誤差(Generalization Error)は真のリスクそのもの

\[ R(\hat{f}) = \mathbb{E}_{(\boldsymbol{X}, Y) \sim P}\bigl[ L(\hat{f}(\boldsymbol{X}), Y) \bigr]\]

として定義される。汎化誤差は訓練データを生成した同一分布からのテスト標本に対する 平均的な予測誤差を表す。

汎化誤差と経験リスクの差

\[ R(\hat{f}) - R_n(\hat{f})\]

を汎化ギャップ(Generalization Gap)と呼ぶ。 汎化ギャップが大きいとき、訓練誤差が小さくても未知データへの予測性能が保証されない。 統計的学習理論の中心的問題はこのギャップを制御することにある。

過学習の定義と発生メカニズム

過学習とは、モデルが訓練データ $\mathcal{D}_n$ 中の ノイズや偶然のパターンまでも学習してしまい、

\[ R_n(\hat{f}) \ll R(\hat{f})\]

となる状態、すなわち汎化ギャップが著しく大きくなる現象を指す。 過学習は主に次の二つの要因により生じる。

  • モデル複雑度の過大: 仮説空間 $\mathcal{H}$ の表現力(VC次元やパラメータ数)が 標本数 $n$ に対して過大であるとき、$\hat{f}$ は訓練データ特有の ノイズまで記憶し、新たなデータへの適応に失敗する。
  • 標本数の不足: モデル複雑度が固定されている場合でも、$n$ が小さければ 経験リスクが真のリスクの信頼できる推定量にならず、 過学習が生じやすくなる。

バイアス・バリアンス分解

二乗損失 $L(f(\boldsymbol{x}), y) = (f(\boldsymbol{x}) - y)^2$ の設定において、 真の回帰関数を $f^*(\boldsymbol{x}) = \mathbb{E}[Y \mid \boldsymbol{X} = \boldsymbol{x}]$、 データの不可約ノイズを $\sigma^2 = \mathbb{E}[(Y - f^*(\boldsymbol{X}))^2]$ とおく。 このとき学習済みモデル $\hat{f}$ の汎化誤差は次のように分解される:

\[ R(\hat{f}) = \underbrace{\bigl( \mathbb{E}_{\mathcal{D}_n}[\hat{f}(\boldsymbol{x})] - f^*(\boldsymbol{x}) \bigr)^2}_{\text{Bias}^2(\hat{f})} + \underbrace{\mathbb{E}_{\mathcal{D}_n}\bigl[ \bigl( \hat{f}(\boldsymbol{x}) - \mathbb{E}_{\mathcal{D}_n}[\hat{f}(\boldsymbol{x})] \bigr)^2 \bigr]}_{\text{Variance}(\hat{f})} + \sigma^2\]

ここで期待値 $\mathbb{E}_{\mathcal{D}_n}$ は訓練データの確率的変動にわたる平均を表す。 各項の意味は以下の通りである。

  • バイアス(Bias): モデルクラスの表現能力の限界による系統的誤差。 モデルが単純すぎるとき(過小適合、Underfitting)に支配的となる。
  • バリアンス(Variance): 訓練データの変動に対するモデルの感度。 モデルが複雑すぎるとき(過学習、Overfitting)に支配的となる。
  • 不可約誤差($\sigma^2$): データのノイズに起因し、いかなるモデルも削減できない誤差の下限。

このバイアス・バリアンストレードオフは過学習・過小適合の 本質を記述する。モデル複雑度を増すとバイアスは減少するが バリアンスが増大し、逆に単純化するとバイアスが増大してバリアンスが減少する。 最適なモデルは両者のバランスが取れた点に存在する(下図参照)。

モデル複雑度 誤差 最適複雑度 Bias² Variance 汎化誤差(合計)
図1:バイアス・バリアンストレードオフ。汎化誤差(合計)は最適複雑度付近で最小となる。

汎化誤差の確率的上界

有限仮説空間 $|\mathcal{H}| < \infty$、損失が $[0,1]$ に有界な場合、 確率 $1-\delta$($\delta \in (0,1)$)で次の一様上界が成立する:

\[ \sup_{f \in \mathcal{H}} \bigl| R(f) - R_n(f) \bigr| \leq \sqrt{\frac{\ln |\mathcal{H}| + \ln(2/\delta)}{2n}}\]

これは Union Bound と Hoeffding の不等式から直接導かれる。 右辺は $n \to \infty$ で $0$ に収束し、標本数が十分大きければ 経験リスクが真のリスクに一様に収束することを保証する。

無限仮説空間($|\mathcal{H}| = \infty$)への拡張として、 VC次元 $h$ を持つ仮説空間では、確率 $1-\delta$ で

\[ R(\hat{f}) \leq R_n(\hat{f}) + \sqrt{\frac{h \left(\ln \dfrac{2n}{h} + 1\right) + \ln \dfrac{4}{\delta}}{n}}\]

が任意の $\hat{f} \in \mathcal{H}$ について成立する($h \leq n$ を仮定)。 右辺第2項が複雑度ペナルティであり、$h/n$ が大きいほど 汎化ギャップの上界が大きくなることを示している。 これはERM・SRMにおける汎化誤差上界と整合する。

より精密な上界として、ラデマッハ複雑度

\[ \mathfrak{R}_n(\mathcal{H}) = \mathbb{E}_{\mathcal{D}_n, \boldsymbol{\sigma}}\!\left[ \sup_{f \in \mathcal{H}} \frac{1}{n} \sum_{i=1}^n \sigma_i f(\boldsymbol{x}_i) \right], \quad \sigma_i \overset{\text{i.i.d.}}{\sim} \text{Uniform}(\{-1, +1\})\]

を用いた上界

\[ R(\hat{f}) \leq R_n(\hat{f}) + 2\mathfrak{R}_n(\mathcal{H}) + \sqrt{\frac{\ln(2/\delta)}{2n}}\]

が知られており(確率 $1-\delta$)、VC次元に基づく上界よりも データ依存的・タイトな評価を与える。 ラデマッハ複雑度はランダムラベルへの適合能力を測る指標であり、 ニューラルネットワーク等への適用が活発に研究されている。

過学習への対処法

過学習を緩和するための主要な手法を以下に整理する。

  • 正則化(Regularization): 損失関数にモデルの複雑度を抑制するペナルティ項を加える。 代表例として $\ell_2$ 正則化(リッジ回帰) $\min_f \bigl[ R_n(f) + \lambda \|f\|^2 \bigr]$ や $\ell_1$ 正則化(Lasso)がある($\lambda > 0$ は正則化係数)。 これはSRMにおけるペナルティ項の具体的実装とみなせる。
  • 交差検証(Cross-Validation): 訓練データを分割し、一部をホールドアウトして汎化誤差を推定することで モデル選択や正則化係数の調整を行う。$k$-分割交差検証が広く用いられる。
  • 早期停止(Early Stopping): 反復最適化(勾配降下法等)において、検証誤差が増加し始めた段階で 学習を打ち切る手法。ニューラルネットワークの学習で広く用いられる。
  • データ拡張(Data Augmentation): 訓練データに対して既知の対称性・不変性に基づく変換を施し、 実効的な標本数を増加させる。画像認識等で特に有効である。
  • アンサンブル法(Ensemble Methods): 複数のモデルを組み合わせることでバリアンスを低減する。 バギング(Bootstrap Aggregating)やブースティングが代表例である。
  • モデル複雑度の制限: 仮説空間のVC次元・パラメータ数・深さ等を訓練データ規模に応じて 選択することで、バイアス・バリアンストレードオフを直接制御する。

過学習・過小適合・適切な適合の関係

三つの状態を汎化誤差の観点から整理すると以下のようになる。

状態 訓練誤差 $R_n(\hat{f})$ 汎化誤差 $R(\hat{f})$ 支配的要因
過小適合(Underfitting) 大 大 高バイアス
適切な適合(Good Fit) 中 中(最小付近) バランス
過学習(Overfitting) 小 大 高バリアンス

まとめ

汎化誤差は学習済みモデルの未知分布に対する真のリスクであり、 経験リスクとの差(汎化ギャップ)を小さく保つことが学習の本質的目標である。 過学習は仮説空間の複雑度と標本数の不均衡から生じ、 バイアス・バリアンス分解によってその構造が明確化される。 汎化誤差の確率的上界はVC次元・ラデマッハ複雑度を通じて理論的に制御可能であり、 ERM・SRM・正則化・交差検証などの実践的手法はすべてこの枠組みの具現化である。 現代の深層学習においては古典的なバイアス・バリアンストレードオフを超える 「二重降下(Double Descent)」現象も報告されており、 汎化誤差の理論は現在も活発に発展し続けている。

Mathematics is the language with which God has written the universe.





















数理統計学 機械学習