7.5 有効パラメータ数とBIC(ベイズ情報量規準)

前章でAICとCpを学んだ。これらは「モデルのパラメータ数 d」に比例したペナルティを訓練誤差に加える手法だった。しかし、「パラメータ数」という概念は思ったより曖昧だ。

スプラインや正則化モデルでは、何個のパラメータがあると言えばよいのか?このチャプターでは、パラメータ数を一般化した「有効パラメータ数」の概念と、AICとは異なる哲学から生まれたBIC(ベイズ情報量規準)を学ぶ。

パラメータ数の謎

AICの公式を思い出してほしい。

$$\text{AIC} = -\frac{2}{N}\log\text{lik} + \frac{2d}{N}$$

ここで $d$ は「パラメータ数」だ。線形回帰モデルなら $d = p$(変数の数)で明快だ。しかし、正則化を使ったモデルではどうだろう?

リッジ回帰を考えよう。$\lambda$ という正則化パラメータで係数を縮小するとき、「パラメータ数」は何個か? $p$ 個の係数は全て存在するが、正則化によって制約を受けている。モデルの自由度は $p$ より小さいはずだ。

同様に、スムージングスプライン(5章)では、何十もの基底関数を使いながらも、スムージングパラメータで自由度を制御する。このとき「パラメータ数」は基底関数の数でも、それより小さい何かでもある。

正則化の強さとモデルの自由度の関係を示すアニメーション

アニメーションを見てほしい。左から右に向かって正則化が強くなると、モデルの「実効的な複雑さ」が連続的に変化していく。正則化なし(左)は複雑な曲線、正則化あり(右)はほぼ直線。そしてその中間(中央)は適度な複雑さだ。

疑問: 正則化されたモデルの「複雑さ」をどう測ればよいのか?

これに対する答えが「有効パラメータ数(effective degrees of freedom)」だ。モデルの実質的な複雑さを、整数ではなく、連続的な実数として表す。

有効パラメータ数の定義

有効パラメータ数を定義するために、まず「線形フィッティング」という概念を導入しよう。

多くのモデルでは、予測値 $\hat{\mathbf{y}}$ は元のデータ $\mathbf{y}$ の線形変換として書ける。

$$\hat{\mathbf{y}} = \mathbf{S}\mathbf{y}$$

ここで $\mathbf{S}$$N \times N$ の行列だ。$\hat{\mathbf{y}}$("hat"が付く=推定値)から名付けられてhat行列、あるいはデータを平滑化する役割から平滑化行列とも呼ばれる。

この行列 $\mathbf{S}$ を使うと、有効パラメータ数(有効自由度)を非常にエレガントに定義できる。

$$\text{df}(\mathbf{S}) = \text{trace}(\mathbf{S}) = \sum_{i=1}^{N} S_{ii}$$

行列のトレースとは対角成分の和だ。これが有効パラメータ数の正式な定義になる。

hat行列のトレースが有効パラメータ数を表す仕組みを示すアニメーション

アニメーションで見たように、行列の対角成分を順番に取り出して積み上げていくと、合計がそのまま「有効パラメータ数」になる。

なぜこれが良い定義なのか?直感的な説明:

具体的な例で確認しよう:

$$\text{df}(\mathbf{S}) = \text{trace}(\mathbf{S}) = \sum_{j=1}^{p} \frac{d_j}{d_j + \lambda}$$

ここで $d_j$$\mathbf{X}^\top\mathbf{X}$$j$ 番目の固有値(行列がどの方向にどれだけ「伸び縮み」するかを表す値)。$\lambda = 0$(正則化なし)なら $\text{df} = p$$\lambda \to \infty$ なら $\text{df} \to 0$

正則化を増やすと有効パラメータ数が連続的に減る。これが「自由度」という言葉の意味だ。

AICとBICの哲学的な違い

AICを思い出そう。

$$\text{AIC} = -\frac{2}{N}\log\text{lik} + \frac{2d}{N}$$

ペナルティ項は $\frac{2d}{N}$ だ。この「2」という係数はどこから来たのか?実は、前章で見た「楽観性の補正」から自然に導かれる。AICは予測誤差の最小化を目的としている。

一方、BIC(ベイズ情報量規準)は:

$$\text{BIC} = -2\log\text{lik} + (\log N) \cdot d$$

ペナルティ項が $(\log N) \cdot d$ になっている。AICと比べると:

BICはサンプル数が増えるほど、複雑なモデルを強く罰する。

AICとBICのペナルティをサンプル数Nに対してグラフで比較するアニメーション

