SlideShare a Scribd company logo
1 of 21
Download to read offline
Sparse linear models 
Daisuke Yoneoka 
October 20, 2014 
Daisuke Yoneoka Sparse linear models October 20, 2014 1 / 21
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
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
なぜ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 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
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
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
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
正則化パス 
特徴量ごとにˆ 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:,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
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
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
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
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
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
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
目的関数, 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
目的関数, 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

More Related Content

What's hot

卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-
Tomoshige Nakamura
 
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
Preferred Networks
 
introductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisintroductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysis
Tatsuki SHIMIZU
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
noname409
 
ディジタル信号処理の課題解説
ディジタル信号処理の課題解説ディジタル信号処理の課題解説
ディジタル信号処理の課題解説
noname409
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
Shinya Shimizu
 
Numpy scipyで独立成分分析
Numpy scipyで独立成分分析Numpy scipyで独立成分分析
Numpy scipyで独立成分分析
Shintaro Fukushima
 
ディジタル信号処理 課題解説 その4
ディジタル信号処理 課題解説 その4ディジタル信号処理 課題解説 その4
ディジタル信号処理 課題解説 その4
noname409
 

What's hot (20)

L0TV: a new method for image restoration in the presence of impulse noise
L0TV: a new method for image restoration in the presence of impulse noiseL0TV: a new method for image restoration in the presence of impulse noise
L0TV: a new method for image restoration in the presence of impulse noise
 
ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版
 
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版
 
卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-
 
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
 
introductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisintroductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysis
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
 
ディジタル信号処理の課題解説
ディジタル信号処理の課題解説ディジタル信号処理の課題解説
ディジタル信号処理の課題解説
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
 
Numpy scipyで独立成分分析
Numpy scipyで独立成分分析Numpy scipyで独立成分分析
Numpy scipyで独立成分分析
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
 
2値分類・多クラス分類
2値分類・多クラス分類2値分類・多クラス分類
2値分類・多クラス分類
 
topology of musical data
topology of musical datatopology of musical data
topology of musical data
 
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
 
PRML4.3.3
PRML4.3.3PRML4.3.3
PRML4.3.3
 
PRML 1.6 情報理論
PRML 1.6 情報理論PRML 1.6 情報理論
PRML 1.6 情報理論
 
Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Sparse estimation tutorial 2014
Sparse estimation tutorial 2014
 
PRML 第14章
PRML 第14章PRML 第14章
PRML 第14章
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
 
ディジタル信号処理 課題解説 その4
ディジタル信号処理 課題解説 その4ディジタル信号処理 課題解説 その4
ディジタル信号処理 課題解説 その4
 

Similar to Sparse models

Icml yomikai 07_16
Icml yomikai 07_16Icml yomikai 07_16
Icml yomikai 07_16
Yo Ehara
 
公開鍵暗号7: 楕円曲線の数理
公開鍵暗号7: 楕円曲線の数理公開鍵暗号7: 楕円曲線の数理
公開鍵暗号7: 楕円曲線の数理
Joe Suzuki
 
13.2 隠れマルコフモデル
13.2 隠れマルコフモデル13.2 隠れマルコフモデル
13.2 隠れマルコフモデル
show you
 

Similar to Sparse models (20)

Learning Latent Space Energy Based Prior Modelの解説
Learning Latent Space Energy Based Prior Modelの解説Learning Latent Space Energy Based Prior Modelの解説
Learning Latent Space Energy Based Prior Modelの解説
 
Icml yomikai 07_16
Icml yomikai 07_16Icml yomikai 07_16
Icml yomikai 07_16
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
Topic model
Topic modelTopic model
Topic model
 
Deep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___informationDeep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___information
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
公開鍵暗号7: 楕円曲線の数理
公開鍵暗号7: 楕円曲線の数理公開鍵暗号7: 楕円曲線の数理
公開鍵暗号7: 楕円曲線の数理
 
20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用20150922_楕円関数とおもしろい応用
20150922_楕円関数とおもしろい応用
 
Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会
 
PRML_titech 2.3.1 - 2.3.7
PRML_titech 2.3.1 - 2.3.7PRML_titech 2.3.1 - 2.3.7
PRML_titech 2.3.1 - 2.3.7
 
13.2 隠れマルコフモデル
13.2 隠れマルコフモデル13.2 隠れマルコフモデル
13.2 隠れマルコフモデル
 
PRML上巻勉強会 at 東京大学 資料 第4章4.3.1 〜 4.5.2
PRML上巻勉強会 at 東京大学 資料 第4章4.3.1 〜 4.5.2PRML上巻勉強会 at 東京大学 資料 第4章4.3.1 〜 4.5.2
PRML上巻勉強会 at 東京大学 資料 第4章4.3.1 〜 4.5.2
 
2022年度秋学期 応用数学(解析) 第11回 振動と微分方程式 (2022. 12. 8)
2022年度秋学期 応用数学(解析) 第11回 振動と微分方程式 (2022. 12. 8) 2022年度秋学期 応用数学(解析) 第11回 振動と微分方程式 (2022. 12. 8)
2022年度秋学期 応用数学(解析) 第11回 振動と微分方程式 (2022. 12. 8)
 
画像からの倍率色収差の自動推定補正
画像からの倍率色収差の自動推定補正画像からの倍率色収差の自動推定補正
画像からの倍率色収差の自動推定補正
 
20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算
 
PRML 10.4 - 10.6
PRML 10.4 - 10.6PRML 10.4 - 10.6
PRML 10.4 - 10.6
 
