← 機械学習テキスト 一覧

🎓 レベル:発展 | 重要度:B(標準)

📎 前提:汎化と過学習・バイアスバリアンス分解学習問題の定式化(仮説・損失・経験リスク)(経験リスク最小化) | 数理:大数の法則(弱法則・強法則)(統計)

要点(BLUF)

1. 問い:経験リスク最小化はなぜ汎化するのか

学習器が本当に下げたいのは未知データでの平均誤差、すなわち期待リスク R(h)=E(x,y)P[(h(x),y)]R(h)=\mathbb{E}_{(x,y)\sim P}[\ell(h(x),y)] です(学習問題の定式化(仮説・損失・経験リスク))。しかし分布 PP は不明なので、手元のデータで測った経験リスク R^(h)=1ni=1n(h(xi),yi)\hat R(h)=\frac{1}{n}\sum_{i=1}^n \ell(h(x_i),y_i) を代わりに最小化します。これが**経験リスク最小化(ERM)**です。

問題は、R^\hat R を最小にした h^\hat hRR も小さいとは限らないこと。両者の差

汎化ギャップ  =  R(h^)R^(h^)\text{汎化ギャップ} \;=\; R(\hat h) - \hat R(\hat h)

が大きければ、訓練でいくら当たっても未知データでは外します。これが過学習の正体です(汎化と過学習・バイアスバリアンス分解では同じことを「バリアンスが大きい状態」として見ました)。汎化理論の目的は、この差を仮説集合の複雑さとデータ数で上から押さえることです。

要するに:訓練誤差と未知誤差の「ズレ」を、理論的に保証つきで小さくしたい。

2. 一歩目:1つの仮説なら Hoeffding 不等式

まず仮説 hh1つに固定します。損失を [0,1]\ell\in[0,1] とすると、R^(h)\hat R(h) は独立な確率変数 (h(xi),yi)\ell(h(x_i),y_i) の平均で、その期待値が R(h)R(h) です。すると Hoeffding 不等式がそのまま使えます:

P(R^(h)R(h)ϵ)    2exp(2nϵ2)P\big(\,\lvert \hat R(h) - R(h)\rvert \geq \epsilon\,\big) \;\leq\; 2\exp(-2n\epsilon^2)

要するに:サンプル平均(経験リスク)は、真の平均(期待リスク)から指数関数的にしか外れない。データ nn を増やせば、ズレが ϵ\epsilon を超える確率はあっという間に 0 に近づきます。これは統計の 大数の法則(経験平均が真の平均に収束)を、有限の nn で定量化した集中不等式にあたります。

ただしこれは「先に hh を決めてからデータを見た」場合の話です。ERM は逆で、データを見てから一番当たる h^\hat h選びます。選んだ後の h^\hat h には Hoeffding をそのまま当てられません(選択そのものがデータに依存して都合よく偏るため)。ここが核心の落とし穴です。

3. 二歩目:有限仮説集合は union bound で

仮説集合 HH有限H\lvert H\rvert 個)だとします。ERM が選ぶ h^\hat h がどれになるか事前にはわからないので、「どれか1つでも大きく外れる」確率を押さえます。各仮説が外れる事象の和集合を取り、union bound(和集合上界) P(jAj)jP(Aj)P(\bigcup_j A_j)\leq\sum_j P(A_j) を使うと:

P(hH: R^(h)R(h)ϵ)    hH2exp(2nϵ2)  =  2Hexp(2nϵ2)P\Big(\,\exists h\in H:\ \lvert \hat R(h)-R(h)\rvert \geq \epsilon\,\Big) \;\leq\; \sum_{h\in H} 2\exp(-2n\epsilon^2) \;=\; 2\lvert H\rvert\,\exp(-2n\epsilon^2)

右辺を δ\delta と置いて ϵ\epsilon について解くと、確率 1δ1-\delta 以上ですべての hHh\in H について同時に成り立つ評価が得られます:

R(h)    R^(h)  +  lnH+ln(2/δ)2nR(h) \;\leq\; \hat R(h) \;+\; \sqrt{\frac{\ln\lvert H\rvert + \ln(2/\delta)}{2n}}

要するに:未知誤差 ≤ 訓練誤差 + 複雑さの罰。罰の項を読むと、

これが汎化理論の雛形です。ERM が「全部の仮説について同時に訓練誤差≒未知誤差」を保証できれば、訓練で一番良かった h^\hat h も未知データで悪くない、と言えます(一様収束の考え方)。

4. 三歩目:無限の仮説集合をどう数えるか — VC次元

困るのは H=\lvert H\rvert=\infty のとき。線形分類器は係数が連続なので仮説は無限個あり、lnH\ln\lvert H\rvert が発散して上の式が無意味になります。

