sparse models

21
Sparse linear models Daisuke Yoneoka October 20, 2014 Daisuke Yoneoka Sparse linear models October 20, 2014 1 / 21

Upload: daisuke-yoneoka

Post on 03-Jul-2015

268 views

Category:

Data & Analytics


2 download

DESCRIPTION

intro of sparse linear models

TRANSCRIPT

Page 1: Sparse models

Sparse linear models

Daisuke Yoneoka

October 20, 2014

Daisuke Yoneoka Sparse linear models October 20, 2014 1 / 21

Page 2: Sparse models

Notations

! γ は bit vector で, 特徴量 j が関連ある場合は γj = 1, それ以外は 0.

! ∥γ∥0 =∑D

j=1 γj は l0 pseudo-norm.

! ∥γ∥1 =∑D

j=1 |γj | は l1 norm.

! ∥γ∥2 = (∑D

j=1 γ2j )

1/2 は l2 norm.

! subderivative (劣微分): 凸関数 f : I → R の θ0 で劣微分とは,f(θ)− f(θ0) ≥ g(θ − θ0) θ ∈ I を満足する g の集合

! NLL: negative log likelihood, NLL(θ) ≡ −∑N

i=1 log p(yi|xi, θ)

Daisuke Yoneoka Sparse linear models October 20, 2014 2 / 21

Page 3: Sparse models

l1 regularization: basics

l0 (i.e.∥w∥0)は凸関数でない,連続でもない! →凸関数近似!! p(γ|D)を求めることの難しさのいくらかは γ ∈ {0, 1}と離散であること! Prior p(w)を連続な分布 (ラプラス分布)で近似する.

p(w|λ) =D∏

j=1

Lap(wj |0, 1/λ) ∝D∏

j=1

e−λ∥wj∥

! 罰則付き尤度は f(w) = log p(D|w)− log p(w|λ) = NLL(w) + λ∥w∥1.! これは argminwNLL(w) + λ∥w∥0 という non-convexな l0 の目的関数の凸関数近似と考えられる

! Linear regressionの場合 (Known as BPDN (basis pursuit denoising))

! f(w) =∑N

i=1 −1

2σ2(yi − (wT xi))2 + λ∥w∥1 = RSS(w) + λ′∥w∥1

! ただし,λ′ = 2λσ2

! Priorに0平均ラプラス分布をおいて,MAP推定することを l1 正則化と呼ぶ

Daisuke Yoneoka Sparse linear models October 20, 2014 3 / 21

Page 4: Sparse models

なぜ l1正則化はスパースなのか?

Linear regressionに限定するが GLM一般に拡張可能! 目的関数は minwRSS(w) + λ∥w∥1 ⇔ LASSO: minwRSS(w)s.t. λ∥w∥1 ≤ B

! B 小→ λ 大! これは, Quadratic program (QP) となっている.

! ちなみに minwRSS(w) + λ∥w∥22 ⇔ RIDGE: minwRSS(w)s.t. λ∥w∥22 ≤ B

Figure: 13.3; l1 (left) vs l2 (right) regularization

Daisuke Yoneoka Sparse linear models October 20, 2014 4 / 21

Page 5: Sparse models

Optimality conditions for lasso

Lassoは non-smooth optimization (微分不可能最適化)の例.目的関数は minwRSS(w) + λ∥w∥1

! 第一項の微分は ∂∂wj

RSS(w) = ajwj − cj .

ただし aj = 2∑n

i=1 x2ij , cj = 2

∑ni=1 xij(yi − wT

−jxi,−j)︸ ︷︷ ︸j と j なしの残差の内積

! cj は j 番目の特徴量が y の予測にどれだけ関連しているかを表現! 全体の劣微分は

∂wjf(w) = (ajwj − cj) + λ∂wj∥w∥1 =

⎧⎪⎨

⎪⎩

{ajwj − cj − λ} if wj < 0

[−cj − λ,−cj + λ] if wj = 0

{ajwj − cj + λ} if wj > 0

Matrix formで書くと, XT (Xw − y)j︸ ︷︷ ︸RSS の微分の部分

⎧⎪⎨

⎪⎩

{−λ} if wj < 0

[−λ,λ] if wj = 0

{λ} if wj > 0

Daisuke Yoneoka Sparse linear models October 20, 2014 5 / 21

Page 6: Sparse models

Optimality conditions for lasso (Cont. 2)

cj の値によって ∂wj f(w) = 0 の解として定義される wj の値は3パターン

! cj < −λ: 特徴量は残差と強く負の相関, 劣微分は wj =cj + λ

aj< 0 において 0.

! cj ∈ [−λ,λ]: 特徴量は残差と弱く相関, 劣微分は wj = 0 において 0.

! cj > −λ: 特徴量は残差と強く相関, 劣微分は wj =cj − λ

