## 定義 バイアス-バリアンストレードオフ(bias-variance tradeoff)とは、予測誤差(期待予測誤差, expected prediction error; EPE)を既約誤差(irreducible error)・バイアスの二乗(squared bias)・分散(variance)の3項に分解したとき、モデルの複雑度を変化させるとバイアスと分散が逆方向に動く関係を指す。[[@2009__Springer__The Elements of Statistical Learning - Chapter 2 Overview of Supervised Learning]] §2.9は、k最近傍回帰$\hat{f}_k(x_0)$を例にこの分解を導く。 $ \text{EPE}_k(x_0) = \sigma^2 + \left[\text{Bias}^2(\hat{f}_k(x_0)) + \text{Var}_T(\hat{f}_k(x_0))\right] $ - 第1項$\sigma^2$は既約誤差(irreducible error)で、真の関数$f(x_0)$を知っていても除去できない、目的変数自体のばらつきに由来する。 - バイアス項は真の平均$f(x_0)$と推定量の期待値の差の二乗で、真の関数が滑らかであれば$k$が大きいほど増加する傾向にある(近傍が広がり目標点から離れた点まで平均するため)。 - 分散項は平均の分散として$k$の逆数に比例して減少する。 このため、$k$(より一般にはモデルの複雑度・自由度)を変化させると、バイアスと分散はトレードオフの関係になる。訓練誤差は複雑度とともに単調に減少するため複雑度選択の基準には使えず(常に補間解が選ばれてしまう)、テスト誤差(汎化誤差)は複雑度に対してU字型の挙動を示す。最適な複雑度はこのU字の底、すなわちバイアスと分散の和を最小化する点にある。(Source: [[@2009__Springer__The Elements of Statistical Learning - Chapter 2 Overview of Supervised Learning]] §2.9) ## 横断的知見 - [[@2009__Springer__The Elements of Statistical Learning - Chapter 7 Model Assessment and Selection]] §7.3.1は、本ページが第2章由来で定義する二乗誤差損失でのバイアス-バリアンス分解が0-1損失(分類)には単純な形で拡張されないことを示す。回帰では予測誤差=バイアス²+分散と加法的に合成されるが、分類では真のクラス確率0.9・推定値の期待値0.6のような例で二乗バイアスが大きくても判定境界の正しい側にいれば予測誤差はゼロになりうる。このためk最近傍法の近傍数を増やしバイアスが増大しても予測誤差が減少し続ける現象が起こり、バイアスと分散は加法的でなく**乗法的に相互作用**する。回帰と分類とで調整パラメータの最適値が実質的に異なりうる。(Source: [[@2009__Springer__The Elements of Statistical Learning - Chapter 2 Overview of Supervised Learning]] §2.9, [[@2009__Springer__The Elements of Statistical Learning - Chapter 7 Model Assessment and Selection]] §7.3.1) - モデル複雑度の統一的な尺度という問いに対し、第7章は2つの答えを与える: (1) 線形当てはめ$\hat y=Sy$に対する**実効パラメータ数(有効自由度)** $\text{df}(S)=\text{trace}(S)$。k-NNの$N/k$・線形モデルの$p$をともに包含する。(2) パラメータ数によらず関数族が「shatter」できる点数で定義する**VC次元**。線形モデル・k-NN双方に共通の枠組みを与えるが、計算困難という代償を伴う。(Source: [[@2009__Springer__The Elements of Statistical Learning - Chapter 7 Model Assessment and Selection]] §7.6, §7.9) - テスト誤差を訓練データのみから推定する具体的手法として、第7章は解析的補正(訓練誤差の楽観性を実効パラメータ数で補正する$C_p$・AIC・BIC・MDL、パラメータ数に依存しないVC次元バウンド)と標本再利用([[交差検証]]・[[ブートストラップ法]])の2系統を提示する。いずれも本ページが扱う「複雑度を上げるとテスト誤差がU字型に振る舞う」現象(図2.11・図7.1)を、訓練誤差だけからは検出できないことへの対処法である。(Source: [[@2009__Springer__The Elements of Statistical Learning - Chapter 7 Model Assessment and Selection]] §7.4-§7.12) - **k-NNの近傍サイズ$k$と局所回帰の帯域幅$\lambda$は、いずれもモデル複雑度を連続的に調整する「つまみ」として同型に機能する**: 第2章 §2.9は$k$を小さくするとバイアスが減り分散が増えると論じるのに対し、[[@2009__Springer__The Elements of Statistical Learning - Chapter 6 Kernel Smoothing Methods]] §6.2は帯域幅$\lambda$について「窓が狭いと分散大・バイアス小、窓が広いと分散小・バイアス大」と全く同じ論法を展開する。第6章はさらに局所回帰推定量が線形推定量$\hat f=S_\lambda y$であることを利用し、第7章 §7.6の実効パラメータ数$\text{trace}(S)$と同形の有効自由度$\text{trace}(S_\lambda)$で$\lambda$を較正できることを示す。k-NNの$N/k$・局所回帰の$\text{trace}(S_\lambda)$・平滑化スプラインの自由度は、いずれも同じ「線形平滑化器の跡(trace)」という複雑度尺度に統一される。(Source: [[@2009__Springer__The Elements of Statistical Learning - Chapter 2 Overview of Supervised Learning]] §2.9, [[@2009__Springer__The Elements of Statistical Learning - Chapter 6 Kernel Smoothing Methods]] §6.2, [[@2009__Springer__The Elements of Statistical Learning - Chapter 7 Model Assessment and Selection]] §7.6) - **ランダムフォレスト(ESL第15章)は、本ページが定義するバイアス-バリアンストレードオフの分散側だけを操作する具体例を与える**: 第15章は $\mathrm{Var}\,\hat f_{rf}(x)=\rho(x)\sigma^2(x)$(式15.5)という形で分散を「木どうしの理論上の相関 $\rho(x)$」と「個々の木の分散 $\sigma^2(x)$」に分解し、分割候補変数の数 $m$ を絞ることで $\rho(x)$ を下げて分散を削減する一方、$m$ を絞りすぎるとバイアスが増加するという古典的なトレードオフを示す(図15.10)。ランダムフォレストのバイアスは剪定しない単木のバイアスより通常大きく、予測の改善は専ら分散削減に由来する。この挙動は多数の同程度の大きさの係数を持つ線形モデルにおけるridge回帰の縮小と類似しており、バイアス-バリアンストレードオフの「モデルの複雑度を下げてバイアスを増やす代わりに分散を減らす」という一般原理が、木のアンサンブルという非パラメトリックな手法でも同じ形で成り立つことを示す。(Source: [[@2009__Springer__The Elements of Statistical Learning - Chapter 2 Overview of Supervised Learning]] §2.9, [[@2009__Springer__The Elements of Statistical Learning - Chapter 15 Random Forests]] §15.4.1-§15.4.2) - **$p\gg N$は、複雑度を上げなくても分散だけが際限なく増大しうる、バイアス-バリアンストレードオフの極限的な検証事例を与える**: 第2章・第7章の議論は複雑度パラメータ($k$・$\lambda$・パラメータ数)を人為的に変化させてU字型のテスト誤差を観察するが、[[@2009__Springer__The Elements of Statistical Learning - Chapter 18 High-Dimensional Problems - p >> N]] §18.1のシミュレーション(図18.1)は、モデルの形自体(ridge回帰)を固定したまま特徴量数$p$だけを20→100→1000と増やし、テスト誤差に最適な正則化強度(バイアス)がそれに応じて単調に強くなることを数値で示す。最適なridge推定量の係数$t$統計量($\hat\beta_j/\widehat{\mathrm{se}}_j$)の中央値は$p$の増加とともに2.0→0.6→0.2と下がり、$|t_j|\ge2$を満たす係数の平均個数も9.8→1.2→0.0と減少する。すなわちバイアス-バリアンストレードオフの「複雑度を上げると分散が増える」という一般原理において、$p$を増やすこと自体が(モデルの複雑度パラメータを固定していても)分散を押し上げる方向に働くことが定量的に確認できる。これは第7章の実効パラメータ数$\text{trace}(S)$という尺度が、$p$そのものではなく正則化後の有効自由度でモデル複雑度を測るべきだという主張([[次元の呪い]]の横断的知見も参照)を、p≫Nという極限で裏づける具体例である。(Source: [[@2009__Springer__The Elements of Statistical Learning - Chapter 2 Overview of Supervised Learning]] §2.9, [[@2009__Springer__The Elements of Statistical Learning - Chapter 7 Model Assessment and Selection]] §7.6, [[@2009__Springer__The Elements of Statistical Learning - Chapter 18 High-Dimensional Problems - p >> N]] §18.1) - **k最近傍法の$k$選択が問題依存であることを、第13章は具体的な数値比較で実証し、第2章・第7章の一般論に経験的な裏付けを与える**: 第2章 §2.9・第7章はバイアス-バリアンストレードオフを理論的に導出し、複雑度パラメータの最適値をデータから選ぶ重要性(交差検証等)を説くが、値そのものは問題依存であることを一般論として述べるにとどまる。[[@2009__Springer__The Elements of Statistical Learning - Chapter 13 Prototype Methods and Nearest-Neighbors]] §13.3.1は、2つの人工データ(easy: 1変数で線形分離、difficult: 3変数のチェッカーボード)で最近傍法の誤分類誤差を近傍数の関数として比較し(図13.5)、25最近傍がeasy問題で1最近傍を70%改善する一方、difficult問題では1最近傍が25最近傍を18%上回るという、最適な$k$が問題ごとに真逆になる具体例を提示する。さらに§13.3の1最近傍法の漸近誤差率(Cover and Hart, 1967: ベイズ誤差率の高々2倍)は$k$の選択によらず成り立つ**上界**であり、本ページが扱う「$k$を変えるとバイアス・分散がトレードオフする」という連続的な調整の議論とは独立に、$k=1$という最も極端な設定でも分類誤差が発散しないことを保証する点で、バイアス-バリアンストレードオフの議論を補完する。(Source: [[@2009__Springer__The Elements of Statistical Learning - Chapter 2 Overview of Supervised Learning]] §2.9, [[@2009__Springer__The Elements of Statistical Learning - Chapter 13 Prototype Methods and Nearest-Neighbors]] §13.3, §13.3.1) - **ニューラルネットワーク(ESL第11章)は、複雑度パラメータを1つの連続的な「つまみ」に絞る代わりに、隠れユニット数(離散・粗い)と重み減衰(連続・細かい)という2つの異なる性質のパラメータを組み合わせてバイアス-バリアンストレードオフを制御する**: 本ページが第2章・第6章・第7章で確立した「$k$」「$\lambda$」「trace(S)」はいずれも単一の連続パラメータでバイアスと分散を滑らかに調整する枠組みだったが、[[@2009__Springer__The Elements of Statistical Learning - Chapter 11 Neural Networks]] §11.5.4・§11.6のシミュレーションは、隠れユニット数を交差検証で厳密に選ぶ必要はなく、多め(表現力を確保する側)に固定したうえで重み減衰だけを交差検証すればよいことを示す。これは「バイアスを増やさない方向にモデルの表現力(隠れユニット数)を大きく確保しておき、分散の制御は罰則という別の軸に完全に委ねる」という設計であり、本ページのRandom Forest(§15.4.1-§15.4.2、分割候補数$m$で分散だけを操作)と同じく、バイアス-バリアンストレードオフの2項を単一パラメータでなく異なる役割を持つ複数パラメータへ分業させる具体例になる。ただしランダムフォレストは分散だけを操作する(バイアスは剪定なし単木より通常大きいまま)のに対し、ニューラルネットワークは隠れユニット数の増加でバイアスも下げながら、重み減衰で分散の増加を別途抑える点で分業の形が異なる。(Source: [[@2009__Springer__The Elements of Statistical Learning - Chapter 2 Overview of Supervised Learning]] §2.9, [[@2009__Springer__The Elements of Statistical Learning - Chapter 11 Neural Networks]] §11.5.4, §11.6, [[@2009__Springer__The Elements of Statistical Learning - Chapter 15 Random Forests]] §15.4.1-§15.4.2) - **『ディープラーニングを支える技術〈2〉』ch.2は、第2章の$k$最近傍法に固有の分解を、モデル一般(ニューラルネットワークを含む)に対する分布ベースの分解として再定式化し、なぜ過パラメータ化されたモデルが古典理論の予測に反して汎化するのかという問いへ接続する**: 第2章 §2.9のバイアス-バリアンス分解は$\hat f_k(x_0)$という$k$最近傍法の推定量に特化した式で導かれるが、[[@2022__Gihyo__ディープラーニングを支える技術〈2〉 - Chapter 2 ディープラーニングの汎化]] §2.1は、訓練データセット$D$を仮想的に複数回サンプリングし、それぞれから得られる学習済みモデル$\hat f_1,\ldots,\hat f_k$がモデル上の分布$F$から得られるとみなす一般的な定式化($\hat f\sim F$)でバイアス($\mathbb E_{\hat f}[\hat f(x)]-f(x)$)とバリアンス($\mathrm{Var}_{\hat f\sim F}[\hat f(x)]$)を定義し、任意の学習アルゴリズム(ニューラルネットワークを含む)に適用できる形にする。この一般化された分解を使って続巻ch.2は「ニューラルネットワークはパラメータ数が多く低バイアス・高バリアンス(過学習側)に予想されるが、陰的正則化によってバリアンス項が自動的に抑えられている」と論じ、第2章・第7章が確立した「モデル複雑度を上げるとバリアンスが増える」という一般原理に対し、ニューラルネットワークがこの原理から逸脱して見える理由(バリアンスの自動抑制)を追加する具体例になる。(Source: [[@2009__Springer__The Elements of Statistical Learning - Chapter 2 Overview of Supervised Learning]] §2.9, [[@2022__Gihyo__ディープラーニングを支える技術〈2〉 - Chapter 2 ディープラーニングの汎化]] §2.1) ## 未解決の問い - 分類(0-1損失)でのバイアス-バリアンスの乗法的相互作用は、多クラス分類やランキング損失・構造化予測の損失関数にどう一般化されるか。 - 実効パラメータ数(自由度)とVC次元は、線形モデル・k-NN以外の手法(木構造・ニューラルネットワーク・カーネル法)でどこまで一致し、どこで乖離するか。ニューラルネットワークについては第11章が「隠れユニット数を多めに固定し重み減衰だけを調整する」という実践的な分業を示したが、この分業のもとでの実効自由度をtrace(S)型の尺度で定式化できるかは本書の範囲では示されていない。 - 第18章は$p/N$比とridge回帰の最適正則化強度の関係を数値で示したが、この関係を閉形式(例えば最適な有効自由度を$p$・$N$・信号対雑音比の関数として与える式)にできるかは本書では示されていない。 - 続巻ch.2が述べる「陰的正則化によるバリアンスの自動抑制」は、第11章が示す「隠れユニット数を多めに固定し重み減衰だけを交差検証する」という実務的な分業とどう関係するか。陰的正則化はこの重み減衰の役割の一部(あるいは全部)を代替しているのか、独立に効く別要因なのかは本ページでは未検証。 ## 関連 - source: [[@2009__Springer__The Elements of Statistical Learning - Chapter 2 Overview of Supervised Learning]] / [[@2009__Springer__The Elements of Statistical Learning - Chapter 6 Kernel Smoothing Methods]] / [[@2009__Springer__The Elements of Statistical Learning - Chapter 7 Model Assessment and Selection]] / [[@2009__Springer__The Elements of Statistical Learning - Chapter 11 Neural Networks]](隠れユニット数と重み減衰の分業) / [[@2009__Springer__The Elements of Statistical Learning - Chapter 13 Prototype Methods and Nearest-Neighbors]](kの最適値が問題依存であることの実証) / [[@2009__Springer__The Elements of Statistical Learning - Chapter 15 Random Forests]] / [[@2009__Springer__The Elements of Statistical Learning - Chapter 18 High-Dimensional Problems - p >> N]](p≫Nでの分散支配の定量的実証) / [[@2022__Gihyo__ディープラーニングを支える技術〈2〉 - Chapter 2 ディープラーニングの汎化]](分布ベースの一般化された分解、ニューラルネットワークでのバリアンス自動抑制) - concept: [[統計的機械学習]] / [[次元の呪い]] / [[局所回帰]] / [[最近傍法]] / [[暗黙的正則化]] / [[深層学習の汎化]] ## 出典 - Hastie, T., Tibshirani, R., Friedman, J., *The Elements of Statistical Learning*, 2nd Edition, Springer, 2009, Chapter 2, §2.9; Chapter 11, §11.5.4, §11.6; Chapter 13, §13.3; Chapter 18, §18.1. - 岡野原大輔, 『ディープラーニングを支える技術〈2〉 ニューラルネットワーク最大の謎』, 技術評論社, 2022, 第2章, §2.1.