Lemma

第2章線形モデル

目安 9〜12 時間定理など 16演習 6 問
ここまでの道

この章の目標

  • 線形回帰を直交射影として理解し、多重共線性が推定を不安定にする理由を特異値で説明できる
  • リッジ回帰の閉形式を導き、特異値分解による縮小係数 σi2/(σi2+λ)\sigma_i^2/(\sigma_i^2 + \lambda) で正則化の効果を説明できる
  • 直交計画のラッソがソフト閾値で解けることを証明し、係数がちょうど 00 になる理由を説明できる
  • ロジスティック回帰とソフトマックス回帰の損失の勾配・ヘッセ行列を計算し、凸性を証明できる
  • 標準化が必要な場面を見分け、評価指標を使い分けて、AUC の確率的解釈を証明できる

前提:第1章、02-linear-algebra 第7章(直交射影・最小二乗法)、02-linear-algebra 第8章(正定値性・特異値分解)、01-calculus 第7章(連鎖律・ヘッセ行列)、23-optimization 第2章(凸関数)。線形回帰の統計的推測は 22-statistics 第5章、ロジスティック回帰の最尤推定とニュートン法は 22-statistics 第6章、一般の計画行列でのラッソの解法は 23-optimization 第5章 で扱う。

予測関数を入力の 1 次式 f(x)=w⊤xf(x) = w^{\top}x に限ったものを線形モデルという。計算と証明がすべて手の届く範囲にあり、ニューラルネットワークの最後の層やカーネル法(特徴空間での線形モデル)の部品でもあり、実務の最初の基準(ベースライン)としても欠かせない。「線形」はパラメータについての線形で、多項式やダミー変数を特徴量にすれば入力について非線形な関数も表せる。

記法. 第 ii 行が xi⊤x_i^{\top}(xi∈Rdx_i \in \mathbb{R}^d)の n×dn \times d 行列(計画行列, design matrix)を XX、y=(y1,…,yn)⊤y = (y_1, \dots, y_n)^{\top} とし、XX の第 jj 列を x(j)x_{(j)} と書く(P(Y=1∣X=x)P(Y = 1 \mid X = x) のような確率の式の中の XX は、第1章と同じく入力の確率変数である)。切片は値がつねに 11 の特徴量として ww に含める。A⊤A^{\top} は転置(02-linear-algebra の tA{}^tA)である。

2.1 線形回帰と射影

二乗損失の経験リスク 1n∥y−Xw∥2\frac{1}{n}\lVert y - Xw \rVert^2 を最小にするのが最小二乗法(線形回帰)である。

定理 2.1(射影としての線形回帰)

  1. w^\hat{w} が ∥y−Xw∥2\lVert y - Xw \rVert^2 を最小にするための必要十分条件は、正規方程式 X⊤Xw^=X⊤yX^{\top}X\hat{w} = X^{\top}y である。最小点は必ず存在し、当てはめ値 y^=Xw^\hat{y} = X\hat{w} は最小点の選び方によらず、列空間 Im⁡X\operatorname{Im}X への yy の直交射影に等しい。残差 e=y−y^e = y - \hat{y} は XX のすべての列と直交する(X⊤e=0X^{\top}e = 0)。
  2. rank⁡X=d\operatorname{rank}X = d ならば最小点は w^=(X⊤X)−1X⊤y\hat{w} = (X^{\top}X)^{-1}X^{\top}y ただ一つで、ハット行列 H=X(X⊤X)−1X⊤H = X(X^{\top}X)^{-1}X^{\top} は H⊤=H=H2H^{\top} = H = H^2、tr⁡H=d\operatorname{tr}H = d を満たし、y^=Hy\hat{y} = Hy である。
  3. 最小点のうちノルムが最小のものは X+yX^{+}y(X+X^{+} はムーア–ペンローズ擬逆行列)である。

証明. (1) は 02-linear-algebra 第7章 定理 7.19 とその証明(最良近似の定理 7.17)である。(2) の式は定理 7.19 から従い、H2=X(X⊤X)−1(X⊤X)(X⊤X)−1X⊤=HH^2 = X(X^{\top}X)^{-1}(X^{\top}X)(X^{\top}X)^{-1}X^{\top} = H、tr⁡H=tr⁡((X⊤X)−1X⊤X)=d\operatorname{tr}H = \operatorname{tr}((X^{\top}X)^{-1}X^{\top}X) = d。(3) は 02-linear-algebra 第8章 定理 8.26 である。□\square

J(w)=∥y−Xw∥2J(w) = \lVert y - Xw \rVert^2 の勾配は 2X⊤(Xw−y)2X^{\top}(Xw - y)、ヘッセ行列は半正定値な 2X⊤X2X^{\top}X なので JJ は凸で、正規方程式は ∇J=0\nabla J = 0 にあたる。

以下、雑音の分散を σε2\sigma_\varepsilon^2 と書き(特異値 σi\sigma_i と区別するため)、XX の特異値分解(02-linear-algebra 第8章 定理 8.19)を X=UΣV⊤=∑i=1rσiuivi⊤X = U\Sigma V^{\top} = \sum_{i=1}^{r}\sigma_iu_iv_i^{\top}(r=rank⁡Xr = \operatorname{rank}X、σ1≥⋯≥σr>0\sigma_1 \geq \cdots \geq \sigma_r > 0、ui,viu_i, v_i は直交行列 U,VU, V の列)とする。Xvi=σiuiXv_i = \sigma_iu_i、X⊤ui=σiviX^{\top}u_i = \sigma_iv_i(i≤ri \leq r)である。

命題 2.2(最小二乗推定量の誤差)y=Xw∗+εy = Xw^{\ast} + \varepsilon、E[ε]=0E[\varepsilon] = 0、Cov⁡(ε)=σε2In\operatorname{Cov}(\varepsilon) = \sigma_\varepsilon^2 I_n、rank⁡X=d\operatorname{rank}X = d とすると、E[w^]=w∗E[\hat{w}] = w^{\ast}、Cov⁡(w^)=σε2(X⊤X)−1\operatorname{Cov}(\hat{w}) = \sigma_\varepsilon^2(X^{\top}X)^{-1}、E∥w^−w∗∥2=σε2∑i=1dσi−2E\lVert \hat{w} - w^{\ast} \rVert^2 = \sigma_\varepsilon^2\sum_{i=1}^{d}\sigma_i^{-2}。

証明. w^−w∗=(X⊤X)−1X⊤ε\hat{w} - w^{\ast} = (X^{\top}X)^{-1}X^{\top}\varepsilon なので平均は 00、共分散は (X⊤X)−1X⊤(σε2In)X(X⊤X)−1=σε2(X⊤X)−1(X^{\top}X)^{-1}X^{\top}(\sigma_\varepsilon^2 I_n)X(X^{\top}X)^{-1} = \sigma_\varepsilon^2(X^{\top}X)^{-1} で、E∥w^−w∗∥2E\lVert \hat{w} - w^{\ast} \rVert^2 はそのトレースである。X⊤XX^{\top}X の固有値は σi2\sigma_i^2 である。□\square

特徴量の尺度をそろえても(2.6 節)なお小さな特異値があることは、特徴量どうしがほぼ 1 次従属であること(多重共線性, multicollinearity)を表し、推定は不偏でもその方向の誤差が非常に大きくなる(係数ごとの見方は 22-statistics 第5章 系 5.21 の分散拡大要因)。

例 2.3(相関の強い 2 つの特徴量)平均 00、分散 11 に標準化した 2 つの特徴量の相関係数が 0.980.98、n=50n = 50 なら、X⊤XX^{\top}X の対角成分は 5050、非対角成分は 4949 で、固有値は σ12=99\sigma_1^2 = 99(固有ベクトル v1=(1,1)⊤/2v_1 = (1, 1)^{\top}/\sqrt{2})と σ22=1\sigma_2^2 = 1(v2=(1,−1)⊤/2v_2 = (1, -1)^{\top}/\sqrt{2})である。命題 2.2 の誤差 σε2(1/99+1)\sigma_\varepsilon^2(1/99 + 1) の大部分は v2v_2 方向、つまり係数の差 w1−w2w_1 - w_2 の推定から来る。2 つの特徴量がほとんど同じ動きをするので、どちらがどれだけ効いているかを見分けられないのである。

2.2 リッジ回帰

