More Related Content Similar to Sparse models (20) More from Daisuke Yoneoka (17) Sparse models1. Sparse linear models
Daisuke Yoneoka
October 20, 2014
Daisuke Yoneoka Sparse linear models October 20, 2014 1 / 21
2. Notations
Dj
! γ はbit vector で, 特徴量j が関連ある場合はγj = 1, それ以外は0.
!! ∥γ∥0 =
は=1 γj l0 pseudo-norm.
! ∥γ∥1 =
!Dj
=1 |γj | はl1 norm.
! ∥γ∥2 = (
!Dj
=1 γ2
j )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
3. 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) = logp(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) =
!Ni
=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
4. なぜ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
5. Optimality conditions for lasso
Lasso はnon-smooth optimization (微分不可能最適化) の例.
目的関数はminwRSS(w) + λ∥w∥1
! 第一項の微分は∂
∂wj
RSS(w) = ajwj − cj .
ただしaj = 2
"n
i=1 x2
ij, cj = 2
"n
i=1 xij(yi − wT−
jxi,−j)
# $% &
j とj なしの残差の内積
! cj はj 番目の特徴量がy の予測にどれだけ関連しているかを表現
! 全体の劣微分は
∂wj f(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
6. 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 + λ
aj
if cj < −λ
0 if cj ∈ [−λ, λ]
cj − λ
if cj > λ
aj
⇔ ˆ wj (cj) = soft(
cj
aj
;
λ
aj
)
ただし、soft はsoft thresholding で定義はsoft(a; δ) ≡ sign(a)(|a|−δ)+
Daisuke Yoneoka Sparse linear models October 20, 2014 6 / 21
7. Optimality conditions for lasso (Cont. 3)
LASSO (Tibshirani, 1996) は結局,
! λ = 0 のときˆ w はOLS と一緒
! λ > λmax のときˆ w = 0 (ただしλmax = ∥XT y∥∞ = max|yT x:,j |)
! この計算方法は,(XT y)j ∈ [−λ, λ] ならば0 が最適であることを利用
! 一般的にはλmax = max|∇jNLL(0)|
Daisuke Yoneoka Sparse linear models October 20, 2014 7 / 21
8. 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 解はˆ wOLS
k = xT:
ky
! Ridge 解はˆ wridge
k =
ˆ wOLS
k
1 + λ
! Lasso 解はsign( ˆ wOLS
k )
,
| ˆ wOLS
k |−
λ
2
-
+
! subset selection 解はˆ wSS
k =
.
ˆ wOLS
k if rank(| ˆ wOLS
k |) ≤ K
0 otherwise
Daisuke Yoneoka Sparse linear models October 20, 2014 8 / 21
9. 正則化パス
特徴量ごとにˆ w(λ) とλ の値をプロットしたもの
! Lasso はD > N の場合でも
N までしか変数選択できない
! Elastic net なら
ばD までの数の変数選択可能
Daisuke Yoneoka Sparse linear models October 20, 2014 9 / 21
10. モデル選択
モデル選択の一致性について(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
11. ラプラス分布を事前分布に持つ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
12. 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
13. 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:,Fkwk で定義される残差に対する最初の特徴量と同じだけの相関をも
つ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
14. Proximal and gradient projection methods
22
凸な目的関数f(θ) = L(θ) + R(θ) を考える. (L(θ) はロス関数で凸で微分可能, R(θ) は正
則化項で凸だが微分可能とは限らない)
! 例えば,f(θ) = R(θ) + 1/2∥θ − y∥のようなとき(L(θ) = RSS(θ) で計画行列が
X = I のとき)
! 凸関数R のproximal operator の導入: proxR(y) = argminz
/
R(z) + 1/2∥z − y∥22
0
! 直感的には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
15. 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 =
⎧
⎨
⎩
θ
∥θ∥2
if ∥θ∥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
16. Proximal gradient method
Proximal operator をどうやって勾配法のなかで使うかを示す.
θ の更新アルゴリズムは二次近似θk+1 = argminzR(z) + L(θk) + gT
k (z − θk) +
1
2tk ∥z − θk∥22
(ただし,gk = ∇L(θk),tk はこの下, 最後の項はL のヘシアンの近似∇2L(θk) ≈
1
tk
I)
⇔ θ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 とおなじ
22
tk もしくはαk = 1/tk の選び方について
! αkI が∇2L(θ) の良い近似になっていると仮定すると,αk(θk − θk−≈ gk − gk−1) が成立
1 ! したがってαk = argminα∥α(θk − θk−1 − (gk − gk−1))∥=
(θ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 (basis
pursuit denoising) を速く解ける(SpaRSA アルゴリズム)
Daisuke Yoneoka Sparse linear models October 20, 2014 16 / 21
17. Nesteov’s method
θk の周りではなく別の所で二次近似してやるともっと速いproximal gradient descent が得
られる.
θk+1 = proxtkR(φk − tkgk)
gk = ∇L(φk)
φk = θk +
k − 1
k + 2
(θk − θk−1)
Nester’s method とiterative soft thresholding とhomotopy method を合わせるとBPDN
(basis pursuit denoising) を速く解ける. (FISTA アルゴリズム(fast iterative shrinkage
thresholding algorithm))
Daisuke Yoneoka Sparse linear models October 20, 2014 17 / 21
18. Lasso のEM アルゴリズム
Laplace 分布をGaussian scale mixture (GSM) で表現する.
Lap(wj |0, 1/γ) =
γ
2
e−γ|wj | =
!
N(wj |0, τ2
j )Ga(τ2
j |1,
γ2
2
)dτ2
j
これを用いれば, 同時分布は
p(y,w, τ, σ2|X) = N(y|Xw, σ2IN)N(w|0,Dτ )IG(σ2|aσ, bσ)
⎡
⎣
*
j
Ga(τ2
j |1,γ2/2)
⎤
⎦
∝ (σ2)−N/2 exp
&
−
1
2σ2 ∥y − Xw∥22
'
|D−1/2
τ exp
&
−
1
2
wTDτw
'
(σ2)aσ+1
exp(−bσ/σ)
*
j
exp(−
γ2
2
τ2
j )
ただし,Dτ = diag(τ2
j ) でX は標準化,y はcentered されているのでoffset 項は無視可能.
EM アルゴリズムで考える(Figueiredo, 2003)
! E step: τ2
j ,σ2 を推定する
! M step: w に関して最適化する
! 実はこのˆ w はLasso 推定量と同じになる
Daisuke Yoneoka Sparse linear models October 20, 2014 18 / 21
19. Why EM?
l1 のMAP 推定のアルゴリズムは沢山あるのに, なんであえてEM なのか?
! probit やrobust linear model などの推定量を計算しやすい
! 分散に関してGa(τ 2
j |1,γ2/2) 以外のprior も考えやすい
! Bayesian lasso を使えばfull posterior p(w|D) を計算しやすい
Daisuke Yoneoka Sparse linear models October 20, 2014 19 / 21
20. 目的関数, E/M step
! 罰則付き対数尤度関数は
lc(w) = −
1
2σ2 ∥y − Xw∥22
−
1
2
wT Λw + const. (ただし,λ = diag(
1
τ2
j
) で精度行列)
! E step
! まずはE[
1
τ2
j |wj ] の計算を考える
! E[
1
τ2
j |wj] = −log
"
N(wj |0, τ2
j )p(τ2
j )dτ2
j
|wj |
を直接計算する
! もしくは, p(1/τ2
j |w,D) = InverseGaussian
#$
γ2
w2
j
,γ2
%
とすると,E[
1
τ2
j |wj] =
γ
|wj |
! 結局,¯Λ= diag(E[1/τ2
1 ], . . . ,E[1/τ2D
])
! 次にσ2 の推定を考える.
! posterior はp(σ2|D,w) = IG(aσ + (N)2, bσ +
1
2
(y − X ˆ w)T (y − X ˆ w)) = IG(aN, bN)
! したがってE[1/σ2] =
an
bN ≡ ¯ω
Daisuke Yoneoka Sparse linear models October 20, 2014 20 / 21
21. 目的関数, E/M step (Cont.)
! M step
! ˆ w = argmaxw −
1
2
¯ω∥y − Xw∥22
−
1
2
wTΛ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/τ2
j ]
) = diag( |wj |
−log
"
N(wj |0, τ2
j )p(τ2
j )dτ2
j
)
! 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