aj> 0 において 0.

つまり、wj(cj) =

⎧⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎩

cj + λ

ajif cj < −λ

0 if cj ∈ [−λ,λ]cj − λ

ajif cj > λ

⇔ wj(cj) = soft(cjaj

aj)

ただし、soft は soft thresholding で定義は soft(a; δ) ≡ sign(a)(|a|− δ)+Daisuke Yoneoka Sparse linear models October 20, 2014 6 / 21

Page 7: Sparse models

Optimality conditions for lasso (Cont. 3)

LASSO (Tibshirani, 1996)は結局,

! λ = 0のとき w は OLSと一緒

! λ > λmax のとき w = 0 (ただし λmax = ∥XT y∥∞ = max|yTx:,j |)

! この計算方法は,(XT y)j ∈ [−λ,λ] ならば 0 が最適であることを利用! 一般的には λmax = max|∇jNLL(0)|

Daisuke Yoneoka Sparse linear models October 20, 2014 7 / 21

Page 8: Sparse models

LS, lasso (l1), ridge (l2), subset selection (l0)の比較

X は正規直交,つまり XTX = I を仮定しておくと,

RSS(w) = ∥y −Xw∥2 = yT y + wTXTXw − 2wTXT y

= const+∑

k

w2k − 2

k

i

wkxiyi

! OLS解は wOLSk = xT

:ky

! Ridge解は wridgek =

wOLSk

1 + λ

! Lasso解は sign(wOLSk )

(|wOLS

k |− λ2

)

+

! subset selection解は wSSk =