定義 2.4(リッジ回帰, ridge regression)λ>0\lambda > 0 に対し、Jλ(w)=∥y−Xw∥2+λ∥w∥2J_\lambda(w) = \lVert y - Xw \rVert^2 + \lambda\lVert w \rVert^2 を最小にする w^λ\hat{w}_\lambda を求めることをリッジ回帰という。

定理 2.5(リッジ回帰の閉形式)λ>0\lambda > 0 ならば A=X⊤X+λIdA = X^{\top}X + \lambda I_d は正定値で、JλJ_\lambda の最小点は w^λ=A−1X⊤y\hat{w}_\lambda = A^{-1}X^{\top}y ただ一つである(XX の階数や n,dn, d の大小によらない)。さらに Jλ(w)=Jλ(w^λ)+(w−w^λ)⊤A(w−w^λ)J_\lambda(w) = J_\lambda(\hat{w}_\lambda) + (w - \hat{w}_\lambda)^{\top}A(w - \hat{w}_\lambda)。

証明. v≠0v \neq 0 なら v⊤Av=∥Xv∥2+λ∥v∥2>0v^{\top}Av = \lVert Xv \rVert^2 + \lambda\lVert v \rVert^2 > 0 なので AA は正定値、特に正則である。w^=A−1X⊤y\hat{w} = A^{-1}X^{\top}y とおくと X⊤y=Aw^X^{\top}y = A\hat{w} で、AA の対称性から

Jλ(w)=y⊤y−2w⊤Aw^+w⊤Aw=(w−w^)⊤A(w−w^)+y⊤y−w^⊤Aw^J_\lambda(w) = y^{\top}y - 2w^{\top}A\hat{w} + w^{\top}Aw = (w - \hat{w})^{\top}A(w - \hat{w}) + y^{\top}y - \hat{w}^{\top}A\hat{w}

w=w^w = \hat{w} とすれば等式を得て、AA の正定値性から w≠w^w \neq \hat{w} なら Jλ(w)>Jλ(w^)J_\lambda(w) > J_\lambda(\hat{w})。□\square

定理 2.6(特異値分解による縮小)

w^λ=∑i=1rσiσi2+λ(ui⊤y) vi,Xw^λ=∑i=1rσi2σi2+λ(ui⊤y) ui\hat{w}_\lambda = \sum_{i=1}^{r}\frac{\sigma_i}{\sigma_i^2 + \lambda}(u_i^{\top}y)\,v_i, \qquad X\hat{w}_\lambda = \sum_{i=1}^{r}\frac{\sigma_i^2}{\sigma_i^2 + \lambda}(u_i^{\top}y)\,u_i

一方、最小二乗法の当てはめ値は y^=∑i=1r(ui⊤y)ui\hat{y} = \sum_{i=1}^{r}(u_i^{\top}y)u_i、ノルム最小の最小二乗解は X+y=∑i=1rσi−1(ui⊤y)viX^{+}y = \sum_{i=1}^{r}\sigma_i^{-1}(u_i^{\top}y)v_i である。すなわちリッジ回帰は、最小二乗法の当てはめ値の uiu_i 方向の成分を σi2/(σi2+λ)\sigma_i^2/(\sigma_i^2 + \lambda) 倍に縮める。

証明. A−1=V(Σ⊤Σ+λId)−1V⊤A^{-1} = V(\Sigma^{\top}\Sigma + \lambda I_d)^{-1}V^{\top}、X⊤y=VΣ⊤U⊤yX^{\top}y = V\Sigma^{\top}U^{\top}y より w^λ=V(Σ⊤Σ+λId)−1Σ⊤U⊤y\hat{w}_\lambda = V(\Sigma^{\top}\Sigma + \lambda I_d)^{-1}\Sigma^{\top}U^{\top}y で、d×nd \times n 行列 (Σ⊤Σ+λId)−1Σ⊤(\Sigma^{\top}\Sigma + \lambda I_d)^{-1}\Sigma^{\top} は (i,i)(i, i) 成分(i≤ri \leq r)が σi/(σi2+λ)\sigma_i/(\sigma_i^2 + \lambda)、ほかは 00 である。これで第 1 式を得て、Xvi=σiuiXv_i = \sigma_iu_i から第 2 式を得る。y^\hat{y} は Im⁡X=span⁡(u1,…,ur)\operatorname{Im}X = \operatorname{span}(u_1, \dots, u_r) への直交射影 ∑i≤ruiui⊤y\sum_{i \leq r}u_iu_i^{\top}y であり、X+yX^{+}y の式は擬逆行列の定義(02-linear-algebra 第8章 定義 8.24)による。□\square

系 2.7

  1. λ→+0\lambda \to +0 で w^λ→X+y\hat{w}_\lambda \to X^{+}y、λ→∞\lambda \to \infty で w^λ→0\hat{w}_\lambda \to 0 であり、∥w^λ∥2=∑i=1rσi2(ui⊤y)2/(σi2+λ)2\lVert \hat{w}_\lambda \rVert^2 = \sum_{i=1}^{r}\sigma_i^2(u_i^{\top}y)^2/(\sigma_i^2 + \lambda)^2 は λ\lambda について単調に減少する。
  2. Hλ=X(X⊤X+λId)−1X⊤H_\lambda = X(X^{\top}X + \lambda I_d)^{-1}X^{\top}(Xw^λ=HλyX\hat{w}_\lambda = H_\lambda y)について tr⁡Hλ=∑i=1rσi2/(σi2+λ)\operatorname{tr}H_\lambda = \sum_{i=1}^{r}\sigma_i^2/(\sigma_i^2 + \lambda)。これを有効自由度 (effective degrees of freedom) という。

証明. 定理 2.6 から直ちに従う。(2) は Hλ=∑i≤rσi2σi2+λuiui⊤H_\lambda = \sum_{i \leq r}\frac{\sigma_i^2}{\sigma_i^2 + \lambda}u_iu_i^{\top} と tr⁡(uiui⊤)=∥ui∥2=1\operatorname{tr}(u_iu_i^{\top}) = \lVert u_i \rVert^2 = 1 による。□\square

有効自由度は最小二乗法のパラメータ数 tr⁡H=d\operatorname{tr}H = d にあたり、λ\lambda とともに rr から 00 へ減る(第1章の問題 1.6 により訓練誤差の楽観性は 2σε2tr⁡Hλ/n2\sigma_\varepsilon^2\operatorname{tr}H_\lambda/n)。特徴量を中心化してあれば σi2/n\sigma_i^2/n は viv_i 方向(第3章の主成分の方向)のデータの分散であり、リッジ回帰はデータのばらつきが小さい方向ほど強く縮める。そこは最小二乗推定の分散 σε2/σi2\sigma_\varepsilon^2/\sigma_i^2 が大きい方向であり(命題 2.2)、バイアスと引き換えにバリアンスを減らすのである。

定理 2.8(リッジ回帰の平均二乗誤差)y=Xw∗+εy = Xw^{\ast} + \varepsilon、E[ε]=0E[\varepsilon] = 0、Cov⁡(ε)=σε2In\operatorname{Cov}(\varepsilon) = \sigma_\varepsilon^2 I_n、αi=vi⊤w∗\alpha_i = v_i^{\top}w^{\ast}(i=1,…,di = 1, \dots, d)とすると

E∥w^λ−w∗∥2=∑i=1rλ2αi2+σε2σi2(σi2+λ)2+∑i=r+1dαi2E\lVert \hat{w}_\lambda - w^{\ast} \rVert^2 = \sum_{i=1}^{r}\frac{\lambda^2\alpha_i^2 + \sigma_\varepsilon^2\sigma_i^2}{(\sigma_i^2 + \lambda)^2} + \sum_{i=r+1}^{d}\alpha_i^2

である。rank⁡X=d\operatorname{rank}X = d のとき、右辺で λ=0\lambda = 0 とした値は最小二乗推定量の誤差 σε2∑iσi−2\sigma_\varepsilon^2\sum_i\sigma_i^{-2} に等しく、0<λ≤σε2/max⁡iαi20 < \lambda \leq \sigma_\varepsilon^2/\max_i\alpha_i^2(w∗=0w^{\ast} = 0 なら任意の λ>0\lambda > 0)ならば E∥w^λ−w∗∥2<E∥w^−w∗∥2E\lVert \hat{w}_\lambda - w^{\ast} \rVert^2 < E\lVert \hat{w} - w^{\ast} \rVert^2。

