Lemma

第1章学習の枠組み

目安 8〜10 時間定理など 14演習 6 問
ここまでの道

この章の目標

  • 教師あり学習をリスク最小化として定式化し、損失・リスク・経験リスクを区別して使える
  • 二乗損失では条件付き期待値が、0-1 損失では事後確率が最大のクラスを選ぶ分類器がベイズ最適であることを証明できる
  • 経験リスク最小化の誤差を近似誤差と推定誤差に分け、仮説集合の大きさとの関係を説明できる
  • どの期待値をとるかを明示してバイアス–バリアンス分解を証明し、過学習と正則化を式で説明できる
  • 交差検証が何を推定しているかを説明し、データ漏洩が評価を歪める理由を指摘できる

前提:22-statistics 第1章(確率変数・期待値・条件付き分布)。1.5 節の例では 02-linear-algebra 第7章 の直交射影と最小二乗法を使う。推定量のバイアス–バリアンス分解(22-statistics 第3章 定理 3.3)と比べるとよい。

商品の翌日の販売数を予測する、迷惑メールを判定する、製品の画像から傷を見つける――機械学習の多くの場面は、入力 xx から出力 yy を当てる規則 ff を、過去の例 (x1,y1),…,(xn,yn)(x_1, y_1), \dots, (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} を入力の集合、Y\mathcal{Y} を出力の集合とし、X×Y\mathcal{X} \times \mathcal{Y} 上の未知の確率分布 PP(データ生成分布)を考える。訓練データ (training data) S=((x1,y1),…,(xn,yn))S = ((x_1, y_1), \dots, (x_n, y_n)) は、PP に従う独立同分布(i.i.d.)の確率変数 (X1,Y1),…,(Xn,Yn)(X_1, Y_1), \dots, (X_n, Y_n) の実現値である。写像 f ⁣:X→Y^f\colon \mathcal{X} \to \hat{\mathcal{Y}} を予測関数(仮説, hypothesis)といい、SS から予測関数 f^S\hat{f}_S を作る規則を学習アルゴリズムという。Y=R\mathcal{Y} = \mathbb{R} のとき回帰 (regression)、Y\mathcal{Y} が有限集合のとき分類 (classification) という。

Y^\hat{\mathcal{Y}} は予測値の集合で、多くの場合 Y\mathcal{Y} と同じである。訓練データを確率変数とみるときも同じ記号 SS を使う。入力がベクトル x∈Rdx \in \mathbb{R}^d のとき、その成分を特徴量 (feature) という。需要予測は回帰、迷惑メールの判定は 2 値分類、画像の分類は多クラス分類である。

教師なし学習 (unsupervised learning) では出力がなく、x1,…,xnx_1, \dots, x_n だけから構造を見つける(クラスタリング・次元削減は第3章、密度推定は第7章)。これらも多くは損失の期待値の最小化として書け、例えば kk 平均法は E[min⁡j∥X−μj∥2]E[\min_j \lVert X - \mu_j \rVert^2] を中心 μ1,…,μk\mu_1, \dots, \mu_k について、密度推定は E[−log⁡q(X)]E[-\log q(X)] を密度 qq について小さくする。

確率は 22-statistics 第1章 の範囲で扱う。(X,Y)(X, Y) は同時密度 p(x,y)p(x, y) をもつとし、YY が離散値のとき(分類)は yy についての積分を和と読む。現れる期待値はすべて存在するとし、可測性などの細部には立ち入らない(厳密な扱いは 11-probability)。

1.2 損失関数とリスク

定義 1.2(損失・リスク・経験リスク)関数 ℓ ⁣:Y×Y^→[0,∞)\ell\colon \mathcal{Y} \times \hat{\mathcal{Y}} \to [0, \infty) を損失関数 (loss function) という。ℓ(y,y^)\ell(y, \hat{y}) は、正解が yy のときに y^\hat{y} と予測した損失である。予測関数 ff のリスク (risk) と、訓練データ SS での経験リスク (empirical risk) を

R(f)=E[ℓ(Y,f(X))],R^S(f)=1n∑i=1nℓ(yi,f(xi))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))

で定める((X,Y)∼P(X, Y) \sim P)。R(f)R(f) を汎化誤差 (generalization error)、R^S(f)\hat{R}_S(f) を訓練誤差 (training error) ともいう。

例 1.3(代表的な損失関数)回帰では二乗損失 (y−y^)2(y - \hat{y})^2 や外れ値に強い絶対損失 ∣y−y^∣\lvert y - \hat{y} \rvert を使う。分類の0-1 損失 1{y≠y^}\mathbf{1}\lbrace y \neq \hat{y} \rbrace では R(f)=P(Y≠f(X))R(f) = P(Y \neq f(X)) が誤分類率、1−R(f)1 - R(f) が正解率 (accuracy) である。誤りの種類で損得が違うなら、見逃しの損失 cFNc_{\mathrm{FN}} と誤警報の損失 cFPc_{\mathrm{FP}} を別に置く(問題 1.1)。交差エントロピー損失は第2章、ヒンジ損失は第4章で扱う。

命題 1.4(経験リスクの不偏性)予測関数 ff が訓練データ SS によらずに定まっているとき、E[R^S(f)]=R(f)E[\hat{R}_S(f)] = R(f) である。さらに v=Var⁡(ℓ(Y,f(X)))<∞v = \operatorname{Var}(\ell(Y, f(X))) < \infty ならば Var⁡(R^S(f))=v/n\operatorname{Var}(\hat{R}_S(f)) = v/n であり、任意の ε>0\varepsilon > 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)。

証明. Zi=ℓ(Yi,f(Xi))Z_i = \ell(Y_i, f(X_i)) は i.i.d. で、E[Zi]=R(f)E[Z_i] = R(f)、Var⁡(Zi)=v\operatorname{Var}(Z_i) = v である。期待値の線形性と、独立な確率変数の和の分散が分散の和であることから最初の 2 つが従い、最後はチェビシェフの不等式(22-statistics 第1章 定理 1.25)である。□\square

注意