グラフを見ると、AIのペナルティ係数(赤の水平線)はNに依存しないのに対し、BICのペナルティ係数(青の対数曲線)はNが増えるほど大きくなっていくことがわかる。

なぜこうなるのか?BICの出発点は「正しいモデルを選ぶ」という目標だ。AICは「予測精度が高いモデルを選ぶ」という目標だ。この哲学的な違いが、ペナルティの強さの違いを生む。

AICの考え方(予測主義):「未来のデータをうまく予測できるモデルを選びたい。サンプル数が増えても、予測に必要な複雑さは変わらない」

BICの考え方(ベイズ主義):「真のモデルを発見したい。サンプルが多いほど、シンプルなモデルで真実が見えてくるはず。だから、データが増えるほど複雑さへのペナルティを強くする」

どちらが正解かは、問題設定による。モデルを使って予測したいならAIC、真のモデルを同定したいならBICが適切とされる。

BICのベイズ的な根拠

BICがなぜこの形をしているのか、ベイズ統計の観点から説明しよう。

ベイズモデル選択では、データ $\mathbf{Z}$ を観測した後のモデル $\mathcal{M}_m$ の確率(事後確率)を計算する。

$$\text{Pr}(\mathcal{M}_m | \mathbf{Z}) \propto \text{Pr}(\mathcal{M}_m) \cdot \text{Pr}(\mathbf{Z} | \mathcal{M}_m)$$

全てのモデルに等しい事前確率を与えると(特定のモデルを優遇しない)、事後確率はほぼ周辺尤度だけで決まる。最も周辺尤度が高いモデルを選ぶことがベイズモデル選択の基本だ。

周辺尤度を計算するには、全パラメータについて積分が必要だ。これを解析的に解くために、ラプラス近似(最尤推定値付近でテイラー展開し、積分をガウス積分で近似する手法)を使うと:

$$\log \text{Pr}(\mathbf{Z} | \mathcal{M}_m) \approx \log \text{Pr}(\mathbf{Z} | \hat{\theta}_m, \mathcal{M}_m) - \frac{d_m}{2}\log N + O(1)$$

これを最大化することは、次の量を最小化することと同じだ:

$$\text{BIC}_m = -2\log \text{Pr}(\mathbf{Z} | \hat{\theta}_m, \mathcal{M}_m) + d_m \cdot \log N$$

これがBICの正式な由来だ。ペナルティの $\log N$ はサンプル数から自然に現れる。大きなデータセットでは、パラメータの不確実性を考慮する「コスト」が増えるのだ。

ベイズモデル選択における事後確率の計算を示すアニメーション

アニメーションでは、3つのモデルのBIC値(上段の棒の長さ)から、各モデルが選ばれる事後確率(下段の横棒グラフ)への変換を示している。BICが最小のモデル(緑)が最も高い確率でハイライトされる。

モデルの事後確率の表現: BICを使うと、複数のモデルの中からそれぞれが選ばれる確率を推定できる:

$$\text{Pr}(\mathcal{M}_m | \mathbf{Z}) = \frac{e^{-\frac{1}{2}\text{BIC}_m}}{\sum_{\ell=1}^{M} e^{-\frac{1}{2}\text{BIC}_\ell}}$$

これは「BICが低いモデルほど選ばれやすい」という直感を確率として表現したものだ。

$$\text{BIC} = -2\log\text{lik} + d \cdot \log N$$

対して AIC は $-2\log\text{lik} + 2d$。両者の違いはペナルティ係数のみ(BICは $\log N$、AICは定数 $2$)。

AIC vs BIC - どちらを選ぶか

AICBICはどちらも「訓練誤差 + ペナルティ」の形をしているが、異なる目的に最適化されている。実際にどう使い分けるのか?

AICとBICが選ぶモデルの複雑さをサンプル数Nに応じて比較するアニメーション

左のグラフ(AIC)ではNが増えても選ばれるモデルの複雑さは一定だ。右のグラフ(BIC)ではNが増えるほどシンプルなモデルが選ばれる。この違いが2つの規準の本質的な違いだ。

AICの特性:

BICの特性:

実用的なガイドライン:

シンプルに言えば:

ただし、実際の問題では「真のモデル」が存在するかどうかも不明なことが多い。どちらを使っても、候補モデルの相対的な比較には有用だ。

次のステップ: これらのパラメトリックな手法(AIC、BIC)の限界は、「モデルが有限個のパラメータで完全に記述できる」という仮定だ。次章では、この仮定に頼らないMDL(最小記述長)VC次元という全く異なるアプローチを学ぶ。