証明. ∥w^λ−w∗∥2=∑i=1d(vi⊤w^λ−αi)2\lVert \hat{w}_\lambda - w^{\ast} \rVert^2 = \sum_{i=1}^{d}(v_i^{\top}\hat{w}_\lambda - \alpha_i)^2。i≤ri \leq r では ui⊤y=(X⊤ui)⊤w∗+ui⊤ε=σiαi+ui⊤εu_i^{\top}y = (X^{\top}u_i)^{\top}w^{\ast} + u_i^{\top}\varepsilon = \sigma_i\alpha_i + u_i^{\top}\varepsilon なので、定理 2.6 より

vi⊤w^λ−αi=−λαiσi2+λ+σiσi2+λui⊤εv_i^{\top}\hat{w}_\lambda - \alpha_i = -\frac{\lambda\alpha_i}{\sigma_i^2 + \lambda} + \frac{\sigma_i}{\sigma_i^2 + \lambda}u_i^{\top}\varepsilon

で、E[ui⊤ε]=0E[u_i^{\top}\varepsilon] = 0、E[(ui⊤ε)2]=σε2E[(u_i^{\top}\varepsilon)^2] = \sigma_\varepsilon^2 より 2 乗の期待値は右辺の第 ii 項になる(i>ri > r では vi⊤w^λ=0v_i^{\top}\hat{w}_\lambda = 0)。後半:r=dr = d とし、第 ii 項を gi(λ)g_i(\lambda) とおくと ∑igi(0)=σε2∑iσi−2\sum_ig_i(0) = \sigma_\varepsilon^2\sum_i\sigma_i^{-2} は命題 2.2 の値である。gi′(λ)=2σi2(λαi2−σε2)/(σi2+λ)3g_i'(\lambda) = 2\sigma_i^2(\lambda\alpha_i^2 - \sigma_\varepsilon^2)/(\sigma_i^2 + \lambda)^3 なので、λ0=σε2/max⁡iαi2\lambda_0 = \sigma_\varepsilon^2/\max_i\alpha_i^2 とおくと 0≤λ<λ00 \leq \lambda < \lambda_0 ですべての gi′<0g_i' < 0 であり、∑igi\sum_ig_i は [0,λ0][0, \lambda_0] で狭義単調減少する(平均値の定理)。w∗=0w^{\ast} = 0 ならすべての λ≥0\lambda \geq 0 で gi′<0g_i' < 0 である。□\square

方向 ii ごとに見ると、gig_i は λ=σε2/αi2\lambda = \sigma_\varepsilon^2/\alpha_i^2(雑音と信号の比)で最小になる。定理 2.8 の λ\lambda の範囲は十分条件であり、最小二乗に勝つ λ\lambda の範囲全体ではない(例 2.9)。この結果は Hoerl と Kennard(1970 年)によるもので、22-statistics 第6章 定理 6.14 でも扱っている。

例 2.9(例 2.3 の続き)σε=1\sigma_\varepsilon = 1 なら最小二乗推定量の誤差は 1/99+1≈1.01011/99 + 1 \approx 1.0101 である。w∗=(1,1)⊤w^{\ast} = (1, 1)^{\top}(α1=2\alpha_1 = \sqrt{2}、α2=0\alpha_2 = 0)なら定理 2.8 の値は λ=1\lambda = 1 で 0.26010.2601、λ=8\lambda = 8 で 0.03220.0322(最小は λ≈8.3\lambda \approx 8.3)。w∗=(1,−1)⊤w^{\ast} = (1, -1)^{\top} なら λ=0.5\lambda = 0.5 で最小の 0.67670.6767、λ=8\lambda = 8 では 1.60121.6012 と最小二乗より悪い。最小二乗に勝つのは、w∗=(1,1)⊤w^{\ast} = (1, 1)^{\top} なら 0<λ<242.80 < \lambda < 242.8、w∗=(1,−1)⊤w^{\ast} = (1, -1)^{\top} なら 0<λ<2.0020 < \lambda < 2.002 のときで、どちらも定理 2.8 の十分条件 λ≤0.5\lambda \leq 0.5 より広い(数値は計算機で確かめた)。最適な λ\lambda も勝つ範囲も未知の w∗w^{\ast} によるので、実際には交差検証で選ぶ。

ヒント

実務では (1) 罰則の強さの書き方は流儀が分かれ、損失を nn や 2n2n で割った形も使われるので、同じ λ\lambda の値でも意味が違う。使う道具の式を確かめる。(2) 切片には罰則をかけず(かけると yy の原点の取り方で予測が変わる。特徴量と yy を中心化して切片なしで解けば、切片に罰則をかけない解が得られる)、特徴量は標準化してから罰則をかける(2.6 節)。(3) λ\lambda は 10−3,10−2,…,10310^{-3}, 10^{-2}, \dots, 10^{3} のような対数の格子から交差検証で選ぶ。特異値分解を 1 回計算すれば、定理 2.6 の式ですべての λ\lambda の解が安く求まる。

2.3 ラッソ

リッジ回帰は各方向を正の倍率で縮めるだけなので、係数がちょうど 00 になることは偶然を除いて起こらない。効く特徴量が少数だと考えられるときは、係数の多くをちょうど 00 にして特徴量を選びたい。

定義 2.10(ラッソ, lasso)λ>0\lambda > 0 に対し、Fλ(w)=12∥y−Xw∥2+λ∥w∥1F_\lambda(w) = \frac{1}{2}\lVert y - Xw \rVert^2 + \lambda\lVert w \rVert_1(∥w∥1=∑j∣wj∣\lVert w \rVert_1 = \sum_j\lvert w_j \rvert)を最小にする w^\hat{w} を求めることをラッソという。

Fλ(w)≤Fλ(0)F_\lambda(w) \leq F_\lambda(0) となる ww の集合は λ∥w∥1≤Fλ(0)\lambda\lVert w \rVert_1 \leq F_\lambda(0) を満たす有界閉集合なので、連続関数 FλF_\lambda の最小点は存在する(01-calculus 第7章 定理 7.5・定理 7.7)。FλF_\lambda は凸だが wj=0w_j = 0 で微分できず、最小点は一意とは限らない。

補題 2.11(ソフト閾値, soft thresholding)z∈Rz \in \mathbb{R}、λ≥0\lambda \geq 0 とすると、g(t)=12(t−z)2+λ∣t∣g(t) = \frac{1}{2}(t - z)^2 + \lambda\lvert t \rvert の最小点はただ一つで、