突破口は「nn 個の点の上では、無限個の仮説も結局は有限通りのラベル付けしか作れない」という観察です。nn 点に対して HH が実現できる二値ラベル付けのパターン数を成長関数 ΠH(n)\Pi_H(n) と呼びます(上限は 2n2^n)。これが実質的な「有効な仮説数」で、union bound の H\lvert H\rvert をこれで置き換えます。

成長関数を1つの整数で要約するのが VC次元(Vapnik–Chervonenkis dimension) です:

VC次元 dVCd_{VC}HHshatter(粉砕) できる点の最大数。 shatter とは、その nn 点の すべての ラベル付け(2n2^n 通り)を HH の中の仮説で実現できること。

代表例:2次元平面の線形分類器の VC次元は 3。一般に dd 次元の線形分類器(バイアス込み)は d+1d+1

要するに:VC次元は「この仮説集合がどれだけ自由にラベルを付け替えられるか」という表現力の上限。大きいほど複雑(=過学習しやすい)。

Sauer の補題:表現力は有限なら多項式で頭打ち

VC次元が有限なら、成長関数は爆発しません。Sauer の補題

ΠH(n)    (endVC)dVC(n>dVC)\Pi_H(n) \;\leq\; \Big(\frac{e\,n}{d_{VC}}\Big)^{d_{VC}} \qquad (n > d_{VC})

要するに:ndVCn\leq d_{VC} では 2n2^n(指数)で何でも表現できるが、n>dVCn > d_{VC} を超えると一転して nn の多項式(ndVCn^{d_{VC}} オーダー)でしか増えない。指数 2n2^n が多項式 ndVCn^{d_{VC}} に化けるこの「相転移」こそが、無限仮説でも一様収束が効く理由です。

5. VC汎化バウンド:複雑さ/データ数のトレードオフ

union bound の lnH\ln\lvert H\rvertlnΠH(2n)\ln\Pi_H(2n) に置き換え、Sauer の補題で多項式評価すると、無限仮説集合でも確率 1δ1-\delta 以上で次が成り立ちます(係数は文献で差がありますが形が本質):

R(h)    R^(h)  +  O ⁣(dVC(ln(n/dVC)+1)+ln(1/δ)n)R(h) \;\leq\; \hat R(h) \;+\; O\!\left(\sqrt{\frac{d_{VC}\,\big(\ln(n/d_{VC})+1\big) + \ln(1/\delta)}{n}}\right)

ざっくり覚えるなら

R(h)    R^(h)  +  O ⁣(dVCn)\boxed{\,R(h) \;\lesssim\; \hat R(h) \;+\; O\!\Big(\sqrt{\tfrac{d_{VC}}{n}}\Big)\,}

要するに:未知誤差 ≤ 訓練誤差 +(複雑さ ÷ データ数)の平方根。読み方は1つ — 複雑さ dVCd_{VC} とデータ数 nn の綱引きです。

これは 汎化と過学習・バイアスバリアンス分解 のバイアスバリアンスを確率保証つきで定式化したものです。dVCd_{VC} を上げると訓練誤差(≒バイアス起因のズレ)は減り、罰の項(≒バリアンス起因のズレ)は増える。両者の和を最小化する「ちょうどよい複雑さ」を選ぶ、という同じ綱引きが見えます。正則化はこの dVCd_{VC}(実効的な複雑さ)を陰に小さくする操作と読めます(正則化の理論)。

graph TD
    A["1つの仮説:Hoeffding不等式"] --> B["有限の仮説集合 H<br/>union bound で |H| 個へ拡張"]
    B --> C["バウンド:経験誤差 + √( ln|H| ÷ n )"]
    C --> D["無限の仮説集合<br/>|H| = ∞ で破綻"]
    D --> E["成長関数 → VC次元<br/>Sauer の補題で多項式に"]
    E --> F["VC汎化バウンド<br/>R ≤ R̂ + O( √( d_VC ÷ n ) )"]
    F --> G["読み方:複雑さ d_VC と データ数 n の綱引き"]
graph LR
    subgraph トレードオフ["複雑さ と データ数 のトレードオフ"]
    P["複雑さ d_VC が大きい<br/>= 柔らかいモデル<br/>→ 訓練誤差↓ だが 罰の項↑"]
    Q["データ数 n が大きい<br/>→ 罰の項 √( d_VC ÷ n )↓"]
    R["良い汎化の条件<br/>d_VC ≪ n<br/>= データに対しモデルが複雑すぎない"]
    P --> R
    Q --> R
    end

6. PAC学習:高い確率で・近似的に正しい

ここまでの「確率 1δ1-\delta 以上で、誤差が ϵ\epsilon 以下」という言い回しを枠組みにしたのが PAC学習(Probably Approximately Correct、Valiant 1984) です。