命題 1.4 は「ff が SS を見る前に決まっている」ことを仮定している。訓練データに合わせて作った f^S\hat{f}_S の訓練誤差は、汎化誤差より小さく出る(例 1.13、命題 1.18、問題 1.4)。訓練誤差が小さいことは、よいモデルであることを意味しない。

1.3 ベイズ最適な予測

分布 PP が完全にわかっていたら、どの予測が最良だろうか。答えは損失関数によって変わる。

定義 1.5(条件付き期待値・条件付きリスク)pX(x)=∫p(x,y) dy>0p_X(x) = \int p(x, y)\ dy > 0 となる xx について、条件付き密度 p(y∣x)=p(x,y)/pX(x)p(y \mid x) = p(x, y)/p_X(x) により E[g(X,Y)∣X=x]=∫g(x,y)p(y∣x) dyE[g(X, Y) \mid X = x] = \int g(x, y)p(y \mid x)\ dy と定める。m(x)=E[Y∣X=x]m(x) = E[Y \mid X = x] を条件付き期待値、v(x)=E[(Y−m(x))2∣X=x]v(x) = E[(Y - m(x))^2 \mid X = x] を条件付き分散、r(c∣x)=E[ℓ(Y,c)∣X=x]r(c \mid x) = E[\ell(Y, c) \mid X = x] を条件付きリスクという。

命題 1.6(全期待値の公式)h(x)=E[g(X,Y)∣X=x]h(x) = E[g(X, Y) \mid X = x] とおくと E[g(X,Y)]=E[h(X)]E[g(X, Y)] = E[h(X)]。特に任意の ff について R(f)=E[r(f(X)∣X)]R(f) = E[r(f(X) \mid X)]。

証明. 積分の順序を交換して(フビニの定理)

E[h(X)]=∬g(x,y) p(y∣x) pX(x) dy dx=∬g(x,y) p(x,y) dy dx=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)]

g(x,y)=ℓ(y,f(x))g(x, y) = \ell(y, f(x)) とすれば後半を得る(g(x,y)=yg(x, y) = y の場合が 22-statistics 第1章 命題 1.12 の前半である)。□\square

定義 1.7(ベイズ最適)R∗=inf⁡fR(f)R^{\ast} = \inf_f R(f)(すべての予測関数についての下限)をベイズリスクといい、R(f∗)=R∗R(f^{\ast}) = R^{\ast} となる f∗f^{\ast} をベイズ最適 (Bayes optimal) な予測関数という。分類ではベイズ分類器 (Bayes classifier)、R∗R^{\ast} をベイズ誤り率という。

補題 1.8(各点での最小化)各 xx について f∗(x)f^{\ast}(x) が c↦r(c∣x)c \mapsto r(c \mid x) の最小点ならば、f∗f^{\ast} はベイズ最適であり、任意の ff について R(f)−R(f∗)=E[r(f(X)∣X)−r(f∗(X)∣X)]≥0R(f) - R(f^{\ast}) = E[r(f(X) \mid X) - r(f^{\ast}(X) \mid X)] \geq 0。

証明. 命題 1.6 から等式が従い、期待値の中身は各 xx で 00 以上である。□\square

定理 1.9(二乗損失のベイズ最適予測)E[Y2]<∞E[Y^2] < \infty とする。E[f(X)2]<∞E[f(X)^2] < \infty を満たす任意の ff について

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]

が成り立つ。したがって条件付き期待値 mm はベイズ最適で、R∗=E[v(X)]R^{\ast} = E[v(X)] である。ff がベイズ最適であることと E[(f(X)−m(X))2]=0E[(f(X) - m(X))^2] = 0 は同値である。

証明. xx と c∈Rc \in \mathbb{R} を固定すると、E[Y−m(x)∣X=x]=0E[Y - m(x) \mid 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)2r(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

c=f(x)c = f(x) とおいて命題 1.6 を使えばよい(c=0c = 0 の場合から E[Y2]=E[v(X)]+E[m(X)2]E[Y^2] = E[v(X)] + E[m(X)^2] なので各項は有限である)。□\square

m(X)m(X) は YY を「XX の 2 乗可積分な関数全体」へ直交射影したものである(測度論での一般形は 11-probability 第5章 定理 5.3)。例えば Y=g(X)+εY = g(X) + \varepsilon で雑音 ε\varepsilon が XX と独立、平均 00、分散 σ2\sigma^2 なら、m=gm = g、R∗=σ2R^{\ast} = \sigma^2 であり、真の関数がわかっていても雑音の分の誤差は残る。同じ計算は、二乗損失のベイズ推定量が事後平均であること(22-statistics 第7章 定理 7.10)にも現れる。

定理 1.10(0-1 損失のベイズ分類器)Y=Y^={1,…,K}\mathcal{Y} = \hat{\mathcal{Y}} = \lbrace 1, \dots, K \rbrace、ℓ\ell を 0-1 損失とし、ηk(x)=P(Y=k∣X=x)\eta_k(x) = P(Y = k \mid X = x) とおく。各 xx で ηf∗(x)(x)=max⁡kηk(x)\eta_{f^{\ast}(x)}(x) = \max_k \eta_k(x) となる(事後確率が最大のクラスを選ぶ)f∗f^{\ast} はベイズ最適であり、R∗=1−E[max⁡kηk(X)]R^{\ast} = 1 - E[\max_k \eta_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) は ηc(x)\eta_c(x) が最大の cc で最小になる。補題 1.8 と命題 1.6 から従う。□\square

系 1.11(2 値分類)Y={0,1}\mathcal{Y} = \lbrace 0, 1 \rbrace、η(x)=P(Y=1∣X=x)\eta(x) = P(Y = 1 \mid X = x) とする。f∗(x)=1{η(x)>1/2}f^{\ast}(x) = \mathbf{1}\lbrace \eta(x) > 1/2 \rbrace はベイズ分類器で、R∗=E[min⁡(η(X),1−η(X))]R^{\ast} = E[\min(\eta(X), 1 - \eta(X))]。さらに任意の f ⁣:X→{0,1}f\colon \mathcal{X} \to \lbrace 0, 1 \rbrace について

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(0∣x)=η(x)r(0 \mid x) = \eta(x)、r(1∣x)=1−η(x)r(1 \mid x) = 1 - \eta(x) なので r(f∗(x)∣x)=min⁡(η(x),1−η(x))r(f^{\ast}(x) \mid x) = \min(\eta(x), 1 - \eta(x)) で、f(x)≠f∗(x)f(x) \neq f^{\ast}(x) ならその差は max⁡−min⁡=∣2η(x)−1∣\max - \min = \lvert 2\eta(x) - 1 \rvert、f(x)=f∗(x)f(x) = f^{\ast}(x) なら 00 である。補題 1.8 から従う。□\square

系 1.11 の等式は、η(x)\eta(x) が 1/21/2 に近い(本当に紛らわしい)点での誤りはほとんど損にならないことを示している。

例 1.12(2 つの正規分布)P(Y=0)=P(Y=1)=1/2P(Y = 0) = P(Y = 1) = 1/2 とし、XX の条件付き分布を Y=0Y = 0 のとき N(0,1)N(0, 1)、Y=1Y = 1 のとき N(2,1)N(2, 1) とする。φ(t)=e−t2/2/2π\varphi(t) = e^{-t^2/2}/\sqrt{2\pi} とおくと、ベイズの定理より

log⁡η(x)1−η(x)=log⁡φ(x−2)φ(x)=x2−(x−2)22=2x−2,η(x)=11+e−(2x−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)}}

