VC次元・Rademacher複雑度

1. VC次元

1.1 定義

VC次元(Vapnik-Chervonenkis dimension):仮説クラスHが「粉砕」できる最大の点集合のサイズ。

粉砕(Shattering):
点集合S = {x₁, ..., xₘ} がHで粉砕される
⟺ 任意のラベル付け y ∈ {0,1}^m に対して
   ∃h ∈ H: ∀i, h(xᵢ) = yᵢ

VC(H) = max{m : ∃S, |S|=m, Hが Sを粉砕}

1.2 例

仮説クラスVC次元
区間 [a,b] ⊂ R2
R^d の半空間d+1
R^d の軸平行矩形2d
d次多項式(R)d+1

1.3 Sauer-Shelahの補題

VC(H) = d のとき、
m点上でHが取りうるラベリングの数 ≤ Σ_{i=0}^{d} C(m,i) = O(m^d)

→ 無限クラスでも有効なサンプル複雑度

2. VC次元と汎化誤差

2.1 基本定理

確率 1-δ 以上で、任意の h ∈ H に対して:

|error(h) - error_train(h)| ≤ O(√(d·log(m/d)/m) + √(log(1/δ)/m))

d: VC次元, m: サンプル数

2.2 サンプル複雑度

汎化誤差εを達成するには:

m = O((d/ε²)log(1/ε) + (1/ε²)log(1/δ))

3. Rademacher複雑度

3.1 定義

データ依存的な複雑度尺度:

経験的Rademacher複雑度:
R̂_S(H) = E_σ[sup_{h∈H} (1/m)Σᵢ σᵢh(xᵢ)]

σᵢ ∈ {-1, +1}: 一様ランダム(Rademacher変数)
S = {x₁,...,xₘ}: データセット

3.2 直感

  • ランダムラベルσにどれだけフィットできるか
  • 複雑なクラス → ランダムノイズにもフィット可能
  • 単純なクラス → ランダムにはフィットできない

3.3 汎化誤差との関係

確率 1-δ 以上で:
error(h) ≤ error_train(h) + 2R̂_S(H) + √(log(1/δ)/2m)

4. VC次元 vs Rademacher

観点VC次元Rademacher
データ依存なしあり
計算困難なこともサンプリングで推定可能
タイトさ最悪ケースより適応的
適用範囲主に二値分類一般の損失関数

5. 参考文献

  • Vapnik & Chervonenkis (1971). "On the Uniform Convergence"
  • Bartlett & Mendelson (2002). "Rademacher and Gaussian Complexities" JMLR
  • Mohri et al. (2018). "Foundations of Machine Learning" 2nd ed.