Sλ(z)=sign⁡(z)max⁡(∣z∣−λ,0)={z−λ(z>λ)0(∣z∣≤λ)z+λ(z<−λ)S_\lambda(z) = \operatorname{sign}(z)\max(\lvert z \rvert - \lambda, 0) = \begin{cases} z - \lambda & (z > \lambda) \\ 0 & (\lvert z \rvert \leq \lambda) \\ z + \lambda & (z < -\lambda) \end{cases}

である。SλS_\lambda をソフト閾値関数という。

証明. 平方完成すると

g(t)=12(t−(z−λ))2+λz−λ22(t≥0),g(t)=12(t−(z+λ))2−λz−λ22(t≤0)g(t) = \frac{1}{2}(t - (z - \lambda))^2 + \lambda z - \frac{\lambda^2}{2} \quad (t \geq 0), \qquad g(t) = \frac{1}{2}(t - (z + \lambda))^2 - \lambda z - \frac{\lambda^2}{2} \quad (t \leq 0)

z,tz, t の符号を同時に変えても gg の形は変わらないので z≥0z \geq 0 としてよい。t<0t < 0 では t−(z+λ)<−(z+λ)≤0t - (z + \lambda) < -(z + \lambda) \leq 0 なので第 2 式の 2 乗の項は t=0t = 0 のときより大きく、g(t)>g(0)g(t) > g(0)。z≤λz \leq \lambda なら、t>0t > 0 でも t−(z−λ)>λ−z≥0t - (z - \lambda) > \lambda - z \geq 0 なので g(t)>g(0)g(t) > g(0) で、最小点は 00 ただ一つ。z>λz > \lambda なら、t≥0t \geq 0 での最小点は t=z−λt = z - \lambda ただ一つで、g(z−λ)=g(0)−12(z−λ)2<g(0)g(z - \lambda) = g(0) - \frac{1}{2}(z - \lambda)^2 < g(0) なので、これが全体の最小点である。□\square

定理 2.12(直交計画のラッソ)X⊤X=IdX^{\top}X = I_d(列が正規直交)ならば、ラッソの最小点はただ一つで、最小二乗推定量 z=X⊤yz = X^{\top}y を使って w^j=Sλ(zj)\hat{w}_j = S_\lambda(z_j)(j=1,…,dj = 1, \dots, d)と書ける。特に ∣zj∣≤λ\lvert z_j \rvert \leq \lambda なら w^j=0\hat{w}_j = 0 である。

証明. X⊤X=IdX^{\top}X = I_d より 12∥y−Xw∥2=12∥y∥2−w⊤z+12∥w∥2=12∥w−z∥2+12(∥y∥2−∥z∥2)\frac{1}{2}\lVert y - Xw \rVert^2 = \frac{1}{2}\lVert y \rVert^2 - w^{\top}z + \frac{1}{2}\lVert w \rVert^2 = \frac{1}{2}\lVert w - z \rVert^2 + \frac{1}{2}(\lVert y \rVert^2 - \lVert z \rVert^2) なので

Fλ(w)=∑j=1d(12(wj−zj)2+λ∣wj∣)+定数F_\lambda(w) = \sum_{j=1}^{d}\left(\frac{1}{2}(w_j - z_j)^2 + \lambda\lvert w_j \rvert\right) + \text{定数}

各項は wjw_j だけの関数なので、和の最小点は各項の最小点を並べたものであり、補題 2.11 から主張が従う。□\square

例 2.13(3 種類の縮小)X⊤X=IdX^{\top}X = I_d、z=(3,−0.5,1.2,−2)z = (3, -0.5, 1.2, -2)、λ=1\lambda = 1 とする。ラッソは (2,0,0.2,−1)(2, 0, 0.2, -1) で、小さい成分を 00 にし残りを λ\lambda だけ 00 に近づける。リッジ回帰は定理 2.5 より z/(1+λ)=(1.5,−0.25,0.6,−1)z/(1 + \lambda) = (1.5, -0.25, 0.6, -1) で、すべてを同じ割合で縮める。00 でない成分の個数 ∥w∥0\lVert w \rVert_0 への罰則 12∥y−Xw∥2+λ∥w∥0\frac{1}{2}\lVert y - Xw \rVert^2 + \lambda\lVert w \rVert_0 では、∣zj∣>2λ\lvert z_j \rvert > \sqrt{2\lambda} の成分だけが残って (3,0,0,−2)(3, 0, 0, -2) となる(ハード閾値。問題 2.1)。

一般の XX では閉じた式はないが、座標ごとにソフト閾値を繰り返す座標降下法や近接勾配法(23-optimization 第5章)で解ける。最小点の条件は、各 jj で「w^j≠0\hat{w}_j \neq 0 なら x(j)⊤(y−Xw^)=λsign⁡(w^j)x_{(j)}^{\top}(y - X\hat{w}) = \lambda\operatorname{sign}(\hat{w}_j)、w^j=0\hat{w}_j = 0 なら ∣x(j)⊤(y−Xw^)∣≤λ\lvert x_{(j)}^{\top}(y - X\hat{w}) \rvert \leq \lambda」である(23-optimization 第2章 定理 2.29 の劣勾配による最適性条件と例 2.28 の ∥w∥1\lVert w \rVert_1 の劣微分から従う。証明は省く)。残差との内積の絶対値 ∣x(j)⊤(y−Xw^)∣\lvert x_{(j)}^{\top}(y - X\hat{w}) \rvert が λ\lambda より小さい特徴量の係数は 00 になるのであり、特に w^=0\hat{w} = 0 となるのは λ≥max⁡j∣x(j)⊤y∣\lambda \geq \max_j\lvert x_{(j)}^{\top}y \rvert のときに限る(問題 2.4)。図形的には、ラッソの解は「∥w∥1≤t\lVert w \rVert_1 \leq t のもとで二乗誤差を最小にする」解でもあり(第1章の命題 1.21)、座標軸上に頂点をもつ ℓ1\ell^1 球に二乗誤差の等高線が最初に触れる点は、いくつかの座標が 00 の頂点や面になりやすい。

注意

ラッソで残った特徴量が「真に効いている特徴量」とは限らない。相関の強い特徴量の組からは 1 つだけが選ばれやすく、どれが選ばれるかはデータの小さな違いで入れ替わる(問題 2.6)。また、選んだ特徴量について同じデータで通常の検定を行うと、選んだという事実を無視することになり(第1章の命題 1.23 と同じ構造の偏り)、pp 値は小さく出すぎる。

2.4 ロジスティック回帰

2 値分類(y∈{0,1}y \in \lbrace 0, 1 \rbrace)で確率 P(Y=1∣X=x)P(Y = 1 \mid X = x) を出したい。例 1.12 では、正規分布の 2 クラスで η(x)\eta(x) が「1 次式をロジスティック関数に入れた形」になった。そこで、はじめからこの形を仮定する。ロジスティック関数 σ(t)=1/(1+e−t)\sigma(t) = 1/(1 + e^{-t})(特異値 σi\sigma_i とは無関係)は R\mathbb{R} から (0,1)(0, 1) への単調増加な全単射で、1−σ(t)=σ(−t)1 - \sigma(t) = \sigma(-t)、σ′(t)=σ(t)(1−σ(t))\sigma'(t) = \sigma(t)(1 - \sigma(t)) を満たす。

定義 2.14(ロジスティック回帰, logistic regression)モデル P(Y=1∣X=x)=σ(w⊤x)P(Y = 1 \mid X = x) = \sigma(w^{\top}x) をロジスティック回帰という。スコア t∈Rt \in \mathbb{R} と y∈{0,1}y \in \lbrace 0, 1 \rbrace に対するロジスティック損失(交差エントロピー損失)

ℓ(y,t)=−ylog⁡σ(t)−(1−y)log⁡(1−σ(t))=log⁡(1+et)−yt\ell(y, t) = -y\log\sigma(t) - (1 - y)\log(1 - \sigma(t)) = \log(1 + e^{t}) - yt

の経験リスク L(w)=1n∑i=1nℓ(yi,w⊤xi)L(w) = \frac{1}{n}\sum_{i=1}^{n}\ell(y_i, w^{\top}x_i) を最小にして ww を求める。

二つ目の等号は −log⁡σ(t)=log⁡(1+e−t)=log⁡(1+et)−t-\log\sigma(t) = \log(1 + e^{-t}) = \log(1 + e^{t}) - t、−log⁡(1−σ(t))=log⁡(1+et)-\log(1 - \sigma(t)) = \log(1 + e^{t}) による。nL(w)nL(w) はベルヌーイ分布のモデルの負の対数尤度なので、LL の最小化は最尤推定である(22-statistics 第6章)。

命題 2.15(ロジスティック損失は確率を当てる)η∈(0,1)\eta \in (0, 1)、P(Y=1)=ηP(Y = 1) = \eta とすると、h(t)=E[ℓ(Y,t)]=ηlog⁡(1+e−t)+(1−η)log⁡(1+et)h(t) = E[\ell(Y, t)] = \eta\log(1 + e^{-t}) + (1 - \eta)\log(1 + e^{t}) は σ(t)=η\sigma(t) = \eta となる tt をただ一つの最小点にもつ。

証明. h′(t)=−η(1−σ(t))+(1−η)σ(t)=σ(t)−ηh'(t) = -\eta(1 - \sigma(t)) + (1 - \eta)\sigma(t) = \sigma(t) - \eta は狭義単調増加で、σ(t)=η\sigma(t) = \eta でだけ 00 になり、その左で負、右で正である。□\square

第1章の補題 1.8 と合わせると、ロジスティック損失のリスクをすべての関数の中で最小にするスコア t(x)t(x) は、0<η(x)<10 < \eta(x) < 1 となる各 xx で σ(t(x))=η(x)\sigma(t(x)) = \eta(x) を満たす。0-1 損失と違い、ロジスティック損失は確率そのものを正しく出すことを求めるのである(第7章の交差エントロピーにつながる)。ただし、η(x)\eta(x) が σ(w⊤x)\sigma(w^{\top}x) の形でない(モデルが正しくない)ときや正則化したときは、学習した σ(w^⊤x)\sigma(\hat{w}^{\top}x) が確率として正しい(較正されている)保証はない。

定理 2.16(勾配とヘッセ行列)pi=σ(w⊤xi)p_i = \sigma(w^{\top}x_i)、p=(p1,…,pn)⊤p = (p_1, \dots, p_n)^{\top}、D=diag⁡(p1(1−p1),…,pn(1−pn))D = \operatorname{diag}(p_1(1 - p_1), \dots, p_n(1 - p_n)) とすると

∇L(w)=1n∑i=1n(pi−yi)xi=1nX⊤(p−y),∇2L(w)=1n∑i=1npi(1−pi)xixi⊤=1nX⊤DX\nabla L(w) = \frac{1}{n}\sum_{i=1}^{n}(p_i - y_i)x_i = \frac{1}{n}X^{\top}(p - y), \qquad \nabla^2L(w) = \frac{1}{n}\sum_{i=1}^{n}p_i(1 - p_i)x_ix_i^{\top} = \frac{1}{n}X^{\top}DX

証明. ∂∂tℓ(y,t)=σ(t)−y\frac{\partial}{\partial t}\ell(y, t) = \sigma(t) - y と連鎖律(01-calculus 第7章 定理 7.14)より ∇wℓ(yi,w⊤xi)=(σ(w⊤xi)−yi)xi\nabla_w\ell(y_i, w^{\top}x_i) = (\sigma(w^{\top}x_i) - y_i)x_i。その第 kk 成分の勾配は σ′(w⊤xi)xikxi\sigma'(w^{\top}x_i)x_{ik}x_i なので、ヘッセ行列は σ′(w⊤xi)xixi⊤\sigma'(w^{\top}x_i)x_ix_i^{\top}。ii について平均すればよい。□\square

勾配は「(予測確率 − ラベル)× 入力」の平均で、二乗損失の ∇12n∥Xw−y∥2=1nX⊤(Xw−y)\nabla\frac{1}{2n}\lVert Xw - y \rVert^2 = \frac{1}{n}X^{\top}(Xw - y) と同じ形をしている。

定理 2.17(ロジスティック損失の凸性)LL は Rd\mathbb{R}^d 上の凸関数である。LL が狭義凸であるための必要十分条件は rank⁡X=d\operatorname{rank}X = d である。

証明. v⊤∇2L(w)v=1n∑ipi(1−pi)(xi⊤v)2≥0v^{\top}\nabla^2L(w)v = \frac{1}{n}\sum_ip_i(1 - p_i)(x_i^{\top}v)^2 \geq 0 で、0<pi<10 < p_i < 1 だから等号は Xv=0Xv = 0 のときに限る。よってヘッセ行列はすべての ww で半正定値なので LL は凸であり、rank⁡X=d\operatorname{rank}X = d ならすべての ww で正定値なので LL は狭義凸である(23-optimization 第2章 定理 2.15)。rank⁡X<d\operatorname{rank}X < d なら Xv=0Xv = 0 となる v≠0v \neq 0 について L(w+tv)=L(w)L(w + tv) = L(w) がすべての tt で成り立つので、狭義凸でない。□\square

証明が示すとおり、この同値はデータの位置やラベルによらずに成り立つ(0<pi<10 < p_i < 1 がつねに成り立つため。対数尤度の凹性としての同じ主張が 22-statistics 第6章 定理 6.6 にある)。凸なので、勾配法やニュートン法(23-optimization 第5章・第6章)で得た停留点は大域的な最小点である(23-optimization 第2章 定理 2.19)。ニュートン法の更新 w←w−(X⊤DX)−1X⊤(p−y)w \leftarrow w - (X^{\top}DX)^{-1}X^{\top}(p - y) は 22-statistics 第6章 定理 6.7 の反復重み付き最小二乗法(IRLS)と同じものである。ただし、凸でも、狭義凸でも、最小点があるとは限らない。

命題 2.18(線形分離できるときの発散)y~i=2yi−1\tilde{y}_i = 2y_i - 1 とし、すべての ii で y~iw0⊤xi>0\tilde{y}_iw_0^{\top}x_i > 0 となる w0w_0 がある(訓練データが超平面で完全に分けられる)とする。このとき inf⁡wL(w)=0\inf_wL(w) = 0 だが、すべての ww で L(w)>0L(w) > 0 なので、LL は最小点をもたない。L(wk)→0L(w_k) \to 0 となる列では ∥wk∥→∞\lVert w_k \rVert \to \infty である。

証明. ℓ(yi,t)=log⁡(1+e−y~it)\ell(y_i, t) = \log(1 + e^{-\tilde{y}_it}) なので、c→∞c \to \infty で L(cw0)=1n∑ilog⁡(1+e−cy~iw0⊤xi)→0L(cw_0) = \frac{1}{n}\sum_i\log(1 + e^{-c\tilde{y}_iw_0^{\top}x_i}) \to 0 で、各項は正である。L(wk)→0L(w_k) \to 0 なら各項が 00 に近づくので y~iwk⊤xi→∞\tilde{y}_iw_k^{\top}x_i \to \infty で、y~iwk⊤xi≤∥wk∥∥xi∥\tilde{y}_iw_k^{\top}x_i \leq \lVert w_k \rVert\lVert x_i \rVert より ∥wk∥→∞\lVert w_k \rVert \to \infty。□\square

このとき勾配法は係数を際限なく大きくし、予測確率は 00 か 11 に張りつく。rank⁡X=d\operatorname{rank}X = d のとき、最小点が存在するための必要十分条件は、完全な分離も、すべての ii で y~iv⊤xi≥0\tilde{y}_iv^{\top}x_i \geq 0 となる v≠0v \neq 0 がある「準完全分離」も起きていないことである(22-statistics 第6章 定理 6.11)。特徴量が多くデータが少ないと線形分離は起こりやすいが、罰則 λ2∥w∥2\frac{\lambda}{2}\lVert w \rVert^2 を加えれば最小点はつねにただ一つ存在する(問題 2.5)。

2.5 多クラス分類とソフトマックス

定義 2.19(ソフトマックス回帰)クラスが {1,…,K}\lbrace 1, \dots, K \rbrace のとき、W=(w1,…,wK)∈Rd×KW = (w_1, \dots, w_K) \in \mathbb{R}^{d \times K} のスコア z=W⊤xz = W^{\top}x から、ソフトマックス関数 softmax⁡(z)k=ezk/∑j=1Kezj\operatorname{softmax}(z)_k = e^{z_k}/\sum_{j=1}^{K}e^{z_j} で P(Y=k∣X=x)P(Y = k \mid X = x) をモデル化する。損失は交差エントロピー ℓ(y,z)=−log⁡softmax⁡(z)y=log⁡∑jezj−zy\ell(y, z) = -\log\operatorname{softmax}(z)_y = \log\sum_{j}e^{z_j} - z_y である。

命題 2.20 p=softmax⁡(z)p = \operatorname{softmax}(z) とし、eye_y を第 yy 成分が 11 の単位ベクトルとする。

  1. 任意の c∈Rc \in \mathbb{R} で softmax⁡(z+c1)=softmax⁡(z)\operatorname{softmax}(z + c\mathbf{1}) = \operatorname{softmax}(z)。K=2K = 2 では softmax⁡(z)1=σ(z1−z2)\operatorname{softmax}(z)_1 = \sigma(z_1 - z_2) で、ロジスティック回帰(w=w1−w2w = w_1 - w_2)に一致する。
  2. ∇zℓ(y,z)=p−ey\nabla_z\ell(y, z) = p - e_y、∇z2ℓ(y,z)=diag⁡(p)−pp⊤\nabla_z^2\ell(y, z) = \operatorname{diag}(p) - pp^{\top} で、これは半正定値である。したがって経験リスクは WW について凸であり、∇wkℓ(y,W⊤x)=(pk−1{y=k})x\nabla_{w_k}\ell(y, W^{\top}x) = (p_k - \mathbf{1}\lbrace y = k \rbrace)x。

証明. (1) 分母と分子に ece^{c} がかかるだけであり、K=2K = 2 では ez1/(ez1+ez2)=1/(1+e−(z1−z2))e^{z_1}/(e^{z_1} + e^{z_2}) = 1/(1 + e^{-(z_1 - z_2)})。(2) ∂zklog⁡∑jezj=pk\partial_{z_k}\log\sum_je^{z_j} = p_k、∂zlpk=pk(1{k=l}−pl)\partial_{z_l}p_k = p_k(\mathbf{1}\lbrace k = l \rbrace - p_l) から勾配とヘッセ行列を得る。u⊤(diag⁡(p)−pp⊤)u=∑kpkuk2−(∑kpkuk)2u^{\top}(\operatorname{diag}(p) - pp^{\top})u = \sum_kp_ku_k^2 - (\sum_kp_ku_k)^2 は、確率 pkp_k で値 uku_k をとる確率変数の分散なので 00 以上である。z=W⊤xz = W^{\top}x は WW の 1 次式なので、凸関数との合成とその和は凸である。wkw_k による勾配は、zk=wk⊤xz_k = w_k^{\top}x だけが wkw_k によることと連鎖律から従う。□\square

(1) から、すべての wkw_k に同じベクトルを足しても予測は変わらないので、経験リスクは WW について狭義凸にならない(wK=0w_K = 0 と固定するか罰則を加える)。計算では ezje^{z_j} のあふれ(zj=1000z_j = 1000 など)を避けるため、m=max⁡jzjm = \max_jz_j を引いて log⁡∑jezj=m+log⁡∑jezj−m\log\sum_je^{z_j} = m + \log\sum_je^{z_j - m} とする。

2.6 特徴量の標準化

各特徴量 jj を、訓練データでの平均 xˉj\bar{x}_j と標準偏差 sjs_j(1/n1/n で割るもの)で x~ij=(xij−xˉj)/sj\tilde{x}_{ij} = (x_{ij} - \bar{x}_j)/s_j と変換することを標準化 (standardization) という。標準化が結果を変えるかどうかは手法による。

命題 2.21(標準化と推定)

  1. AA を dd 次正則行列とすると、計画行列 XAXA での最小二乗法の当てはめ値は XX でのものと同じである。切片の列 1\mathbf{1} を含む XX では標準化はこの形の変換なので、最小二乗法の予測は標準化で変わらない。
  2. cj>0c_j > 0、C=diag⁡(c1,…,cd)C = \operatorname{diag}(c_1, \dots, c_d) とすると、XCXC(特徴量 jj を cjc_j 倍)でのリッジ回帰の予測は、XX で罰則を λ∑jwj2/cj2\lambda\sum_jw_j^2/c_j^2 に変えたものの予測に等しい。

証明. (1) Im⁡(XA)=Im⁡X\operatorname{Im}(XA) = \operatorname{Im}X で、当てはめ値はどちらも同じ部分空間への yy の直交射影である(定理 2.1)。標準化した列 (x(j)−xˉj1)/sj(x_{(j)} - \bar{x}_j\mathbf{1})/s_j は x(j)x_{(j)} と 1\mathbf{1} の 1 次結合で逆も成り立つので、ある正則行列 AA で XAXA と書ける。(2) w=Cuw = Cu とおくと ∥y−XCu∥2+λ∥u∥2=∥y−Xw∥2+λ∑jwj2/cj2\lVert y - XCu \rVert^2 + \lambda\lVert u \rVert^2 = \lVert y - Xw \rVert^2 + \lambda\sum_jw_j^2/c_j^2 で、u↦Cuu \mapsto Cu は全単射なので最小点が対応し、予測 XCu=XwXCu = Xw は等しい。□\square

距離をメートルからミリメートルに変える(cj=1000c_j = 1000)と、その特徴量への罰則は実質 10610^{6} 分の 1 になる。単位という恣意的な選択で結果が変わらないよう、リッジ・ラッソの前には標準化する。標準化は計算の安定性にもかかわる。勾配法の収束の速さは X⊤XX^{\top}X の条件数で決まり(23-optimization 第5章)、標準化した 2 つの特徴量の相関係数が ρ\rho なら条件数は (1+∣ρ∣)/(1−∣ρ∣)(1 + \lvert \rho \rvert)/(1 - \lvert \rho \rvert) だが(1nX⊤X\frac{1}{n}X^{\top}X の固有値は 1±ρ1 \pm \rho)、尺度が 1000 倍違う特徴量があると標準化の前の条件数は 10610^{6} 程度にもなりうる。平均と標準偏差は訓練データだけで計算し、検証・テストデータにも同じ値を使う(第1章 1.8 節の前処理の漏洩を避ける)。

注意

係数の絶対値の大きさは、そのまま特徴量の「重要度」ではない。係数は単位に依存し(メートルをミリメートルにすれば 1000 分の 1)、標準化しても相関の強い特徴量の間では不安定である(例 2.3)。さらに、予測に効くことと、その特徴量を変えたときに結果が変わること(因果)は別である(22-statistics 第8章)。

2.7 分類の評価指標

定義 2.22(混同行列と評価指標) 2 値分類器をテストデータに適用し、陽性(y=1y = 1)を陽性と予測した数を TP、陰性を陽性と予測した数を FP、陽性を陰性と予測した数を FN、陰性を陰性と予測した数を TN とする(この表を混同行列 (confusion matrix) という)。N=TP+FP+FN+TNN = \mathrm{TP} + \mathrm{FP} + \mathrm{FN} + \mathrm{TN} として、正解率 (TP+TN)/N(\mathrm{TP} + \mathrm{TN})/N、適合率 (precision) TP/(TP+FP)\mathrm{TP}/(\mathrm{TP} + \mathrm{FP})、再現率 (recall) TP/(TP+FN)\mathrm{TP}/(\mathrm{TP} + \mathrm{FN})、偽陽性率 (FPR) FP/(FP+TN)\mathrm{FP}/(\mathrm{FP} + \mathrm{TN})、適合率と再現率の調和平均 F1F_1 を定める。再現率を真陽性率 (TPR) ともいう。

例 2.23(まれな陽性) 10000 人の検診で陽性が 100 人(1%)とし、結果が TP=90\mathrm{TP} = 90、FN=10\mathrm{FN} = 10、FP=495\mathrm{FP} = 495、TN=9405\mathrm{TN} = 9405 だったとする。再現率 0.90.9、偽陽性率 0.050.05 は悪くないが、適合率は 90/585≈0.15490/585 \approx 0.154 で、陽性と判定された人の 85% 近くは陰性である。正解率は 0.94950.9495 だが、全員を陰性とするだけで 0.990.99 になる。陽性がまれなとき、正解率は役に立たない。

命題 2.24(適合率は陽性の割合による)陽性の割合を π=P(Y=1)\pi = P(Y = 1)、TPR=P(Y^=1∣Y=1)\mathrm{TPR} = P(\hat{Y} = 1 \mid Y = 1)、FPR=P(Y^=1∣Y=0)\mathrm{FPR} = P(\hat{Y} = 1 \mid Y = 0) とすると

P(Y=1∣Y^=1)=π TPRπ TPR+(1−π) FPRP(Y = 1 \mid \hat{Y} = 1) = \frac{\pi\,\mathrm{TPR}}{\pi\,\mathrm{TPR} + (1 - \pi)\,\mathrm{FPR}}

証明. ベイズの定理と全確率の公式 P(Y^=1)=πTPR+(1−π)FPRP(\hat{Y} = 1) = \pi \mathrm{TPR} + (1 - \pi)\mathrm{FPR} による。□\square

TPR=0.9\mathrm{TPR} = 0.9、FPR=0.05\mathrm{FPR} = 0.05 のまま π\pi を変えると、適合率は π=0.01\pi = 0.01 で 0.1540.154、0.10.1 で 0.6670.667、0.50.5 で 0.9470.947 になる。各クラスの中での入力の分布が変わらなければ TPR と FPR は π\pi によらないが、適合率は π\pi に強く依存する。

多くの分類器はスコア s(x)s(x)(ロジスティック回帰なら σ(w⊤x)\sigma(w^{\top}x))を出し、閾値 cc で「s(x)≥cs(x) \geq c なら陽性」と判定する。cc を下げると TPR も FPR も増える。

定義 2.25(ROC 曲線と AUC)テストデータの陽性のスコアを s1+,…,sn++s_1^{+}, \dots, s_{n_+}^{+}、陰性のスコアを s1−,…,sn−−s_1^{-}, \dots, s_{n_-}^{-} とし、TPR(c)=∣{i∣si+≥c}∣/n+\mathrm{TPR}(c) = \lvert \lbrace i \mid s_i^{+} \geq c \rbrace \rvert/n_+、FPR(c)=∣{j∣sj−≥c}∣/n−\mathrm{FPR}(c) = \lvert \lbrace j \mid s_j^{-} \geq c \rbrace \rvert/n_- とする。全スコアの相異なる値を t1>⋯>tMt_1 > \cdots > t_M、t0=+∞t_0 = +\infty として、点 (FPR(tk),TPR(tk))(\mathrm{FPR}(t_k), \mathrm{TPR}(t_k))(k=0,…,Mk = 0, \dots, M。(0,0)(0, 0) から (1,1)(1, 1) まで)を順に線分で結んだ折れ線を ROC 曲線 (receiver operating characteristic curve)、その下の面積を AUC (area under the curve) という。

定理 2.26(AUC の確率的解釈)

AUC=1n+n−∑i=1n+∑j=1n−(1{si+>sj−}+121{si+=sj−})\mathrm{AUC} = \frac{1}{n_+n_-}\sum_{i=1}^{n_+}\sum_{j=1}^{n_-}\left(\mathbf{1}\lbrace s_i^{+} > s_j^{-} \rbrace + \frac{1}{2}\mathbf{1}\lbrace s_i^{+} = s_j^{-} \rbrace\right)

すなわち、陽性の例 II と陰性の例 JJ を独立に一様に選ぶと AUC=P(sI+>sJ−)+12P(sI+=sJ−)\mathrm{AUC} = P(s_I^{+} > s_J^{-}) + \frac{1}{2}P(s_I^{+} = s_J^{-}) であり、AUC は「ランダムに選んだ陽性が、ランダムに選んだ陰性より高いスコアをもつ確率」(同点は半分と数える)に等しい。

証明. スコアがちょうど tkt_k の陽性・陰性の個数を aka_k、bkb_k とし、Ak=a1+⋯+akA_k = a_1 + \cdots + a_k(A0=0A_0 = 0)とおくと TPR(tk)=Ak/n+\mathrm{TPR}(t_k) = A_k/n_+ で、FPR は tk−1t_{k-1} から tkt_k に移るとき bk/n−b_k/n_- だけ増える。点 k−1k - 1 から点 kk への線分の下は、幅 bk/n−b_k/n_-、平行な 2 辺が Ak−1/n+A_{k-1}/n_+ と Ak/n+A_k/n_+ の台形なので、その面積は

bkn−⋅Ak−1+Ak2n+=1n+n−(bkAk−1+12bkak)\frac{b_k}{n_-} \cdot \frac{A_{k-1} + A_k}{2n_+} = \frac{1}{n_+n_-}\left(b_kA_{k-1} + \frac{1}{2}b_ka_k\right)

である。bkAk−1b_kA_{k-1} は「陰性のスコアが tkt_k で、陽性のスコアが tkt_k より大きい」組 (i,j)(i, j) の個数、bkakb_ka_k は「両方のスコアが tkt_k」の組の個数である。kk について和をとると、各組 (i,j)(i, j) は sj−=tks_j^{-} = t_k となる kk でちょうど 1 回数えられ、si+>sj−s_i^{+} > s_j^{-} なら 11、同点なら 12\frac{1}{2}、si+<sj−s_i^{+} < s_j^{-} なら 00 を与える。これが右辺である。□\square

例 2.27 陽性のスコアが 0.9,0.8,0.6,0.550.9, 0.8, 0.6, 0.55、陰性のスコアが 0.7,0.6,0.5,0.4,0.30.7, 0.6, 0.5, 0.4, 0.3 のとき、ROC 曲線は (0,0)(0, 0)、(0,0.25)(0, 0.25)、(0,0.5)(0, 0.5)、(0.2,0.5)(0.2, 0.5)、(0.4,0.75)(0.4, 0.75)、(0.4,1)(0.4, 1)、(0.6,1)(0.6, 1)、(0.8,1)(0.8, 1)、(1,1)(1, 1) を結ぶ折れ線で、面積は 0.2×0.5+0.2×0.625+0.6×1=0.8250.2 \times 0.5 + 0.2 \times 0.625 + 0.6 \times 1 = 0.825 である。組で数えると、陽性の 0.90.9 と 0.80.8 はどの陰性にも勝ち(5+55 + 5)、0.60.6 は 3 つに勝って 1 つと同点(3.53.5)、0.550.55 は 3 つに勝つ(33)ので、16.5/20=0.82516.5/20 = 0.825 で一致する。

母集団でも同様で、陽性・陰性のスコア S+,S−S^{+}, S^{-} が独立で連続な密度 f+,f−f_+, f_- をもつとき、曲線 c↦(P(S−≥c),P(S+≥c))c \mapsto (P(S^{-} \geq c), P(S^{+} \geq c)) の下の面積は、u=P(S−≥c)u = P(S^{-} \geq c) と置換すると(du=−f−(c) dcdu = -f_-(c)\ dc)次の左辺になり、S−S^{-} で条件づけた全確率の公式から

∫−∞∞P(S+≥c) f−(c) dc=P(S+≥S−)=P(S+>S−)\int_{-\infty}^{\infty}P(S^{+} \geq c)\,f_-(c)\,dc = P(S^{+} \geq S^{-}) = P(S^{+} > S^{-})

となる(同点の確率は 00)。例えば S+∼N(1,1)S^{+} \sim N(1, 1)、S−∼N(0,1)S^{-} \sim N(0, 1) なら S+−S−∼N(1,2)S^{+} - S^{-} \sim N(1, 2) で、AUC は Φ(1/2)≈0.760\Phi(1/\sqrt{2}) \approx 0.760 である(Φ\Phi は標準正規分布の分布関数)。

定理 2.26 から、AUC はスコアの順序だけで決まり、狭義単調増加な変換で変わらない(確率としての正しさ=較正は測らない)。でたらめなスコアの AUC は約 0.50.5 で、すべての陽性がすべての陰性より高いスコアをもつときに限り 11 である。n+n−AUCn_+n_-\mathrm{AUC} はマン–ホイットニーの UU 統計量に等しい。母集団の AUC は各クラスのスコアの分布だけで決まり、陽性の割合 π\pi によらない。

ヒント

実務では 陽性がまれな問題(不正検知、故障予知、まれな病気)では、AUC が高くても、使う閾値での適合率は低いことが多い。陰性が非常に多いので、偽陽性率が小さくても偽陽性の件数は多くなる(例 2.23)。見るべきなのは、使う閾値での適合率と再現率(適合率–再現率曲線)や、1 日あたりの警報件数のような業務の量である。閾値は 0.50.5 に固定せず誤りの損失から決め(第1章の問題 1.1)、学習時にクラスの比率を変えた(陰性を間引いた)なら、予測確率を本番の陽性の割合に合わせて補正する。

まとめ

  • 最小二乗法の当てはめ値は列空間への直交射影で、推定量の誤差は σε2∑iσi−2\sigma_\varepsilon^2\sum_i\sigma_i^{-2}。小さな特異値(多重共線性)が推定を不安定にする。
  • リッジ回帰の解は (X⊤X+λId)−1X⊤y(X^{\top}X + \lambda I_d)^{-1}X^{\top}y で、uiu_i 方向の成分を σi2/(σi2+λ)\sigma_i^2/(\sigma_i^2 + \lambda) 倍に縮める。rank⁡X=d\operatorname{rank}X = d なら、小さい λ>0\lambda > 0 は最小二乗より係数の平均二乗誤差を小さくする。
  • 直交計画のラッソはソフト閾値 Sλ(zj)S_\lambda(z_j) で解け、∣zj∣≤λ\lvert z_j \rvert \leq \lambda の係数はちょうど 00 になる。
  • ロジスティック損失は確率を正しく出すことを促す凸関数で、勾配は 1nX⊤(p−y)\frac{1}{n}X^{\top}(p - y)、ヘッセ行列は 1nX⊤DX\frac{1}{n}X^{\top}DX。線形分離できるデータでは最小点がない。
  • ソフトマックス回帰は K=2K = 2 でロジスティック回帰に一致し、ヘッセ行列 diag⁡(p)−pp⊤\operatorname{diag}(p) - pp^{\top} は半正定値である。
  • 最小二乗法の予測は標準化で変わらないが、リッジ・ラッソは単位に依存するので標準化が必要である。
  • 陽性がまれなとき正解率は役に立たず、適合率は陽性の割合に依存する。AUC は「ランダムな陽性がランダムな陰性より高いスコアをもつ確率」で、スコアの順序だけで決まる。

演習問題

問題 2.1 ★ X⊤X=IdX^{\top}X = I_d、z=X⊤yz = X^{\top}y とし、∥w∥0\lVert w \rVert_0 を ww の 00 でない成分の個数とする。12∥y−Xw∥2+λ∥w∥0\frac{1}{2}\lVert y - Xw \rVert^2 + \lambda\lVert w \rVert_0 の最小点は、∣zj∣>2λ\lvert z_j \rvert > \sqrt{2\lambda} なら w^j=zj\hat{w}_j = z_j、∣zj∣<2λ\lvert z_j \rvert < \sqrt{2\lambda} なら w^j=0\hat{w}_j = 0 であることを示せ。

解答

定理 2.12 の証明と同様に、目的関数は ∑j(12(wj−zj)2+λ1{wj≠0})\sum_j(\frac{1}{2}(w_j - z_j)^2 + \lambda\mathbf{1}\lbrace w_j \neq 0 \rbrace) に定数を加えたものなので、各 jj ごとに最小にすればよい。wj=0w_j = 0 なら値は zj2/2z_j^2/2。wj≠0w_j \neq 0 なら値は λ\lambda 以上で、zj≠0z_j \neq 0 のとき wj=zjw_j = z_j で λ\lambda になる。よって zj2/2>λz_j^2/2 > \lambda なら wj=zjw_j = z_j、zj2/2<λz_j^2/2 < \lambda なら wj=0w_j = 0 が最小点である(等号ならどちらも最小点)。

問題 2.2 ★ 事前分布 w∼N(0,τ2Id)w \sim N(0, \tau^2 I_d) とモデル y∣w∼N(Xw,σε2In)y \mid w \sim N(Xw, \sigma_\varepsilon^2 I_n) のもとで、事後分布の密度を最大にする ww(MAP 推定量)は λ=σε2/τ2\lambda = \sigma_\varepsilon^2/\tau^2 のリッジ回帰の解であることを示せ。

解答

ベイズの定理より、事後分布の密度は exp⁡(−12σε2∥y−Xw∥2−12τ2∥w∥2)\exp(-\frac{1}{2\sigma_\varepsilon^2}\lVert y - Xw \rVert^2 - \frac{1}{2\tau^2}\lVert w \rVert^2) に比例する。対数をとって −2σε2-2\sigma_\varepsilon^2 倍すれば、最大化は ∥y−Xw∥2+σε2τ2∥w∥2\lVert y - Xw \rVert^2 + \frac{\sigma_\varepsilon^2}{\tau^2}\lVert w \rVert^2 の最小化と同値である。事前分布の分散 τ2\tau^2 が大きいほど λ\lambda は小さい。同様に、各成分が独立なラプラス分布(密度が e−∣wj∣/be^{-\lvert w_j \rvert/b} に比例)を事前分布にすると、MAP 推定量はラッソの解になる。

問題 2.3 ★ テストデータ 2000 件(陽性 200 件)で TP=150\mathrm{TP} = 150、FN=50\mathrm{FN} = 50、FP=90\mathrm{FP} = 90、TN=1710\mathrm{TN} = 1710 だった。正解率・適合率・再現率・偽陽性率・F1F_1 を求め、全員を陰性と予測する分類器の正解率と比べよ。陽性の割合が 1% の集団で TPR と FPR が同じなら、適合率はいくつか。

解答

正解率 1860/2000=0.931860/2000 = 0.93、適合率 150/240=0.625150/240 = 0.625、再現率 0.750.75、偽陽性率 90/1800=0.0590/1800 = 0.05、F1=2⋅0.625⋅0.75/1.375≈0.682F_1 = 2 \cdot 0.625 \cdot 0.75/1.375 \approx 0.682。全員を陰性とする分類器の正解率は 0.90.9 で、正解率では 3 ポイントしか差がない。陽性が 1% なら、命題 2.24 より適合率は 0.0075/(0.0075+0.0495)≈0.1320.0075/(0.0075 + 0.0495) \approx 0.132 に下がる。

問題 2.4 ★★ ラッソで w^=0\hat{w} = 0 が最小点であるための必要十分条件は λ≥max⁡j∣x(j)⊤y∣\lambda \geq \max_j\lvert x_{(j)}^{\top}y \rvert であることを示せ。

解答

M=max⁡j∣x(j)⊤y∣M = \max_j\lvert x_{(j)}^{\top}y \rvert とおく。∣w⊤X⊤y∣≤∑j∣wj∣∣x(j)⊤y∣≤M∥w∥1\lvert w^{\top}X^{\top}y \rvert \leq \sum_j\lvert w_j \rvert\lvert x_{(j)}^{\top}y \rvert \leq M\lVert w \rVert_1 より

Fλ(w)=12∥y∥2−w⊤X⊤y+12∥Xw∥2+λ∥w∥1≥Fλ(0)+(λ−M)∥w∥1F_\lambda(w) = \frac{1}{2}\lVert y \rVert^2 - w^{\top}X^{\top}y + \frac{1}{2}\lVert Xw \rVert^2 + \lambda\lVert w \rVert_1 \geq F_\lambda(0) + (\lambda - M)\lVert w \rVert_1

なので、λ≥M\lambda \geq M なら 00 は最小点である。逆に ∣x(j)⊤y∣>λ\lvert x_{(j)}^{\top}y \rvert > \lambda となる jj があれば、s=sign⁡(x(j)⊤y)s = \operatorname{sign}(x_{(j)}^{\top}y)、t>0t > 0 として w=tsejw = tse_j とおくと Fλ(w)−Fλ(0)=−t(∣x(j)⊤y∣−λ)+t22∥x(j)∥2F_\lambda(w) - F_\lambda(0) = -t(\lvert x_{(j)}^{\top}y \rvert - \lambda) + \frac{t^2}{2}\lVert x_{(j)} \rVert^2 で、tt が小さければ負になる。実務では、λ\lambda をこの値から小さくしながら解を順に計算する(解の経路)。

問題 2.5 ★★ λ>0\lambda > 0 とし、Lλ(w)=L(w)+λ2∥w∥2L_\lambda(w) = L(w) + \frac{\lambda}{2}\lVert w \rVert^2(LL はロジスティック損失の経験リスク)とする。どんなデータでも LλL_\lambda の最小点はただ一つ存在し、∥w^∥≤2log⁡2/λ\lVert \hat{w} \rVert \leq \sqrt{2\log 2/\lambda} を満たすことを示せ。

解答

L≥0L \geq 0、L(0)=log⁡2L(0) = \log 2 なので、Lλ(w)≤Lλ(0)=log⁡2L_\lambda(w) \leq L_\lambda(0) = \log 2 なら λ2∥w∥2≤log⁡2\frac{\lambda}{2}\lVert w \rVert^2 \leq \log 2。よって {w∣Lλ(w)≤log⁡2}\lbrace w \mid L_\lambda(w) \leq \log 2 \rbrace は有界閉集合で、連続関数 LλL_\lambda はそこで最小値をとり、それが全体の最小値である。最小点はこの集合に属するのでノルムの評価を満たす。ヘッセ行列 1nX⊤DX+λId\frac{1}{n}X^{\top}DX + \lambda I_d は正定値なので、定理 2.17 の証明と同様に LλL_\lambda は狭義凸であり、異なる 2 つの最小点 w1,w2w_1, w_2 があれば Lλ(w1+w22)<12(Lλ(w1)+Lλ(w2))L_\lambda(\frac{w_1 + w_2}{2}) < \frac{1}{2}(L_\lambda(w_1) + L_\lambda(w_2)) となって矛盾する。

問題 2.6 ★★ ある分析で、住宅価格(万円)を床面積(m²)・部屋数・築年数・駅からの距離(m)で線形回帰し、「係数の絶対値は部屋数が最も大きく距離が最も小さいので、部屋数が最も重要で距離はほとんど効かない」と結論した。さらにラッソで床面積の係数が 00 になったので、「床面積は価格に関係ない」と報告した。この結論の問題点を述べよ。

解答

(1) 係数の大きさは単位に依存する。距離を m で測れば 1 m あたりの効果なので係数は小さく、km で測れば 1000 倍になる。比べるなら標準化した特徴量の係数で比べる。(2) 床面積と部屋数は強く相関するので、例 2.3 のように 2 つの係数の配分はデータから決めにくい。ラッソは相関の強い組から 1 つを選びやすく(2 つの列が同一なら予測は w1+w2w_1 + w_2 だけで決まり、w1,w2w_1, w_2 が同符号なら罰則 ∣w1∣+∣w2∣=∣w1+w2∣\lvert w_1 \rvert + \lvert w_2 \rvert = \lvert w_1 + w_2 \rvert も同じなので、配分は決まらない)、床面積の係数が 00 になったのは、部屋数がその情報を代わりに担ったからである可能性が高い(床面積だけで回帰したり、ブートストラップで選ばれ方を調べたりすれば確かめられる)。(3) 予測に効くことと、部屋数を増やせば価格が上がること(因果)は別である。標準化、相関や分散拡大要因の確認(22-statistics 第5章 系 5.21)、ブートストラップ(22-statistics 第2章 2.9 節)による選択の安定性の確認が必要である。

この章を読み終えたら

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

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