なので、ベイズ分類器は「x>1x > 1 なら 11」である。標準正規分布の分布関数を Φ\Phi とすると、R∗=12P(X>1∣Y=0)+12P(X≤1∣Y=1)=Φ(−1)≈0.1587R^{\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。分布が重なっているので、最良の分類器でも約 16% は誤る。η(x)\eta(x) が「xx の 1 次式をロジスティック関数に入れた形」であること(共分散行列が共通の多変量正規分布でも同様:問題 1.3)は、第2章のロジスティック回帰の動機になる。

ヒント

実務では 損失関数は計算しやすさではなく、予測を使って下す判断の損得から決める。在庫の発注量なら、品切れ 1 個の損失 cuc_u と売れ残り 1 個の損失 coc_o から、需要の平均ではなく cu/(cu+co)c_u/(c_u + c_o) 分位点が最適になる(問題 1.2)。誤りの種類で損失が違う分類では、η(x)\eta(x) を 1/21/2 ではなく cFP/(cFP+cFN)c_{\mathrm{FP}}/(c_{\mathrm{FP}} + c_{\mathrm{FN}}) と比べる(問題 1.1)。正解率の最大化が目的に合っているかは、いつも確かめる必要がある。

1.4 経験リスク最小化

PP は未知なので mm や ηk\eta_k は計算できない。そこでリスクの代わりに経験リスクを小さくする。ただし、どんな関数でもよいとすると意味がない。

例 1.13(丸暗記)x1,…,xnx_1, \dots, x_n が相異なるとき、f^S(xi)=yi\hat{f}_S(x_i) = y_i、それ以外では f^S(x)=0\hat{f}_S(x) = 0 とすると R^S(f^S)=0\hat{R}_S(\hat{f}_S) = 0 だが、XX が密度をもてば P(X∈{x1,…,xn})=0P(X \in \lbrace x_1, \dots, x_n \rbrace) = 0 なので R(f^S)=E[ℓ(Y,0)]R(\hat{f}_S) = E[\ell(Y, 0)] であり、常に 00 と予測するのと変わらない。

定義 1.14(経験リスク最小化)予測関数の集合 F\mathcal{F} を仮説集合 (hypothesis class) またはモデルという。R^S\hat{R}_S を F\mathcal{F} 上で最小にする f^S∈F\hat{f}_S \in \mathcal{F} を選ぶ方法を経験リスク最小化 (empirical risk minimization, ERM) という(最小点が存在する場合)。

例えば F={x↦w⊤x+b}\mathcal{F} = \lbrace x \mapsto w^{\top}x + b \rbrace と二乗損失の ERM は線形回帰の最小二乗法である(第2章。A⊤A^{\top} は転置で、02-linear-algebra の tA{}^tA と同じもの)。確率モデル qθ(y∣x)q_\theta(y \mid x) について損失を −log⁡qθ(y∣x)-\log q_\theta(y \mid x) とした ERM は最尤推定である(22-statistics 第3章 定義 3.9。本科目の第7章でも扱う)。0-1 損失の ERM は、線形分類器(超平面による分類)に限っても計算が難しい。訓練データが線形分離できる場合は線形計画法で解けるが、線形分離できるとは限らないデータで誤分類の数を最小にする超平面を求める問題は、次元 dd も入力の大きさに含めると NP 困難であることが知られている(参考文献の Shalev-Shwartz–Ben-David 第9章。NP 困難の意味は 23-optimization 第7章)。0-1 損失は凸でもない。そこで凸な代わりの損失(第2章のロジスティック損失、第4章のヒンジ損失)を使う。

RF=inf⁡f∈FR(f)R_{\mathcal{F}} = \inf_{f \in \mathcal{F}} R(f) とおく。

命題 1.15(近似誤差と推定誤差) ERM の出力 f^S\hat{f}_S について、R(f^S)−R∗=(R(f^S)−RF)+(RF−R∗)R(\hat{f}_S) - R^{\ast} = (R(\hat{f}_S) - R_{\mathcal{F}}) + (R_{\mathcal{F}} - R^{\ast}) の第 1 項を推定誤差、第 2 項を近似誤差という。推定誤差は次を満たす。

0≤R(f^S)−RF≤2sup⁡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

証明. f^S∈F\hat{f}_S \in \mathcal{F} より左の不等式が成り立つ。右辺の上限を 2Δ2\Delta とおく。任意の f∈Ff \in \mathcal{F} について R^S(f^S)≤R^S(f)\hat{R}_S(\hat{f}_S) \leq \hat{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

ff について上限をとればよい。□\square

近似誤差は F\mathcal{F} を大きくするほど小さくなるが、一様なずれ Δ\Delta は F\mathcal{F} が大きいほど大きくなりやすい(例 1.13 はその極端な場合)。Δ\Delta を F\mathcal{F} の複雑さ(要素の数や VC 次元)で評価するのが第6章の学習理論である。

1.5 汎化誤差とバイアス–バリアンス分解

R(f^S)R(\hat{f}_S) は、SS を固定して SS と独立な新しい (X,Y)∼P(X, Y) \sim P について損失の期待値をとったもので、SS によって変わる確率変数である。訓練データについての期待値を ESE_S と書くと、ES[R(f^S)]E_S[R(\hat{f}_S)] は「この学習アルゴリズムで nn 個から学習したときの平均的な汎化誤差」であり、二乗損失では 3 つに分けられる。

定理 1.16(バイアス–バリアンス分解, bias–variance decomposition)二乗損失を考える。入力 xx を固定し、YxY_x を「X=xX = x のときの YY の条件付き分布」に従い訓練データ SS と独立な確率変数(xx での新しい観測)とする。E[Yx2]<∞E[Y_x^2] < \infty、ES[f^S(x)2]<∞E_S[\hat{f}_S(x)^2] < \infty とし、m(x)=E[Yx]m(x) = E[Y_x]、v(x)=Var⁡(Yx)v(x) = \operatorname{Var}(Y_x)、fˉ(x)=ES[f^S(x)]\bar{f}(x) = E_S[\hat{f}_S(x)] とおくと、YxY_x と SS の両方について期待値をとって

E[(Yx−f^S(x))2]=v(x)⏟雑音+(fˉ(x)−m(x))2⏟バイアスの 2 乗+ES[(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{バリアンス}}

証明. A=Yx−m(x)A = Y_x - m(x)、B=m(x)−fˉ(x)B = m(x) - \bar{f}(x)、C=fˉ(x)−f^S(x)C = \bar{f}(x) - \hat{f}_S(x) とおくと Yx−f^S(x)=A+B+CY_x - \hat{f}_S(x) = A + B + C で、BB は定数、E[A]=E[C]=0E[A] = E[C] = 0。AA は YxY_x だけの、CC は SS だけの関数で両者は独立だから E[AC]=E[A]E[C]=0E[AC] = E[A]E[C] = 0。E[AB]=BE[A]=0E[AB] = BE[A] = 0、E[BC]=BE[C]=0E[BC] = BE[C] = 0 なので E[(A+B+C)2]=E[A2]+B2+E[C2]E[(A + B + C)^2] = E[A^2] + B^2 + E[C^2]。□\square

系 1.17 テスト点 (X,Y)∼P(X, Y) \sim P が SS と独立ならば、XX の周辺分布についての期待値を EXE_X、Var⁡S(f^S(x))=ES[(f^S(x)−fˉ(x))2]\operatorname{Var}_S(\hat{f}_S(x)) = E_S[(\hat{f}_S(x) - \bar{f}(x))^2] として

ES[R(f^S)]=EX[v(X)]+EX[(fˉ(X)−m(X))2]+EX[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]

証明. 独立性より、X=xX = x のもとでの (Y,S)(Y, S) の条件付き分布は「YxY_x の分布と SS の分布の積」なので、E[(Y−f^S(X))2∣X=x]E[(Y - \hat{f}_S(X))^2 \mid X = x] は定理 1.16 の左辺に等しい。命題 1.6(YY の代わりに組 (Y,S)(Y, S) を考える)から従う。□\square

注意

どの期待値をとっているかに注意する。fˉ(x)\bar{f}(x) は「同じ大きさの訓練データを何度も取り直して学習したときの、点 xx での予測の平均」であり、xx についての平均ではない。バリアンスも xx を固定して訓練データを取り直したときのばらつきである。したがってバイアスとバリアンスは学習アルゴリズム・標本サイズ・分布の性質であり、手元の 1 つのモデルの性質ではない(学習が乱数を使うなら、その乱数も SS に含める)。この分解は二乗損失に特有で、0-1 損失ではそのままの形では成り立たない。

入力を固定すると、バイアスとバリアンスを正確に計算できる。入力 x1,…,xnx_1, \dots, x_n を固定して yi=m(xi)+εiy_i = m(x_i) + \varepsilon_i(εi\varepsilon_i は独立で平均 00、分散 σ2\sigma^2)とし、第 ii 行が特徴量 ϕ(xi)⊤∈Rp\phi(x_i)^{\top} \in \mathbb{R}^p(例えば ϕ(x)=(1,x,…,xk)\phi(x) = (1, x, \dots, x^k))の行列 Φ\Phi(rank⁡Φ=p\operatorname{rank}\Phi = p)で最小二乗法を行うと、当てはめ値は y^=Hy\hat{y} = Hy、H=Φ(Φ⊤Φ)−1Φ⊤H = \Phi(\Phi^{\top}\Phi)^{-1}\Phi^{\top} である(02-linear-algebra 第7章 定理 7.19)。m=(m(x1),…,m(xn))⊤m = (m(x_1), \dots, m(x_n))^{\top} と書く。

命題 1.18(最小二乗法の訓練誤差の楽観性)y′=m+ε′y' = m + \varepsilon'(ε′\varepsilon' は ε\varepsilon と独立で同じ分布。同じ入力での新しい観測)とすると

E[1n∥y−y^∥2]=1n∥(I−H)m∥2+σ2 n−pn,E[1n∥y′−y^∥2]=σ2+1n∥(I−H)m∥2+σ2 pnE\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}

である。特に、新しい観測に対する誤差の期待値は、訓練誤差の期待値より 2σ2p/n2\sigma^2 p/n だけ大きい。

証明. HH は Φ\Phi の列空間への直交射影なので H⊤=H=H2H^{\top} = 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 である。また nn 次正方行列 AA について E[ε⊤Aε]=∑i,jAijE[εiεj]=σ2tr⁡AE[\varepsilon^{\top}A\varepsilon] = \sum_{i, j}A_{ij}E[\varepsilon_i\varepsilon_j] = \sigma^2\operatorname{tr}A。y−y^=(I−H)m+(I−H)εy - \hat{y} = (I - H)m + (I - H)\varepsilon で、(I−H)⊤(I−H)=I−H(I - H)^{\top}(I - H) = I - H、交差項の期待値は 00 なので、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)。同様に y′−y^=(I−H)m+ε′−Hεy' - \hat{y} = (I - H)m + \varepsilon' - H\varepsilon で、独立性から交差項の期待値は 00 なので、E∥y′−y^∥2=∥(I−H)m∥2+nσ2+σ2tr⁡(H⊤H)=∥(I−H)m∥2+nσ2+σ2pE\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。□\square

第 2 式は定理 1.16 をテスト入力が x1,…,xnx_1, \dots, x_n から一様に選ばれる場合に計算したもので、σ2\sigma^2 が雑音、1n∥(I−H)m∥2\frac{1}{n}\lVert (I - H)m \rVert^2 がバイアスの 2 乗の平均(fˉ(xi)=(Hm)i\bar{f}(x_i) = (Hm)_i)、σ2p/n\sigma^2 p/n がバリアンスの平均(y^\hat{y} の共分散行列 σ2H\sigma^2 H の対角成分の平均)である。

命題 1.18 で使った仮定は、新しい観測も同じ入力でとること(固定計画)、雑音が独立で等分散であること、使う特徴量 Φ\Phi がデータを見る前に決まっていること(HH が yy によらないこと)である。モデルが正しいこと(mm が Φ\Phi の列空間に入ること)は使っていない。新しい入力で予測するとき(ランダム計画)は、モデルが正しい場合でも訓練誤差との差は 2σ2p/n2\sigma^2 p/n 以上になり、ふつうはそれより大きい(証明は省く)。特徴量を同じデータで選んだときは HH が yy によるので、この式はそのままでは使えない。同じ計算は 22-statistics 第6章 命題 6.12 にもあり、マローズの CpC_p や AIC の出発点になっている。

例 1.19(多項式の次数)n=20n = 20、xi=(i−1/2)/20x_i = (i - 1/2)/20、m(x)=sin⁡(2πx)m(x) = \sin(2\pi x)、σ=0.3\sigma = 0.3 とし、次数 kk の多項式(p=k+1p = k + 1)を当てはめると、命題 1.18 の各項は次のとおりである(誤差の 2 列は期待値。計算機で計算した値)。

次数 kk バイアスの 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=5k = 5 のバイアスの 2 乗は約 1.3×10−51.3 \times 10^{-5}。)次数を上げるとバイアスは減り、バリアンスは pp に比例して増え、新しい観測での誤差は k=3k = 3 で最小になる。訓練誤差は単調に減り、k=19k = 19(p=np = n)では H=IH = I となってデータを完全に通るので、訓練誤差だけを見るとつねに最も高い次数を選んでしまう。表は訓練データと同じ入力点での誤差であり、点と点の間では高い次数の多項式は大きく振動して、誤差はさらに大きくなりうる。

誤差がパラメータの数に対して U 字形になるのは典型的な振る舞いだが、定理ではない。パラメータの数 pp がデータの数 nn を超える領域でノルム最小の補間解(第2章の X+yX^{+}y)を選ぶと、p≈np \approx n の付近で大きくなった誤差が、pp を増やすにつれて再び下がることがある(二重降下, double descent)。これは多くの実験で観察されており、線形回帰などの単純なモデルでは、どんな条件のもとで起こるか(いつでも起こるわけではない)が理論的にも解析されている(第6章)。

1.6 過学習と正則化

訓練誤差は小さいのに汎化誤差が大きい状態を過学習 (overfitting)、モデルが単純すぎて両方とも大きい状態を未学習 (underfitting) という。例 1.19 の k=19k = 19 は前者、k=0,1k = 0, 1 は後者である。過学習はバリアンスが大きい(訓練データの偶然のゆらぎに予測が引きずられる)ときに起こり、仮説集合を小さくするか、複雑な予測関数に罰則を課すことで抑える。

定義 1.20(正則化, regularization)関数 Ω ⁣:F→[0,∞)\Omega\colon \mathcal{F} \to [0, \infty) と λ>0\lambda > 0 に対し、R^S(f)+λΩ(f)\hat{R}_S(f) + \lambda\Omega(f) を F\mathcal{F} 上で最小にする f^λ\hat{f}_\lambda を選ぶ方法を正則化といい、Ω\Omega を正則化項(罰則項)、λ\lambda を正則化パラメータという。

線形モデル f(x)=w⊤xf(x) = w^{\top}x で Ω=∥w∥2\Omega = \lVert w \rVert^2 ならリッジ回帰、Ω=∥w∥1=∑j∣wj∣\Omega = \lVert w \rVert_1 = \sum_j\lvert w_j \rvert ならラッソである(第2章)。ニューラルネットワークの重み減衰(第5章)、再生核ヒルベルト空間のノルムによる正則化(第4章)も同じ形をしている。

命題 1.21(正則化パラメータの役割)f^λ\hat{f}_\lambda を定義 1.20 の最小点とする。

  1. t=Ω(f^λ)t = \Omega(\hat{f}_\lambda) とおくと、f^λ\hat{f}_\lambda は「f∈Ff \in \mathcal{F}、Ω(f)≤t\Omega(f) \leq t のもとで R^S(f)\hat{R}_S(f) を最小にする」問題の最小点でもある。
  2. 0<λ<μ0 < \lambda < \mu ならば Ω(f^λ)≥Ω(f^μ)\Omega(\hat{f}_\lambda) \geq \Omega(\hat{f}_\mu) かつ R^S(f^λ)≤R^S(f^μ)\hat{R}_S(\hat{f}_\lambda) \leq \hat{R}_S(\hat{f}_\mu)。

証明. (1) Ω(f)≤t\Omega(f) \leq 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)。(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) と、λ\lambda と μ\mu を入れ替えた不等式が成り立つ。足すと (μ−λ)(Ω(f^μ)−Ω(f^λ))≤0(\mu - \lambda)(\Omega(\hat{f}_\mu) - \Omega(\hat{f}_\lambda)) \leq 0 で、これを第 1 式に戻すと R^S(f^λ)≤R^S(f^μ)\hat{R}_S(\hat{f}_\lambda) \leq \hat{R}_S(\hat{f}_\mu)。□\square

