Upload
daisuke-yoneoka
View
268
Download
2
Embed Size (px)
DESCRIPTION
intro of sparse linear models
Citation preview
Sparse linear models
Daisuke Yoneoka
October 20, 2014
Daisuke Yoneoka Sparse linear models October 20, 2014 1 / 21
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
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
なぜ 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
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
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
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
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
正則化パス
特徴量ごとに w(λ)と λの値をプロットしたもの
! Lassoは D > N の場合でもNまでしか変数選択できない
! Elastic netならば D までの数の変数選択可能
Daisuke Yoneoka Sparse linear models October 20, 2014 9 / 21
モデル選択
モデル選択の一致性について (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
ラプラス分布を事前分布に持つ 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
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
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
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
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
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
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
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
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
目的関数, 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
目的関数, 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