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

PDF
ML: Sparse regression CH.13
PDF
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
PDF
独立成分分析 ICA
PDF
グラフィカル Lasso を用いた異常検知
PDF
正則化つき線形モデル(「入門機械学習第6章」より)
PDF
パターン認識 05 ロジスティック回帰
PDF
Crfと素性テンプレート
PDF
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
ML: Sparse regression CH.13
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
独立成分分析 ICA
グラフィカル Lasso を用いた異常検知
正則化つき線形モデル(「入門機械学習第6章」より)
パターン認識 05 ロジスティック回帰
Crfと素性テンプレート
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜

What's hot (20)

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

Similar to Sparse models (20)

PDF
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
PDF
スパース推定
PDF
岩波データサイエンス_Vol.5_勉強会資料02
PDF
東京都市大学 データ解析入門 4 スパース性と圧縮センシング1
PPTX
スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 3.3節と3.4節
PDF
20140514_水曜セミナー発表資料_中村知繁
PDF
PRML復々習レーン#9 前回までのあらすじ
PDF
統計的学習の基礎 5章前半(~5.6)
PDF
パターン認識第9章 学習ベクトル量子化
PDF
20170422 数学カフェ Part2
PPTX
Oracle property and_hdm_pkg_rigorouslasso
PDF
Nips yomikai 1226
PDF
PRML復々習レーン#3 3.1.3-3.1.5
PDF
SMO徹底入門 - SVMをちゃんと実装する
PDF
SGD+α: 確率的勾配降下法の現在と未来
PDF
(文献紹介) 画像復元:Plug-and-Play ADMM
PDF
PRML 第4章
PDF
Introduction to YOLO detection model
PDF
Icml yomikai 07_16
PDF
Hyperoptとその周辺について
東京都市大学 データ解析入門 5 スパース性と圧縮センシング 2
スパース推定
岩波データサイエンス_Vol.5_勉強会資料02
東京都市大学 データ解析入門 4 スパース性と圧縮センシング1
スパース性に基づく機械学習(機械学習プロフェッショナルシリーズ) 3.3節と3.4節
20140514_水曜セミナー発表資料_中村知繁
PRML復々習レーン#9 前回までのあらすじ
統計的学習の基礎 5章前半(~5.6)
パターン認識第9章 学習ベクトル量子化
20170422 数学カフェ Part2
Oracle property and_hdm_pkg_rigorouslasso
Nips yomikai 1226
PRML復々習レーン#3 3.1.3-3.1.5
SMO徹底入門 - SVMをちゃんと実装する
SGD+α: 確率的勾配降下法の現在と未来
(文献紹介) 画像復元:Plug-and-Play ADMM
PRML 第4章
Introduction to YOLO detection model
Icml yomikai 07_16
Hyperoptとその周辺について
Ad

More from Daisuke Yoneoka (17)

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