λ\lambda を大きくするほど Ω\Omega の小さい「単純な」予測関数が選ばれ、訓練誤差は大きくなる。(1) の逆向き(制約つき問題の解が、ある λ≥0\lambda \geq 0 の罰則つき問題の解になること)は、凸な問題ではスレーター条件などのもとでラグランジュ双対性から従う(23-optimization 第4章 定理 4.15)。正則化がバリアンスを減らすしくみは第2章で計算する。λ\lambda のように学習の前に決める量をハイパーパラメータという。

1.7 訓練・検証・テストと交差検証

汎化誤差は、学習に使っていないデータで損失を測って見積もる。

命題 1.22(テストデータによる評価)予測関数 ff が、PP から i.i.d. にとったテストデータ T=((xj′,yj′))j=1mT = ((x_j', y_j'))_{j=1}^{m} と独立に作られているとし、ff を作ったデータを固定して考える。損失が [0,1][0, 1] に値をとるなら(0-1 損失など)、テスト誤差 R^T(f)=1m∑jℓ(yj′,f(xj′))\hat{R}_T(f) = \frac{1}{m}\sum_j \ell(y_j', f(x_j')) は E[R^T(f)]=R(f)E[\hat{R}_T(f)] = R(f)、Var⁡(R^T(f))≤14m\operatorname{Var}(\hat{R}_T(f)) \leq \frac{1}{4m} を満たし、P(∣R^T(f)−R(f)∣≥ε)≤14mε2P(\lvert \hat{R}_T(f) - R(f) \rvert \geq \varepsilon) \leq \frac{1}{4m\varepsilon^2}。