仮説集合 HHPAC学習可能 とは、任意の精度 ϵ>0\epsilon>0・確信度 δ>0\delta>0 に対し、ある十分なサンプル数 n(ϵ,δ)n(\epsilon,\delta) を集めれば、**確率 1δ1-\delta 以上(=Probably)で誤差 ϵ\epsilon 以下(=Approximately Correct)**の仮説を、どんな分布 PP でも返せること。

ここで必要な n(ϵ,δ)n(\epsilon,\delta) を**標本複雑度(sample complexity)**と呼びます。VCバウンドを逆に解くと、おおよそ

n(ϵ,δ)  =  O ⁣(dVC+ln(1/δ)ϵ2)n(\epsilon,\delta) \;=\; O\!\left(\frac{d_{VC} + \ln(1/\delta)}{\epsilon^2}\right)

要するに:欲しい精度・確信度を達成するのに必要なデータ数は、VC次元に比例する。複雑なモデルほど多くのデータを要求します。

設定は2種類あります。

そして統計的学習理論の基本定理

HH が(アグノスティックに)PAC学習可能 ⇔ VC次元が有限。

要するに:「学習できるか」は VC次元が有限かどうかで決まる。VC次元こそが学習可能性の本質的な尺度です。

7. データ依存の複雑さ:Rademacher 複雑度

VC次元は「最悪の分布」を想定した分布によらない指標で、しばしば過大評価になります。これをデータに合わせて精緻化したのが Rademacher 複雑度 です。

σi{1,+1}\sigma_i\in\{-1,+1\} を等確率のランダム符号(Rademacher変数=でたらめなラベル)として、

R^S(H)  =  Eσ[suphH 1ni=1nσih(xi)]\hat{\mathfrak{R}}_S(H) \;=\; \mathbb{E}_{\sigma}\left[\sup_{h\in H}\ \frac{1}{n}\sum_{i=1}^{n}\sigma_i\, h(x_i)\right]

要するに:この仮説集合は、でたらめなラベル(ノイズ)にどれだけ当てはめられるか。表現力が高いほどノイズにもフィットでき、値が大きくなります。これを使った汎化バウンドは

R(h)    R^(h)  +  2R^S(H)  +  O ⁣(ln(1/δ)n)R(h) \;\leq\; \hat R(h) \;+\; 2\,\hat{\mathfrak{R}}_S(H) \;+\; O\!\left(\sqrt{\frac{\ln(1/\delta)}{n}}\right)

VC次元との違いは、Rademacher 複雑度が実データから測れて(data-dependent)、しばしばVCバウンドより緊密なこと。「ノイズへの当てはまり度が、汎化ギャップの上界そのもの」という直観が美しく、深層学習の解析でも主役の1つです。

8. ⚠️ 深層学習はこの古典理論で説明しきれない(要最新確認・未解決)

ここまでの結論は「複雑すぎる(dVCnd_{VC}\gg n の)モデルは汎化しない」でした。ところが深層ニューラルネットはこれを真っ向から破ります。

なぜ過剰パラメータでも汎化するのか。有力な仮説は 暗黙のバイアス(implicit bias) — SGD が無数にある「訓練誤差 0 の解」の中から、たまたま単純で滑らかな(ノルムの小さい)解を選ぶ傾向がある、という見方です。つまり実効的な複雑さは見かけのパラメータ数よりずっと小さい、と。

ただしこれは決着していません。「古典VC理論でも正しく VC次元を見積もれば二重降下まで説明できる」とする反論(2022〜2023)もあり、PAC-Bayes など別枠組みで空虚でないバウンドを作る試みも進行中です。

⚠️ 要最新確認・未解決:深層学習の汎化は2026年現在も活発な研究領域で、定説は固まっていません。本ノートの古典理論(VC・Rademacher・PAC)は枠組みと直観としては正しく重要ですが、過剰パラメータの深層モデルにそのまま適用して「汎化する/しない」を断定してはいけません

要するに:古典理論は「複雑さ vs データ数」という見方の土台として必須。ただし深層の謎には、暗黙のバイアスなど追加の説明が要る。

9. まとめ

対応するシミュレーション

simulations/hoeffding_bound.py:コイン投げの経験平均が真の平均から ε\varepsilon 以上ずれる頻度を、サンプル数 nn を変えて実測し、ヘフディング上界 2exp(2nε2)2\exp(-2n\varepsilon^2) と比べます。実測値がつねに上界の下に収まり指数的に減ること(分布の中身を知らずに精度を保証できる)を可視化します。これが「訓練誤差から真の誤差を確率的に保証する」汎化バウンドの土台で、仮説が多いほど union bound や VC 次元で補正が要ります。

経験平均の集中とヘフディング上界

関連ノート