この 章の 目標
教師あり学習を リスク最小化と して 定式化し、損失・リスク・経験リスクを 区別して 使える
二乗損失では 条件付き期待値が、0-1 損失では 事後確率が 最大の クラスを 選ぶ分類器が ベイズ最適である ことを 証明できる
経験リスク最小化の 誤差を 近似誤差と 推定誤差に 分け、仮説集合の 大きさとの 関係を 説明できる
どの 期待値を とるかを 明示して バイアス–バリアンス分解を 証明し、過学習と 正則化を 式で 説明できる
交差検証が 何を 推定しているかを 説明し、データ漏洩が 評価を 歪める 理由を 指摘できる
前提 :22-statistics 第1章 (確率変数・期待値・条件付き分布)。1.5 節の 例では 02-linear-algebra 第7章 の 直交射影と 最小二乗法を 使う。推定量の バイアス–バリアンス分解( 22-statistics 第3章 定理 3.3)と 比べると よい。
商品の 翌日の 販売数を 予測する、迷惑メールを 判定する、製品の 画像から 傷を 見つける ――機械学習の 多くの 場面は、入力 x x x から 出力 y y y を 当てる 規則 f f f を、過去の 例 ( x 1 , y 1 ) , … , ( x n , y n ) (x_1, y_1), \dots, (x_n, y_n) ( x 1 , y 1 ) , … , ( x n , y n ) から 作ると いう 同じ 形を している。目標は 過去の 例を よく 説明する ことではなく、 これから 来る 新しい 例 で よく 当てる ことである。過去の 例を 丸暗記すれば 過去の 例は すべて 当たるが、将来の 予測の 役には 立たない。
本章では、データが 同じ 未知の 確率分布から 独立に 生まれると 仮定して「よく 当たる」を 損失の 期待値(リスク)で 定式化し、最良の 予測(1.3 節)、データでの 平均を 小さく する 方法(1.4 節)、誤差の 構造と 過学習・正則化(1.5・1.6 節)、性能の 正直な 見積もり方(1.7 節)、その前提が 崩れる データ漏洩(1.8 節)を 順に 扱う。以後の 章は すべて この 枠組みの 上に 立つ。
1.1 学習問題の 設定
定義 1.1 (教師あり学習, supervised learning)X \mathcal{X} X を 入力の 集合、 Y \mathcal{Y} Y を 出力の 集合とし、 X × Y \mathcal{X} \times \mathcal{Y} X × Y 上の 未知の 確率分布 P P P (データ生成分布 )を 考える。 訓練データ (training data) S = ( ( x 1 , y 1 ) , … , ( x n , y n ) ) S = ((x_1, y_1), \dots, (x_n, y_n)) S = (( x 1 , y 1 ) , … , ( x n , y n )) は、P P P に 従う 独立同分 布(i.i.d.)の 確率変数 ( X 1 , Y 1 ) , … , ( X n , Y n ) (X_1, Y_1), \dots, (X_n, Y_n) ( X 1 , Y 1 ) , … , ( X n , Y n ) の 実現値である。写像 f : X → Y ^ f\colon \mathcal{X} \to \hat{\mathcal{Y}} f : X → Y ^ を 予測関数(仮説, hypothesis)と いい、 S S S から 予測関数 f ^ S \hat{f}_S f ^ S を 作る 規則を 学習アルゴリズムと いう。 Y = R \mathcal{Y} = \mathbb{R} Y = R の とき 回帰 (regression)、Y \mathcal{Y} Y が 有限集合の とき 分類 (classification) と いう。
Y ^ \hat{\mathcal{Y}} Y ^ は 予測値の 集合で、多くの 場合 Y \mathcal{Y} Y と 同じである。訓練データを 確率変数と みる ときも 同じ 記号 S S S を 使う。入力が ベクトル x ∈ R d x \in \mathbb{R}^d x ∈ R d の とき、その 成分を 特徴量 (feature) と いう。需要予測は 回帰、迷惑メールの 判定は 2 値分類、画像の 分類は 多クラス分類である。
教師なし学習 (unsupervised learning) では 出力が なく、 x 1 , … , x n x_1, \dots, x_n x 1 , … , x n だけから 構造を 見つける(クラスタリング・次元削減は 第3章 、密度推定は 第7章)。これらも 多くは 損失の 期待値の 最小化と して 書け、例えば k k k 平均法は E [ min j ∥ X − μ j ∥ 2 ] E[\min_j \lVert X - \mu_j \rVert^2] E [ min j ∥ X − μ j ∥ 2 ] を 中心 μ 1 , … , μ k \mu_1, \dots, \mu_k μ 1 , … , μ k に ついて、密度推定は E [ − log q ( X ) ] E[-\log q(X)] E [ − log q ( X )] を 密度 q q q に ついて 小さく する。
確率は 22-statistics 第1章 の 範囲で 扱う。 ( X , Y ) (X, Y) ( X , Y ) は 同時密度 p ( x , y ) p(x, y) p ( x , y ) を もつとし、 Y Y Y が 離散値の とき(分類)は y y y に ついての 積分を 和と 読む。現れる 期待値は すべて 存在するとし、可測性などの 細部には 立ち入らない(厳密な 扱いは 11-probability )。
1.2 損失関数と リスク
定義 1.2 (損失・リスク・経験リスク)関数 ℓ : Y × Y ^ → [ 0 , ∞ ) \ell\colon \mathcal{Y} \times \hat{\mathcal{Y}} \to [0, \infty) ℓ : Y × Y ^ → [ 0 , ∞ ) を 損失関数 (loss function) と いう。 ℓ ( y , y ^ ) \ell(y, \hat{y}) ℓ ( y , y ^ ) は、正解が y y y の ときに y ^ \hat{y} y ^ と 予測した 損失である。予測関数 f f f の リスク (risk) と、訓練データ S S S での 経験リスク (empirical risk) を
R ( f ) = E [ ℓ ( Y , f ( X ) ) ] , R ^ S ( f ) = 1 n ∑ i = 1 n ℓ ( y i , f ( x i ) ) R(f) = E[\ell(Y, f(X))], \qquad \hat{R}_S(f) = \frac{1}{n}\sum_{i=1}^{n} \ell(y_i, f(x_i)) R ( f ) = E [ ℓ ( Y , f ( X ))] , R ^ S ( f ) = n 1 i = 1 ∑ n ℓ ( y i , f ( x i ))
で 定める( ( X , Y ) ∼ P (X, Y) \sim P ( X , Y ) ∼ P )。R ( f ) R(f) R ( f ) を 汎化誤差 (generalization error)、R ^ S ( f ) \hat{R}_S(f) R ^ S ( f ) を 訓練誤差 (training error) とも いう。
例 1.3 (代表的な 損失関数)回帰では 二乗損失 ( y − y ^ ) 2 (y - \hat{y})^2 ( y − y ^ ) 2 や 外れ値に 強い 絶対損失 ∣ y − y ^ ∣ \lvert y - \hat{y} \rvert ∣ y − y ^ ∣ を 使う。分類の 0-1 損失 1 { y ≠ y ^ } \mathbf{1}\lbrace y \neq \hat{y} \rbrace 1 { y = y ^ } では R ( f ) = P ( Y ≠ f ( X ) ) R(f) = P(Y \neq f(X)) R ( f ) = P ( Y = f ( X )) が 誤分類率、 1 − R ( f ) 1 - R(f) 1 − R ( f ) が 正解率 (accuracy) である。誤りの 種類で 損得が 違うなら、見逃しの 損失 c F N c_{\mathrm{FN}} c FN と 誤警報の 損失 c F P c_{\mathrm{FP}} c FP を 別に 置く(問題 1.1)。交差エントロピー損失は 第2章、ヒンジ損失は 第4章で 扱う。
命題 1.4 (経験リスクの 不偏性)予測関数 f f f が 訓練データ S S S に よらずに 定まっている とき、 E [ R ^ S ( f ) ] = R ( f ) E[\hat{R}_S(f)] = R(f) E [ R ^ S ( f )] = R ( f ) である。さらに v = Var ( ℓ ( Y , f ( X ) ) ) < ∞ v = \operatorname{Var}(\ell(Y, f(X))) < \infty v = Var ( ℓ ( Y , f ( X ))) < ∞ ならば Var ( R ^ S ( f ) ) = v / n \operatorname{Var}(\hat{R}_S(f)) = v/n Var ( R ^ S ( f )) = v / n であり、任意の ε > 0 \varepsilon > 0 ε > 0 に ついて P ( ∣ R ^ S ( f ) − R ( f ) ∣ ≥ ε ) ≤ v / ( n ε 2 ) P(\lvert \hat{R}_S(f) - R(f) \rvert \geq \varepsilon) \leq v/(n\varepsilon^2) P (∣ R ^ S ( f ) − R ( f )∣ ≥ ε ) ≤ v / ( n ε 2 ) 。
証明. Z i = ℓ ( Y i , f ( X i ) ) Z_i = \ell(Y_i, f(X_i)) Z i = ℓ ( Y i , f ( X i )) は i.i.d. で、E [ Z i ] = R ( f ) E[Z_i] = R(f) E [ Z i ] = R ( f ) 、Var ( Z i ) = v \operatorname{Var}(Z_i) = v Var ( Z i ) = v である。期待値の 線形性と、独立な 確率変数の 和の 分散が 分散の 和である ことから 最初の 2 つが 従い、最後は チェビシェフの 不等式( 22-statistics 第1章 定理 1.25)である。□ \square □
注意
命題 1.4 は「f f f が S S S を 見る 前に 決まっている」ことを 仮定している。訓練データに 合わせて 作った f ^ S \hat{f}_S f ^ S の 訓練誤差は、汎化誤差より 小さく 出る(例 1.13、命題 1.18、問題 1.4)。 訓練誤差が 小さい ことは、よい モデルである ことを 意味しない。
1.3 ベイズ最適な 予測
分布 P P P が 完全に わかっていたら、どの 予測が 最良だろうか。答えは 損失関数に よって 変わる。
定義 1.5 (条件付き期待値・条件付きリスク)p X ( x ) = ∫ p ( x , y ) d y > 0 p_X(x) = \int p(x, y)\ dy > 0 p X ( x ) = ∫ p ( x , y ) d y > 0 と なる x x x に ついて、条件付き密度 p ( y ∣ x ) = p ( x , y ) / p X ( x ) p(y \mid x) = p(x, y)/p_X(x) p ( y ∣ x ) = p ( x , y ) / p X ( x ) に より E [ g ( X , Y ) ∣ X = x ] = ∫ g ( x , y ) p ( y ∣ x ) d y E[g(X, Y) \mid X = x] = \int g(x, y)p(y \mid x)\ dy E [ g ( X , Y ) ∣ X = x ] = ∫ g ( x , y ) p ( y ∣ x ) d y と 定める。 m ( x ) = E [ Y ∣ X = x ] m(x) = E[Y \mid X = x] m ( x ) = E [ Y ∣ X = x ] を 条件付き期待値 、v ( x ) = E [ ( Y − m ( x ) ) 2 ∣ X = x ] v(x) = E[(Y - m(x))^2 \mid X = x] v ( x ) = E [( Y − m ( x ) ) 2 ∣ X = x ] を 条件付き分散、 r ( c ∣ x ) = E [ ℓ ( Y , c ) ∣ X = x ] r(c \mid x) = E[\ell(Y, c) \mid X = x] r ( c ∣ x ) = E [ ℓ ( Y , c ) ∣ X = x ] を 条件付きリスクと いう。
命題 1.6 (全期待値の 公式) h ( x ) = E [ g ( X , Y ) ∣ X = x ] h(x) = E[g(X, Y) \mid X = x] h ( x ) = E [ g ( X , Y ) ∣ X = x ] と おくと E [ g ( X , Y ) ] = E [ h ( X ) ] E[g(X, Y)] = E[h(X)] E [ g ( X , Y )] = E [ h ( X )] 。特に 任意の f f f に ついて R ( f ) = E [ r ( f ( X ) ∣ X ) ] R(f) = E[r(f(X) \mid X)] R ( f ) = E [ r ( f ( X ) ∣ X )] 。
証明. 積分の 順序を 交換して(フビニの 定理)
E [ h ( X ) ] = ∬ g ( x , y ) p ( y ∣ x ) p X ( x ) d y d x = ∬ g ( x , y ) p ( x , y ) d y d x = E [ g ( X , Y ) ] E[h(X)] = \iint g(x, y)\,p(y \mid x)\,p_X(x)\, dy\, dx = \iint g(x, y)\,p(x, y)\, dy\, dx = E[g(X, Y)] E [ h ( X )] = ∬ g ( x , y ) p ( y ∣ x ) p X ( x ) d y d x = ∬ g ( x , y ) p ( x , y ) d y d x = E [ g ( X , Y )]
g ( x , y ) = ℓ ( y , f ( x ) ) g(x, y) = \ell(y, f(x)) g ( x , y ) = ℓ ( y , f ( x )) と すれば 後半を 得る( g ( x , y ) = y g(x, y) = y g ( x , y ) = y の 場合が 22-statistics 第1章 命題 1.12 の 前半である)。 □ \square □
定義 1.7 (ベイズ最適)R ∗ = inf f R ( f ) R^{\ast} = \inf_f R(f) R ∗ = inf f R ( f ) (すべての 予測関数に ついての 下限)を ベイズリスクと いい、 R ( f ∗ ) = R ∗ R(f^{\ast}) = R^{\ast} R ( f ∗ ) = R ∗ と なる f ∗ f^{\ast} f ∗ を ベイズ最適 (Bayes optimal) な 予測関数と いう。分類では ベイズ分類器 (Bayes classifier)、R ∗ R^{\ast} R ∗ を ベイズ誤り率と いう。
補題 1.8 (各点での 最小化)各 x x x に ついて f ∗ ( x ) f^{\ast}(x) f ∗ ( x ) が c ↦ r ( c ∣ x ) c \mapsto r(c \mid x) c ↦ r ( c ∣ x ) の 最小点ならば、 f ∗ f^{\ast} f ∗ は ベイズ最適であり、任意の f f f に ついて R ( f ) − R ( f ∗ ) = E [ r ( f ( X ) ∣ X ) − r ( f ∗ ( X ) ∣ X ) ] ≥ 0 R(f) - R(f^{\ast}) = E[r(f(X) \mid X) - r(f^{\ast}(X) \mid X)] \geq 0 R ( f ) − R ( f ∗ ) = E [ r ( f ( X ) ∣ X ) − r ( f ∗ ( X ) ∣ X )] ≥ 0 。
証明. 命題 1.6 から 等式が 従い、期待値の 中身は 各 x x x で 0 0 0 以上である。□ \square □
定理 1.9 (二乗損失の ベイズ最適予測) E [ Y 2 ] < ∞ E[Y^2] < \infty E [ Y 2 ] < ∞ と する。 E [ f ( X ) 2 ] < ∞ E[f(X)^2] < \infty E [ f ( X ) 2 ] < ∞ を 満たす任意の f f f に ついて
E [ ( Y − f ( X ) ) 2 ] = E [ v ( X ) ] + E [ ( f ( X ) − m ( X ) ) 2 ] E[(Y - f(X))^2] = E[v(X)] + E[(f(X) - m(X))^2] E [( Y − f ( X ) ) 2 ] = E [ v ( X )] + E [( f ( X ) − m ( X ) ) 2 ]
が 成り立つ。したがって 条件付き期待値 m m m は ベイズ最適で、 R ∗ = E [ v ( X ) ] R^{\ast} = E[v(X)] R ∗ = E [ v ( X )] である。f f f が ベイズ最適である ことと E [ ( f ( X ) − m ( X ) ) 2 ] = 0 E[(f(X) - m(X))^2] = 0 E [( f ( X ) − m ( X ) ) 2 ] = 0 は 同値である。
証明. x x x と c ∈ R c \in \mathbb{R} c ∈ R を 固定すると、 E [ Y − m ( x ) ∣ X = x ] = 0 E[Y - m(x) \mid X = x] = 0 E [ Y − m ( x ) ∣ X = x ] = 0 だから
r ( c ∣ x ) = E [ ( Y − m ( x ) + m ( x ) − c ) 2 ∣ X = x ] = v ( x ) + 2 ( m ( x ) − c ) E [ Y − m ( x ) ∣ X = x ] + ( m ( x ) − c ) 2 = v ( x ) + ( m ( x ) − c ) 2 r(c \mid x) = E[(Y - m(x) + m(x) - c)^2 \mid X = x] = v(x) + 2(m(x) - c)\,E[Y - m(x) \mid X = x] + (m(x) - c)^2 = v(x) + (m(x) - c)^2 r ( c ∣ x ) = E [( Y − m ( x ) + m ( x ) − c ) 2 ∣ X = x ] = v ( x ) + 2 ( m ( x ) − c ) E [ Y − m ( x ) ∣ X = x ] + ( m ( x ) − c ) 2 = v ( x ) + ( m ( x ) − c ) 2
c = f ( x ) c = f(x) c = f ( x ) と おいて 命題 1.6 を 使えば よい( c = 0 c = 0 c = 0 の 場合から E [ Y 2 ] = E [ v ( X ) ] + E [ m ( X ) 2 ] E[Y^2] = E[v(X)] + E[m(X)^2] E [ Y 2 ] = E [ v ( X )] + E [ m ( X ) 2 ] なので 各項は 有限である)。 □ \square □
m ( X ) m(X) m ( X ) は Y Y Y を「X X X の 2 乗可積分な 関数全体」へ 直交射影した ものである(測度論での 一般形は 11-probability 第5章 定理 5.3)。例えば Y = g ( X ) + ε Y = g(X) + \varepsilon Y = g ( X ) + ε で 雑音 ε \varepsilon ε が X X X と 独立、平均 0 0 0 、分散 σ 2 \sigma^2 σ 2 なら、m = g m = g m = g 、R ∗ = σ 2 R^{\ast} = \sigma^2 R ∗ = σ 2 であり、真の 関数が わかっていても 雑音の 分の 誤差は 残る。同じ 計算は、二乗損失の ベイズ推定量が 事後平均である こと( 22-statistics 第7章 定理 7.10)にも 現れる。
定理 1.10 (0-1 損失の ベイズ分類器) Y = Y ^ = { 1 , … , K } \mathcal{Y} = \hat{\mathcal{Y}} = \lbrace 1, \dots, K \rbrace Y = Y ^ = { 1 , … , K } 、ℓ \ell ℓ を 0-1 損失とし、η k ( x ) = P ( Y = k ∣ X = x ) \eta_k(x) = P(Y = k \mid X = x) η k ( x ) = P ( Y = k ∣ X = x ) と おく。各 x x x で η f ∗ ( x ) ( x ) = max k η k ( x ) \eta_{f^{\ast}(x)}(x) = \max_k \eta_k(x) η f ∗ ( x ) ( x ) = max k η k ( x ) と なる(事後 確率が 最大の クラスを 選ぶ) f ∗ f^{\ast} f ∗ は ベイズ最適であり、 R ∗ = 1 − E [ max k η k ( X ) ] R^{\ast} = 1 - E[\max_k \eta_k(X)] R ∗ = 1 − E [ max k η k ( X )] である。
証明. r ( c ∣ x ) = P ( Y ≠ c ∣ X = x ) = 1 − η c ( x ) r(c \mid x) = P(Y \neq c \mid X = x) = 1 - \eta_c(x) r ( c ∣ x ) = P ( Y = c ∣ X = x ) = 1 − η c ( x ) は η c ( x ) \eta_c(x) η c ( x ) が 最大の c c c で 最小に なる。補題 1.8 と 命題 1.6 から 従う。 □ \square □
系 1.11 (2 値分類)Y = { 0 , 1 } \mathcal{Y} = \lbrace 0, 1 \rbrace Y = { 0 , 1 } 、η ( x ) = P ( Y = 1 ∣ X = x ) \eta(x) = P(Y = 1 \mid X = x) η ( x ) = P ( Y = 1 ∣ X = x ) と する。 f ∗ ( x ) = 1 { η ( x ) > 1 / 2 } f^{\ast}(x) = \mathbf{1}\lbrace \eta(x) > 1/2 \rbrace f ∗ ( x ) = 1 { η ( x ) > 1/2 } は ベイズ分類器で、 R ∗ = E [ min ( η ( X ) , 1 − η ( X ) ) ] R^{\ast} = E[\min(\eta(X), 1 - \eta(X))] R ∗ = E [ min ( η ( X ) , 1 − η ( X ))] 。さらに 任意の f : X → { 0 , 1 } f\colon \mathcal{X} \to \lbrace 0, 1 \rbrace f : X → { 0 , 1 } に ついて
R ( f ) − R ∗ = E [ ∣ 2 η ( X ) − 1 ∣ 1 { f ( X ) ≠ f ∗ ( X ) } ] R(f) - R^{\ast} = E\left[\lvert 2\eta(X) - 1 \rvert\, \mathbf{1}\lbrace f(X) \neq f^{\ast}(X) \rbrace\right] R ( f ) − R ∗ = E [ ∣ 2 η ( X ) − 1 ∣ 1 { f ( X ) = f ∗ ( X )} ]
証明. r ( 0 ∣ x ) = η ( x ) r(0 \mid x) = \eta(x) r ( 0 ∣ x ) = η ( x ) 、r ( 1 ∣ x ) = 1 − η ( x ) r(1 \mid x) = 1 - \eta(x) r ( 1 ∣ x ) = 1 − η ( x ) なので r ( f ∗ ( x ) ∣ x ) = min ( η ( x ) , 1 − η ( x ) ) r(f^{\ast}(x) \mid x) = \min(\eta(x), 1 - \eta(x)) r ( f ∗ ( x ) ∣ x ) = min ( η ( x ) , 1 − η ( x )) で、f ( x ) ≠ f ∗ ( x ) f(x) \neq f^{\ast}(x) f ( x ) = f ∗ ( x ) なら その 差は max − min = ∣ 2 η ( x ) − 1 ∣ \max - \min = \lvert 2\eta(x) - 1 \rvert max − min = ∣ 2 η ( x ) − 1 ∣ 、f ( x ) = f ∗ ( x ) f(x) = f^{\ast}(x) f ( x ) = f ∗ ( x ) なら 0 0 0 である。補題 1.8 から 従う。 □ \square □
系 1.11 の 等式は、 η ( x ) \eta(x) η ( x ) が 1 / 2 1/2 1/2 に 近い(本当に 紛らわしい)点での 誤りは ほとんど 損に ならない ことを 示している。
例 1.12 (2 つの 正規分布) P ( Y = 0 ) = P ( Y = 1 ) = 1 / 2 P(Y = 0) = P(Y = 1) = 1/2 P ( Y = 0 ) = P ( Y = 1 ) = 1/2 とし、X X X の 条件付き分布を Y = 0 Y = 0 Y = 0 の とき N ( 0 , 1 ) N(0, 1) N ( 0 , 1 ) 、Y = 1 Y = 1 Y = 1 の とき N ( 2 , 1 ) N(2, 1) N ( 2 , 1 ) と する。 φ ( t ) = e − t 2 / 2 / 2 π \varphi(t) = e^{-t^2/2}/\sqrt{2\pi} φ ( t ) = e − t 2 /2 / 2 π と おくと、ベイズの 定理より
log η ( x ) 1 − η ( x ) = log φ ( x − 2 ) φ ( x ) = x 2 − ( x − 2 ) 2 2 = 2 x − 2 , η ( x ) = 1 1 + e − ( 2 x − 2 ) \log\frac{\eta(x)}{1 - \eta(x)} = \log\frac{\varphi(x - 2)}{\varphi(x)} = \frac{x^2 - (x - 2)^2}{2} = 2x - 2, \qquad \eta(x) = \frac{1}{1 + e^{-(2x - 2)}} log 1 − η ( x ) η ( x ) = log φ ( x ) φ ( x − 2 ) = 2 x 2 − ( x − 2 ) 2 = 2 x − 2 , η ( x ) = 1 + e − ( 2 x − 2 ) 1
なので、ベイズ分類器は「x > 1 x > 1 x > 1 なら 1 1 1 」である。標準正規分布の 分布関数を Φ \Phi Φ と すると、 R ∗ = 1 2 P ( X > 1 ∣ Y = 0 ) + 1 2 P ( X ≤ 1 ∣ Y = 1 ) = Φ ( − 1 ) ≈ 0.1587 R^{\ast} = \frac{1}{2}P(X > 1 \mid Y = 0) + \frac{1}{2}P(X \leq 1 \mid Y = 1) = \Phi(-1) \approx 0.1587 R ∗ = 2 1 P ( X > 1 ∣ Y = 0 ) + 2 1 P ( X ≤ 1 ∣ Y = 1 ) = Φ ( − 1 ) ≈ 0.1587 。分布が 重なっているので、最良の 分類器でも 約 16% は 誤る。 η ( x ) \eta(x) η ( x ) が「x x x の 1 次式を ロジスティック関数に 入れた 形」である こと(共分散行列が 共通の 多変量正規分布でも 同様:問題 1.3)は、第2章の ロジスティック回帰の 動機に なる。
ヒント
実務では
損失関数は 計算しやすさではなく、予測を 使って 下す 判断の 損得から 決める。在庫の 発注量なら、品切れ 1 個の 損失 c u c_u c u と 売れ残り 1 個の 損失 c o c_o c o から、需要の 平均ではなく c u / ( c u + c o ) c_u/(c_u + c_o) c u / ( c u + c o ) 分位点が 最適に なる(問題 1.2)。誤りの 種類で 損失が 違う 分類では、 η ( x ) \eta(x) η ( x ) を 1 / 2 1/2 1/2 ではなく c F P / ( c F P + c F N ) c_{\mathrm{FP}}/(c_{\mathrm{FP}} + c_{\mathrm{FN}}) c FP / ( c FP + c FN ) と 比べる(問題 1.1)。正解率の 最大化が 目的に 合っているかは、いつも 確かめる 必要が ある。
1.4 経験リスク最小化
P P P は 未知なので m m m や η k \eta_k η k は 計算できない。そこで リスクの 代わりに 経験リスクを 小さく する。ただし、どんな 関数でも よいと すると 意味が ない。
例 1.13 (丸暗記)x 1 , … , x n x_1, \dots, x_n x 1 , … , x n が 相異なる とき、 f ^ S ( x i ) = y i \hat{f}_S(x_i) = y_i f ^ S ( x i ) = y i 、それ以外では f ^ S ( x ) = 0 \hat{f}_S(x) = 0 f ^ S ( x ) = 0 と すると R ^ S ( f ^ S ) = 0 \hat{R}_S(\hat{f}_S) = 0 R ^ S ( f ^ S ) = 0 だが、X X X が 密度を もてば P ( X ∈ { x 1 , … , x n } ) = 0 P(X \in \lbrace x_1, \dots, x_n \rbrace) = 0 P ( X ∈ { x 1 , … , x n }) = 0 なので R ( f ^ S ) = E [ ℓ ( Y , 0 ) ] R(\hat{f}_S) = E[\ell(Y, 0)] R ( f ^ S ) = E [ ℓ ( Y , 0 )] であり、常に 0 0 0 と 予測するのと 変わらない。
定義 1.14 (経験リスク最小化)予測関数の 集合 F \mathcal{F} F を 仮説集合 (hypothesis class) または モデルと いう。 R ^ S \hat{R}_S R ^ S を F \mathcal{F} F 上で 最小に する f ^ S ∈ F \hat{f}_S \in \mathcal{F} f ^ S ∈ F を 選ぶ方法を 経験リスク最小化 (empirical risk minimization, ERM) と いう(最小点が 存在する 場合)。
例えば F = { x ↦ w ⊤ x + b } \mathcal{F} = \lbrace x \mapsto w^{\top}x + b \rbrace F = { x ↦ w ⊤ x + b } と 二乗損失の ERM は 線形回帰の 最小二乗法である(第2章。 A ⊤ A^{\top} A ⊤ は 転置で、 02-linear-algebra の t A {}^tA t A と 同じ もの)。確率モデル q θ ( y ∣ x ) q_\theta(y \mid x) q θ ( y ∣ x ) に ついて 損失を − log q θ ( y ∣ x ) -\log q_\theta(y \mid x) − log q θ ( y ∣ x ) とした ERM は 最尤推定である( 22-statistics 第3章 定義 3.9。本科目の 第7章でも 扱う)。0-1 損失の ERM は、線形分類器(超 平面に よる 分類)に 限っても 計算が 難しい。訓練データが 線形分離できる 場合は 線形計画法で 解けるが、線形分離できるとは 限らない データで 誤分類の 数を 最小に する 超平面を 求める 問題は、次元 d d d も 入力の 大きさに 含めると NP 困難であることが 知られている(参考文献の Shalev-Shwartz–Ben-David 第9章。NP 困難の 意味は 23-optimization 第7章 )。0-1 損失は 凸でもない。そこで 凸な 代わりの 損失(第2章の ロジスティック損失、第4章の ヒンジ損失)を 使う。
R F = inf f ∈ F R ( f ) R_{\mathcal{F}} = \inf_{f \in \mathcal{F}} R(f) R F = inf f ∈ F R ( f ) と おく。
命題 1.15 (近似誤差と 推定誤差) ERM の 出力 f ^ S \hat{f}_S f ^ S に ついて、 R ( f ^ S ) − R ∗ = ( R ( f ^ S ) − R F ) + ( R F − R ∗ ) R(\hat{f}_S) - R^{\ast} = (R(\hat{f}_S) - R_{\mathcal{F}}) + (R_{\mathcal{F}} - R^{\ast}) R ( f ^ S ) − R ∗ = ( R ( f ^ S ) − R F ) + ( R F − R ∗ ) の 第 1 項を 推定誤差 、第 2 項を 近似誤差と いう。推定誤差は 次を 満たす。
0 ≤ R ( f ^ S ) − R F ≤ 2 sup f ∈ F ∣ R ^ S ( f ) − R ( f ) ∣ 0 \leq R(\hat{f}_S) - R_{\mathcal{F}} \leq 2\sup_{f \in \mathcal{F}}\lvert \hat{R}_S(f) - R(f) \rvert 0 ≤ R ( f ^ S ) − R F ≤ 2 f ∈ F sup ∣ R ^ S ( f ) − R ( f )∣
証明. f ^ S ∈ F \hat{f}_S \in \mathcal{F} f ^ S ∈ F より 左の 不等式が 成り立つ。右辺の 上限を 2 Δ 2\Delta 2Δ と おく。任意の f ∈ F f \in \mathcal{F} f ∈ F に ついて R ^ S ( f ^ S ) ≤ R ^ S ( f ) \hat{R}_S(\hat{f}_S) \leq \hat{R}_S(f) R ^ S ( f ^ S ) ≤ R ^ S ( f ) (ERM)だから
R ( f ^ S ) − R ( f ) = ( R ( f ^ S ) − R ^ S ( f ^ S ) ) + ( R ^ S ( f ^ S ) − R ^ S ( f ) ) + ( R ^ S ( f ) − R ( f ) ) ≤ Δ + 0 + Δ R(\hat{f}_S) - R(f) = \left(R(\hat{f}_S) - \hat{R}_S(\hat{f}_S)\right) + \left(\hat{R}_S(\hat{f}_S) - \hat{R}_S(f)\right) + \left(\hat{R}_S(f) - R(f)\right) \leq \Delta + 0 + \Delta R ( f ^ S ) − R ( f ) = ( R ( f ^ S ) − R ^ S ( f ^ S ) ) + ( R ^ S ( f ^ S ) − R ^ S ( f ) ) + ( R ^ S ( f ) − R ( f ) ) ≤ Δ + 0 + Δ
f f f に ついて 上限を とればよい。 □ \square □
近似誤差は F \mathcal{F} F を 大きく する ほど 小さくなるが、一様なずれ Δ \Delta Δ は F \mathcal{F} F が 大きい ほど 大きくなりやすい(例 1.13 は その 極端な 場合)。 Δ \Delta Δ を F \mathcal{F} F の 複雑さ(要素の 数や VC 次元)で 評価するのが 第6章の 学習理論である。
1.5 汎化誤差と バイアス–バリアンス分解
R ( f ^ S ) R(\hat{f}_S) R ( f ^ S ) は、S S S を 固定して S S S と 独立な 新しい ( X , Y ) ∼ P (X, Y) \sim P ( X , Y ) ∼ P に ついて 損失の 期待値を とった もので、 S S S に よって 変わる 確率変数である。訓練データに ついての 期待値を E S E_S E S と 書くと、 E S [ R ( f ^ S ) ] E_S[R(\hat{f}_S)] E S [ R ( f ^ S )] は「この 学習アルゴリズムで n n n 個から 学習した ときの 平均的な 汎化誤差」であり、二乗損失では 3 つに 分けられる。
定理 1.16 (バイアス–バリアンス分解, bias–variance decomposition)二乗損失を 考える。入力 x x x を 固定し、 Y x Y_x Y x を「X = x X = x X = x の ときの Y Y Y の 条件付き分布」に 従い訓練データ S S S と 独立な 確率変数( x x x での 新しい 観測)と する。 E [ Y x 2 ] < ∞ E[Y_x^2] < \infty E [ Y x 2 ] < ∞ 、E S [ f ^ S ( x ) 2 ] < ∞ E_S[\hat{f}_S(x)^2] < \infty E S [ f ^ S ( x ) 2 ] < ∞ とし、m ( x ) = E [ Y x ] m(x) = E[Y_x] m ( x ) = E [ Y x ] 、v ( x ) = Var ( Y x ) v(x) = \operatorname{Var}(Y_x) v ( x ) = Var ( Y x ) 、f ˉ ( x ) = E S [ f ^ S ( x ) ] \bar{f}(x) = E_S[\hat{f}_S(x)] f ˉ ( x ) = E S [ f ^ S ( x )] と おくと、 Y x Y_x Y x と S S S の 両方に ついて 期待値を とって
E [ ( Y x − f ^ S ( x ) ) 2 ] = v ( x ) ⏟ 雑音 + ( f ˉ ( x ) − m ( x ) ) 2 ⏟ バイアスの 2 乗 + E S [ ( f ^ S ( x ) − f ˉ ( x ) ) 2 ] ⏟ バリアンス E\left[(Y_x - \hat{f}_S(x))^2\right] = \underbrace{v(x)}_{\text{雑音}} + \underbrace{(\bar{f}(x) - m(x))^2}_{\text{バイアスの 2 乗}} + \underbrace{E_S\left[(\hat{f}_S(x) - \bar{f}(x))^2\right]}_{\text{バリアンス}} E [ ( Y x − f ^ S ( x ) ) 2 ] = 雑音 v ( x ) + バイアスの 2 乗 ( f ˉ ( x ) − m ( x ) ) 2 + バリアンス E S [ ( f ^ S ( x ) − f ˉ ( x ) ) 2 ]
証明. A = Y x − m ( x ) A = Y_x - m(x) A = Y x − m ( x ) 、B = m ( x ) − f ˉ ( x ) B = m(x) - \bar{f}(x) B = m ( x ) − f ˉ ( x ) 、C = f ˉ ( x ) − f ^ S ( x ) C = \bar{f}(x) - \hat{f}_S(x) C = f ˉ ( x ) − f ^ S ( x ) と おくと Y x − f ^ S ( x ) = A + B + C Y_x - \hat{f}_S(x) = A + B + C Y x − f ^ S ( x ) = A + B + C で、B B B は 定数、 E [ A ] = E [ C ] = 0 E[A] = E[C] = 0 E [ A ] = E [ C ] = 0 。A A A は Y x Y_x Y x だけの、C C C は S S S だけの 関数で 両者は 独立だから E [ A C ] = E [ A ] E [ C ] = 0 E[AC] = E[A]E[C] = 0 E [ A C ] = E [ A ] E [ C ] = 0 。E [ A B ] = B E [ A ] = 0 E[AB] = BE[A] = 0 E [ A B ] = B E [ A ] = 0 、E [ B C ] = B E [ C ] = 0 E[BC] = BE[C] = 0 E [ B C ] = B E [ C ] = 0 なので E [ ( A + B + C ) 2 ] = E [ A 2 ] + B 2 + E [ C 2 ] E[(A + B + C)^2] = E[A^2] + B^2 + E[C^2] E [( A + B + C ) 2 ] = E [ A 2 ] + B 2 + E [ C 2 ] 。□ \square □
系 1.17 テスト点 ( X , Y ) ∼ P (X, Y) \sim P ( X , Y ) ∼ P が S S S と 独立ならば、 X X X の 周辺分布に ついての 期待値を E X E_X E X 、Var S ( f ^ S ( x ) ) = E S [ ( f ^ S ( x ) − f ˉ ( x ) ) 2 ] \operatorname{Var}_S(\hat{f}_S(x)) = E_S[(\hat{f}_S(x) - \bar{f}(x))^2] Var S ( f ^ S ( x )) = E S [( f ^ S ( x ) − f ˉ ( x ) ) 2 ] と して
E S [ R ( f ^ S ) ] = E X [ v ( X ) ] + E X [ ( f ˉ ( X ) − m ( X ) ) 2 ] + E X [ Var S ( f ^ S ( X ) ) ] E_S[R(\hat{f}_S)] = E_X[v(X)] + E_X\left[(\bar{f}(X) - m(X))^2\right] + E_X\left[\operatorname{Var}_S(\hat{f}_S(X))\right] E S [ R ( f ^ S )] = E X [ v ( X )] + E X [ ( f ˉ ( X ) − m ( X ) ) 2 ] + E X [ Var S ( f ^ S ( X )) ]
証明. 独立性より、X = x X = x X = x のもとでの ( Y , S ) (Y, S) ( Y , S ) の 条件付き分布は「 Y x Y_x Y x の 分布と S S S の 分布の 積」なので、 E [ ( Y − f ^ S ( X ) ) 2 ∣ X = x ] E[(Y - \hat{f}_S(X))^2 \mid X = x] E [( Y − f ^ S ( X ) ) 2 ∣ X = x ] は 定理 1.16 の 左辺に 等しい。命題 1.6( Y Y Y の 代わりに 組 ( Y , S ) (Y, S) ( Y , S ) を 考える)から 従う。 □ \square □
注意
どの 期待値を とっているかに 注意する。 f ˉ ( x ) \bar{f}(x) f ˉ ( x ) は「同じ 大きさの 訓練データを 何度も 取り直して 学習した ときの、点 x x x での 予測の 平均」であり、 x x x に ついての 平均ではない。バリアンスも x x x を 固定して 訓練データを 取り直した ときの ばら つきである。したがって バイアスと バリアンスは 学習アルゴリズム・標本サイズ・分布の 性質であり、手元の 1 つの モデルの 性質ではない(学習が 乱数を 使うなら、その 乱数も S S S に 含める)。この 分解は 二乗損失に 特有で、0-1 損失では そのままの 形では 成り立たない。
入力を 固定すると、バイアスと バリアンスを 正確に 計算できる。入力 x 1 , … , x n x_1, \dots, x_n x 1 , … , x n を 固定して y i = m ( x i ) + ε i y_i = m(x_i) + \varepsilon_i y i = m ( x i ) + ε i (ε i \varepsilon_i ε i は 独立で 平均 0 0 0 、分散 σ 2 \sigma^2 σ 2 )とし、第 i i i 行が 特徴量 ϕ ( x i ) ⊤ ∈ R p \phi(x_i)^{\top} \in \mathbb{R}^p ϕ ( x i ) ⊤ ∈ R p (例えば ϕ ( x ) = ( 1 , x , … , x k ) \phi(x) = (1, x, \dots, x^k) ϕ ( x ) = ( 1 , x , … , x k ) )の 行列 Φ \Phi Φ (rank Φ = p \operatorname{rank}\Phi = p rank Φ = p )で 最小二乗法を 行うと、当てはめ値は y ^ = H y \hat{y} = Hy y ^ = H y 、H = Φ ( Φ ⊤ Φ ) − 1 Φ ⊤ H = \Phi(\Phi^{\top}\Phi)^{-1}\Phi^{\top} H = Φ ( Φ ⊤ Φ ) − 1 Φ ⊤ である(02-linear-algebra 第7章 定理 7.19)。m = ( m ( x 1 ) , … , m ( x n ) ) ⊤ m = (m(x_1), \dots, m(x_n))^{\top} m = ( m ( x 1 ) , … , m ( x n ) ) ⊤ と 書く。
命題 1.18 (最小二乗法の 訓練誤差の 楽観性) y ′ = m + ε ′ y' = m + \varepsilon' y ′ = m + ε ′ (ε ′ \varepsilon' ε ′ は ε \varepsilon ε と 独立で 同じ分布。同じ 入力での 新しい 観測)と すると
E [ 1 n ∥ y − y ^ ∥ 2 ] = 1 n ∥ ( I − H ) m ∥ 2 + σ 2 n − p n , E [ 1 n ∥ y ′ − y ^ ∥ 2 ] = σ 2 + 1 n ∥ ( I − H ) m ∥ 2 + σ 2 p n E\left[\tfrac{1}{n}\lVert y - \hat{y} \rVert^2\right] = \tfrac{1}{n}\lVert (I - H)m \rVert^2 + \sigma^2\,\tfrac{n - p}{n}, \qquad E\left[\tfrac{1}{n}\lVert y' - \hat{y} \rVert^2\right] = \sigma^2 + \tfrac{1}{n}\lVert (I - H)m \rVert^2 + \sigma^2\,\tfrac{p}{n} E [ n 1 ∥ y − y ^ ∥ 2 ] = n 1 ∥( I − H ) m ∥ 2 + σ 2 n n − p , E [ n 1 ∥ y ′ − y ^ ∥ 2 ] = σ 2 + n 1 ∥( I − H ) m ∥ 2 + σ 2 n p
である。特に、新しい 観測に 対する 誤差の 期待値は、訓練誤差の 期待値より 2 σ 2 p / n 2\sigma^2 p/n 2 σ 2 p / n だけ 大きい。
証明. H H H は Φ \Phi Φ の 列空間への 直交射影なので H ⊤ = H = H 2 H^{\top} = H = H^2 H ⊤ = H = H 2 (02-linear-algebra 第7章 命題 7.24)、tr H = tr ( ( Φ ⊤ Φ ) − 1 Φ ⊤ Φ ) = p \operatorname{tr}H = \operatorname{tr}((\Phi^{\top}\Phi)^{-1}\Phi^{\top}\Phi) = p tr H = tr (( Φ ⊤ Φ ) − 1 Φ ⊤ Φ ) = p である。また n n n 次正方行列 A A A に ついて E [ ε ⊤ A ε ] = ∑ i , j A i j E [ ε i ε j ] = σ 2 tr A E[\varepsilon^{\top}A\varepsilon] = \sum_{i, j}A_{ij}E[\varepsilon_i\varepsilon_j] = \sigma^2\operatorname{tr}A E [ ε ⊤ A ε ] = ∑ i , j A ij E [ ε i ε j ] = σ 2 tr A 。y − y ^ = ( I − H ) m + ( I − H ) ε y - \hat{y} = (I - H)m + (I - H)\varepsilon y − y ^ = ( I − H ) m + ( I − H ) ε で、( I − H ) ⊤ ( I − H ) = I − H (I - H)^{\top}(I - H) = I - H ( I − H ) ⊤ ( I − H ) = I − H 、交差項の 期待値は 0 0 0 なので、E ∥ y − y ^ ∥ 2 = ∥ ( I − H ) m ∥ 2 + σ 2 ( n − p ) E\lVert y - \hat{y} \rVert^2 = \lVert (I - H)m \rVert^2 + \sigma^2(n - p) E ∥ y − y ^ ∥ 2 = ∥( I − H ) m ∥ 2 + σ 2 ( n − p ) 。同様に y ′ − y ^ = ( I − H ) m + ε ′ − H ε y' - \hat{y} = (I - H)m + \varepsilon' - H\varepsilon y ′ − y ^ = ( I − H ) m + ε ′ − H ε で、独立性から 交差項の 期待値は 0 0 0 なので、E ∥ y ′ − y ^ ∥ 2 = ∥ ( I − H ) m ∥ 2 + n σ 2 + σ 2 tr ( H ⊤ H ) = ∥ ( I − H ) m ∥ 2 + n σ 2 + σ 2 p E\lVert y' - \hat{y} \rVert^2 = \lVert (I - H)m \rVert^2 + n\sigma^2 + \sigma^2\operatorname{tr}(H^{\top}H) = \lVert (I - H)m \rVert^2 + n\sigma^2 + \sigma^2 p E ∥ y ′ − y ^ ∥ 2 = ∥( I − H ) m ∥ 2 + n σ 2 + σ 2 tr ( H ⊤ H ) = ∥( I − H ) m ∥ 2 + n σ 2 + σ 2 p 。□ \square □
第 2 式は 定理 1.16 を テスト入力が x 1 , … , x n x_1, \dots, x_n x 1 , … , x n から 一様に 選ばれる 場合に 計算した もので、 σ 2 \sigma^2 σ 2 が 雑音、 1 n ∥ ( I − H ) m ∥ 2 \frac{1}{n}\lVert (I - H)m \rVert^2 n 1 ∥( I − H ) m ∥ 2 が バイアスの 2 乗の 平均( f ˉ ( x i ) = ( H m ) i \bar{f}(x_i) = (Hm)_i f ˉ ( x i ) = ( H m ) i )、σ 2 p / n \sigma^2 p/n σ 2 p / n が バリアンスの 平均( y ^ \hat{y} y ^ の 共分散行列 σ 2 H \sigma^2 H σ 2 H の 対角成分の 平均)である。
命題 1.18 で 使った 仮定は、新しい 観測も 同じ 入力でとること(固定計画)、雑音が 独立で 等分散である こと、使う 特徴量 Φ \Phi Φ が データを 見る 前に 決まっている こと( H H H が y y y に よらない こと)である。モデルが 正しい こと( m m m が Φ \Phi Φ の 列空間に 入る こと)は 使っていない。新しい 入力で 予測する とき(ランダム計画)は、モデルが 正しい 場合でも 訓練誤差との 差は 2 σ 2 p / n 2\sigma^2 p/n 2 σ 2 p / n 以上に なり、ふつうは それより 大きい(証明は 省く)。特徴量を 同じ データで 選んだ ときは H H H が y y y に よるので、この 式は そのままでは 使えない。同じ 計算は 22-statistics 第6章 命題 6.12 にも あり、マローズの C p C_p C p や AIC の 出発点に なっている。
例 1.19 (多項式の 次数) n = 20 n = 20 n = 20 、x i = ( i − 1 / 2 ) / 20 x_i = (i - 1/2)/20 x i = ( i − 1/2 ) /20 、m ( x ) = sin ( 2 π x ) m(x) = \sin(2\pi x) m ( x ) = sin ( 2 π x ) 、σ = 0.3 \sigma = 0.3 σ = 0.3 とし、次数 k k k の 多項式( p = k + 1 p = k + 1 p = k + 1 )を 当ては めると、命題 1.18 の 各項は 次の とおりである(誤差の 2 列は 期待値。計算機で 計算した 値)。
次数 k k k
バイアスの 2 乗
バリアンス
新しい 観測での 誤差
訓練誤差
0
0.5000
0.0045
0.5945
0.5855
1
0.1928
0.0090
0.2918
0.2738
3
0.0039
0.0180
0.1119
0.0759
5
0.0000
0.0270
0.1170
0.0630
9
0.0000
0.0450
0.1350
0.0450
19
0.0000
0.0900
0.1800
0.0000
(k = 5 k = 5 k = 5 の バイアスの 2 乗は 約 1.3 × 10 − 5 1.3 \times 10^{-5} 1.3 × 1 0 − 5 。)次数を 上げると バイアスは 減り、バリアンスは p p p に 比例して 増え、新しい 観測での 誤差は k = 3 k = 3 k = 3 で 最小に なる。訓練誤差は 単調に 減り、 k = 19 k = 19 k = 19 (p = n p = n p = n )では H = I H = I H = I と なって データを 完全に 通るので、訓練誤差だけを 見ると つねに 最も 高い 次数を 選んでしまう。表は 訓練データと 同じ 入力点での 誤差であり、点と 点の 間では 高い 次数の 多項式は 大きく 振動して、誤差は さらに 大きくなりうる。
誤差が パラメータの 数に 対して U 字形に なるのは 典型的な 振る 舞いだが、定理ではない。パラメータの 数 p p p が データの 数 n n n を 超える 領域で ノルム最小の 補間解(第2章の X + y X^{+}y X + y )を 選ぶと、 p ≈ n p \approx n p ≈ n の 付近で 大きくなった 誤差が、 p p p を 増やすに つれて 再び下がることがある( 二重降下 , double descent)。これは 多くの 実験で 観察されており、線形回帰などの 単純な モデルでは、どんな 条件のもとで 起こるか(いつでも 起こるわけではない)が 理論的にも 解析されている( 第6章 )。
1.6 過学習と 正則化
訓練誤差は 小さいのに 汎化誤差が 大きい 状態を 過学習 (overfitting)、モデルが 単純すぎて 両方とも 大きい 状態を 未学習 (underfitting) と いう。例 1.19 の k = 19 k = 19 k = 19 は 前者、 k = 0 , 1 k = 0, 1 k = 0 , 1 は 後者である。過学習は バリアンスが 大きい(訓練データの 偶然の ゆらぎに 予測が 引きずられる)ときに 起こり、仮説集合を 小さく するか、複雑な 予測関数に 罰則を 課す ことで 抑える。
定義 1.20 (正則化, regularization)関数 Ω : F → [ 0 , ∞ ) \Omega\colon \mathcal{F} \to [0, \infty) Ω : F → [ 0 , ∞ ) と λ > 0 \lambda > 0 λ > 0 に 対し、 R ^ S ( f ) + λ Ω ( f ) \hat{R}_S(f) + \lambda\Omega(f) R ^ S ( f ) + λ Ω ( f ) を F \mathcal{F} F 上で 最小に する f ^ λ \hat{f}_\lambda f ^ λ を 選ぶ方法を 正則化と いい、 Ω \Omega Ω を 正則化項(罰則項)、 λ \lambda λ を 正則化パラメータと いう。
線形モデル f ( x ) = w ⊤ x f(x) = w^{\top}x f ( x ) = w ⊤ x で Ω = ∥ w ∥ 2 \Omega = \lVert w \rVert^2 Ω = ∥ w ∥ 2 ならリッジ回帰、Ω = ∥ w ∥ 1 = ∑ j ∣ w j ∣ \Omega = \lVert w \rVert_1 = \sum_j\lvert w_j \rvert Ω = ∥ w ∥ 1 = ∑ j ∣ w j ∣ なら ラッソである(第2章)。ニューラルネットワークの 重み減衰( 第5章 )、再生核ヒルベルト空間の ノルムに よる 正則化( 第4章 )も 同じ 形を している。
命題 1.21 (正則化パラメータの 役割) f ^ λ \hat{f}_\lambda f ^ λ を 定義 1.20 の 最小点と する。
t = Ω ( f ^ λ ) t = \Omega(\hat{f}_\lambda) t = Ω ( f ^ λ ) と おくと、 f ^ λ \hat{f}_\lambda f ^ λ は「f ∈ F f \in \mathcal{F} f ∈ F 、Ω ( f ) ≤ t \Omega(f) \leq t Ω ( f ) ≤ t のもとで R ^ S ( f ) \hat{R}_S(f) R ^ S ( f ) を 最小に する」問題の 最小点でもある。
0 < λ < μ 0 < \lambda < \mu 0 < λ < μ ならば Ω ( f ^ λ ) ≥ Ω ( f ^ μ ) \Omega(\hat{f}_\lambda) \geq \Omega(\hat{f}_\mu) Ω ( f ^ λ ) ≥ Ω ( f ^ μ ) かつ R ^ S ( f ^ λ ) ≤ R ^ S ( f ^ μ ) \hat{R}_S(\hat{f}_\lambda) \leq \hat{R}_S(\hat{f}_\mu) R ^ S ( f ^ λ ) ≤ R ^ S ( f ^ μ ) 。
証明. (1) Ω ( f ) ≤ t \Omega(f) \leq t Ω ( f ) ≤ t なら、最小性より R ^ S ( f ) ≥ R ^ S ( f ^ λ ) + λ ( t − Ω ( f ) ) ≥ R ^ S ( f ^ λ ) \hat{R}_S(f) \geq \hat{R}_S(\hat{f}_\lambda) + \lambda(t - \Omega(f)) \geq \hat{R}_S(\hat{f}_\lambda) R ^ S ( f ) ≥ R ^ S ( f ^ λ ) + λ ( t − Ω ( f )) ≥ R ^ S ( f ^ λ ) 。(2) 最小性より R ^ S ( f ^ λ ) + λ Ω ( f ^ λ ) ≤ R ^ S ( f ^ μ ) + λ Ω ( f ^ μ ) \hat{R}_S(\hat{f}_\lambda) + \lambda\Omega(\hat{f}_\lambda) \leq \hat{R}_S(\hat{f}_\mu) + \lambda\Omega(\hat{f}_\mu) R ^ S ( f ^ λ ) + λ Ω ( f ^ λ ) ≤ R ^ S ( f ^ μ ) + λ Ω ( f ^ μ ) と、λ \lambda λ と μ \mu μ を 入れ替えた 不等式が 成り立つ。足すと ( μ − λ ) ( Ω ( f ^ μ ) − Ω ( f ^ λ ) ) ≤ 0 (\mu - \lambda)(\Omega(\hat{f}_\mu) - \Omega(\hat{f}_\lambda)) \leq 0 ( μ − λ ) ( Ω ( f ^ μ ) − Ω ( f ^ λ )) ≤ 0 で、これを 第 1 式に 戻すと R ^ S ( f ^ λ ) ≤ R ^ S ( f ^ μ ) \hat{R}_S(\hat{f}_\lambda) \leq \hat{R}_S(\hat{f}_\mu) R ^ S ( f ^ λ ) ≤ R ^ S ( f ^ μ ) 。□ \square □
λ \lambda λ を 大きく する ほど Ω \Omega Ω の 小さい「単純な」予測関数が 選ばれ、訓練誤差は 大きくなる。(1) の 逆向き(制約つき問題の 解が、ある λ ≥ 0 \lambda \geq 0 λ ≥ 0 の 罰則つき問題の 解に なる こと)は、凸な 問題では スレーター条件などのもとで ラグランジュ双対性から 従う( 23-optimization 第4章 定理 4.15)。正則化が バリアンスを 減らすしくみは 第2章で 計算する。 λ \lambda λ のように 学習の 前に 決める 量を ハイパーパラメータと いう。
1.7 訓練・検証・テストと 交差検証
汎化誤差は、学習に 使っていない データで 損失を 測って 見積もる。
命題 1.22 (テストデータに よる 評価)予測関数 f f f が、P P P から i.i.d. に とった テストデータ T = ( ( x j ′ , y j ′ ) ) j = 1 m T = ((x_j', y_j'))_{j=1}^{m} T = (( x j ′ , y j ′ ) ) j = 1 m と 独立に 作られているとし、 f f f を 作った データを 固定して 考える。損失が [ 0 , 1 ] [0, 1] [ 0 , 1 ] に 値を とるなら(0-1 損失など)、テスト誤差 R ^ T ( f ) = 1 m ∑ j ℓ ( y j ′ , f ( x j ′ ) ) \hat{R}_T(f) = \frac{1}{m}\sum_j \ell(y_j', f(x_j')) R ^ T ( f ) = m 1 ∑ j ℓ ( y j ′ , f ( x j ′ )) は E [ R ^ T ( f ) ] = R ( f ) E[\hat{R}_T(f)] = R(f) E [ R ^ T ( f )] = R ( f ) 、Var ( R ^ T ( f ) ) ≤ 1 4 m \operatorname{Var}(\hat{R}_T(f)) \leq \frac{1}{4m} Var ( R ^ T ( f )) ≤ 4 m 1 を 満たし、 P ( ∣ R ^ T ( f ) − R ( f ) ∣ ≥ ε ) ≤ 1 4 m ε 2 P(\lvert \hat{R}_T(f) - R(f) \rvert \geq \varepsilon) \leq \frac{1}{4m\varepsilon^2} P (∣ R ^ T ( f ) − R ( f )∣ ≥ ε ) ≤ 4 m ε 2 1 。
証明. f f f は T T T に よらないので 命題 1.4 が 使える。 [ 0 , 1 ] [0, 1] [ 0 , 1 ] に 値を とる Z Z Z は Z 2 ≤ Z Z^2 \leq Z Z 2 ≤ Z より Var ( Z ) ≤ E [ Z ] ( 1 − E [ Z ] ) ≤ 1 / 4 \operatorname{Var}(Z) \leq E[Z](1 - E[Z]) \leq 1/4 Var ( Z ) ≤ E [ Z ] ( 1 − E [ Z ]) ≤ 1/4 。□ \square □
m = 1000 m = 1000 m = 1000 なら 標準偏差は 0.016 0.016 0.016 以下で、0.05 0.05 0.05 以上 ずれる 確率は 0.1 0.1 0.1 以下である(第6章 の ヘフディングの 不等式なら 2 e − 2 m ε 2 ≈ 0.013 2e^{-2m\varepsilon^2} \approx 0.013 2 e − 2 m ε 2 ≈ 0.013 以下)。1000 件の テストデータで 正解率が 0.5 ポイント違うだけの モデルは、この 誤差に 埋もれて 見分けられない ことが 多い。
命題 1.23 (選択に よる 楽観的な 偏り) f 1 , … , f K f_1, \dots, f_K f 1 , … , f K を テストデータ T T T と 独立に 作られた 予測関数と すると、 E [ min k R ^ T ( f k ) ] ≤ min k R ( f k ) E[\min_k \hat{R}_T(f_k)] \leq \min_k R(f_k) E [ min k R ^ T ( f k )] ≤ min k R ( f k ) 。
証明. 各 j j j に ついて min k R ^ T ( f k ) ≤ R ^ T ( f j ) \min_k \hat{R}_T(f_k) \leq \hat{R}_T(f_j) min k R ^ T ( f k ) ≤ R ^ T ( f j ) で、右辺の 期待値は R ( f j ) R(f_j) R ( f j ) (命題 1.22)。j j j に ついて 最小を とればよい。 □ \square □
例えば、予測を 硬貨投げで 決める(真の 正解率が 0.5 0.5 0.5 の)分類器 100 個を テストデータ 100 件で 評価すると、各正解数は 独立に 二項分布 B ( 100 , 1 / 2 ) B(100, 1/2) B ( 100 , 1/2 ) に 従い、最良の 正解率の 期待値は 約 0.625 0.625 0.625 、それが 0.6 0.6 0.6 以上に なる 確率は 約 0.94 0.94 0.94 である(計算機で 計算した 値)。そこで データを 3 つに 分ける : 訓練データ で 各候補(モデルの 種類や ハイパーパラメータ)を 学習し、 検証データ (validation data) で 候補を 比べて 1 つを 選び、 テストデータ (test data) で 選んだ モデルの 汎化誤差を 最後に 1 回だけ 見積もる。データが 少なければ、検証データの 代わりに 交差検証を 使う。
定義 1.24 (K K K 分割交差検証, K K K -fold cross-validation)添字の 集合 { 1 , … , n } \lbrace 1, \dots, n \rbrace { 1 , … , n } を、データの 値に よらずに(例えば 無作為に)互いに 素な I 1 , … , I K I_1, \dots, I_K I 1 , … , I K に 分け、 I k I_k I k 以外の データ S ( − k ) S^{(-k)} S ( − k ) で 学習した 予測関数を f ^ ( − k ) \hat{f}^{(-k)} f ^ ( − k ) と して、 C V K = 1 n ∑ k = 1 K ∑ i ∈ I k ℓ ( y i , f ^ ( − k ) ( x i ) ) \mathrm{CV}_K = \frac{1}{n}\sum_{k=1}^{K}\sum_{i \in I_k} \ell(y_i, \hat{f}^{(-k)}(x_i)) CV K = n 1 ∑ k = 1 K ∑ i ∈ I k ℓ ( y i , f ^ ( − k ) ( x i )) と おく。 K = n K = n K = n の 場合を 一つ 抜き交差検証 (leave-one-out cross-validation) と いう。
命題 1.25 (交差検証が 推定している もの)訓練データが i.i.d. で 各 I k I_k I k の 大きさが n / K n/K n / K ならば、S ′ S' S ′ を 大きさ n − n / K n - n/K n − n / K の i.i.d. 標本と して E [ C V K ] = E S ′ [ R ( f ^ S ′ ) ] E[\mathrm{CV}_K] = E_{S'}[R(\hat{f}_{S'})] E [ CV K ] = E S ′ [ R ( f ^ S ′ )] 。すな わち C V K \mathrm{CV}_K CV K は「この 学習アルゴリズムで n − n / K n - n/K n − n / K 個から 学習した ときの 汎化誤差の 期待値」の 不偏推定量である。
証明. i ∈ I k i \in I_k i ∈ I k と する。 ( X i , Y i ) (X_i, Y_i) ( X i , Y i ) は S ( − k ) S^{(-k)} S ( − k ) と 独立に P P P に 従い、 S ( − k ) S^{(-k)} S ( − k ) は 大きさ n − n / K n - n/K n − n / K の i.i.d. 標本である。S ( − k ) S^{(-k)} S ( − k ) を 固定すると f ^ ( − k ) \hat{f}^{(-k)} f ^ ( − k ) は ( X i , Y i ) (X_i, Y_i) ( X i , Y i ) に よらないので、 ( X i , Y i ) (X_i, Y_i) ( X i , Y i ) に ついての 期待値は R ( f ^ ( − k ) ) R(\hat{f}^{(-k)}) R ( f ^ ( − k ) ) (命題 1.4 で n = 1 n = 1 n = 1 )。さらに S ( − k ) S^{(-k)} S ( − k ) に ついて 期待値を とり、 i i i に ついて 平均すればよい。 □ \square □
注意すべき点を 挙げる。(1) 見積もっているのは 学習アルゴリズムの 平均的な 性能で、全データで 学習した 最終モデルの R ( f ^ S ) R(\hat{f}_S) R ( f ^ S ) その ものではない(使う データが 少ない 分、やや 悲観的に なることが 多い)。(2) C V K \mathrm{CV}_K CV K が 最小の ハイパーパラメータを 選ぶと、その 最小値は 命題 1.23 と 同じ 理由で 楽観的に なるので、選んだ モデルの 性能は 別の テストデータか 入れ子の 交差検証 (nested cross-validation) で 見積もる。(3) 各分割の 誤差は 訓練データを 共有するので 独立ではなく、 C V K \mathrm{CV}_K CV K の ばら つき(分散)を 見積もるのは 難しい。実際、1 回の K K K 分割交差検証で 得られる 誤差だけから、どんな 分布に 対しても 不偏に なる 分散の 推定量は 作れない ことが 示されている(Bengio と Grandvalet, 2004 年)。誤差を 独立と みなして 計算した 標準誤差は ばら つきを 過小に 見積もりやすく、目安に すぎない。(4) i.i.d. の 仮定が 本質的で、時系列では 過去で 学習して 未来で 検証し、同じ 顧客・患者の データが 複数あれば その 単位で 分ける。
1.8 データ漏洩
命題 1.22 と 命題 1.25 の 要は「評価に 使う データが、評価される 予測関数と 独立である」ことだった。これが 崩れるのが データ漏洩 (data leakage) である。典型は、(1) 標準化・欠損値の 補完・ 特徴量の 選択・オーバーサンプリングなどの 前処理を 分割の 前に 全データで 行う、(2) 目的変数の 結果と して 決まる 量や 予測の 時点より 後に しかわからない 量を 特徴量に 使う(解約の 予測に「解約手続きの 受付日」を 使う、など)、(3) 時系列データを 無作為に 分割する、(4) 同じ 人・ 同じ物の データが 訓練側と 評価側の 両方に 入る、である。
例 1.26 (特徴量の 選択に よる 漏洩)50 件の データの 5000 個の 特徴量が すべて ラベルと 無関係な 乱数なら、どんな 分類器でも 真の 正解率は 0.5 0.5 0.5 である。全データで ラベルとの 関係が 強い 特徴量を 20 個選んでから 5 分割交差検証を する 手順(漏洩あり)と、各分割の 訓練側だけで 選ぶ手順(漏洩なし)を、最近 重心法(各クラスの 平均に 近い ほうを 選ぶ)で 比べる。
import numpy as np
rng = np.random.default_rng(0)
n, d, k = 50, 5000, 20
X = rng.standard_normal((n, d)) # 特徴量はすべてノイズ
y = rng.permutation(np.repeat([0, 1], n // 2)) # ラベルは X と独立
def select(X, y, k): # クラス平均の差が大きい k 個の特徴量を選ぶ
diff = X[y == 1].mean(axis=0) - X[y == 0].mean(axis=0)
return np.argsort(-np.abs(diff))[:k]
def accuracy(Xtr, ytr, Xte, yte): # 最近重心法の正解率
m1, m0 = Xtr[ytr == 1].mean(axis=0), Xtr[ytr == 0].mean(axis=0)
pred = (Xte - (m1 + m0) / 2) @ (m1 - m0) > 0
return np.mean(pred == yte)
folds = np.array_split(rng.permutation(n), 5)
leaked = select(X, y, k) # 誤り:全データで選ぶ
wrong, right = [], []
for te in folds:
tr = np.setdiff1d(np.arange(n), te)
wrong.append(accuracy(X[tr][:, leaked], y[tr], X[te][:, leaked], y[te]))
s = select(X[tr], y[tr], k) # 正しい:訓練側だけで選ぶ
right.append(accuracy(X[tr][:, s], y[tr], X[te][:, s], y[te]))
print(f"漏洩あり {np.mean(wrong):.2f}, 漏洩なし {np.mean(right):.2f}")
漏洩あり 0.98, 漏洩なし 0.58
漏洩ありの 手順では 選択の 段階で 検証側の ラベルを 見ているので、偶然 その ラベルと そろった 特徴量が 選ばれ、命題 1.25 の 証明の「 ( X i , Y i ) (X_i, Y_i) ( X i , Y i ) と f ^ ( − k ) \hat{f}^{(-k)} f ^ ( − k ) の 独立性」が 崩れる。漏洩なしの 0.58 0.58 0.58 は 50 件での 推定の ゆらぎの 範囲で、乱数の 種を 変えて 100 回繰り返すと、平均は 漏洩 ありが 約 0.96 0.96 0.96 、漏洩なしが 約 0.48 0.48 0.48 (漏洩なしの 値の 標準偏差は 約 0.09 0.09 0.09 )だった。
ヒント
実務では
(1) データから 何かを 推定する 前処理(標準化・補完・ 特徴量の 選択・オーバーサンプリングなど)は すべて「モデルの 一部」と みなし、交差検証の 各分割の 訓練側だけで 推定して 評価側に 適用する(ライブラリの「パイプライン」は その ための 仕組みである)。(2) 各特徴量に ついて「予測する 時点で、この 値は 本当に 手に 入るか」を 確かめる。(3) 運用と 同じ 分け方(時間で、顧客単位で)で 検証する。(4) 難しい 問題で 高すぎる 正解率や AUC が 出たら、まず 漏洩を 疑う。(5) 運用後も 入力の 分布が 学習時から 変わっていないかを 監視する。i.i.d. の 仮定は 時間とともに 崩れうる。
まとめ
教師あり学習は、未知の 分布のもとで リスク R ( f ) = E [ ℓ ( Y , f ( X ) ) ] R(f) = E[\ell(Y, f(X))] R ( f ) = E [ ℓ ( Y , f ( X ))] の 小さい 予測関数を、i.i.d. の 訓練データから 作る 問題である。
最良の 予測は 損失で 決まる(二乗損失では 条件付き期待値、0-1 損失では 事後確率が 最大の クラス、絶対損失では 条件付き中央値)。どれも 条件付きリスクを 各点で 最小に して 得られる。
経験リスク最小化の 誤差は 近似誤差と 推定誤差に 分かれ、推定誤差は 経験リスクと リスクの 一様な ずれの 2 倍で 抑えられる。
二乗損失の 平均的な 汎化誤差は、雑音・バイアスの 2 乗・バリアンスに 分解される。バイアスと バリアンスは 訓練データを 取り直した ときの 予測の 平均と ばら つきで、学習アルゴリズムの 性質である。
最小二乗法では、訓練誤差は 同じ 入力での 新しい 観測に 対する 誤差より 平均して 2 σ 2 p / n 2\sigma^2 p/n 2 σ 2 p / n だけ 小さい。訓練誤差で モデルを 選んではいけない。
正則化は 罰則 λ Ω ( f ) \lambda\Omega(f) λ Ω ( f ) で 複雑さを 抑え、 λ \lambda λ を 大きく する ほど Ω \Omega Ω は 小さく、訓練誤差は 大きくなる。
テストデータは 最後に 1 回だけ 使う。交差検証は「 n − n / K n - n/K n − n / K 個で 学習した ときの 汎化誤差の 期待値」の 不偏推定量で、その 根拠は 評価データと 予測関数の 独立性である。データ漏洩は この 独立性を 壊す。
演習問題
問題 1.1 ★ 2 値分類で、陰性を 陽性と 誤る 損失を c F P > 0 c_{\mathrm{FP}} > 0 c FP > 0 、陽性を 陰性と 誤る 損失を c F N > 0 c_{\mathrm{FN}} > 0 c FN > 0 、正しい 予測の 損失を 0 0 0 と する。ベイズ最適な 予測は「 η ( x ) > c F P / ( c F P + c F N ) \eta(x) > c_{\mathrm{FP}}/(c_{\mathrm{FP}} + c_{\mathrm{FN}}) η ( x ) > c FP / ( c FP + c FN ) なら 1 1 1 」である ことを 示せ。不正の 見逃しの 損失が 誤警報の 9 倍なら、閾値は いくつか。
解答
r ( 1 ∣ x ) = c F P ( 1 − η ( x ) ) r(1 \mid x) = c_{\mathrm{FP}}(1 - \eta(x)) r ( 1 ∣ x ) = c FP ( 1 − η ( x )) 、r ( 0 ∣ x ) = c F N η ( x ) r(0 \mid x) = c_{\mathrm{FN}}\eta(x) r ( 0 ∣ x ) = c FN η ( x ) で、r ( 1 ∣ x ) < r ( 0 ∣ x ) r(1 \mid x) < r(0 \mid x) r ( 1 ∣ x ) < r ( 0 ∣ x ) は η ( x ) > c F P / ( c F P + c F N ) \eta(x) > c_{\mathrm{FP}}/(c_{\mathrm{FP}} + c_{\mathrm{FN}}) η ( x ) > c FP / ( c FP + c FN ) と 同値である(等号なら どちらでも よい)。この 規則は 各 x x x で 条件付きリスクを 最小に するので、補題 1.8 より ベイズ最適である。 c F N = 9 c F P c_{\mathrm{FN}} = 9c_{\mathrm{FP}} c FN = 9 c FP なら 閾値は 0.1 0.1 0.1 で、不正の 確率が 10% を 超えれば 止めるのが 最適である。
問題 1.2 ★ ★ 0 < τ < 1 0 < \tau < 1 0 < τ < 1 、ρ τ ( y , c ) = τ ( y − c ) + + ( 1 − τ ) ( c − y ) + \rho_\tau(y, c) = \tau(y - c)^{+} + (1 - \tau)(c - y)^{+} ρ τ ( y , c ) = τ ( y − c ) + + ( 1 − τ ) ( c − y ) + (u + = max ( u , 0 ) u^{+} = \max(u, 0) u + = max ( u , 0 ) )、E [ ∣ Y ∣ ] < ∞ E[\lvert Y \rvert] < \infty E [∣ Y ∣] < ∞ と する。(1) P ( Y < q ) ≤ τ ≤ P ( Y ≤ q ) P(Y < q) \leq \tau \leq P(Y \leq q) P ( Y < q ) ≤ τ ≤ P ( Y ≤ q ) を 満たす q q q (τ \tau τ 分位点)に ついて、任意の c c c で E [ ρ τ ( Y , c ) ] ≥ E [ ρ τ ( Y , q ) ] E[\rho_\tau(Y, c)] \geq E[\rho_\tau(Y, q)] E [ ρ τ ( Y , c )] ≥ E [ ρ τ ( Y , q )] を 示せ。特に 絶対損失 ∣ y − c ∣ = 2 ρ 1 / 2 ( y , c ) \lvert y - c \rvert = 2\rho_{1/2}(y, c) ∣ y − c ∣ = 2 ρ 1/2 ( y , c ) の ベイズ最適な 予測は 条件付き中央値である。(2)(新聞売り子問題)1 日の 需要 D D D が 平均 100 個の 指数分布に 従い(連続量と みなす)、1 個売れると 400 円の 利益、売れ残ると 1 個 100 円の 損失が 出る。期待利益を 最大に する 仕入れ数を 求めよ。
解答
(1) c > q c > q c > q と する。 y ≤ q y \leq q y ≤ q なら ρ τ ( y , c ) − ρ τ ( y , q ) = ( 1 − τ ) ( c − q ) \rho_\tau(y, c) - \rho_\tau(y, q) = (1 - \tau)(c - q) ρ τ ( y , c ) − ρ τ ( y , q ) = ( 1 − τ ) ( c − q ) 。y > q y > q y > q なら差は − τ ( c − q ) -\tau(c - q) − τ ( c − q ) 以上である(y ≥ c y \geq c y ≥ c なら 等号、 q < y < c q < y < c q < y < c なら ρ τ ( y , c ) ≥ 0 \rho_\tau(y, c) \geq 0 ρ τ ( y , c ) ≥ 0 と ρ τ ( y , q ) = τ ( y − q ) < τ ( c − q ) \rho_\tau(y, q) = \tau(y - q) < \tau(c - q) ρ τ ( y , q ) = τ ( y − q ) < τ ( c − q ) に よる)。よって 差の 期待値は ( c − q ) [ ( 1 − τ ) P ( Y ≤ q ) − τ P ( Y > q ) ] = ( c − q ) [ P ( Y ≤ q ) − τ ] (c - q)[(1 - \tau)P(Y \leq q) - \tau P(Y > q)] = (c - q)[P(Y \leq q) - \tau] ( c − q ) [( 1 − τ ) P ( Y ≤ q ) − τ P ( Y > q )] = ( c − q ) [ P ( Y ≤ q ) − τ ] 以上で、これは 0 0 0 以上である。c < q c < q c < q でも 同様に、 y ≥ q y \geq q y ≥ q なら差は τ ( q − c ) \tau(q - c) τ ( q − c ) 、y < q y < q y < q なら差は − ( 1 − τ ) ( q − c ) -(1 - \tau)(q - c) − ( 1 − τ ) ( q − c ) 以上なので、差の 期待値は ( q − c ) [ τ − P ( Y < q ) ] (q - c)[\tau - P(Y < q)] ( q − c ) [ τ − P ( Y < q )] 以上で、これも 0 0 0 以上である。条件付き分布に 適用して 補題 1.8 を 使えば、ベイズ最適な 予測は 条件付き τ \tau τ 分位点である。
(2) 仕入れ数 c c c での 利益は 400 min ( D , c ) − 100 ( c − D ) + = 400 D − 500 ρ 0.8 ( D , c ) 400\min(D, c) - 100(c - D)^{+} = 400D - 500\rho_{0.8}(D, c) 400 min ( D , c ) − 100 ( c − D ) + = 400 D − 500 ρ 0.8 ( D , c ) で、400 D 400D 400 D は c c c に よらない。よって (1) より D D D の 0.8 0.8 0.8 分位点が 最適で、 1 − e − q / 100 = 0.8 1 - e^{-q/100} = 0.8 1 − e − q /100 = 0.8 より q = 100 log 5 ≈ 160.9 q = 100\log 5 \approx 160.9 q = 100 log 5 ≈ 160.9 個。品切れの 損失が 大きいので、平均の 100 個より 多く 仕入れるのが 最適である。
問題 1.3 ★ ★ X ∈ R d X \in \mathbb{R}^d X ∈ R d の 条件付き分布が Y = k Y = k Y = k の とき N ( μ k , Σ ) N(\mu_k, \Sigma) N ( μ k , Σ ) (k = 0 , 1 k = 0, 1 k = 0 , 1 。Σ \Sigma Σ は 共通の 正定値行列)、 P ( Y = 1 ) = π ∈ ( 0 , 1 ) P(Y = 1) = \pi \in (0, 1) P ( Y = 1 ) = π ∈ ( 0 , 1 ) と する。 log η ( x ) 1 − η ( x ) = β ⊤ x + β 0 \log\frac{\eta(x)}{1 - \eta(x)} = \beta^{\top}x + \beta_0 log 1 − η ( x ) η ( x ) = β ⊤ x + β 0 と 書ける ことを 示して β , β 0 \beta, \beta_0 β , β 0 を 求め、ベイズ分類器の 境界が どんな 図形かを 答えよ。
解答
N ( μ k , Σ ) N(\mu_k, \Sigma) N ( μ k , Σ ) の 密度を φ k \varphi_k φ k と すると η ( x ) 1 − η ( x ) = π φ 1 ( x ) ( 1 − π ) φ 0 ( x ) \frac{\eta(x)}{1 - \eta(x)} = \frac{\pi\varphi_1(x)}{(1 - \pi)\varphi_0(x)} 1 − η ( x ) η ( x ) = ( 1 − π ) φ 0 ( x ) π φ 1 ( x ) で、正規化定数は 打ち消し合う。 Σ − 1 \Sigma^{-1} Σ − 1 の 対称性を 使って 指数部分の 差を 展開すると x ⊤ Σ − 1 x x^{\top}\Sigma^{-1}x x ⊤ Σ − 1 x の 項が 消え、 β = Σ − 1 ( μ 1 − μ 0 ) \beta = \Sigma^{-1}(\mu_1 - \mu_0) β = Σ − 1 ( μ 1 − μ 0 ) 、β 0 = log π 1 − π − 1 2 ( μ 1 ⊤ Σ − 1 μ 1 − μ 0 ⊤ Σ − 1 μ 0 ) \beta_0 = \log\frac{\pi}{1 - \pi} - \frac{1}{2}(\mu_1^{\top}\Sigma^{-1}\mu_1 - \mu_0^{\top}\Sigma^{-1}\mu_0) β 0 = log 1 − π π − 2 1 ( μ 1 ⊤ Σ − 1 μ 1 − μ 0 ⊤ Σ − 1 μ 0 ) を 得る。境界 { x ∣ β ⊤ x + β 0 = 0 } \lbrace x \mid \beta^{\top}x + \beta_0 = 0 \rbrace { x ∣ β ⊤ x + β 0 = 0 } は 超平面である(線形判別分析)。共分散行列が クラスで 違うと 2 次の 項が 残り、境界は 2 次曲面に なる。
問題 1.4 ★ ★ 仮説集合 F \mathcal{F} F での ERM が 常に 最小点 f ^ S \hat{f}_S f ^ S を もつ とき、 E S [ R ^ S ( f ^ S ) ] ≤ R F ≤ E S [ R ( f ^ S ) ] E_S[\hat{R}_S(\hat{f}_S)] \leq R_{\mathcal{F}} \leq E_S[R(\hat{f}_S)] E S [ R ^ S ( f ^ S )] ≤ R F ≤ E S [ R ( f ^ S )] を 示し、その 意味を 述べよ。
解答
任意の f ∈ F f \in \mathcal{F} f ∈ F に ついて R ^ S ( f ^ S ) ≤ R ^ S ( f ) \hat{R}_S(\hat{f}_S) \leq \hat{R}_S(f) R ^ S ( f ^ S ) ≤ R ^ S ( f ) で、f f f は S S S に よらないので、期待値を とると 命題 1.4 より E S [ R ^ S ( f ^ S ) ] ≤ R ( f ) E_S[\hat{R}_S(\hat{f}_S)] \leq R(f) E S [ R ^ S ( f ^ S )] ≤ R ( f ) 。f f f に ついて 下限を とれば 左の 不等式を 得る。右は f ^ S ∈ F \hat{f}_S \in \mathcal{F} f ^ S ∈ F に よる。ERM の 訓練誤差は 平均すると F \mathcal{F} F で 達成できる 最良の リスクより さらに 小さく、汎化誤差を 必ず(平均の 意味で)楽観的に 見積もる。
問題 1.5 ★ ★ ある 分析者が、患者 2000 人の 入院記録 10000 件(1 人平均 5 回)から、退院時に 30 日以内の 再入院を 予測する モデルを 作った。(a) 全記録で 特徴量を 標準化し、(b) 全記録で 目的変数との 相関が 高い 特徴量を 50 個選び、(c) 記録を 無作為に 5 分割して 交差検証した ところ、AUC は 0.93 だった。特徴量には「退院後 30 日以内の 外来受診の 回数」が 含まれる。この 評価の 問題点を 挙げ、正しい 手順を 述べよ。
解答
(b) は 例 1.26 と 同じ 前処理の 漏洩で、(a) も 平均・標準偏差に 評価側の データが 混ざる 漏洩である(影響は 小さい ことが 多いが 手順と して 誤り)。(c) では 同じ 患者の 記録が 訓練側と 評価側の 両方に 入り、患者固有の 特徴を 覚えるだけで 当たるので、新しい 患者での 性能を 過大評価する。「退院後 30 日以内の 外来受診の 回数」は 退院時には わからず、再入院と 同時に 起こりやすい 結果でも ある(目的変数の 漏洩)。正しくは、退院時に 手に 入る 特徴量だけを 使い、患者単位で(できれば 時間でも)分割し、標準化と 特徴量の 選択は 各分割の 訓練側だけで 行い、とって おいた テストデータで 最後に 1 回だけ評価する。
問題 1.6 ★ ★ ★ 入力を 固定した 回帰で y = m + ε y = m + \varepsilon y = m + ε (E [ ε ] = 0 E[\varepsilon] = 0 E [ ε ] = 0 、Cov ( ε ) = σ 2 I n \operatorname{Cov}(\varepsilon) = \sigma^2 I_n Cov ( ε ) = σ 2 I n )とし、当てはめ値が 固定した n n n 次正方行列 L L L で y ^ = L y \hat{y} = Ly y ^ = L y と 書ける 手法(線形平滑化)を 考える。同じ 入力での 新しい 観測 y ′ = m + ε ′ y' = m + \varepsilon' y ′ = m + ε ′ (ε ′ \varepsilon' ε ′ は ε \varepsilon ε と 独立で 同じ 分布)に ついて、 E [ 1 n ∥ y ′ − y ^ ∥ 2 ] − E [ 1 n ∥ y − y ^ ∥ 2 ] = 2 σ 2 n tr L E[\frac{1}{n}\lVert y' - \hat{y} \rVert^2] - E[\frac{1}{n}\lVert y - \hat{y} \rVert^2] = \frac{2\sigma^2}{n}\operatorname{tr}L E [ n 1 ∥ y ′ − y ^ ∥ 2 ] − E [ n 1 ∥ y − y ^ ∥ 2 ] = n 2 σ 2 tr L を 示せ。
解答
∥ y ′ − y ^ ∥ 2 − ∥ y − y ^ ∥ 2 = ∥ y ′ ∥ 2 − ∥ y ∥ 2 − 2 y ^ ⊤ ( y ′ − y ) \lVert y' - \hat{y} \rVert^2 - \lVert y - \hat{y} \rVert^2 = \lVert y' \rVert^2 - \lVert y \rVert^2 - 2\hat{y}^{\top}(y' - y) ∥ y ′ − y ^ ∥ 2 − ∥ y − y ^ ∥ 2 = ∥ y ′ ∥ 2 − ∥ y ∥ 2 − 2 y ^ ⊤ ( y ′ − y ) で、E ∥ y ′ ∥ 2 = E ∥ y ∥ 2 E\lVert y' \rVert^2 = E\lVert y \rVert^2 E ∥ y ′ ∥ 2 = E ∥ y ∥ 2 。y ^ = L m + L ε \hat{y} = Lm + L\varepsilon y ^ = L m + L ε は ε ′ \varepsilon' ε ′ と 独立なので E [ y ^ ⊤ y ′ ] = m ⊤ L ⊤ m E[\hat{y}^{\top}y'] = m^{\top}L^{\top}m E [ y ^ ⊤ y ′ ] = m ⊤ L ⊤ m 、一方 E [ y ^ ⊤ y ] = m ⊤ L ⊤ m + E [ ε ⊤ L ⊤ ε ] = m ⊤ L ⊤ m + σ 2 tr L E[\hat{y}^{\top}y] = m^{\top}L^{\top}m + E[\varepsilon^{\top}L^{\top}\varepsilon] = m^{\top}L^{\top}m + \sigma^2\operatorname{tr}L E [ y ^ ⊤ y ] = m ⊤ L ⊤ m + E [ ε ⊤ L ⊤ ε ] = m ⊤ L ⊤ m + σ 2 tr L 。よって 差の 期待値は 2 σ 2 tr L 2\sigma^2\operatorname{tr}L 2 σ 2 tr L である。L = H L = H L = H なら tr H = p \operatorname{tr}H = p tr H = p で 命題 1.18 に 一致する。訓練誤差の 楽観性が tr L \operatorname{tr}L tr L に 比例するので、 tr L \operatorname{tr}L tr L は 実質的な パラメータの 数(有効自由度)と みなせる。リッジ回帰では tr L = ∑ i σ i 2 / ( σ i 2 + λ ) \operatorname{tr}L = \sum_i \sigma_i^2/(\sigma_i^2 + \lambda) tr L = ∑ i σ i 2 / ( σ i 2 + λ ) である(第2章の 系 2.7)。