証明. ff は TT によらないので命題 1.4 が使える。[0,1][0, 1] に値をとる ZZ は Z2≤ZZ^2 \leq Z より Var⁡(Z)≤E[Z](1−E[Z])≤1/4\operatorname{Var}(Z) \leq E[Z](1 - E[Z]) \leq 1/4。□\square

m=1000m = 1000 なら標準偏差は 0.0160.016 以下で、0.050.05 以上ずれる確率は 0.10.1 以下である(第6章のヘフディングの不等式なら 2e−2mε2≈0.0132e^{-2m\varepsilon^2} \approx 0.013 以下)。1000 件のテストデータで正解率が 0.5 ポイント違うだけのモデルは、この誤差に埋もれて見分けられないことが多い。

命題 1.23(選択による楽観的な偏り)f1,…,fKf_1, \dots, f_K をテストデータ TT と独立に作られた予測関数とすると、E[min⁡kR^T(fk)]≤min⁡kR(fk)E[\min_k \hat{R}_T(f_k)] \leq \min_k R(f_k)。

証明. 各 jj について min⁡kR^T(fk)≤R^T(fj)\min_k \hat{R}_T(f_k) \leq \hat{R}_T(f_j) で、右辺の期待値は R(fj)R(f_j)(命題 1.22)。jj について最小をとればよい。□\square

