この 章の 目標
PAC 学習の 定義を、実現可能な 場合と 不可知の 場合に ついて 正確に 述べられる
ヘフディングの 補題を 含めて ヘフディングの 不等式を 証明し、テストデータの 大きさの 見積もりに 使える
有限仮説集合の 汎化誤差上界を 和集合上界で 証明し、多くの 候補から 選ぶことの 影響を 見積もれる
VC 次元を 定義して 半直線・区間・半平面の VC 次元を 証明でき、サウアーの 補題と VC 次元に よる 上界を 正確に 述べられる
ラデマッハ複雑度と ノーフリーランチ定理の 意味を 説明し、過剰パラメータ化と 二重降下に ついて 確立した 事実と 観察を 区別できる
前提 :第1章 (リスク・経験リスク最小化・近似誤差と 推定誤差)、 22-statistics 第1章 (独立性・マルコフの 不等式)。6.1 節では 01-calculus 第4章 の テイラーの 定理と 凸関数を、6.7 節では 第2章の 最小二乗法と 特異値分解を 使う。
訓練データでの 誤り率が 小さい モデルは、新しい データでも 誤り率が 小さいと 言えるだろうか。 第1章 の 命題 1.15(近似誤差と 推定誤差)に よれば、経験リスク最小化(ERM)の 推定誤差は、経験リスクと リスクの 一様なずれ sup f ∈ F ∣ R ^ S ( f ) − R ( f ) ∣ \sup_{f \in \mathcal{F}}\lvert \hat{R}_S(f) - R(f) \rvert sup f ∈ F ∣ R ^ S ( f ) − R ( f )∣ の 2 倍以下である。1 つの f f f に ついての ずれは 大数の 法則で 小さくなるが、 f ^ S \hat{f}_S f ^ S は データを 見て 選ばれるので、 F \mathcal{F} F の すべての f f f に ついて 同時に ずれが 小さい ことが 要る。本章では、それが どれだけの データで 成り立つかを、仮説集合の「大きさ」(要素の 数、VC 次元、ラデマッハ複雑度)で 表す。
得られる 上界は どんな 分布でも 成り立つ 代わりに、数値と しては 悲観的な ことが 多い。役に 立つのは、必要な データ数が 何に どう 依存するか(精度 ε \varepsilon ε に ついては 1 / ε 2 1/\varepsilon^2 1/ ε 2 に、複雑さには 比例し、確信度 1 − δ 1 - \delta 1 − δ には log ( 1 / δ ) \log(1/\delta) log ( 1/ δ ) でしか 依存しない)を 教える 点と、「仮定なしには どんな 方法でも 学習できない」と いう 下界である。最後に、この 古典的な 理論では 説明しきれない 近年の 観察を、確かな ことと 区別して 紹介する。
設定. 特に 断らない 限り 2 値分類 Y = { 0 , 1 } \mathcal{Y} = \lbrace 0, 1 \rbrace Y = { 0 , 1 } と 0-1 損失を 考え、仮説集合 F \mathcal{F} F は X \mathcal{X} X から { 0 , 1 } \lbrace 0, 1 \rbrace { 0 , 1 } への 関数の 集合と する。記号は 第1章と 同じで、 R ( f ) = P ( Y ≠ f ( X ) ) R(f) = P(Y \neq f(X)) R ( f ) = P ( Y = f ( X )) 、R ^ S ( f ) \hat{R}_S(f) R ^ S ( f ) は 大きさ n n n の i.i.d. 訓練データ S S S での 誤り率、 R F = inf f ∈ F R ( f ) R_{\mathcal{F}} = \inf_{f \in \mathcal{F}}R(f) R F = inf f ∈ F R ( f ) である。ERM の 最小点が 複数ある ときは どれを 選んでも よい(以下の 結果は 選び方に よらない)。可測性の 細部には 立ち入らない。
6.1 ヘフディングの 不等式
第1章の 命題 1.22 では、テストデータでの 誤り率の ずれを チェビシェフの 不等式で 評価した。その 上界は データ数に 反比例してしか 小さくならず、多くの 仮説に ついて 同時に 評価するには 足りない。値が 有界な 確率変数の 和では、ずれの 確率が データ数に ついて 指数的に 小さくなる。
補題 6.1 (ヘフディングの 補題, Hoeffding's lemma)確率変数 X X X が a ≤ X ≤ b a \leq X \leq b a ≤ X ≤ b 、E [ X ] = 0 E[X] = 0 E [ X ] = 0 を 満たすならば、任意の s ∈ R s \in \mathbb{R} s ∈ R に ついて E [ e s X ] ≤ exp ( s 2 ( b − a ) 2 / 8 ) E[e^{sX}] \leq \exp(s^2(b - a)^2/8) E [ e s X ] ≤ exp ( s 2 ( b − a ) 2 /8 ) である。
証明. a = b a = b a = b なら X = 0 X = 0 X = 0 で 明らかなので、 a < b a < b a < b と する。 E [ X ] = 0 E[X] = 0 E [ X ] = 0 より a ≤ 0 ≤ b a \leq 0 \leq b a ≤ 0 ≤ b である。x ↦ e s x x \mapsto e^{sx} x ↦ e s x は 2 階微分が s 2 e s x ≥ 0 s^2e^{sx} \geq 0 s 2 e s x ≥ 0 なので 凸であり( 01-calculus 第4章 定理 4.30)、x ∈ [ a , b ] x \in [a, b] x ∈ [ a , b ] を x = b − x b − a a + x − a b − a b x = \frac{b - x}{b - a}a + \frac{x - a}{b - a}b x = b − a b − x a + b − a x − a b と 書くと e s x ≤ b − x b − a e s a + x − a b − a e s b e^{sx} \leq \frac{b - x}{b - a}e^{sa} + \frac{x - a}{b - a}e^{sb} e s x ≤ b − a b − x e s a + b − a x − a e s b である。x = X x = X x = X と して 期待値を とり E [ X ] = 0 E[X] = 0 E [ X ] = 0 を 使い、 p = − a / ( b − a ) ∈ [ 0 , 1 ] p = -a/(b - a) \in [0, 1] p = − a / ( b − a ) ∈ [ 0 , 1 ] 、u = s ( b − a ) u = s(b - a) u = s ( b − a ) と おくと、 s a = − p u sa = -pu s a = − p u より
E [ e s X ] ≤ ( 1 − p ) e s a + p e s b = e − p u ( 1 − p + p e u ) = e ψ ( u ) , ψ ( u ) = − p u + log ( 1 − p + p e u ) E[e^{sX}] \leq (1 - p)e^{sa} + pe^{sb} = e^{-pu}(1 - p + pe^u) = e^{\psi(u)}, \qquad \psi(u) = -pu + \log(1 - p + pe^u) E [ e s X ] ≤ ( 1 − p ) e s a + p e s b = e − p u ( 1 − p + p e u ) = e ψ ( u ) , ψ ( u ) = − p u + log ( 1 − p + p e u )
である。q ( u ) = p e u / ( 1 − p + p e u ) ∈ [ 0 , 1 ] q(u) = pe^u/(1 - p + pe^u) \in [0, 1] q ( u ) = p e u / ( 1 − p + p e u ) ∈ [ 0 , 1 ] と おくと ψ ′ ( u ) = − p + q ( u ) \psi'(u) = -p + q(u) ψ ′ ( u ) = − p + q ( u ) 、ψ ′ ′ ( u ) = q ( u ) ( 1 − q ( u ) ) ≤ 1 / 4 \psi''(u) = q(u)(1 - q(u)) \leq 1/4 ψ ′′ ( u ) = q ( u ) ( 1 − q ( u )) ≤ 1/4 で、ψ ( 0 ) = ψ ′ ( 0 ) = 0 \psi(0) = \psi'(0) = 0 ψ ( 0 ) = ψ ′ ( 0 ) = 0 。テイラーの 定理( 01-calculus 第4章 定理 4.19)より、u ≠ 0 u \neq 0 u = 0 なら 0 0 0 と u u u の 間の ある c c c で ψ ( u ) = ψ ′ ′ ( c ) u 2 / 2 ≤ u 2 / 8 = s 2 ( b − a ) 2 / 8 \psi(u) = \psi''(c)u^2/2 \leq u^2/8 = s^2(b - a)^2/8 ψ ( u ) = ψ ′′ ( c ) u 2 /2 ≤ u 2 /8 = s 2 ( b − a ) 2 /8 と なる。 □ \square □
定理 6.2 (ヘフディングの 不等式, Hoeffding's inequality) X 1 , … , X n X_1, \dots, X_n X 1 , … , X n を 独立な 確率変数で a i ≤ X i ≤ b i a_i \leq X_i \leq b_i a i ≤ X i ≤ b i (a i < b i a_i < b_i a i < b i と なる i i i が ある)とし、 S = ∑ i = 1 n ( X i − E [ X i ] ) S = \sum_{i=1}^{n}(X_i - E[X_i]) S = ∑ i = 1 n ( X i − E [ X i ]) と する。任意の t > 0 t > 0 t > 0 に ついて
P ( S ≥ t ) ≤ exp ( − 2 t 2 ∑ i = 1 n ( b i − a i ) 2 ) P(S \geq t) \leq \exp\left(-\frac{2t^2}{\sum_{i=1}^{n}(b_i - a_i)^2}\right) P ( S ≥ t ) ≤ exp ( − ∑ i = 1 n ( b i − a i ) 2 2 t 2 )
であり、P ( S ≤ − t ) P(S \leq -t) P ( S ≤ − t ) も 同じ式で 抑えられ、 P ( ∣ S ∣ ≥ t ) P(\lvert S \rvert \geq t) P (∣ S ∣ ≥ t ) は その 2 倍以下である。特に X i X_i X i が [ 0 , 1 ] [0, 1] [ 0 , 1 ] に 値を とる i.i.d. で E [ X i ] = μ E[X_i] = \mu E [ X i ] = μ ならば、標本平均 X ˉ \bar{X} X ˉ に ついて P ( X ˉ − μ ≥ ε ) ≤ e − 2 n ε 2 P(\bar{X} - \mu \geq \varepsilon) \leq e^{-2n\varepsilon^2} P ( X ˉ − μ ≥ ε ) ≤ e − 2 n ε 2 、P ( ∣ X ˉ − μ ∣ ≥ ε ) ≤ 2 e − 2 n ε 2 P(\lvert \bar{X} - \mu \rvert \geq \varepsilon) \leq 2e^{-2n\varepsilon^2} P (∣ X ˉ − μ ∣ ≥ ε ) ≤ 2 e − 2 n ε 2 である。
証明. s > 0 s > 0 s > 0 とし、C = ∑ i ( b i − a i ) 2 C = \sum_i(b_i - a_i)^2 C = ∑ i ( b i − a i ) 2 と おく。マルコフの 不等式( 22-statistics 第1章 定理 1.25)を e s S ≥ 0 e^{sS} \geq 0 e s S ≥ 0 に 使うと P ( S ≥ t ) = P ( e s S ≥ e s t ) ≤ e − s t E [ e s S ] P(S \geq t) = P(e^{sS} \geq e^{st}) \leq e^{-st}E[e^{sS}] P ( S ≥ t ) = P ( e s S ≥ e s t ) ≤ e − s t E [ e s S ] 。e s ( X i − E [ X i ] ) e^{s(X_i - E[X_i])} e s ( X i − E [ X i ]) (i = 1 , … , n i = 1, \dots, n i = 1 , … , n )は 独立なので、期待値は 積に 分かれる( 22-statistics 第1章 の 命題 1.4 の 3 と 命題 1.6 の 3 を 繰り返し使う)。 X i − E [ X i ] X_i - E[X_i] X i − E [ X i ] は 平均 0 0 0 で、幅 b i − a i b_i - a_i b i − a i の 区間 [ a i − E [ X i ] , b i − E [ X i ] ] [a_i - E[X_i], b_i - E[X_i]] [ a i − E [ X i ] , b i − E [ X i ]] に 値を とるので、補題 6.1 より
P ( S ≥ t ) ≤ e − s t ∏ i = 1 n E [ e s ( X i − E [ X i ] ) ] ≤ exp ( − s t + s 2 C 8 ) P(S \geq t) \leq e^{-st}\prod_{i=1}^{n}E\left[e^{s(X_i - E[X_i])}\right] \leq \exp\left(-st + \frac{s^2C}{8}\right) P ( S ≥ t ) ≤ e − s t i = 1 ∏ n E [ e s ( X i − E [ X i ]) ] ≤ exp ( − s t + 8 s 2 C )
右辺の 指数は s = 4 t / C s = 4t/C s = 4 t / C で 最小値 − 2 t 2 / C -2t^2/C − 2 t 2 / C を とる。下側は − X i -X_i − X i に 同じ 議論を 使い、両側は 2 つの 事象の 和の 確率が それぞれの 確率の 和以下であることに よる。最後の 主張は t = n ε t = n\varepsilon t = n ε 、C = n C = n C = n とした 場合である。 □ \square □
マルコフの 不等式を e s S e^{sS} e s S に 使って s s s を 最適化する この 方法は、 11-probability 第4章 定理 4.24(クラメールの 定理)の 証明と 同じ 考え方(チェルノフ限界)である。
例 6.3 (上界の 比較)公正な 硬貨を n n n 回投げた ときの 表の 割合 X ˉ \bar{X} X ˉ に ついて、 P ( ∣ X ˉ − 1 / 2 ∣ ≥ ε ) P(\lvert \bar{X} - 1/2 \rvert \geq \varepsilon) P (∣ X ˉ − 1/2 ∣ ≥ ε ) の 正確な 値(二項分布から 計算)と 2 つの 上界を 比べる(計算機で 計算した 値)。
n n n , ε \varepsilon ε
正確な 値
ヘフディング 2 e − 2 n ε 2 2e^{-2n\varepsilon^2} 2 e − 2 n ε 2
チェビシェフ 1 / ( 4 n ε 2 ) 1/(4n\varepsilon^2) 1/ ( 4 n ε 2 )
n = 100 n = 100 n = 100 , ε = 0.1 \varepsilon = 0.1 ε = 0.1
0.0569 0.0569 0.0569
0.271 0.271 0.271
0.25 0.25 0.25
n = 1000 n = 1000 n = 1000 , ε = 0.05 \varepsilon = 0.05 ε = 0.05
0.00173 0.00173 0.00173
0.0135 0.0135 0.0135
0.1 0.1 0.1
n ε 2 n\varepsilon^2 n ε 2 が 小さいと チェビシェフの 上界の ほうが 良い ことも あるが、 n ε 2 n\varepsilon^2 n ε 2 が 大きくなると 指数的に 小さくなる ヘフディングの 上界が 圧倒的に 良い。どちらも 分布に よらない 上界なので、正確な 値より かなり 大きい。
系 6.4 (テストデータの 大きさ)予測関数 f f f が、大きさ m m m の テストデータ T T T と 独立に 作られていると する。任意の δ ∈ ( 0 , 1 ) \delta \in (0, 1) δ ∈ ( 0 , 1 ) に ついて、確率 1 − δ 1 - \delta 1 − δ 以上で
∣ R ^ T ( f ) − R ( f ) ∣ ≤ log ( 2 / δ ) 2 m \lvert \hat{R}_T(f) - R(f) \rvert \leq \sqrt{\frac{\log(2/\delta)}{2m}} ∣ R ^ T ( f ) − R ( f )∣ ≤ 2 m log ( 2/ δ )
である。したがって m ≥ log ( 2 / δ ) / ( 2 ε 2 ) m \geq \log(2/\delta)/(2\varepsilon^2) m ≥ log ( 2/ δ ) / ( 2 ε 2 ) ならば、確率 1 − δ 1 - \delta 1 − δ 以上で ずれは ε \varepsilon ε 以下である。
証明. 1 { y j ′ ≠ f ( x j ′ ) } \mathbf{1}\lbrace y_j' \neq f(x_j') \rbrace 1 { y j ′ = f ( x j ′ )} は [ 0 , 1 ] [0, 1] [ 0 , 1 ] に 値を とる i.i.d. で 平均 R ( f ) R(f) R ( f ) なので、定理 6.2 で 2 e − 2 m ε 2 = δ 2e^{-2m\varepsilon^2} = \delta 2 e − 2 m ε 2 = δ と なる ε \varepsilon ε を とればよい。 □ \square □
ヒント
実務では
系 6.4 は、テストデータの 大きさを 決める ときや、2 つの モデルの 正解率の 差に 意味が あるかを 判断する ときの 目安に なる。誤り率を ± 1 \pm 1 ± 1 ポイントの 精度で 確率 95% 以上 保証するには m ≥ log 40 / ( 2 ⋅ 0.01 2 ) ≈ 18444.4 m \geq \log 40/(2 \cdot 0.01^2) \approx 18444.4 m ≥ log 40/ ( 2 ⋅ 0.0 1 2 ) ≈ 18444.4 、すな わち 18445 件以上が 要る(中心極限定理に よる 正規近似で 最悪の 分散 1 / 4 1/4 1/4 を 使うと 約 9604 件。こちらは 近似で、ヘフディングは 保証だが 保守的である)。1000 件なら幅は 約 ± 4.3 \pm 4.3 ± 4.3 ポイントあり、0.5 ポイントの 差は 見分けられない。誤り率が もともと 小さい(陽性が まれなど)ときは、分散を 使うベルンシュタインの 不等式などの ほうが ずっと 狭い幅を 与える。
6.2 PAC 学習
「学習できる」を、分布を 知らなくても、十分な データが あれば 高い 確率で ほぼ正しい 予測関数を 出せる こと、として 定式化する(ヴァリアント 1984)。
定義 6.5 (PAC 学習可能, PAC learnable)仮説集合 F \mathcal{F} F が PAC 学習可能 (probably approximately correct) であるとは、関数 n F : ( 0 , 1 ) 2 → N n_{\mathcal{F}}\colon (0, 1)^2 \to \mathbb{N} n F : ( 0 , 1 ) 2 → N と 学習アルゴリズム A A A が あって、次が 成り立つことを いう。任意の ε , δ ∈ ( 0 , 1 ) \varepsilon, \delta \in (0, 1) ε , δ ∈ ( 0 , 1 ) と、ある f ∗ ∈ F f^{\ast} \in \mathcal{F} f ∗ ∈ F に ついて R ( f ∗ ) = 0 R(f^{\ast}) = 0 R ( f ∗ ) = 0 と なる( 実現可能 , realizable)任意の 分布 P P P に ついて、 n ≥ n F ( ε , δ ) n \geq n_{\mathcal{F}}(\varepsilon, \delta) n ≥ n F ( ε , δ ) ならば、大きさ n n n の i.i.d. 訓練データ S S S から A A A が 出力する A ( S ) A(S) A ( S ) は、確率 1 − δ 1 - \delta 1 − δ 以上で R ( A ( S ) ) ≤ ε R(A(S)) \leq \varepsilon R ( A ( S )) ≤ ε を 満たす。
定義 6.6 (不可知 PAC 学習可能, agnostic PAC learnable)定義 6.5 で 実現 可能性の 仮定を 外し、 X × { 0 , 1 } \mathcal{X} \times \lbrace 0, 1 \rbrace X × { 0 , 1 } 上の 任意の 分布 P P P に ついて、確率 1 − δ 1 - \delta 1 − δ 以上で R ( A ( S ) ) ≤ R F + ε R(A(S)) \leq R_{\mathcal{F}} + \varepsilon R ( A ( S )) ≤ R F + ε と なる ことを 要求した ものを、 不可知 PAC 学習可能 と いう。
「ほぼ正しい」(誤差 ε \varepsilon ε 以下)ことを「高い 確率で」( 1 − δ 1 - \delta 1 − δ 以上)保証し、必要な データ数 n F n_{\mathcal{F}} n F は 分布 P P P に よってはいけない。実現可能な 場合は、ラベルが F \mathcal{F} F の ある 関数で 雑音なく 決まる 場合で、不可知の 場合は 雑音が あっても よく、 F \mathcal{F} F の 中で 最良の ものとの 比較を 求める。ここでは データ数だけを 問題にし、計算時間は 問わない(もとの 定義は 計算時間が 多項式であることも 要求する)。
6.3 有限仮説集合
定理 6.7 (有限仮説集合・実現可能な 場合) F \mathcal{F} F を 有限集合とし、 P P P は 実現可能と する。ERM の 出力 f ^ S \hat{f}_S f ^ S に ついて、任意の ε > 0 \varepsilon > 0 ε > 0 で P ( R ( f ^ S ) > ε ) ≤ ∣ F ∣ e − n ε P(R(\hat{f}_S) > \varepsilon) \leq \lvert \mathcal{F} \rvert e^{-n\varepsilon} P ( R ( f ^ S ) > ε ) ≤ ∣ F ∣ e − n ε である。したがって
n ≥ log ∣ F ∣ + log ( 1 / δ ) ε n \geq \frac{\log\lvert \mathcal{F} \rvert + \log(1/\delta)}{\varepsilon} n ≥ ε log ∣ F ∣ + log ( 1/ δ )
ならば 確率 1 − δ 1 - \delta 1 − δ 以上で R ( f ^ S ) ≤ ε R(\hat{f}_S) \leq \varepsilon R ( f ^ S ) ≤ ε であり、F \mathcal{F} F は PAC 学習可能である。
証明. R ( f ∗ ) = 0 R(f^{\ast}) = 0 R ( f ∗ ) = 0 なので 確率 1 で R ^ S ( f ∗ ) = 0 \hat{R}_S(f^{\ast}) = 0 R ^ S ( f ∗ ) = 0 であり、ERM の 出力も R ^ S ( f ^ S ) = 0 \hat{R}_S(\hat{f}_S) = 0 R ^ S ( f ^ S ) = 0 を 満たす。 F b a d = { f ∈ F ∣ R ( f ) > ε } \mathcal{F}_{\mathrm{bad}} = \lbrace f \in \mathcal{F} \mid R(f) > \varepsilon \rbrace F bad = { f ∈ F ∣ R ( f ) > ε } と すると、 R ( f ^ S ) > ε R(\hat{f}_S) > \varepsilon R ( f ^ S ) > ε ならば、ある f ∈ F b a d f \in \mathcal{F}_{\mathrm{bad}} f ∈ F bad で R ^ S ( f ) = 0 \hat{R}_S(f) = 0 R ^ S ( f ) = 0 と なる。固定した f ∈ F b a d f \in \mathcal{F}_{\mathrm{bad}} f ∈ F bad に ついて、 n n n 個の データが すべて 正しく 分類される 確率は、独立性より ( 1 − R ( f ) ) n ≤ ( 1 − ε ) n ≤ e − n ε (1 - R(f))^n \leq (1 - \varepsilon)^n \leq e^{-n\varepsilon} ( 1 − R ( f ) ) n ≤ ( 1 − ε ) n ≤ e − n ε (1 − ε ≤ e − ε 1 - \varepsilon \leq e^{-\varepsilon} 1 − ε ≤ e − ε )。事象の 和の 確率は 確率の 和以下である( 和集合上界 , union bound)から、
P ( R ( f ^ S ) > ε ) ≤ ∑ f ∈ F b a d P ( R ^ S ( f ) = 0 ) ≤ ∣ F ∣ e − n ε P(R(\hat{f}_S) > \varepsilon) \leq \sum_{f \in \mathcal{F}_{\mathrm{bad}}}P(\hat{R}_S(f) = 0) \leq \lvert \mathcal{F} \rvert e^{-n\varepsilon} P ( R ( f ^ S ) > ε ) ≤ f ∈ F bad ∑ P ( R ^ S ( f ) = 0 ) ≤ ∣ F ∣ e − n ε
右辺が δ \delta δ 以下である ことと n n n の 条件は 同値である。 □ \square □
定理 6.8 (有限仮説集合の 一様な 上界) F \mathcal{F} F を 有限集合と する。任意の 分布 P P P と δ ∈ ( 0 , 1 ) \delta \in (0, 1) δ ∈ ( 0 , 1 ) に ついて、確率 1 − δ 1 - \delta 1 − δ 以上で、すべての f ∈ F f \in \mathcal{F} f ∈ F に ついて 同時に
∣ R ^ S ( f ) − R ( f ) ∣ ≤ log ( 2 ∣ F ∣ / δ ) 2 n \lvert \hat{R}_S(f) - R(f) \rvert \leq \sqrt{\frac{\log(2\lvert \mathcal{F} \rvert/\delta)}{2n}} ∣ R ^ S ( f ) − R ( f )∣ ≤ 2 n log ( 2 ∣ F ∣ / δ )
が 成り立つ。この とき ERM の 出力は R ( f ^ S ) ≤ R F + 2 log ( 2 ∣ F ∣ / δ ) / ( 2 n ) R(\hat{f}_S) \leq R_{\mathcal{F}} + 2\sqrt{\log(2\lvert \mathcal{F} \rvert/\delta)/(2n)} R ( f ^ S ) ≤ R F + 2 log ( 2 ∣ F ∣ / δ ) / ( 2 n ) を 満たし、 n ≥ 2 log ( 2 ∣ F ∣ / δ ) / ε 2 n \geq 2\log(2\lvert \mathcal{F} \rvert/\delta)/\varepsilon^2 n ≥ 2 log ( 2 ∣ F ∣ / δ ) / ε 2 ならば ERM に よって F \mathcal{F} F は 不可知 PAC 学習可能である。
証明. 右辺を τ \tau τ と おく。固定した f f f に ついて R ^ S ( f ) \hat{R}_S(f) R ^ S ( f ) は [ 0 , 1 ] [0, 1] [ 0 , 1 ] に 値を とる i.i.d. の 平均で、期待値は R ( f ) R(f) R ( f ) なので、定理 6.2 より P ( ∣ R ^ S ( f ) − R ( f ) ∣ > τ ) ≤ 2 e − 2 n τ 2 = δ / ∣ F ∣ P(\lvert \hat{R}_S(f) - R(f) \rvert > \tau) \leq 2e^{-2n\tau^2} = \delta/\lvert \mathcal{F} \rvert P (∣ R ^ S ( f ) − R ( f )∣ > τ ) ≤ 2 e − 2 n τ 2 = δ / ∣ F ∣ 。和集合上界より、ずれが τ \tau τ を 超える f f f が 存在する 確率は δ \delta δ 以下である。その 余事象の 上で、第1章の 命題 1.15 より R ( f ^ S ) − R F ≤ 2 τ R(\hat{f}_S) - R_{\mathcal{F}} \leq 2\tau R ( f ^ S ) − R F ≤ 2 τ であり、2 τ ≤ ε 2\tau \leq \varepsilon 2 τ ≤ ε と n n n の 条件は 同値である。 □ \square □
f ^ S \hat{f}_S f ^ S は S S S に 依存するので、ヘフディングの 不等式を f ^ S \hat{f}_S f ^ S に そのまま 使う ことは できないが、すべての f f f に ついて 同時に 保証すれば、どれが 選ばれても よい。その 代償は log ∣ F ∣ \log\lvert \mathcal{F} \rvert log ∣ F ∣ で、候補の 数の 対数でしか 増えない。
例 6.9 (論理積の 規則) 100 個の 2 値の 特徴量 x ∈ { 0 , 1 } 100 x \in \lbrace 0, 1 \rbrace^{100} x ∈ { 0 , 1 } 100 に ついて、「 x 3 = 1 x_3 = 1 x 3 = 1 かつ x 17 = 0 x_{17} = 0 x 17 = 0 かつ…なら 陽性」のような 論理積の 規則の 全体を F \mathcal{F} F と する。各特徴量は「 = 1 = 1 = 1 を 要求」「 = 0 = 0 = 0 を 要求」「使わない」の 3 通りなので、常に 陰性の 規則を 加えても ∣ F ∣ ≤ 3 100 + 1 \lvert \mathcal{F} \rvert \leq 3^{100} + 1 ∣ F ∣ ≤ 3 100 + 1 、log ∣ F ∣ ≈ 109.9 \log\lvert \mathcal{F} \rvert \approx 109.9 log ∣ F ∣ ≈ 109.9 である。ε = δ = 0.05 \varepsilon = \delta = 0.05 ε = δ = 0.05 と すると、実現可能な 場合は 定理 6.7 より n ≥ ( log ( 3 100 + 1 ) + log 20 ) / 0.05 ≈ 2257.1 n \geq (\log(3^{100} + 1) + \log 20)/0.05 \approx 2257.1 n ≥ ( log ( 3 100 + 1 ) + log 20 ) /0.05 ≈ 2257.1 、すな わち 2258 件以上で 足りる。不可知の 場合の 定理 6.8 の 条件は n ≥ 2 ( log ( 3 100 + 1 ) + log 40 ) / 0.05 2 ≈ 90840.1 n \geq 2(\log(3^{100} + 1) + \log 40)/0.05^2 \approx 90840.1 n ≥ 2 ( log ( 3 100 + 1 ) + log 40 ) /0.0 5 2 ≈ 90840.1 、すな わち 90841 件以上である。雑音の ない 場合の 1 / ε 1/\varepsilon 1/ ε と、ある 場合の 1 / ε 2 1/\varepsilon^2 1/ ε 2 の 差が 大きい。同じ 考え方で、 d d d 個の パラメータを 32 ビットの 浮動小数点数で 表すモデルは 高々 2 32 d 2^{32d} 2 32 d 通りなので log ∣ F ∣ ≤ 32 d log 2 ≈ 22.2 d \log\lvert \mathcal{F} \rvert \leq 32d\log 2 \approx 22.2d log ∣ F ∣ ≤ 32 d log 2 ≈ 22.2 d であり、必要な データ数は パラメータの 数に 比例する 程度と 見積もられる。
6.4 VC 次元
閾値 t ∈ R t \in \mathbb{R} t ∈ R で 分類する 規則のように F \mathcal{F} F が 無限集合なら、定理 6.8 は 使えない。しかし n n n 個の データの 上で 区別できるのは、そこでの ラベルの 付け方の 数だけである。この 考え方に よる 複雑さの 尺度が VC 次元である(ヴァプニク–チェルボネンキス 1971)。
定義 6.10 (粉砕・成長関数・VC 次元)有限集合 C = { x 1 , … , x m } ⊂ X C = \lbrace x_1, \dots, x_m \rbrace \subset \mathcal{X} C = { x 1 , … , x m } ⊂ X に ついて、 F C = { ( f ( x 1 ) , … , f ( x m ) ) ∣ f ∈ F } ⊂ { 0 , 1 } m \mathcal{F}_C = \lbrace (f(x_1), \dots, f(x_m)) \mid f \in \mathcal{F} \rbrace \subset \lbrace 0, 1 \rbrace^m F C = {( f ( x 1 ) , … , f ( x m )) ∣ f ∈ F } ⊂ { 0 , 1 } m を F \mathcal{F} F の C C C への 制限と いう。 ∣ F C ∣ = 2 m \lvert \mathcal{F}_C \rvert = 2^m ∣ F C ∣ = 2 m (すべての ラベルの 付け方が 実現できる)とき、 F \mathcal{F} F は C C C を 粉砕する (shatter) と いう。 Π F ( m ) = max ∣ C ∣ = m ∣ F C ∣ \Pi_{\mathcal{F}}(m) = \max_{\lvert C \rvert = m}\lvert \mathcal{F}_C \rvert Π F ( m ) = max ∣ C ∣ = m ∣ F C ∣ を 成長関数 (growth function) と いい、 F \mathcal{F} F が 粉砕する 集合の 大きさの 最大値を VC 次元 (Vapnik–Chervonenkis dimension) と いって VCdim ( F ) \operatorname{VCdim}(\mathcal{F}) VCdim ( F ) と 書く(いくらでも 大きい 集合を 粉砕するなら ∞ \infty ∞ )。
粉砕される 集合の 部分集合も 粉砕されるので、 VCdim ( F ) = d \operatorname{VCdim}(\mathcal{F}) = d VCdim ( F ) = d を 示すには、大きさ d d d の 集合で 粉砕される ものを 1 つ挙げ、大きさ d + 1 d + 1 d + 1 の どの 集合も 粉砕されない ことを 示せばよい。
例 6.11 (半直線)X = R \mathcal{X} = \mathbb{R} X = R 、F = { x ↦ 1 { x ≥ t } ∣ t ∈ R } \mathcal{F} = \lbrace x \mapsto \mathbf{1}\lbrace x \geq t \rbrace \mid t \in \mathbb{R} \rbrace F = { x ↦ 1 { x ≥ t } ∣ t ∈ R } と する。 { 0 } \lbrace 0 \rbrace { 0 } は t = 0 t = 0 t = 0 (ラベル 1 1 1 )と t = 1 t = 1 t = 1 (ラベル 0 0 0 )で 粉砕される。 x 1 < x 2 x_1 < x_2 x 1 < x 2 ならば x 1 ≥ t x_1 \geq t x 1 ≥ t から x 2 ≥ t x_2 \geq t x 2 ≥ t が 従うので、ラベル ( 1 , 0 ) (1, 0) ( 1 , 0 ) は 実現できない。よって VCdim ( F ) = 1 \operatorname{VCdim}(\mathcal{F}) = 1 VCdim ( F ) = 1 である。m m m 個の 点 x 1 < ⋯ < x m x_1 < \cdots < x_m x 1 < ⋯ < x m での ラベルは「左から 何個が 0 0 0 か」で 決まるので、 Π F ( m ) = m + 1 \Pi_{\mathcal{F}}(m) = m + 1 Π F ( m ) = m + 1 である。
例 6.12 (区間)F = { 1 [ a , b ] ∣ a ≤ b } \mathcal{F} = \lbrace \mathbf{1}_{[a, b]} \mid a \leq b \rbrace F = { 1 [ a , b ] ∣ a ≤ b } と する。 { 1 , 2 } \lbrace 1, 2 \rbrace { 1 , 2 } は [ 1 , 2 ] , [ 1 , 1 ] , [ 2 , 2 ] , [ 3 , 3 ] [1, 2], [1, 1], [2, 2], [3, 3] [ 1 , 2 ] , [ 1 , 1 ] , [ 2 , 2 ] , [ 3 , 3 ] で ラベル ( 1 , 1 ) , ( 1 , 0 ) , ( 0 , 1 ) , ( 0 , 0 ) (1, 1), (1, 0), (0, 1), (0, 0) ( 1 , 1 ) , ( 1 , 0 ) , ( 0 , 1 ) , ( 0 , 0 ) を 実現するので 粉砕される。 x 1 < x 2 < x 3 x_1 < x_2 < x_3 x 1 < x 2 < x 3 で x 1 , x 3 ∈ [ a , b ] x_1, x_3 \in [a, b] x 1 , x 3 ∈ [ a , b ] なら x 2 ∈ [ a , b ] x_2 \in [a, b] x 2 ∈ [ a , b ] なので、ラベル ( 1 , 0 , 1 ) (1, 0, 1) ( 1 , 0 , 1 ) は 実現できない。よって VCdim ( F ) = 2 \operatorname{VCdim}(\mathcal{F}) = 2 VCdim ( F ) = 2 。m m m 点での ラベルは「すべて 0 0 0 」か「連続する 一続きだけ 1 1 1 」なので、Π F ( m ) = m ( m + 1 ) / 2 + 1 \Pi_{\mathcal{F}}(m) = m(m + 1)/2 + 1 Π F ( m ) = m ( m + 1 ) /2 + 1 である。
定理 6.13 (半空間の VC 次元)R d \mathbb{R}^d R d 上の 線形分類器全体 F = { x ↦ 1 { w ⊤ x + b ≥ 0 } ∣ w ∈ R d , b ∈ R } \mathcal{F} = \lbrace x \mapsto \mathbf{1}\lbrace w^{\top}x + b \geq 0 \rbrace \mid w \in \mathbb{R}^d, b \in \mathbb{R} \rbrace F = { x ↦ 1 { w ⊤ x + b ≥ 0 } ∣ w ∈ R d , b ∈ R } の VC 次元は d + 1 d + 1 d + 1 である。特に、平面上の 半平面の VC 次元は 3 である。
証明. 粉砕できる d + 1 d + 1 d + 1 点 :C = { 0 , e 1 , … , e d } C = \lbrace 0, e_1, \dots, e_d \rbrace C = { 0 , e 1 , … , e d } (e i e_i e i は 単位ベクトル)とし、 0 0 0 の ラベルを y 0 y_0 y 0 、e i e_i e i の ラベルを y i y_i y i と する。 b = y 0 − 1 / 2 b = y_0 - 1/2 b = y 0 − 1/2 、w i = y i − y 0 w_i = y_i - y_0 w i = y i − y 0 と おくと、 0 0 0 では b ≥ 0 ⟺ y 0 = 1 b \geq 0 \iff y_0 = 1 b ≥ 0 ⟺ y 0 = 1 、e i e_i e i では w ⊤ e i + b = y i − 1 / 2 ≥ 0 ⟺ y i = 1 w^{\top}e_i + b = y_i - 1/2 \geq 0 \iff y_i = 1 w ⊤ e i + b = y i − 1/2 ≥ 0 ⟺ y i = 1 なので、どの ラベルも 実現できる。
d + 2 d + 2 d + 2 点は 粉砕できない :x 1 , … , x d + 2 ∈ R d x_1, \dots, x_{d+2} \in \mathbb{R}^d x 1 , … , x d + 2 ∈ R d と する。 R d + 1 \mathbb{R}^{d+1} R d + 1 の d + 2 d + 2 d + 2 個の ベクトル ( x i , 1 ) (x_i, 1) ( x i , 1 ) は 1 次従属なので、0 0 0 でない λ ∈ R d + 2 \lambda \in \mathbb{R}^{d+2} λ ∈ R d + 2 で ∑ i λ i x i = 0 \sum_i\lambda_ix_i = 0 ∑ i λ i x i = 0 、∑ i λ i = 0 \sum_i\lambda_i = 0 ∑ i λ i = 0 と なる ものが ある。 λ ≠ 0 \lambda \neq 0 λ = 0 と ∑ i λ i = 0 \sum_i\lambda_i = 0 ∑ i λ i = 0 より λ \lambda λ は 正の 成分も 負の 成分も もつ。 I = { i ∣ λ i > 0 } I = \lbrace i \mid \lambda_i > 0 \rbrace I = { i ∣ λ i > 0 } 、J J J を その 補集合とし、「 I I I に 1 1 1 、J J J に 0 0 0 」の ラベルが ( w , b ) (w, b) ( w , b ) で 実現できたとする。すると
0 = w ⊤ ( ∑ i λ i x i ) + b ∑ i λ i = ∑ i ∈ I λ i ( w ⊤ x i + b ) + ∑ j ∈ J λ j ( w ⊤ x j + b ) 0 = w^{\top}\left(\sum_i\lambda_ix_i\right) + b\sum_i\lambda_i = \sum_{i \in I}\lambda_i(w^{\top}x_i + b) + \sum_{j \in J}\lambda_j(w^{\top}x_j + b) 0 = w ⊤ ( i ∑ λ i x i ) + b i ∑ λ i = i ∈ I ∑ λ i ( w ⊤ x i + b ) + j ∈ J ∑ λ j ( w ⊤ x j + b )
である。第 1 の 和の 各項は λ i > 0 \lambda_i > 0 λ i > 0 と w ⊤ x i + b ≥ 0 w^{\top}x_i + b \geq 0 w ⊤ x i + b ≥ 0 より 0 0 0 以上、第 2 の 和の 各項は λ j ≤ 0 \lambda_j \leq 0 λ j ≤ 0 と w ⊤ x j + b < 0 w^{\top}x_j + b < 0 w ⊤ x j + b < 0 より 0 0 0 以上で、λ j < 0 \lambda_j < 0 λ j < 0 と なる j ∈ J j \in J j ∈ J の 項は 正である。よって 右辺は 正となり、矛盾する。 □ \square □
この 例では VC 次元は パラメータの 数 d + 1 d + 1 d + 1 に 等しいが、いつもそうではない。
例 6.14 (パラメータ 1 個で VC 次元が 無限) F = { x ↦ 1 { sin ( θ x ) > 0 } ∣ θ ∈ R } \mathcal{F} = \lbrace x \mapsto \mathbf{1}\lbrace \sin(\theta x) > 0 \rbrace \mid \theta \in \mathbb{R} \rbrace F = { x ↦ 1 { sin ( θ x ) > 0 } ∣ θ ∈ R } は、任意の m m m に ついて { 10 − 1 , 10 − 2 , … , 10 − m } \lbrace 10^{-1}, 10^{-2}, \dots, 10^{-m} \rbrace { 1 0 − 1 , 1 0 − 2 , … , 1 0 − m } を 粉砕する。実際、ラベル y 1 , … , y m y_1, \dots, y_m y 1 , … , y m に 対して θ = π ( 1 + ∑ i = 1 m ( 1 − y i ) 10 i ) \theta = \pi(1 + \sum_{i=1}^{m}(1 - y_i)10^i) θ = π ( 1 + ∑ i = 1 m ( 1 − y i ) 1 0 i ) と すると、 x j = 10 − j x_j = 10^{-j} x j = 1 0 − j で
θ x j π = 10 − j + ∑ i < j ( 1 − y i ) 10 i − j ⏟ c j + ( 1 − y j ) + ∑ i > j ( 1 − y i ) 10 i − j \frac{\theta x_j}{\pi} = \underbrace{10^{-j} + \sum_{i < j}(1 - y_i)10^{i-j}}_{c_j} + (1 - y_j) + \sum_{i > j}(1 - y_i)10^{i-j} π θ x j = c j 1 0 − j + i < j ∑ ( 1 − y i ) 1 0 i − j + ( 1 − y j ) + i > j ∑ ( 1 − y i ) 1 0 i − j
で、最後の 和は 偶数、 0 < c j ≤ ∑ k ≥ 1 10 − k = 1 / 9 0 < c_j \leq \sum_{k \geq 1}10^{-k} = 1/9 0 < c j ≤ ∑ k ≥ 1 1 0 − k = 1/9 である。よって θ x j \theta x_j θ x j は 2 π 2\pi 2 π を 法と して、 y j = 1 y_j = 1 y j = 1 なら π c j ∈ ( 0 , π ) \pi c_j \in (0, \pi) π c j ∈ ( 0 , π ) 、y j = 0 y_j = 0 y j = 0 なら π ( 1 + c j ) ∈ ( π , 2 π ) \pi(1 + c_j) \in (\pi, 2\pi) π ( 1 + c j ) ∈ ( π , 2 π ) に 等しく、 sin ( θ x j ) > 0 \sin(\theta x_j) > 0 sin ( θ x j ) > 0 と y j = 1 y_j = 1 y j = 1 が 同値に なる( m ≤ 6 m \leq 6 m ≤ 6 の すべての ラベルに ついて 計算機でも 確かめた)。
定理 6.15 (サウアーの 補題, Sauer's lemma) VCdim ( F ) = d < ∞ \operatorname{VCdim}(\mathcal{F}) = d < \infty VCdim ( F ) = d < ∞ ならば、すべての m m m に ついて
Π F ( m ) ≤ ∑ i = 0 d ( m i ) \Pi_{\mathcal{F}}(m) \leq \sum_{i=0}^{d}\binom{m}{i} Π F ( m ) ≤ i = 0 ∑ d ( i m )
であり、m ≥ d ≥ 1 m \geq d \geq 1 m ≥ d ≥ 1 なら 右辺は ( e m / d ) d (em/d)^d ( e m / d ) d 以下である。
前半は サウアー(1972)と シェラハ(1972)が 独立に 示した(ヴァプニク–チェルボネンキスも 同種の 評価を 得ている)。前半の 証明は 問題 6.8 で 扱う。後半は、 d / m ≤ 1 d/m \leq 1 d / m ≤ 1 より
( d m ) d ∑ i = 0 d ( m i ) ≤ ∑ i = 0 d ( m i ) ( d m ) i ≤ ∑ i = 0 m ( m i ) ( d m ) i = ( 1 + d m ) m ≤ e d \left(\frac{d}{m}\right)^d\sum_{i=0}^{d}\binom{m}{i} \leq \sum_{i=0}^{d}\binom{m}{i}\left(\frac{d}{m}\right)^i \leq \sum_{i=0}^{m}\binom{m}{i}\left(\frac{d}{m}\right)^i = \left(1 + \frac{d}{m}\right)^m \leq e^d ( m d ) d i = 0 ∑ d ( i m ) ≤ i = 0 ∑ d ( i m ) ( m d ) i ≤ i = 0 ∑ m ( i m ) ( m d ) i = ( 1 + m d ) m ≤ e d
に よる。成長関数は、VC 次元が 無限なら すべての m m m で 2 m 2^m 2 m であり、有限ならたかだか m m m の d d d 次式の 程度で 増える。半直線( Π = m + 1 = ( m 0 ) + ( m 1 ) \Pi = m + 1 = \binom{m}{0} + \binom{m}{1} Π = m + 1 = ( 0 m ) + ( 1 m ) )と 区間( Π = 1 + m + ( m 2 ) \Pi = 1 + m + \binom{m}{2} Π = 1 + m + ( 2 m ) )では、サウアーの 補題の 等号が 成り立っている。
定理 6.16 (VC 次元に よる 汎化誤差上界, 統計的学習の 基本定理) X \mathcal{X} X から { 0 , 1 } \lbrace 0, 1 \rbrace { 0 , 1 } への 関数の 集合 F \mathcal{F} F と 0-1 損失に ついて、次が 成り立つ。
次の 条件は 同値である :(a) VCdim ( F ) < ∞ \operatorname{VCdim}(\mathcal{F}) < \infty VCdim ( F ) < ∞ 。(b) F \mathcal{F} F は PAC 学習可能。(c) F \mathcal{F} F は 不可知 PAC 学習可能。(d) ERM は F \mathcal{F} F の 不可知 PAC 学習アルゴリズムである。(e) 任意の ε , δ ∈ ( 0 , 1 ) \varepsilon, \delta \in (0, 1) ε , δ ∈ ( 0 , 1 ) に 対し、分布に よらない n 0 n_0 n 0 が あって、 n ≥ n 0 n \geq n_0 n ≥ n 0 なら どんな 分布でも 確率 1 − δ 1 - \delta 1 − δ 以上で sup f ∈ F ∣ R ^ S ( f ) − R ( f ) ∣ ≤ ε \sup_{f \in \mathcal{F}}\lvert \hat{R}_S(f) - R(f) \rvert \leq \varepsilon sup f ∈ F ∣ R ^ S ( f ) − R ( f )∣ ≤ ε (一様収束)。
VCdim ( F ) = d < ∞ \operatorname{VCdim}(\mathcal{F}) = d < \infty VCdim ( F ) = d < ∞ ならば、分布にも F \mathcal{F} F にも よらない 定数 C 1 , C 2 > 0 C_1, C_2 > 0 C 1 , C 2 > 0 が あって、必要な データ数 n F ( ε , δ ) n_{\mathcal{F}}(\varepsilon, \delta) n F ( ε , δ ) (の 最小値)は
C 1 d + log ( 1 / δ ) ε 2 ≤ n F ( ε , δ ) ≤ C 2 d + log ( 1 / δ ) ε 2 ( 不可知 ) , C 1 d + log ( 1 / δ ) ε ≤ n F ( ε , δ ) ≤ C 2 d log ( 1 / ε ) + log ( 1 / δ ) ε ( 実現可能 ) C_1\frac{d + \log(1/\delta)}{\varepsilon^2} \leq n_{\mathcal{F}}(\varepsilon, \delta) \leq C_2\frac{d + \log(1/\delta)}{\varepsilon^2} \quad (\text{不可知}), \qquad C_1\frac{d + \log(1/\delta)}{\varepsilon} \leq n_{\mathcal{F}}(\varepsilon, \delta) \leq C_2\frac{d\log(1/\varepsilon) + \log(1/\delta)}{\varepsilon} \quad (\text{実現可能}) C 1 ε 2 d + log ( 1/ δ ) ≤ n F ( ε , δ ) ≤ C 2 ε 2 d + log ( 1/ δ ) ( 不可知 ) , C 1 ε d + log ( 1/ δ ) ≤ n F ( ε , δ ) ≤ C 2 ε d log ( 1/ ε ) + log ( 1/ δ ) ( 実現可能 )
を 満たし、上界は ERM で 達成される。同じ形で、確率 1 − δ 1 - \delta 1 − δ 以上ですべての f ∈ F f \in \mathcal{F} f ∈ F に ついて ∣ R ^ S ( f ) − R ( f ) ∣ ≤ C ( d + log ( 1 / δ ) ) / n \lvert \hat{R}_S(f) - R(f) \rvert \leq C\sqrt{(d + \log(1/\delta))/n} ∣ R ^ S ( f ) − R ( f )∣ ≤ C ( d + log ( 1/ δ )) / n (C C C は 定数)が 成り立つ。
主張のみと する(Shalev-Shwartz–Ben-David の 定理 6.7・6.8。定数の 値は 証明の 方法に よって 異なるので 書かない)。上界の 証明の 考え方は 次の とおりである。訓練データと 同じ 大きさの 架空の データ S ′ S' S ′ を 考えると、 R ( f ) R(f) R ( f ) との 一様な ずれは S S S と S ′ S' S ′ での 誤り率の 差で 抑えられる( 対称化 )。この 差は F \mathcal{F} F の S ∪ S ′ S \cup S' S ∪ S ′ の 2 n 2n 2 n 点への 制限、すな わち高々 Π F ( 2 n ) \Pi_{\mathcal{F}}(2n) Π F ( 2 n ) 個の 関数だけで 決まるので、定理 6.8 と 同様に 和集合上界と ヘフディングの 不等式を 使うと、 log ∣ F ∣ \log\lvert \mathcal{F} \rvert log ∣ F ∣ の 代わりに log Π F ( 2 n ) ≤ d log ( 2 e n / d ) \log\Pi_{\mathcal{F}}(2n) \leq d\log(2en/d) log Π F ( 2 n ) ≤ d log ( 2 e n / d ) が 現れる。 log n \log n log n の 因子を 除くには さらに 細かい 議論が 要る。下界は 6.6 節の ノーフリーランチ定理と 同じ 考え方に よる。
たとえば R d \mathbb{R}^d R d の 線形分類器では、精度 ε \varepsilon ε の 保証に 必要な データ数は ( d + log ( 1 / δ ) ) / ε 2 (d + \log(1/\delta))/\varepsilon^2 ( d + log ( 1/ δ )) / ε 2 に 比例する 程度で、特徴量の 数に 比例する。一方、例 6.14 のように VC 次元が 無限の F \mathcal{F} F は、パラメータが 1 個でも PAC 学習できない。
6.5 ラデマッハ複雑度(紹介)
VC 次元は 分布に よらない 量で、 { 0 , 1 } \lbrace 0, 1 \rbrace { 0 , 1 } 値の 関数に しか 使えない。データの 分布に 合わせて、実数値の 損失にも 使える 複雑さの 尺度が ラデマッハ複雑度である。
定義 6.17 (ラデマッハ複雑度, Rademacher complexity)σ 1 , … , σ n \sigma_1, \dots, \sigma_n σ 1 , … , σ n を 独立で P ( σ i = 1 ) = P ( σ i = − 1 ) = 1 / 2 P(\sigma_i = 1) = P(\sigma_i = -1) = 1/2 P ( σ i = 1 ) = P ( σ i = − 1 ) = 1/2 の 確率変数( ラデマッハ変数 )と する。実数値関数の 集合 G \mathcal{G} G と 点の 列 S = ( z 1 , … , z n ) S = (z_1, \dots, z_n) S = ( z 1 , … , z n ) に ついて
R ^ S ( G ) = E σ [ sup g ∈ G 1 n ∑ i = 1 n σ i g ( z i ) ] \hat{\mathfrak{R}}_S(\mathcal{G}) = E_\sigma\left[\sup_{g \in \mathcal{G}}\frac{1}{n}\sum_{i=1}^{n}\sigma_ig(z_i)\right] R ^ S ( G ) = E σ [ g ∈ G sup n 1 i = 1 ∑ n σ i g ( z i ) ]
を 経験ラデマッハ複雑度 、S S S を i.i.d. 標本と して さらに 期待値を とった R n ( G ) = E S [ R ^ S ( G ) ] \mathfrak{R}_n(\mathcal{G}) = E_S[\hat{\mathfrak{R}}_S(\mathcal{G})] R n ( G ) = E S [ R ^ S ( G )] を ラデマッハ複雑度と いう。
σ i \sigma_i σ i はで たらめな ラベルで、 R ^ S \hat{\mathfrak{R}}_S R ^ S は「G \mathcal{G} G の 関数で、でたらめな ラベルに どれだけ合わせられるか」を 測る。関数が 1 つだけなら 0 0 0 、n n n 個の 相異なる 点の 上の すべての { 0 , 1 } \lbrace 0, 1 \rbrace { 0 , 1 } 値関数なら 1 / 2 1/2 1/2 である(問題 6.6)。
定理 6.18 (ラデマッハ複雑度に よる 上界) G \mathcal{G} G を [ 0 , 1 ] [0, 1] [ 0 , 1 ] に 値を とる 関数の 集合、 z 1 , … , z n z_1, \dots, z_n z 1 , … , z n を i.i.d. 標本と する。任意の δ ∈ ( 0 , 1 ) \delta \in (0, 1) δ ∈ ( 0 , 1 ) に ついて、確率 1 − δ 1 - \delta 1 − δ 以上で、すべての g ∈ G g \in \mathcal{G} g ∈ G に ついて 同時に
E [ g ( Z ) ] ≤ 1 n ∑ i = 1 n g ( z i ) + 2 R n ( G ) + log ( 1 / δ ) 2 n E[g(Z)] \leq \frac{1}{n}\sum_{i=1}^{n}g(z_i) + 2\mathfrak{R}_n(\mathcal{G}) + \sqrt{\frac{\log(1/\delta)}{2n}} E [ g ( Z )] ≤ n 1 i = 1 ∑ n g ( z i ) + 2 R n ( G ) + 2 n log ( 1/ δ )
主張のみと する(Mohri–Rostamizadeh–Talwalkar の 第 3 章。証明は 対称化と、ヘフディングの 不等式を 一般化した マクダーミッドの 不等式に よる)。損失が [ 0 , 1 ] [0, 1] [ 0 , 1 ] に 値を とるなら(0-1 損失など)、 g ( x , y ) = ℓ ( y , f ( x ) ) g(x, y) = \ell(y, f(x)) g ( x , y ) = ℓ ( y , f ( x )) と すれば、すべての f ∈ F f \in \mathcal{F} f ∈ F に ついてリスクが 経験リスクと 損失の 集合 { ( x , y ) ↦ ℓ ( y , f ( x ) ) ∣ f ∈ F } \lbrace (x, y) \mapsto \ell(y, f(x)) \mid f \in \mathcal{F} \rbrace {( x , y ) ↦ ℓ ( y , f ( x )) ∣ f ∈ F } の ラデマッハ複雑度で 抑えられる。 { 0 , 1 } \lbrace 0, 1 \rbrace { 0 , 1 } 値の 場合は R ^ S ≤ 2 log Π ( n ) / n \hat{\mathfrak{R}}_S \leq \sqrt{2\log\Pi(n)/n} R ^ S ≤ 2 log Π ( n ) / n (マサールの 補題)が 成り立ち、サウアーの 補題と 合わせると VC 次元に よる 評価に 戻る。ラデマッハ複雑度の 利点は、パラメータの 数ではなく ノルムの 大きさで 複雑さを 測れる ことである。
命題 6.19 (ノルムで 制限した 線形関数) G = { x ↦ w ⊤ x ∣ ∥ w ∥ ≤ B } \mathcal{G} = \lbrace x \mapsto w^{\top}x \mid \lVert w \rVert \leq B \rbrace G = { x ↦ w ⊤ x ∣ ∥ w ∥ ≤ B } とし、点 x 1 , … , x n ∈ R d x_1, \dots, x_n \in \mathbb{R}^d x 1 , … , x n ∈ R d は ∥ x i ∥ ≤ X max \lVert x_i \rVert \leq X_{\max} ∥ x i ∥ ≤ X m a x を 満たすと する。この とき R ^ S ( G ) ≤ B X max / n \hat{\mathfrak{R}}_S(\mathcal{G}) \leq BX_{\max}/\sqrt{n} R ^ S ( G ) ≤ B X m a x / n であり、この 上界は 次元 d d d に よらない。
証明. v = ∑ i σ i x i v = \sum_i\sigma_ix_i v = ∑ i σ i x i と おくと、コーシー–シュワルツの 不等式より sup ∥ w ∥ ≤ B w ⊤ v / n = B ∥ v ∥ / n \sup_{\lVert w \rVert \leq B}w^{\top}v/n = B\lVert v \rVert/n sup ∥ w ∥ ≤ B w ⊤ v / n = B ∥ v ∥ / n 。E [ ∥ v ∥ ] ≤ E [ ∥ v ∥ 2 ] E[\lVert v \rVert] \leq \sqrt{E[\lVert v \rVert^2]} E [∥ v ∥] ≤ E [∥ v ∥ 2 ] (分散が 0 0 0 以上である ことから)で、 i ≠ j i \neq j i = j なら E [ σ i σ j ] = 0 E[\sigma_i\sigma_j] = 0 E [ σ i σ j ] = 0 なので E [ ∥ v ∥ 2 ] = ∑ i , j E [ σ i σ j ] x i ⊤ x j = ∑ i ∥ x i ∥ 2 ≤ n X max 2 E[\lVert v \rVert^2] = \sum_{i,j}E[\sigma_i\sigma_j]x_i^{\top}x_j = \sum_i\lVert x_i \rVert^2 \leq nX_{\max}^2 E [∥ v ∥ 2 ] = ∑ i , j E [ σ i σ j ] x i ⊤ x j = ∑ i ∥ x i ∥ 2 ≤ n X m a x 2 。よって R ^ S ( G ) ≤ B n X max / n \hat{\mathfrak{R}}_S(\mathcal{G}) \leq B\sqrt{n}X_{\max}/n R ^ S ( G ) ≤ B n X m a x / n 。□ \square □
マージンを 使った 損失と 組み合わせると、 ∥ w ∥ \lVert w \rVert ∥ w ∥ が 小さい 線形分類器は、特徴量の 次元が データ数より 大きくても 汎化誤差を 評価できる。第2章 2.2 節の リッジ回帰や 第4章の サポートベクターマシンが ノルムを 小さく する 理由の 1 つである。
6.6 ノーフリーランチ定理
仮説集合を 制限しなければ、どんな 方法でも 学習できない。まず 簡単な 形で 確かめる。
命題 6.20 (訓練データの 外での 平均) X \mathcal{X} X を 有限集合とし、学習アルゴリズム A A A と 訓練データの 入力 x 1 , … , x n x_1, \dots, x_n x 1 , … , x n を 固定する。真の ラベル関数 f : X → { 0 , 1 } f\colon \mathcal{X} \to \lbrace 0, 1 \rbrace f : X → { 0 , 1 } を 2 ∣ X ∣ 2^{\lvert \mathcal{X} \rvert} 2 ∣ X ∣ 通りから 一様に ランダムに 選び、 S = ( ( x i , f ( x i ) ) ) i = 1 n S = ((x_i, f(x_i)))_{i=1}^{n} S = (( x i , f ( x i )) ) i = 1 n と すると、 x 1 , … , x n x_1, \dots, x_n x 1 , … , x n の どれとも 異なる 任意の 点 x x x に ついて P ( A ( S ) ( x ) ≠ f ( x ) ) = 1 / 2 P(A(S)(x) \neq f(x)) = 1/2 P ( A ( S ) ( x ) = f ( x )) = 1/2 である。
証明. 一様に 選んだ f f f の 値 f ( x ′ ) f(x') f ( x ′ ) (x ′ ∈ X x' \in \mathcal{X} x ′ ∈ X )は 独立に 確率 1 / 2 1/2 1/2 ずつ 0 , 1 0, 1 0 , 1 を とる。 S S S は f ( x 1 ) , … , f ( x n ) f(x_1), \dots, f(x_n) f ( x 1 ) , … , f ( x n ) だけで 決まるので、 f ( x ) f(x) f ( x ) は S S S (と A A A が 使う 乱数)と 独立である。 S S S を 固定すると A ( S ) ( x ) A(S)(x) A ( S ) ( x ) は 定まり( A A A が 乱数を 使うなら その 乱数も 固定する)、 f ( x ) f(x) f ( x ) が それと 異なる 確率は 1 / 2 1/2 1/2 である。□ \square □
すべての ラベルの 付け方を 同じ 重みで 平均すると、どんな アルゴリズムも 訓練データに ない 点では 硬貨投げと 変わらない。学習には、真の 関数に ついての 何らかの 仮定(仮説集合の 制限、事前分布、滑らかさなど。 帰納バイアス (inductive bias))が 必要である。次の 定理は、これを 1 つの 分布に ついての 主張に した ものである。
定理 6.21 (ノーフリーランチ定理, no-free-lunch theorem)A A A を 0-1 損失の 2 値分類の 任意の 学習アルゴリズムとし、訓練データの 大きさ n n n は ∣ X ∣ / 2 \lvert \mathcal{X} \rvert/2 ∣ X ∣ /2 より 小さいと する。この とき X × { 0 , 1 } \mathcal{X} \times \lbrace 0, 1 \rbrace X × { 0 , 1 } 上の ある 分布 P P P で、次の 2 つを 満たす ものが 存在する。
ある 関数 f : X → { 0 , 1 } f\colon \mathcal{X} \to \lbrace 0, 1 \rbrace f : X → { 0 , 1 } に ついて R ( f ) = 0 R(f) = 0 R ( f ) = 0 。
大きさ n n n の i.i.d. 訓練データ S S S に ついて、確率 1 / 7 1/7 1/7 以上で R ( A ( S ) ) ≥ 1 / 8 R(A(S)) \geq 1/8 R ( A ( S )) ≥ 1/8 。
主張のみと する(Shalev-Shwartz–Ben-David の 定理 5.1)。証明の 方針: 大きさ 2 n 2n 2 n の 集合 C ⊂ X C \subset \mathcal{X} C ⊂ X の 上の 一様分布と、 C C C 上の 2 2 n 2^{2n} 2 2 n 通りの ラベル関数を 考える。訓練データは C C C の 高々 半分しか 含まないので、命題 6.20 と 同じ 議論で ラベル関数に ついて 平均した 誤り率の 期待値は 1 / 4 1/4 1/4 以上に なり、ある f f f で E [ R ( A ( S ) ) ] ≥ 1 / 4 E[R(A(S))] \geq 1/4 E [ R ( A ( S ))] ≥ 1/4 。R ∈ [ 0 , 1 ] R \in [0, 1] R ∈ [ 0 , 1 ] なので 1 / 4 ≤ E [ R ] ≤ P ( R ≥ 1 / 8 ) + 1 8 ( 1 − P ( R ≥ 1 / 8 ) ) 1/4 \leq E[R] \leq P(R \geq 1/8) + \frac{1}{8}(1 - P(R \geq 1/8)) 1/4 ≤ E [ R ] ≤ P ( R ≥ 1/8 ) + 8 1 ( 1 − P ( R ≥ 1/8 )) と なり、 P ( R ≥ 1 / 8 ) ≥ 1 / 7 P(R \geq 1/8) \geq 1/7 P ( R ≥ 1/8 ) ≥ 1/7 を 得る。
X \mathcal{X} X が 無限集合なら、すべての 関数からなる 仮説集合は PAC 学習可能でない(どんな n n n でも 定理 6.21 が 使える)。同じ 議論を 大きさ 2 n 2n 2 n の 粉砕される 集合に 使うと、VC 次元が 無限の F \mathcal{F} F も PAC 学習可能で ないことが わかり、これが 定理 6.16 の (b)⇒(a) である。
注意
ノーフリーランチ定理は「どの 手法も 実際には 同じくらい 良い」と いう 意味ではない。現実の データは「すべての ラベル関数が 同じ 確率で 起こる」ような 分布から 来ているわけではなく、滑らかさや 構造が あるので、それに 合った 仮定を おく 手法が うまく いく。定理が 言うのは、(1) どんな 問題にも 最良の 万能の 手法は 存在しない、(2) 学習の 成功は 手法の 仮定が 問題に 合っているかで 決まる、と いう ことである。ある 手法が 多くの ベンチマークで 勝つことは、それらの 問題の 性質に 合っている ことを 示すが、別の 種類の 問題での 優位は 保証しない。
6.7 過剰パラメータ化と 二重降下(紹介)
画像分類などの 深層学習では、パラメータの 数が 訓練データの 数よりはるかに 多い モデルを、訓練誤差が ほぼ 0 0 0 に なるまで 学習する ことが 多い。それでも 新しい データで よく 当たる。ここでは、確立した 事実と 経験的な 観察を 分けて 述べる。
観察:で たらめな ラベルも 覚えられる . ジャンら(2017)は、画像分類の 標準的な ネットワークが、訓練データの ラベルを 完全に で たらめに 付け替えても 訓練誤差を 0 0 0 に できる こと、同じ ネットワークが 正しい ラベルでは 良く 汎化する ことを 実験で 示した。でたらめな ラベルに 合わせられると いう ことは、訓練データの 入力の 上で 経験ラデマッハ複雑度が ほぼ 最大に なると いう ことである。したがって、仮説集合(ネットワークの 構造)だけで 決まる VC 次元や ラデマッハ複雑度の 上界は、この ネットワークの 汎化を 説明できない。説明には、データの 分布と 学習の 方法(勾配法が どの 解を 選ぶか)を 考えに 入れる 必要が ある。
事実:勾配法が 選ぶ解. 線形回帰では 次の ことが 証明できる。
命題 6.22 (勾配降下法は 最小ノルム解に 収束する) X X X を n × p n \times p n × p 行列、σ 1 \sigma_1 σ 1 を その 最大特異値とし、 J ( w ) = 1 2 ∥ y − X w ∥ 2 J(w) = \frac{1}{2}\lVert y - Xw \rVert^2 J ( w ) = 2 1 ∥ y − X w ∥ 2 に w 0 = 0 w_0 = 0 w 0 = 0 から 勾配降下法 w k + 1 = w k − η X ⊤ ( X w k − y ) w_{k+1} = w_k - \eta X^{\top}(Xw_k - y) w k + 1 = w k − η X ⊤ ( X w k − y ) (0 < η < 2 / σ 1 2 0 < \eta < 2/\sigma_1^2 0 < η < 2/ σ 1 2 )を 適用すると、 w k w_k w k は ノルム最小の 最小二乗解 w + = X + y w^{+} = X^{+}y w + = X + y に 収束する。特に rank X = n \operatorname{rank}X = n rank X = n (p ≥ n p \geq n p ≥ n )ならば、極限は 訓練データを 完全に 通る 解( X w = y Xw = y X w = y )の うちノルムが 最小の ものである。
証明. w + w^{+} w + は 正規方程式 X ⊤ X w + = X ⊤ y X^{\top}Xw^{+} = X^{\top}y X ⊤ X w + = X ⊤ y を 満たすので、 e k = w k − w + e_k = w_k - w^{+} e k = w k − w + は e k + 1 = ( I − η X ⊤ X ) e k e_{k+1} = (I - \eta X^{\top}X)e_k e k + 1 = ( I − η X ⊤ X ) e k を 満たす。 X = ∑ i = 1 r σ i u i v i ⊤ X = \sum_{i=1}^{r}\sigma_iu_iv_i^{\top} X = ∑ i = 1 r σ i u i v i ⊤ を 特異値分解と すると(第2章 2.2 節の 記法)、第2章の 定理 2.6 より w + = ∑ i ≤ r σ i − 1 ( u i ⊤ y ) v i w^{+} = \sum_{i \leq r}\sigma_i^{-1}(u_i^{\top}y)v_i w + = ∑ i ≤ r σ i − 1 ( u i ⊤ y ) v i は v 1 , … , v r v_1, \dots, v_r v 1 , … , v r の 張る 空間 V r V_r V r に 属し、 e 0 = − w + ∈ V r e_0 = -w^{+} \in V_r e 0 = − w + ∈ V r 。V r V_r V r の 上で I − η X ⊤ X I - \eta X^{\top}X I − η X ⊤ X は v i v_i v i を ( 1 − η σ i 2 ) v i (1 - \eta\sigma_i^2)v_i ( 1 − η σ i 2 ) v i に 写し、 0 < η σ i 2 ≤ η σ 1 2 < 2 0 < \eta\sigma_i^2 \leq \eta\sigma_1^2 < 2 0 < η σ i 2 ≤ η σ 1 2 < 2 より ∣ 1 − η σ i 2 ∣ < 1 \lvert 1 - \eta\sigma_i^2 \rvert < 1 ∣ 1 − η σ i 2 ∣ < 1 なので、e k = ∑ i ≤ r ( 1 − η σ i 2 ) k ( v i ⊤ e 0 ) v i → 0 e_k = \sum_{i \leq r}(1 - \eta\sigma_i^2)^k(v_i^{\top}e_0)v_i \to 0 e k = ∑ i ≤ r ( 1 − η σ i 2 ) k ( v i ⊤ e 0 ) v i → 0 。rank X = n \operatorname{rank}X = n rank X = n なら X X + = I n XX^{+} = I_n X X + = I n なので X w + = y Xw^{+} = y X w + = y で、w + w^{+} w + は X w = y Xw = y X w = y の 解の 中で ノルム最小である( 02-linear-algebra 第8章 定理 8.26)。□ \square □
明示的な 罰則を 加えなくても、学習の 方法 その ものが ノルムの 小さい 解を 選ぶ( 暗黙の 正則化 , implicit regularization)。6.5 節の とおり、ノルムが 小さい ことは 複雑さが 小さい ことに つながる。ニューラルネットワークの 勾配法が どんな 解を 選ぶかは、一部の 単純な 模型で 解析されているが、一般には 研究の 途中である。
二重降下. モデルの 大きさ(パラメータの 数 p p p )を 増やすと、テスト誤差は、はじめ U 字形(第1章 1.5 節の バイアスと バリアンスの 釣り合い)を 描き、 p p p が データ数 n n n に 近づくと 急に 大きくなり、 p > n p > n p > n で 補間解(訓練誤差 0 0 0 )を 選ぶと 再び下がることがある。ベルキンら(2019)は これを 二重降下 (double descent) と 名づけ、ニューラルネットワークなどで 観察した。線形回帰と ランダム特徴の モデルでは、特徴量が 正規分布に 従う 場合などに この 曲線が 理論的に 導かれている。次の コードは、 n = 40 n = 40 n = 40 件の データで、200 個の 特徴量(前の もの ほど 強く 効く)の うち最初の p p p 個を 使って 最小ノルムの 最小二乗解を 求め、新しい データでの 二乗誤差の 期待値の 中央値を、200 回の 試行に ついて 求める。
import numpy as np
rng = np.random.default_rng(0)
n, D, sigma = 40, 200, 0.5 # データ数・特徴量の総数・雑音の標準偏差
beta = 1 / np.arange(1, D + 1)
beta /= np.linalg.norm(beta) # 前の特徴量ほど強く効く
for p in [5, 10, 20, 30, 36, 40, 44, 50, 70, 100, 200]:
errs = []
for _ in range(200):
X = rng.standard_normal((n, D))
y = X @ beta + sigma * rng.standard_normal(n)
w = np.linalg.pinv(X[:, :p]) @ y # 最初の p 個の特徴量で最小ノルム解
# 新しい x ~ N(0, I) に対する二乗誤差の期待値
errs.append(sigma**2 + np.sum((beta[:p] - w) ** 2) + np.sum(beta[p:] ** 2))
print(f"p = {p:3d}: テスト誤差の中央値 {np.median(errs):.3f}")
p = 5: テスト誤差の中央値 0.404
p = 10: テスト誤差の中央値 0.392
p = 20: テスト誤差の中央値 0.542
p = 30: テスト誤差の中央値 1.018
p = 36: テスト誤差の中央値 2.561
p = 40: テスト誤差の中央値 25.007
p = 44: テスト誤差の中央値 3.092
p = 50: テスト誤差の中央値 1.470
p = 70: テスト誤差の中央値 0.999
p = 100: テスト誤差の中央値 1.020
p = 200: テスト誤差の中央値 1.109
誤差は p = 10 p = 10 p = 10 付近で 最小に なり、 p = n = 40 p = n = 40 p = n = 40 で 山を つくり、 p > n p > n p > n で 再び下がる( p p p が n n n に 近いと 誤差の 裾が 非常に 重いので、平均ではなく 中央値を 示した)。山が できる 理由は、最小ノルム解 X + y = ∑ i σ i − 1 ( u i ⊤ y ) v i X^{+}y = \sum_i\sigma_i^{-1}(u_i^{\top}y)v_i X + y = ∑ i σ i − 1 ( u i ⊤ y ) v i が 雑音を 1 / σ i 1/\sigma_i 1/ σ i 倍に 拡大する ことに ある。 p p p が n n n に 近いと X X X の 最小 特異値が 0 0 0 に 近くなりやすく、雑音が 大きく 拡大される。 p p p が n n n より 十分 大きいと 最小 特異値は 大きくなり、余分な 次元に 雑音が 薄く 分散される。ただし この 例では、2 回目の 降下の 後の 誤差(約 1.0 1.0 1.0 )は、p ≤ n p \leq n p ≤ n での 最小値(約 0.39 0.39 0.39 )より 大きい。すべての 特徴量が 同じ 程度に 弱く 効く 問題では 逆に p > n p > n p > n の 補間解の ほうが 良くなる こともあり、どちらに なるかは 問題に よる。
確立している ことと、そうでない ことを 整理しておく。(1) 線形回帰などの 模型では、二重降下の 曲線や「補間しても 汎化する」条件が 数学的に 証明されている。(2) 深層学習で 二重降下が 観察される ことは 多くの 実験で 報告されているが、いつでも 起こるわけではなく、雑音の 量・正則化・学習の 長さに 依存する(線形回帰でも、リッジの 罰則を 適切に 選べば山は 低くなる)。(3) 深い ネットワークが なぜ汎化するのかを 十分に 説明する 理論は、まだない。「パラメータは 多い ほど 良い」は 定理ではない。
ヒント
実務では
モデルの 大きさや 学習の 長さを 変えて 検証誤差を 見る とき、 p ≈ n p \approx n p ≈ n 付近の 山(あるいは 学習途中の 一時的な 悪化)を 見て「これ以上 大きくしても 無駄」と 早合点しないよう、ある 程度 広い 範囲を 試す。一方で、大きな モデルが 良いのは 検証データで 確かめられた 場合だけであり、理論は それを 保証しない。何十もの 設定を 検証データで 比べて 選んだなら、選んだ モデルの 検証誤差は 楽観的に なる(第1章の 命題 1.23、6.3 節)ので、最後に 別の テストデータで 1 回だけ評価する。
まとめ
PAC 学習:分布に よらない データ数で、確率 1 − δ 1 - \delta 1 − δ 以上で 誤差 ε \varepsilon ε 以下(実現可能な 場合)、または 最良の 仮説との 差 ε \varepsilon ε 以下(不可知の 場合)を 保証できる こと。
ヘフディングの 不等式:独立で 有界な 確率変数の 和の ずれの 確率は exp ( − 2 t 2 / ∑ i ( b i − a i ) 2 ) \exp(-2t^2/\sum_i(b_i - a_i)^2) exp ( − 2 t 2 / ∑ i ( b i − a i ) 2 ) 以下。証明は ヘフディングの 補題と マルコフの 不等式に よる。テストデータでの 評価の 精度は log ( 2 / δ ) / ( 2 m ) \sqrt{\log(2/\delta)/(2m)} log ( 2/ δ ) / ( 2 m ) 程度である。
有限仮説集合では、和集合上界に より、実現可能なら ( log ∣ F ∣ + log ( 1 / δ ) ) / ε (\log\lvert \mathcal{F} \rvert + \log(1/\delta))/\varepsilon ( log ∣ F ∣ + log ( 1/ δ )) / ε 、不可知なら 2 log ( 2 ∣ F ∣ / δ ) / ε 2 2\log(2\lvert \mathcal{F} \rvert/\delta)/\varepsilon^2 2 log ( 2 ∣ F ∣ / δ ) / ε 2 個の データで 十分である。候補の 数は 対数でしか 効かない。
VC 次元は 粉砕できる 集合の 最大の 大きさで、半直線は 1、区間は 2、 R d \mathbb{R}^d R d の 半空間は d + 1 d + 1 d + 1 。パラメータの 数とは 一般に 一致しない( sin ( θ x ) \sin(\theta x) sin ( θ x ) の 例)。
サウアーの 補題に より、VC 次元 d d d なら 成長関数は m ≥ d m \geq d m ≥ d で ( e m / d ) d (em/d)^d ( e m / d ) d 以下で、必要な データ数は ( d + log ( 1 / δ ) ) / ε 2 (d + \log(1/\delta))/\varepsilon^2 ( d + log ( 1/ δ )) / ε 2 に 比例する 程度である。VC 次元が 有限である ことと(不可知)PAC 学習可能である ことは 同値である。
ラデマッハ複雑度はで たらめな ラベルへの 合わせやすさで、ノルムで 制限した 線形関数では 次元に よらない B X max / n BX_{\max}/\sqrt{n} B X m a x / n 以下に なる。
ノーフリーランチ定理:仮定の ない 万能の 学習法は ない。学習には 問題に 合った 帰納バイアスが 要る。
過剰パラメータ化:勾配法は 最小ノルムの 補間解を 選び(線形回帰で 証明できる)、テスト誤差は p ≈ n p \approx n p ≈ n で 山を もつ 二重降下を 示しうる。深層学習の 汎化の 理論は 未完成である。
演習問題
問題 6.1 ★ 分類器の 誤り率を、確率 99% 以上で ± 2 \pm 2 ± 2 ポイント以内の 精度で 見積もりたい。系 6.4 に よる 必要な テストデータの 数と、チェビシェフの 不等式( Var ≤ 1 / 4 \operatorname{Var} \leq 1/4 Var ≤ 1/4 を 使う)に よる 数を 比べよ。
解答
ヘフディング:m ≥ log ( 2 / 0.01 ) / ( 2 ⋅ 0.02 2 ) = log 200 / 0.0008 ≈ 6622.9 m \geq \log(2/0.01)/(2 \cdot 0.02^2) = \log 200/0.0008 \approx 6622.9 m ≥ log ( 2/0.01 ) / ( 2 ⋅ 0.0 2 2 ) = log 200/0.0008 ≈ 6622.9 なので 6623 件。チェビシェフ:P ( ∣ R ^ T − R ∣ ≥ ε ) ≤ 1 / ( 4 m ε 2 ) ≤ 0.01 P(\lvert \hat{R}_T - R \rvert \geq \varepsilon) \leq 1/(4m\varepsilon^2) \leq 0.01 P (∣ R ^ T − R ∣ ≥ ε ) ≤ 1/ ( 4 m ε 2 ) ≤ 0.01 より m ≥ 1 / ( 4 ⋅ 0.0004 ⋅ 0.01 ) = 62500 m \geq 1/(4 \cdot 0.0004 \cdot 0.01) = 62500 m ≥ 1/ ( 4 ⋅ 0.0004 ⋅ 0.01 ) = 62500 件。高い 確信度を 求める ほど、 log ( 1 / δ ) \log(1/\delta) log ( 1/ δ ) でしか 増えない ヘフディングの 評価の 有利さが 大きい。
問題 6.2 ★ P ( X = 1 ) = P ( X = − 1 ) = 1 / 2 P(X = 1) = P(X = -1) = 1/2 P ( X = 1 ) = P ( X = − 1 ) = 1/2 の とき E [ e s X ] = cosh s E[e^{sX}] = \cosh s E [ e s X ] = cosh s である。cosh s ≤ e s 2 / 2 \cosh s \leq e^{s^2/2} cosh s ≤ e s 2 /2 を 示し、補題 6.1 の 上界と 比べよ。
解答
cosh s = ∑ k ≥ 0 s 2 k / ( 2 k ) ! \cosh s = \sum_{k \geq 0}s^{2k}/(2k)! cosh s = ∑ k ≥ 0 s 2 k / ( 2 k )! 、e s 2 / 2 = ∑ k ≥ 0 s 2 k / ( 2 k k ! ) e^{s^2/2} = \sum_{k \geq 0}s^{2k}/(2^kk!) e s 2 /2 = ∑ k ≥ 0 s 2 k / ( 2 k k !) で、( 2 k ) ! = ∏ j = 1 k ( 2 j − 1 ) ( 2 j ) ≥ ∏ j = 1 k 2 j = 2 k k ! (2k)! = \prod_{j=1}^{k}(2j - 1)(2j) \geq \prod_{j=1}^{k}2j = 2^kk! ( 2 k )! = ∏ j = 1 k ( 2 j − 1 ) ( 2 j ) ≥ ∏ j = 1 k 2 j = 2 k k ! なので 項ごとに 比べて cosh s ≤ e s 2 / 2 \cosh s \leq e^{s^2/2} cosh s ≤ e s 2 /2 。補題 6.1 では b − a = 2 b - a = 2 b − a = 2 なので 上界は e 4 s 2 / 8 = e s 2 / 2 e^{4s^2/8} = e^{s^2/2} e 4 s 2 /8 = e s 2 /2 で、これと 一致する。両辺とも s = 0 s = 0 s = 0 の 近くで 1 + s 2 / 2 + O ( s 4 ) 1 + s^2/2 + O(s^4) 1 + s 2 /2 + O ( s 4 ) なので、この 分布では 補題の 指数の 係数 1 / 8 1/8 1/8 は 改良できない。
問題 6.3 ★ R \mathbb{R} R 上で F = { x ↦ 1 { x ≥ t } } ∪ { x ↦ 1 { x ≤ t } } \mathcal{F} = \lbrace x \mapsto \mathbf{1}\lbrace x \geq t \rbrace \rbrace \cup \lbrace x \mapsto \mathbf{1}\lbrace x \leq t \rbrace \rbrace F = { x ↦ 1 { x ≥ t }} ∪ { x ↦ 1 { x ≤ t }} (t ∈ R t \in \mathbb{R} t ∈ R 。向きも 選べる 半直線)の VC 次元を 求めよ。
解答
2 である。{ 1 , 2 } \lbrace 1, 2 \rbrace { 1 , 2 } の ラベル ( 0 , 0 ) , ( 1 , 1 ) , ( 0 , 1 ) , ( 1 , 0 ) (0, 0), (1, 1), (0, 1), (1, 0) ( 0 , 0 ) , ( 1 , 1 ) , ( 0 , 1 ) , ( 1 , 0 ) は、それぞれ 1 { x ≥ 3 } \mathbf{1}\lbrace x \geq 3 \rbrace 1 { x ≥ 3 } 、1 { x ≥ 0 } \mathbf{1}\lbrace x \geq 0 \rbrace 1 { x ≥ 0 } 、1 { x ≥ 1.5 } \mathbf{1}\lbrace x \geq 1.5 \rbrace 1 { x ≥ 1.5 } 、1 { x ≤ 1.5 } \mathbf{1}\lbrace x \leq 1.5 \rbrace 1 { x ≤ 1.5 } で 実現できる。 x 1 < x 2 < x 3 x_1 < x_2 < x_3 x 1 < x 2 < x 3 では、1 { x ≥ t } \mathbf{1}\lbrace x \geq t \rbrace 1 { x ≥ t } の ラベルは 左から 右へ 減らず、 1 { x ≤ t } \mathbf{1}\lbrace x \leq t \rbrace 1 { x ≤ t } の ラベルは 増えないので、 ( 1 , 0 , 1 ) (1, 0, 1) ( 1 , 0 , 1 ) は どちらでも 実現できない。
問題 6.4 ★ ★ ある 分析者が、ハイパーパラメータの 候補 500 個を 2000 件の 検証データで 比べ、検証誤差が 最小の 0.180 だった 候補を 選んで「誤り率は 18.0% ± 1.0%」と 報告した。(1) 候補が 1 個だけなら、系 6.4 で δ = 0.05 \delta = 0.05 δ = 0.05 とした 幅は いくつか。(2) 500 個の 候補すべてに ついて 同時に 成り立つ幅を、定理 6.8 の 考え方で 求めよ。(3) この 報告の 問題点と、正しい 手順を 述べよ。
解答
(1) log 40 / 4000 ≈ 0.030 \sqrt{\log 40/4000} \approx 0.030 log 40/4000 ≈ 0.030 。(2) 和集合上界より log ( 2 ⋅ 500 / 0.05 ) / 4000 = log 20000 / 4000 ≈ 0.050 \sqrt{\log(2 \cdot 500/0.05)/4000} = \sqrt{\log 20000/4000} \approx 0.050 log ( 2 ⋅ 500/0.05 ) /4000 = log 20000/4000 ≈ 0.050 で、確率 95% 以上で 500 個すべての 検証誤差が 真の 誤り率から ± 0.050 \pm 0.050 ± 0.050 以内に ある。選ばれた 候補 k ^ \hat{k} k ^ に ついても R ( k ^ ) ≤ 0.180 + 0.050 R(\hat{k}) \leq 0.180 + 0.050 R ( k ^ ) ≤ 0.180 + 0.050 までしか 保証できず、さらに R ( k ^ ) ≤ min k R ( k ) + 2 ⋅ 0.050 R(\hat{k}) \leq \min_kR(k) + 2 \cdot 0.050 R ( k ^ ) ≤ min k R ( k ) + 2 ⋅ 0.050 である。(3) 検証データで 最小の ものを 選んだので、その 検証誤差は 楽観的に 偏っている(第1章の 命題 1.23「選択に よる 楽観的な 偏り」)。±1.0% と いう 幅には 根拠が なく(候補が 1 個でも 系 6.4 の 幅は 約 ±3%)、選択の 影響も 無視している。選んだ モデルを、選択に 使っていない 別の テストデータで 1 回だけ評価し、その 誤り率と 幅(たとえば 系 6.4)を 報告すべきである。
問題 6.5 ★ ★ 平面上の 座標軸に 平行な 長方形 [ a 1 , b 1 ] × [ a 2 , b 2 ] [a_1, b_1] \times [a_2, b_2] [ a 1 , b 1 ] × [ a 2 , b 2 ] (a i ≤ b i a_i \leq b_i a i ≤ b i )の 内側を 1 1 1 と する 分類器全体の VC 次元が 4 である ことを 示せ。
解答
4 点 ( 1 , 0 ) , ( − 1 , 0 ) , ( 0 , 1 ) , ( 0 , − 1 ) (1, 0), (-1, 0), (0, 1), (0, -1) ( 1 , 0 ) , ( − 1 , 0 ) , ( 0 , 1 ) , ( 0 , − 1 ) を 粉砕できる :ラベル 1 1 1 を つけたい 点の 集合 T T T が 空でなければ、 T T T を 含む 最小の 長方形(各座標の 最小値から 最大値まで)を とる。 T T T に ない点は、 T T T の 点の どれよりも、ある 座標で その点の 方向に 飛び出しているので、この 長方形に 入らない(たとえば ( 1 , 0 ) ∉ T (1, 0) \notin T ( 1 , 0 ) ∈ / T なら、T T T の 点の 第 1 座標は 0 0 0 以下)。T T T が 空なら、4 点から 離れた 小さな 長方形を とればよい。一方、5 点では、第 1 座標が 最小の 点・ 最大の 点、第 2 座標が 最小の 点・ 最大の 点を 1 つずつ 選ぶ(重複しても よい)と 高々 4 点で、選ばれなかった 点 q q q が ある。選んだ点に 1 1 1 、q q q に 0 0 0 を つける ラベルは 実現できない。選んだ点を 含む長方形は、各座標で 5 点全体の 最小値から 最大値までを 含むので、 q q q も 含むからである。
問題 6.6 ★ ★ (1) 関数が 1 つだけの 集合 G = { g } \mathcal{G} = \lbrace g \rbrace G = { g } の 経験ラデマッハ複雑度は 0 0 0 である ことを 示せ。(2) 相異なる n n n 点の 上の すべての { 0 , 1 } \lbrace 0, 1 \rbrace { 0 , 1 } 値関数の 集合では 1 / 2 1/2 1/2 である ことを 示せ。(3) 例 6.11 の 半直線の 集合に ついて、2 点 x 1 < x 2 x_1 < x_2 x 1 < x 2 での 経験ラデマッハ複雑度を 求めよ。
解答
(1) E σ [ 1 n ∑ i σ i g ( z i ) ] = 1 n ∑ i E [ σ i ] g ( z i ) = 0 E_\sigma[\frac{1}{n}\sum_i\sigma_ig(z_i)] = \frac{1}{n}\sum_iE[\sigma_i]g(z_i) = 0 E σ [ n 1 ∑ i σ i g ( z i )] = n 1 ∑ i E [ σ i ] g ( z i ) = 0 。(2) 各 σ \sigma σ に ついて、 σ i = 1 \sigma_i = 1 σ i = 1 の 点で g = 1 g = 1 g = 1 、それ以外で g = 0 g = 0 g = 0 と するのが 最大で、値は 1 n ∣ { i ∣ σ i = 1 } ∣ \frac{1}{n}\lvert \lbrace i \mid \sigma_i = 1 \rbrace \rvert n 1 ∣{ i ∣ σ i = 1 }∣ 。その 期待値は 1 / 2 1/2 1/2 。(3) 実現できる ラベルは ( 0 , 0 ) , ( 0 , 1 ) , ( 1 , 1 ) (0, 0), (0, 1), (1, 1) ( 0 , 0 ) , ( 0 , 1 ) , ( 1 , 1 ) である。σ = ( 1 , 1 ) , ( 1 , − 1 ) , ( − 1 , 1 ) , ( − 1 , − 1 ) \sigma = (1, 1), (1, -1), (-1, 1), (-1, -1) σ = ( 1 , 1 ) , ( 1 , − 1 ) , ( − 1 , 1 ) , ( − 1 , − 1 ) の ときの max g 1 2 ( σ 1 g 1 + σ 2 g 2 ) \max_g\frac{1}{2}(\sigma_1g_1 + \sigma_2g_2) max g 2 1 ( σ 1 g 1 + σ 2 g 2 ) は、それぞれ 1 , 0 , 1 / 2 , 0 1, 0, 1/2, 0 1 , 0 , 1/2 , 0 なので、平均は 3 / 8 3/8 3/8 で、(2) の 1 / 2 1/2 1/2 より 小さい。
問題 6.7 ★ 「新しい 手法が 30 個の 公開データセットの うち 25 個で 既存の 手法より 良かった。しかし ノーフリーランチ定理に よれば、すべての 手法は 平均すれば 同じなので、この 結果に 意味は ない」と いう 主張は 正しいか。
解答
正しくない。ノーフリーランチ定理(命題 6.20・定理 6.21)は、すべての ラベル関数を 同じ 重みで 平均した 場合や、手法ごとに 都合の 悪い 分布を 選んだ 場合の 主張であり、現実の データセットが そのように 選ばれているわけではない。30 個の データセットでの 優位は、それらと 似た 性質の 問題で 新しい 手法の 仮定が 合っている ことの 証拠に なる(統計的な 有意性や、データセットの 選び方の 偏りは 別に 検討が 要る)。定理から 言えるのは、この 結果が 性質の 異なる 種類の 問題での 優位を 保証しない ことである。
問題 6.8 ★ ★ ★ (サウアーの 補題の 証明)有限集合 C C C と、F \mathcal{F} F が 粉砕する C C C の 部分集合の 個数 s ( C ) = ∣ { B ⊂ C ∣ F は B を粉砕する } ∣ s(C) = \lvert \lbrace B \subset C \mid \mathcal{F} \text{ は } B \text{ を粉砕する} \rbrace \rvert s ( C ) = ∣{ B ⊂ C ∣ F は B を粉砕する }∣ に ついて、 ∣ F C ∣ ≤ s ( C ) \lvert \mathcal{F}_C \rvert \leq s(C) ∣ F C ∣ ≤ s ( C ) を 示し、サウアーの 補題の 前半を 導け(空 集合は、 F \mathcal{F} F が 空でなければ 粉砕されると みなす)。
解答
∣ C ∣ = m \lvert C \rvert = m ∣ C ∣ = m に ついての 帰納法で、すべての F \mathcal{F} F に ついて 同時に 示す。 m = 0 m = 0 m = 0 なら 両辺は 1 1 1 である(F \mathcal{F} F が 空なら 両辺とも 0 0 0 )。C = { c 1 , … , c m } C = \lbrace c_1, \dots, c_m \rbrace C = { c 1 , … , c m } 、C ′ = { c 2 , … , c m } C' = \lbrace c_2, \dots, c_m \rbrace C ′ = { c 2 , … , c m } とし、
Y 0 = { y ∈ { 0 , 1 } m − 1 ∣ ( 0 , y ) ∈ F C または ( 1 , y ) ∈ F C } , Y 1 = { y ∣ ( 0 , y ) ∈ F C かつ ( 1 , y ) ∈ F C } Y_0 = \lbrace y \in \lbrace 0, 1 \rbrace^{m-1} \mid (0, y) \in \mathcal{F}_C \text{ または } (1, y) \in \mathcal{F}_C \rbrace, \qquad Y_1 = \lbrace y \mid (0, y) \in \mathcal{F}_C \text{ かつ } (1, y) \in \mathcal{F}_C \rbrace Y 0 = { y ∈ { 0 , 1 } m − 1 ∣ ( 0 , y ) ∈ F C または ( 1 , y ) ∈ F C } , Y 1 = { y ∣ ( 0 , y ) ∈ F C かつ ( 1 , y ) ∈ F C }
と すると ∣ F C ∣ = ∣ Y 0 ∣ + ∣ Y 1 ∣ \lvert \mathcal{F}_C \rvert = \lvert Y_0 \rvert + \lvert Y_1 \rvert ∣ F C ∣ = ∣ Y 0 ∣ + ∣ Y 1 ∣ である。Y 0 = F C ′ Y_0 = \mathcal{F}_{C'} Y 0 = F C ′ なので、帰納法の 仮定より ∣ Y 0 ∣ ≤ s ( C ′ ) \lvert Y_0 \rvert \leq s(C') ∣ Y 0 ∣ ≤ s ( C ′ ) で、これは c 1 c_1 c 1 を 含まない、粉砕される C C C の 部分集合の 個数である。次に F ′ = { f ∈ F ∣ c 1 \mathcal{F}' = \lbrace f \in \mathcal{F} \mid c_1 F ′ = { f ∈ F ∣ c 1 での 値だけが 異なり C ′ C' C ′ では 一致する f ′ ∈ F f' \in \mathcal{F} f ′ ∈ F が ある } \rbrace } と すると Y 1 = F C ′ ′ Y_1 = \mathcal{F}'_{C'} Y 1 = F C ′ ′ なので、帰納法の 仮定より ∣ Y 1 ∣ \lvert Y_1 \rvert ∣ Y 1 ∣ は F ′ \mathcal{F}' F ′ が 粉砕する C ′ C' C ′ の 部分集合 B B B の 個数以下である。 F ′ \mathcal{F}' F ′ が B B B を 粉砕すれば、 B B B の 各ラベルを 実現する f ∈ F ′ f \in \mathcal{F}' f ∈ F ′ と その 相手 f ′ f' f ′ に より c 1 c_1 c 1 の 値も 両方実現できるので、 F \mathcal{F} F は B ∪ { c 1 } B \cup \lbrace c_1 \rbrace B ∪ { c 1 } を 粉砕する。よって ∣ Y 1 ∣ \lvert Y_1 \rvert ∣ Y 1 ∣ は c 1 c_1 c 1 を 含む、粉砕される C C C の 部分集合の 個数以下で、合わせて ∣ F C ∣ ≤ s ( C ) \lvert \mathcal{F}_C \rvert \leq s(C) ∣ F C ∣ ≤ s ( C ) を 得る。 VCdim ( F ) = d \operatorname{VCdim}(\mathcal{F}) = d VCdim ( F ) = d なら 粉砕される 集合の 大きさは d d d 以下なので s ( C ) ≤ ∑ i = 0 d ( m i ) s(C) \leq \sum_{i=0}^{d}\binom{m}{i} s ( C ) ≤ ∑ i = 0 d ( i m ) で、C C C に ついて 最大を とれば サウアーの 補題の 前半に なる。