2018年度秋学期 応用数学(解析) 第3部・微分方程式に関する話題 第11回 振動と微分方程式 (2018. 11. 27)
2018年度秋学期 応用数学(解析) 第3部・微分方程式に関する話題 第11回 振動と微分方程式 (2018. 11. 27)2018年度秋学期 応用数学(解析) 第3部・微分方程式に関する話題 第11回 振動と微分方程式 (2018. 11. 27)
2018年度秋学期 応用数学(解析) 第3部・微分方程式に関する話題 第11回 振動と微分方程式 (2018. 11. 27)
 
linhyp.pdf
linhyp.pdflinhyp.pdf
linhyp.pdf
 
Grcosmo 44 slide
Grcosmo 44 slideGrcosmo 44 slide
Grcosmo 44 slide
 
2020年度秋学期 画像情報処理 第11回 Radon変換と投影定理 (2020. 12. 4)
2020年度秋学期 画像情報処理 第11回 Radon変換と投影定理 (2020. 12. 4)2020年度秋学期 画像情報処理 第11回 Radon変換と投影定理 (2020. 12. 4)
2020年度秋学期 画像情報処理 第11回 Radon変換と投影定理 (2020. 12. 4)
 

More from Daisuke Yoneoka

第七回統計学勉強会@東大駒場
第七回統計学勉強会@東大駒場第七回統計学勉強会@東大駒場
第七回統計学勉強会@東大駒場
Daisuke Yoneoka
 
第二回統計学勉強会@東大駒場
第二回統計学勉強会@東大駒場第二回統計学勉強会@東大駒場
第二回統計学勉強会@東大駒場
Daisuke Yoneoka
 
第四回統計学勉強会@東大駒場
第四回統計学勉強会@東大駒場第四回統計学勉強会@東大駒場
第四回統計学勉強会@東大駒場
Daisuke Yoneoka
 
第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場
Daisuke Yoneoka
 
第三回統計学勉強会@東大駒場
第三回統計学勉強会@東大駒場第三回統計学勉強会@東大駒場
第三回統計学勉強会@東大駒場
Daisuke Yoneoka
 
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRブートストラップ法とその周辺とR
ブートストラップ法とその周辺とR
Daisuke Yoneoka
 
Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)
Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)
Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)
Daisuke Yoneoka
 
Rで学ぶデータサイエンス第1章(判別能力の評価)
Rで学ぶデータサイエンス第1章(判別能力の評価)Rで学ぶデータサイエンス第1章(判別能力の評価)
Rで学ぶデータサイエンス第1章(判別能力の評価)
Daisuke Yoneoka
 

More from Daisuke Yoneoka (17)

MCMC法
MCMC法MCMC法
MCMC法
 
PCA on graph/network
PCA on graph/networkPCA on graph/network
PCA on graph/network
 
Sequential Kernel Association Test (SKAT) for rare and common variants
Sequential Kernel Association Test (SKAT) for rare and common variantsSequential Kernel Association Test (SKAT) for rare and common variants
Sequential Kernel Association Test (SKAT) for rare and common variants
 
Higher criticism, SKAT and SKAT-o for whole genome studies
Higher criticism, SKAT and SKAT-o for whole genome studiesHigher criticism, SKAT and SKAT-o for whole genome studies
Higher criticism, SKAT and SKAT-o for whole genome studies
 
Deep directed generative models with energy-based probability estimation
Deep directed generative models with energy-based probability estimationDeep directed generative models with energy-based probability estimation
Deep directed generative models with energy-based probability estimation
 
Supervised PCAとその周辺
Supervised PCAとその周辺Supervised PCAとその周辺
Supervised PCAとその周辺
 
セミパラメトリック推論の基礎
セミパラメトリック推論の基礎セミパラメトリック推論の基礎
セミパラメトリック推論の基礎
 
Murphy: Machine learning A probabilistic perspective: Ch.9
Murphy: Machine learning A probabilistic perspective: Ch.9Murphy: Machine learning A probabilistic perspective: Ch.9
Murphy: Machine learning A probabilistic perspective: Ch.9
 
第七回統計学勉強会@東大駒場
第七回統計学勉強会@東大駒場第七回統計学勉強会@東大駒場
第七回統計学勉強会@東大駒場
 
第二回統計学勉強会@東大駒場
第二回統計学勉強会@東大駒場第二回統計学勉強会@東大駒場
第二回統計学勉強会@東大駒場
 
第四回統計学勉強会@東大駒場
第四回統計学勉強会@東大駒場第四回統計学勉強会@東大駒場
第四回統計学勉強会@東大駒場
 
第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場
 
第三回統計学勉強会@東大駒場
第三回統計学勉強会@東大駒場第三回統計学勉強会@東大駒場
第三回統計学勉強会@東大駒場
 
第一回統計学勉強会@東大駒場
第一回統計学勉強会@東大駒場第一回統計学勉強会@東大駒場
第一回統計学勉強会@東大駒場
 
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRブートストラップ法とその周辺とR
ブートストラップ法とその周辺とR
 
Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)
Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)
Rで学ぶデータサイエンス第13章(ミニマックス確率マシン)
 
Rで学ぶデータサイエンス第1章(判別能力の評価)
Rで学ぶデータサイエンス第1章(判別能力の評価)Rで学ぶデータサイエンス第1章(判別能力の評価)
Rで学ぶデータサイエンス第1章(判別能力の評価)
 

Sparse models

  • 1. 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