例えば、予測を硬貨投げで決める(真の正解率が 0.50.5 の)分類器 100 個をテストデータ 100 件で評価すると、各正解数は独立に二項分布 B(100,1/2)B(100, 1/2) に従い、最良の正解率の期待値は約 0.6250.625、それが 0.60.6 以上になる確率は約 0.940.94 である(計算機で計算した値)。そこでデータを 3 つに分ける:訓練データで各候補(モデルの種類やハイパーパラメータ)を学習し、検証データ (validation data) で候補を比べて 1 つを選び、テストデータ (test data) で選んだモデルの汎化誤差を最後に 1 回だけ見積もる。データが少なければ、検証データの代わりに交差検証を使う。

定義 1.24(KK 分割交差検証, KK-fold cross-validation)添字の集合 {1,…,n}\lbrace 1, \dots, n \rbrace を、データの値によらずに(例えば無作為に)互いに素な I1,…,IKI_1, \dots, I_K に分け、IkI_k 以外のデータ S(−k)S^{(-k)} で学習した予測関数を f^(−k)\hat{f}^{(-k)} として、CVK=1n∑k=1K∑i∈Ikℓ(yi,f^(−k)(xi))\mathrm{CV}_K = \frac{1}{n}\sum_{k=1}^{K}\sum_{i \in I_k} \ell(y_i, \hat{f}^{(-k)}(x_i)) とおく。K=nK = n の場合を一つ抜き交差検証 (leave-one-out cross-validation) という。

