バイアス-バリアンス分解と二重降下現象
汎化誤差をバイアス・バリアンス・ノイズに分解すれば、過学習の正体が腑に落ちる。さらに過剰パラメータ域で誤差が再び下がる二重降下まで押さえれば、大規模モデルが成り立つ理由まで見通せる。
- 1.二乗誤差の期待汎化誤差は バイアスの2乗 + バリアンス + ノイズ に厳密に分解できる。ノイズは既約で、モデルをどう変えても下げられない下限。
- 2.古典論ではモデルを複雑にするほどバイアスは下がりバリアンスは上がるU字曲線になり、その最小点が最適とされた。これがバイアス-バリアンストレードオフ。
- 3.現代の過剰パラメータモデルでは、補間しきる境界(補間しきい値)で誤差が一度跳ね上がった後、さらにパラメータを増やすと誤差が再び下がる。これが二重降下(double descent)。
出発点:汎化誤差を「分解」して考える理由
学習の目的は訓練データの暗記ではなく、未知データでの予測精度——すなわち 汎化 です(→ 過学習と汎化)。「未学習なら高バイアス、過学習なら高バリアンス」とよく言われますが、これは比喩ではなく、二乗誤差の場合は 期待汎化誤差が厳密に3つの項に分解できる という数学的事実に裏打ちされています。まずその分解を導出し、次に古典的なトレードオフ像が現代の大規模モデルでなぜ崩れるか(二重降下)まで進めます。
設定と記号
真の関係を y = f(x) + ε とします。f(x) が学習したい真の関数、ε は観測ノイズで、平均0・分散 σ^2(E[ε]=0, Var(ε)=σ^2)と仮定します。訓練データ集合 D はこの分布からのランダムな標本で、D が変われば学習結果のモデルも変わります。D で学習したモデルの、点 x における予測を hD(x) と書きます。
評価したいのは、ある固定した入力 x における 二乗誤差の期待値 です。ここでの期待は 訓練集合 D のランダム性と、観測ノイズ ε のランダム性の両方 にわたって取ります。
評価対象: E_{D, ε} [ ( y - hD(x) )^2 ]
y = f(x) + ε 真の値(ノイズ込み)
hD(x) = 訓練集合 D で学習したモデルの予測
E[...] = D と ε にわたる期待値
バリアンスは「1つのモデルの中の不確かさ」ではなく、訓練データを取り直すたびに予測がどれだけ暴れるか を測ります。同じアルゴリズムでも、別の標本 D を引けば別の hD になる——その揺れの大きさがバリアンスです。だから分解には「D についての期待」が本質的に効いてきます。
バイアス-バリアンス-ノイズ分解の導出
中心となる予測 f̄(x) = E_D[ hD(x) ](あらゆる訓練集合で学習したときの平均予測)を導入します。y = f(x) + ε を代入し、ε は hD と独立で平均0であることを使うと、まずノイズ項が綺麗に分離します。
E[ (y - hD)^2 ]
= E[ (f + ε - hD)^2 ]
= E[ (f - hD)^2 ] + 2·E[ε]·E[f - hD] + E[ε^2]
= E[ (f - hD)^2 ] + 0 + σ^2 # E[ε]=0, E[ε^2]=σ^2
残った E[(f - hD)^2] に、平均予測 f̄ を足して引く定石(f - hD = (f - f̄) + (f̄ - hD))を当て、二乗を展開します。交差項は E_D[ f̄ - hD ] = f̄ - f̄ = 0 より消えます。
E_D[ (f - hD)^2 ]
= (f - f̄)^2 + E_D[ (f̄ - hD)^2 ]
= バイアス^2 + バリアンス
以上を合わせると、期待汎化誤差は次の3項に 厳密に等しく なります。
E[ (y - hD)^2 ] = Bias^2 + Variance + σ^2
Bias = f̄(x) - f(x) 平均予測の系統的なズレ
Variance = E_D[ (hD(x) - f̄(x))^2 ] 訓練集合ごとの予測のばらつき
σ^2 = 既約ノイズ(irreducible error)
「二乗誤差の汎化誤差を分解せよ」と問われたら——Bias^2 + Variance + σ^2 の3項、と即答できること。σ^2 は 既約誤差 でどんなモデルでも下げられない下限、f̄ = E_D[hD] が 平均予測、Bias は f̄ と真の f のズレ、Variance は hD が f̄ のまわりで暴れる量。導出の鍵は (1) ノイズの独立性で σ^2 を分離、(2) ±f̄ を挿入して交差項を消す、の2手です。
古典的トレードオフ:U字の汎化誤差曲線
この分解から、古典的な描像が出ます。モデルの 複雑さ(容量) を上げると:
- バイアスは下がる:表現力が増し、平均予測
f̄が真のfに近づける。 - バリアンスは上がる:自由度が増えるほど、訓練集合のノイズに過敏に反応し、
Dごとの予測が暴れる。
両者は逆方向に動くため、和である汎化誤差は典型的に U字 を描き、その底が古典的な最適点です。これが バイアス-バリアンストレードオフ です。
| モデルの複雑さ | Bias^2 | Variance | 支配的な誤差 | 状態 |
|---|---|---|---|---|
| 低い(単純すぎ) | 大 | 小 | バイアス | 未学習 |
| U字の底(適切) | 中 | 中 | バランス | 最適 |
| 高い(複雑すぎ) | 小 | 大 | バリアンス | 過学習 |
正則化(L2 など)はこの綱引きを 少しバイアス側に倒す 操作と読めます。重みを小さく抑えて自由度を実効的に下げ、バリアンスの減少分がバイアスの増加分を上回る範囲でネット改善を得る——なぜ正則化が効くかは、この分解で定量的に説明できます(→ 正則化(過学習対策))。
K 近傍法は分解の教科書例です。K を小さく(例:K = 1)すると最近傍の1点に張り付き、バイアスは小さいがバリアンスは最大。K を大きくすると多数点の平均で滑らかになり、バリアンスは下がるがバイアスが増える。K という1つのつまみが、容量を直接動かしている様子が見えます。
二重降下:U字の「その先」で何が起きるか
古典論はモデルが補間(訓練誤差ゼロ)に届く手前を扱っていました。ところが深層学習では、訓練誤差をゼロにできるほど巨大なモデルが、なお良く汎化する という観測が積み上がります。Belkin ら(2019)はこれを 二重降下(double descent) として整理しました。横軸にモデル容量、縦軸にテスト誤差を取ると、曲線は次の3局面を辿ります。
| 局面 | 容量の範囲 | テスト誤差の挙動 | 支配的要因 |
|---|---|---|---|
| 古典域 | 補間しきい値より小さい | U字(下がって上がる) | バイアス-バリアンスの綱引き |
| 補間しきい値 | ちょうど訓練点を補間できる | 鋭いピーク(誤差が爆発) | バリアンスの発散 |
| 過剰パラメータ域 | しきい値を大きく超える | 再び単調に低下 | 暗黙の正則化が選ぶ滑らかな解 |
鍵となるのが 補間しきい値(interpolation threshold) です。これはモデルの自由度が訓練データ点数 n とほぼ等しくなり、訓練誤差をちょうどゼロにできる境目を指します。ここでは「訓練点を全部通す」という制約が解をほぼ一意に縛りつけ、わずかなノイズに合わせて係数が極端に大きくなる——その結果バリアンスが発散し、テスト誤差が 鋭いピーク を作ります。
なぜ過剰パラメータ域で誤差が再び下がるのか
ピークの先、パラメータ数がデータ点数を大きく上回る 過剰パラメータ域 では、訓練誤差ゼロを満たす解が 無数に存在 します。重要なのは、最適化アルゴリズムがその無数の解の中から 特定の解を選ぶ ことです。勾配降下法は、最小ノルム解に近い 「滑らかな」解 へ収束する傾向を持ちます(→ 勾配降下法)。これを 暗黙の正則化(implicit regularization) と呼びます。
補間しきい値ちょうど: 訓練点を通す解がほぼ一意
→ ノイズに引きずられ係数が爆発 → 高バリアンス → ピーク
過剰パラメータ域: 訓練点を通す解が無数に存在
→ 勾配降下が「最小ノルム=最も滑らか」な解を選好
→ ノイズへの過敏さが緩和 → バリアンスが再び低下 → 第2の降下
直感的には、自由度に「余裕」があるほど、訓練点を通しつつ余った自由度を 滑らかさに使える ため、ノイズ1点に解全体を歪められずに済みます。容量が大きいほど解空間が広がり、その中の最も穏やかな解が選ばれる——だからパラメータを増やすほど汎化が改善する、という逆説が成立します。
二重降下は容量(パラメータ数)だけでなく、訓練エポック数 や 訓練データ量 に沿っても現れます。とくにデータ量に対する二重降下は厄介で、データを増やすとピーク付近で一時的にテスト誤差が悪化する 領域が存在し得ます。「常にデータは多いほど良い」「常に大きいモデルは過学習する」という素朴な経験則が、しきい値の近傍では成り立たないことに注意が要ります。
二重降下が成り立つ条件と限界
二重降下は普遍法則ではなく、条件付き で現れる現象です。観測されやすいのは、(1) ラベルや特徴に 無視できないノイズ があり、(2) モデルが訓練誤差をゼロまで補間でき、(3) 勾配降下のような 暗黙の正則化 を伴う最適化を使う場合です。逆に、ノイズが小さい・明示的な正則化を十分に効かせる・早期終了でピーク手前に止める、といった場合はピークが弱まるか消え、曲線は古典的U字に近づきます。
明示的な正則化(重み減衰・早期終了)を適切に調整すると、補間しきい値のピークは大きく抑えられ、テスト誤差は容量に対してほぼ単調に下がるよう「均される」ことが知られています。つまり 二重降下のピークは“調律不足”のサインでもある という見方ができます。実務では、ピークの存在を恐れて容量を絞るより、正則化を効かせて補間域を安全に通過させ、過剰パラメータ域の恩恵を取りに行く のが現代的な定石です。
まとめ
| 論点 | 古典的描像 | 現代(過剰パラメータ) |
|---|---|---|
| 汎化誤差の分解 | Bias^2 + Variance + σ^2 に厳密分解 | 分解自体は不変(同じ式が成立) |
| 容量と誤差 | U字(単一の最小点) | U字の先に第2の降下 |
| 補間しきい値 | 扱わない(手前で停止) | 鋭いピーク=バリアンス発散 |
| 過剰域の汎化 | 過学習として悪化と予想 | 暗黙の正則化で再改善 |
| 設計指針 | U字の底=最適容量を探す | 正則化でピークを均し巨大化を活かす |
二乗誤差の汎化誤差は Bias^2 + Variance + σ^2 に厳密分解でき、σ^2 は既約な下限です。古典論はこの分解からU字のトレードオフを導き、最適容量を底に置きました。しかし容量が補間しきい値を超えると、訓練点を通す解が無数に生まれ、勾配降下の暗黙の正則化が最も滑らかな解を選ぶことで 二重降下 が起こります。「大きいほど過学習する」という直感が、過剰パラメータ域では逆転する——この理解は、大規模モデルが破綻せず汎化する理由(→ スケーリング則)や、評価指標の読み方(→ モデル評価)を一段深く捉え直す土台になります。
AI/機械学習 Article
バイアス-バリアンス分解と二重降下現象を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
機械学習
比較で見る軸
難易度: advanced / カテゴリ: AI/機械学習 / タグ数: 5
導入後に効く点
古典論ではモデルを複雑にするほどバイアスは下がりバリアンスは上がるU字曲線になり、その最小点が最適とされた。これがバイアス-バリアンストレードオフ。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- AI/機械学習
- タグ数
- 5
判断チェックリスト
- 自社の用途が「機械学習 / 汎化誤差」に近いか確認する。
- 強みである「二乗誤差の期待汎化誤差は バイアスの2乗 + バリアンス + ノイズ に厳密に分解できる。ノイズは既約で、モデルをどう変えても下げられない下限。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。