{wOLS

k if rank(|wOLSk |) ≤ K

0 otherwise

Daisuke Yoneoka Sparse linear models October 20, 2014 8 / 21

Page 9: Sparse models

正則化パス

特徴量ごとに w(λ)と λの値をプロットしたもの

! Lassoは D > N の場合でもNまでしか変数選択できない

! Elastic netならば D までの数の変数選択可能

Daisuke Yoneoka Sparse linear models October 20, 2014 9 / 21

Page 10: Sparse models

モデル選択

モデル選択の一致性について (cf. AIC, BIC, MDLなどの情報量基準論争)定義: (正しいモデルが含まれているという前提の下で) N → ∞ で正しいモデルのパラメータセットが選択されること

! debiasing:Lasso で non-zero と推定された特徴量を用いて再度 OLS(必要. なぜなら,Lasso では関係ある係数もないものも縮小推定しているから)

! クロスバリデーションで予測精度で λ 決定.これは,true モデルを選択できる値になるとは限らない.(なぜなら Lasso は縮小推定になっているので, 重要な特徴量を残すためには λ は少し大きめに取る必要があるから)

! 関係ない特徴量も含めるので false positive が多くなる! モデル選択の一致性がない! (Meinshausen, 2006)! Ch.13.6.2 で per-dimension による λ のチューニングを紹介 (選択の一致性あり)

! 欠点: データが少し変わっただけで結果が変わる (Bayesian approach の方が robust)

! Bolasso (Bach, 2008): Bootstrap で解決: stability selection of inclusion probability(Meinshausen, 2010) を計算必要

Daisuke Yoneoka Sparse linear models October 20, 2014 10 / 21

Page 11: Sparse models

ラプラス分布を事前分布に持つ sparse linear modelの Bayes推測

! これまでの例は所謂MAP推定

! posteriorの modeは sparseだが, meanや medianはそうでない! posteriorの meanを入れたほうが予測二乗誤差を小さくできる

! Elad, 2009 は spike-slab model で posterior mean の方が予測性能がいい事を証明! ただし, 計算量は高価

Daisuke Yoneoka Sparse linear models October 20, 2014 11 / 21

Page 12: Sparse models

l1正則化のアルゴリズム

二乗ロス関数の最適化に限定する. (その他のロス関数へも拡張可能)

! Coordinate descent: 一気に最適化でなく,その他全てを fixして 1つだけ最適化

w∗j = argminzf(w + zej)− f(w)

(z は j 番目が 1の unitベクトル)

! 一次元の最適化が解析的に解ける場合に有効! 1つづつしか最適化できないので収束が遅い

! shooting アルゴリズム (Fu, 1998, Wu, 2008) (ex. logit の場合は Yaun, 2010):

Daisuke Yoneoka Sparse linear models October 20, 2014 12 / 21

Page 13: Sparse models

l1正則化のアルゴリズム (Cont. 2)

! Active set法! Coordinate descent の幾つかまとめて最適化するバージョン! ただし, どれを固定し, どれを update するか決定しなければならないので大変! warm starting: もし λk ≈ λk−1 ならば,w(λk) は w(λk−1) から簡単に計算できる

! 仮にある値 λ∗ の時の解が知りたいとすると,warm starting を使うと λmax から探し始めて λ∗まで至るアルゴリズムとなる. (Continuation method or homotopy method)

! これはいきなり λ∗ を計算する (cold starting) より λ∗ が小さい場合, 効率的な場合が多い!

! LARS (least angle regression and shrinkage): homotopy methodの一種! Step 1: λ は y と最も強く相関する1つの特徴量だけから計算できるものを初期値にする! Step 2: rk = y −X:,Fk

wk で定義される残差に対する最初の特徴量と同じだけの相関をもつ2つ目の特徴量が見つかるまで λ を減らしていく. (Fk は k 番目の active set)

! least angle を考えることで解析的に次の λ を計算可能! Step 3: 全ての変数が追加されるまで繰り返す! このとき,Lasso の solution path みたいなものを描くためには特徴量を”取り除く”ことが可能であることが必要

! LAR: LARSに似ているが特徴量を”取り除く”ことを許さない場合. (ちょっと速く,OLSと同じコストで O(NDmin(N,D))

! greedy forward search や least square boosting とも呼ばれる

Daisuke Yoneoka Sparse linear models October 20, 2014 13 / 21

Page 14: Sparse models

Proximal and gradient projection methods

凸な目的関数 f(θ) = L(θ) +R(θ)を考える. (L(θ)はロス関数で凸で微分可能, R(θ)は正則化項で凸だが微分可能とは限らない)

! 例えば,f(θ) = R(θ) + 1/2∥θ − y∥22 のようなとき (L(θ) = RSS(θ)で計画行列がX = I のとき)

! 凸関数 Rの proximal operatorの導入: proxR(y) = argminz(R(z) + 1/2∥z − y∥22

)

! 直感的には z を y に近づけながら R を小さくしていく! iterative な最適化の中で使う場合は, y を θk にして使う

Ex. Lasso問題のとき L(θ) = RSS(θ), R(θ) = IC(θ)とできる.

(ただし,C = θ : ∥θ∥1 ≤ B かつ IC(θ) ≡{0 if θ ∈ C

+∞ otherwise)

以下,どのようにして Rの proximal operatorを計算するかを見ていく.

Daisuke Yoneoka Sparse linear models October 20, 2014 14 / 21

Page 15: Sparse models

Proximal operator

Proximal operatorは以下のように表現可能. (計算時間は O(D) (Duchi, 2008))

! R(θ) = λ∥θ∥1 のとき: proxR(θ) = soft(θ,λ) (soft-thresholding)

! R(θ) = λ∥θ∥0 のとき: proxR(θ) = hard(θ,√2λ) (hard-thresholding)

! ただし,hard(u, a) ≡ uI(|u| > a)

! R(θ) = IC(θ)のとき: proxR(θ) = argminz∈C∥z − θ∥22 = projC(θ) (Cへの射影)

! C が超立方体のとき (i.e., C = θ : lj ≤ θj ≤ uj): projC(θ)j =

⎧⎪⎨

⎪⎩

lj if θj ≤ ljθj if lj ≤ θj ≤ uj

uj if θj ≥ uj

! C が超球のとき (i.e., C = θ : ∥θ∥2 ≤ 1): projC(θ)j =

⎧⎨

θ

∥θ∥2if ∥θ∥2 > 1

θ otherwise

! C が 1-norm 球のとき (i.e., C = θ : ∥θ∥1 ≤ 1): projC(θ)j = soft(θ,λ)

! ただし, λ は ∥θ∥1 ≤ 1 のとき 0. それ以外の時は!

j=1 −Dmax(|θj |− λ, 0) = 1 の解で定義される

Daisuke Yoneoka Sparse linear models October 20, 2014 15 / 21

Page 16: Sparse models

Proximal gradient method

Proximal operator をどうやって勾配法のなかで使うかを示す.

θ の更新アルゴリズムは二次近似 θk+1 = argminzR(z) + L(θk) + gTk (z − θk) +1

2tk∥z − θk∥22

(ただし,gk = ∇L(θk),tk はこの下, 最後の項は L のヘシアンの近似 ∇2L(θk) ≈1

tkI)

⇔ θk+1 = argminz

(tkR(z) +

1

2∥z − uk∥22

)= proxtkR(uk). (where uk = θk − tkgk)

! R(θ) = 0 のとき: gradient descent とおなじ! R(θ) = IC(θ) のとき: projected gradient descent とおなじ! R(θ) = λ∥θ∥1 のとき: iterative soft thresholding とおなじ

tk もしくは αk = 1/tk の選び方について! αkI が ∇2L(θ) の良い近似になっていると仮定すると,αk(θk − θk−1 ≈ gk − gk−1) が成立

! したがって αk = argminα∥α(θk − θk−1 − (gk − gk−1))∥22 =(θk − θk−1)T (gk − gk−1)

(θk − θk−1)T (θk − θk−1)を解けば良い. (Barzilai-Borwein (BB) or Spectral stepsize)

! BB stepsize と iterative soft thresholding と homotopy method を合わせると BPDN (basispursuit denoising) を速く解ける (SpaRSA アルゴリズム)

Daisuke Yoneoka Sparse linear models October 20, 2014 16 / 21

Page 17: Sparse models

Nesteov’s method

θk の周りではなく別の所で二次近似してやるともっと速い proximal gradient descentが得られる.

θk+1 = proxtkR(φk − tkgk)

gk = ∇L(φk)

φk = θk +k − 1k + 2

(θk − θk−1)

Nester’s methodと iterative soft thresholdingと homotopy methodを合わせると BPDN(basis pursuit denoising)を速く解ける. (FISTAアルゴリズム (fast iterative shrinkagethresholding algorithm))

Daisuke Yoneoka Sparse linear models October 20, 2014 17 / 21

Page 18: Sparse models

Lassoの EMアルゴリズムLaplace 分布を Gaussian scale mixture (GSM) で表現する.

Lap(wj |0, 1/γ) =γ

2e−γ|wj | =

!N(wj |0, τ2j )Ga(τ2j |1,

γ2

2)dτ2j

これを用いれば, 同時分布は

p(y, w, τ,σ2|X) = N(y|Xw,σ2IN )N(w|0, Dτ )IG(σ2|aσ , bσ)

⎣∏

j

Ga(τ2j |1, γ2/2)

∝ (σ2)−N/2 exp

(−

1

2σ2∥y −Xw∥22

)|D−1/2

τ exp

(−1

2wTDτw

)(σ2)aσ+1

exp(−bσ/σ)∏

j

exp(−γ2

2τ2j )

ただし,Dτ = diag(τ2j ) で X は標準化,y は centered されているので offset 項は無視可能.

EM アルゴリズムで考える (Figueiredo, 2003)

! E step: τ2j ,σ2 を推定する

! M step: w に関して最適化する! 実はこの w は Lasso 推定量と同じになる

Daisuke Yoneoka Sparse linear models October 20, 2014 18 / 21

Page 19: Sparse models

Why EM?

l1 のMAP推定のアルゴリズムは沢山あるのに,なんであえて EMなのか?! probitや robust linear modelなどの推定量を計算しやすい

! 分散に関して Ga(τ2j |1, γ2/2)以外の priorも考えやすい

! Bayesian lassoを使えば full posterior p(w|D)を計算しやすい

Daisuke Yoneoka Sparse linear models October 20, 2014 19 / 21

Page 20: Sparse models

目的関数, E/M step

! 罰則付き対数尤度関数はlc(w) = −

1

2σ2∥y −Xw∥22 −

1

2wTΛw + const. (ただし,λ = diag(

1

τ2j) で精度行列)

! E step

! まずは E[1

τ2j|wj ] の計算を考える

! E[1

τ2j

|wj ] =− log

"N(wj |0, τ2

j )p(τ2j )dτ

2j

|wj |を直接計算する

! もしくは, p(1/τ2j |w,D) = InverseGaussian

#$γ2

w2j

, γ2

%とすると,E[

1

τ2j

|wj ] =γ

|wj |! 結局,Λ = diag(E[1/τ2

1 ], . . . , E[1/τ2D ])

! 次に σ2 の推定を考える.

! posterior は p(σ2|D,w) = IG(aσ + (N)2, bσ +1

2(y − Xw)T (y − Xw)) = IG(aN , bN )

! したがって E[1/σ2] =an

bN≡ ω

Daisuke Yoneoka Sparse linear models October 20, 2014 20 / 21

Page 21: Sparse models

目的関数, E/M step (Cont.)

! M step

! w = argmaxw −1

2ω∥y −Xw∥22 −

1

2wTΛw を計算したい

! これはガウシアン prior のもとで MAP 推定: w = (σ2Λ+XTX)−1XT y! 注意: Sparse 性を考えているので wj のほとんどが 0 ⇔ τ2

j のほとんどが 0.! このとき, Λ の逆行列の計算が不安定

! SVD 分解が使える! (i.e., X = UDV T ): w = ΨV (V TΨV +1

ωD−2)−1D−1UT y

!  ただし, Ψ = Λ−1 = diag(1

E[1/τ2j ]

) = diag(|wj |

− log"N(wj |0, τ2

j )p(τ2j )dτ

2j

)

! Note; Lasso の目的関数は凸なので常に global optim に理論的には到達可能.! だが, 数値計算的に不可能なことが多い!! 例えば,M step で wj = 0 としたとき, E step では τ2

j = 0 と推定し結果として wj = 0 としてしまい, この間違いは修正不可能になる! (Hunter, 2005)

Daisuke Yoneoka Sparse linear models October 20, 2014 21 / 21