命題 1.25(交差検証が推定しているもの)訓練データが i.i.d. で各 IkI_k の大きさが n/Kn/K ならば、S′S' を大きさ n−n/Kn - n/K の i.i.d. 標本として E[CVK]=ES′[R(f^S′)]E[\mathrm{CV}_K] = E_{S'}[R(\hat{f}_{S'})]。すなわち CVK\mathrm{CV}_K は「この学習アルゴリズムで n−n/Kn - n/K 個から学習したときの汎化誤差の期待値」の不偏推定量である。

証明. i∈Iki \in I_k とする。(Xi,Yi)(X_i, Y_i) は S(−k)S^{(-k)} と独立に PP に従い、S(−k)S^{(-k)} は大きさ n−n/Kn - n/K の i.i.d. 標本である。S(−k)S^{(-k)} を固定すると f^(−k)\hat{f}^{(-k)} は (Xi,Yi)(X_i, Y_i) によらないので、(Xi,Yi)(X_i, Y_i) についての期待値は R(f^(−k))R(\hat{f}^{(-k)})(命題 1.4 で n=1n = 1)。さらに S(−k)S^{(-k)} について期待値をとり、ii について平均すればよい。□\square

注意すべき点を挙げる。(1) 見積もっているのは学習アルゴリズムの平均的な性能で、全データで学習した最終モデルの R(f^S)R(\hat{f}_S) そのものではない(使うデータが少ない分、やや悲観的になることが多い)。(2) CVK\mathrm{CV}_K が最小のハイパーパラメータを選ぶと、その最小値は命題 1.23 と同じ理由で楽観的になるので、選んだモデルの性能は別のテストデータか入れ子の交差検証 (nested cross-validation) で見積もる。(3) 各分割の誤差は訓練データを共有するので独立ではなく、CVK\mathrm{CV}_K のばらつき(分散)を見積もるのは難しい。実際、1 回の KK 分割交差検証で得られる誤差だけから、どんな分布に対しても不偏になる分散の推定量は作れないことが示されている(Bengio と Grandvalet, 2004 年)。誤差を独立とみなして計算した標準誤差はばらつきを過小に見積もりやすく、目安にすぎない。(4) i.i.d. の仮定が本質的で、時系列では過去で学習して未来で検証し、同じ顧客・患者のデータが複数あればその単位で分ける。

1.8 データ漏洩

命題 1.22 と命題 1.25 の要は「評価に使うデータが、評価される予測関数と独立である」ことだった。これが崩れるのがデータ漏洩 (data leakage) である。典型は、(1) 標準化・欠損値の補完・特徴量の選択・オーバーサンプリングなどの前処理を分割の前に全データで行う、(2) 目的変数の結果として決まる量や予測の時点より後にしかわからない量を特徴量に使う(解約の予測に「解約手続きの受付日」を使う、など)、(3) 時系列データを無作為に分割する、(4) 同じ人・同じ物のデータが訓練側と評価側の両方に入る、である。

例 1.26(特徴量の選択による漏洩)50 件のデータの 5000 個の特徴量がすべてラベルと無関係な乱数なら、どんな分類器でも真の正解率は 0.50.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 の証明の「(Xi,Yi)(X_i, Y_i) と f^(−k)\hat{f}^{(-k)} の独立性」が崩れる。漏洩なしの 0.580.58 は 50 件での推定のゆらぎの範囲で、乱数の種を変えて 100 回繰り返すと、平均は漏洩ありが約 0.960.96、漏洩なしが約 0.480.48(漏洩なしの値の標準偏差は約 0.090.09)だった。

ヒント

実務では (1) データから何かを推定する前処理(標準化・補完・特徴量の選択・オーバーサンプリングなど)はすべて「モデルの一部」とみなし、交差検証の各分割の訓練側だけで推定して評価側に適用する(ライブラリの「パイプライン」はそのための仕組みである)。(2) 各特徴量について「予測する時点で、この値は本当に手に入るか」を確かめる。(3) 運用と同じ分け方(時間で、顧客単位で)で検証する。(4) 難しい問題で高すぎる正解率や AUC が出たら、まず漏洩を疑う。(5) 運用後も入力の分布が学習時から変わっていないかを監視する。i.i.d. の仮定は時間とともに崩れうる。

まとめ

  • 教師あり学習は、未知の分布のもとでリスク R(f)=E[ℓ(Y,f(X))]R(f) = E[\ell(Y, f(X))] の小さい予測関数を、i.i.d. の訓練データから作る問題である。
  • 最良の予測は損失で決まる(二乗損失では条件付き期待値、0-1 損失では事後確率が最大のクラス、絶対損失では条件付き中央値)。どれも条件付きリスクを各点で最小にして得られる。
  • 経験リスク最小化の誤差は近似誤差と推定誤差に分かれ、推定誤差は経験リスクとリスクの一様なずれの 2 倍で抑えられる。
  • 二乗損失の平均的な汎化誤差は、雑音・バイアスの 2 乗・バリアンスに分解される。バイアスとバリアンスは訓練データを取り直したときの予測の平均とばらつきで、学習アルゴリズムの性質である。
  • 最小二乗法では、訓練誤差は同じ入力での新しい観測に対する誤差より平均して 2σ2p/n2\sigma^2 p/n だけ小さい。訓練誤差でモデルを選んではいけない。
  • 正則化は罰則 λΩ(f)\lambda\Omega(f) で複雑さを抑え、λ\lambda を大きくするほど Ω\Omega は小さく、訓練誤差は大きくなる。
  • テストデータは最後に 1 回だけ使う。交差検証は「n−n/Kn - n/K 個で学習したときの汎化誤差の期待値」の不偏推定量で、その根拠は評価データと予測関数の独立性である。データ漏洩はこの独立性を壊す。

演習問題

問題 1.1 ★ 2 値分類で、陰性を陽性と誤る損失を cFP>0c_{\mathrm{FP}} > 0、陽性を陰性と誤る損失を cFN>0c_{\mathrm{FN}} > 0、正しい予測の損失を 00 とする。ベイズ最適な予測は「η(x)>cFP/(cFP+cFN)\eta(x) > c_{\mathrm{FP}}/(c_{\mathrm{FP}} + c_{\mathrm{FN}}) なら 11」であることを示せ。不正の見逃しの損失が誤警報の 9 倍なら、閾値はいくつか。

解答

r(1∣x)=cFP(1−η(x))r(1 \mid x) = c_{\mathrm{FP}}(1 - \eta(x))、r(0∣x)=cFNη(x)r(0 \mid x) = c_{\mathrm{FN}}\eta(x) で、r(1∣x)<r(0∣x)r(1 \mid x) < r(0 \mid x) は η(x)>cFP/(cFP+cFN)\eta(x) > c_{\mathrm{FP}}/(c_{\mathrm{FP}} + c_{\mathrm{FN}}) と同値である(等号ならどちらでもよい)。この規則は各 xx で条件付きリスクを最小にするので、補題 1.8 よりベイズ最適である。cFN=9cFPc_{\mathrm{FN}} = 9c_{\mathrm{FP}} なら閾値は 0.10.1 で、不正の確率が 10% を超えれば止めるのが最適である。

問題 1.2 ★★ 0<τ<10 < \tau < 1、ρτ(y,c)=τ(y−c)++(1−τ)(c−y)+\rho_\tau(y, c) = \tau(y - c)^{+} + (1 - \tau)(c - y)^{+}(u+=max⁡(u,0)u^{+} = \max(u, 0))、E[∣Y∣]<∞E[\lvert Y \rvert] < \infty とする。(1) P(Y<q)≤τ≤P(Y≤q)P(Y < q) \leq \tau \leq P(Y \leq q) を満たす qq(τ\tau 分位点)について、任意の cc で E[ρτ(Y,c)]≥E[ρτ(Y,q)]E[\rho_\tau(Y, c)] \geq E[\rho_\tau(Y, q)] を示せ。特に絶対損失 ∣y−c∣=2ρ1/2(y,c)\lvert y - c \rvert = 2\rho_{1/2}(y, c) のベイズ最適な予測は条件付き中央値である。(2)(新聞売り子問題)1 日の需要 DD が平均 100 個の指数分布に従い(連続量とみなす)、1 個売れると 400 円の利益、売れ残ると 1 個 100 円の損失が出る。期待利益を最大にする仕入れ数を求めよ。

解答

(1) c>qc > q とする。y≤qy \leq q なら ρτ(y,c)−ρτ(y,q)=(1−τ)(c−q)\rho_\tau(y, c) - \rho_\tau(y, q) = (1 - \tau)(c - q)。y>qy > q なら差は −τ(c−q)-\tau(c - q) 以上である(y≥cy \geq c なら等号、q<y<cq < y < c なら ρτ(y,c)≥0\rho_\tau(y, c) \geq 0 と ρτ(y,q)=τ(y−q)<τ(c−q)\rho_\tau(y, q) = \tau(y - q) < \tau(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] 以上で、これは 00 以上である。c<qc < q でも同様に、y≥qy \geq q なら差は τ(q−c)\tau(q - c)、y<qy < q なら差は −(1−τ)(q−c)-(1 - \tau)(q - c) 以上なので、差の期待値は (q−c)[τ−P(Y<q)](q - c)[\tau - P(Y < q)] 以上で、これも 00 以上である。条件付き分布に適用して補題 1.8 を使えば、ベイズ最適な予測は条件付き τ\tau 分位点である。

(2) 仕入れ数 cc での利益は 400min⁡(D,c)−100(c−D)+=400D−500ρ0.8(D,c)400\min(D, c) - 100(c - D)^{+} = 400D - 500\rho_{0.8}(D, c) で、400D400D は cc によらない。よって (1) より DD の 0.80.8 分位点が最適で、1−e−q/100=0.81 - e^{-q/100} = 0.8 より q=100log⁡5≈160.9q = 100\log 5 \approx 160.9 個。品切れの損失が大きいので、平均の 100 個より多く仕入れるのが最適である。

問題 1.3 ★★ X∈RdX \in \mathbb{R}^d の条件付き分布が Y=kY = k のとき N(μk,Σ)N(\mu_k, \Sigma)(k=0,1k = 0, 1。Σ\Sigma は共通の正定値行列)、P(Y=1)=π∈(0,1)P(Y = 1) = \pi \in (0, 1) とする。log⁡η(x)1−η(x)=β⊤x+β0\log\frac{\eta(x)}{1 - \eta(x)} = \beta^{\top}x + \beta_0 と書けることを示して β,β0\beta, \beta_0 を求め、ベイズ分類器の境界がどんな図形かを答えよ。

解答

N(μk,Σ)N(\mu_k, \Sigma) の密度を φk\varphi_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\Sigma^{-1} の対称性を使って指数部分の差を展開すると x⊤Σ−1xx^{\top}\Sigma^{-1}x の項が消え、β=Σ−1(μ1−μ0)\beta = \Sigma^{-1}(\mu_1 - \mu_0)、β0=log⁡π1−π−12(μ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) を得る。境界 {x∣β⊤x+β0=0}\lbrace x \mid \beta^{\top}x + \beta_0 = 0 \rbrace は超平面である(線形判別分析)。共分散行列がクラスで違うと 2 次の項が残り、境界は 2 次曲面になる。

問題 1.4 ★★ 仮説集合 F\mathcal{F} での ERM が常に最小点 f^S\hat{f}_S をもつとき、ES[R^S(f^S)]≤RF≤ES[R(f^S)]E_S[\hat{R}_S(\hat{f}_S)] \leq R_{\mathcal{F}} \leq E_S[R(\hat{f}_S)] を示し、その意味を述べよ。

解答

任意の f∈Ff \in \mathcal{F} について R^S(f^S)≤R^S(f)\hat{R}_S(\hat{f}_S) \leq \hat{R}_S(f) で、ff は SS によらないので、期待値をとると命題 1.4 より ES[R^S(f^S)]≤R(f)E_S[\hat{R}_S(\hat{f}_S)] \leq R(f)。ff について下限をとれば左の不等式を得る。右は f^S∈F\hat{f}_S \in \mathcal{F} による。ERM の訓練誤差は平均すると F\mathcal{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(E[ε]=0E[\varepsilon] = 0、Cov⁡(ε)=σ2In\operatorname{Cov}(\varepsilon) = \sigma^2 I_n)とし、当てはめ値が固定した nn 次正方行列 LL で y^=Ly\hat{y} = Ly と書ける手法(線形平滑化)を考える。同じ入力での新しい観測 y′=m+ε′y' = m + \varepsilon'(ε′\varepsilon' は ε\varepsilon と独立で同じ分布)について、E[1n∥y′−y^∥2]−E[1n∥y−y^∥2]=2σ2ntr⁡LE[\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 を示せ。

解答

∥y′−y^∥2−∥y−y^∥2=∥y′∥2−∥y∥2−2y^⊤(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) で、E∥y′∥2=E∥y∥2E\lVert y' \rVert^2 = E\lVert y \rVert^2。y^=Lm+Lε\hat{y} = Lm + L\varepsilon は ε′\varepsilon' と独立なので E[y^⊤y′]=m⊤L⊤mE[\hat{y}^{\top}y'] = m^{\top}L^{\top}m、一方 E[y^⊤y]=m⊤L⊤m+E[ε⊤L⊤ε]=m⊤L⊤m+σ2tr⁡LE[\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。よって差の期待値は 2σ2tr⁡L2\sigma^2\operatorname{tr}L である。L=HL = H なら tr⁡H=p\operatorname{tr}H = p で命題 1.18 に一致する。訓練誤差の楽観性が tr⁡L\operatorname{tr}L に比例するので、tr⁡L\operatorname{tr}L は実質的なパラメータの数(有効自由度)とみなせる。リッジ回帰では tr⁡L=∑iσi2/(σi2+λ)\operatorname{tr}L = \sum_i \sigma_i^2/(\sigma_i^2 + \lambda) である(第2章の系 2.7)。

この章を読み終えたら

「読了」にすると、学習記録と地図に反映されます。

この章の誤りを報告GitHub で見る