SlideShare a Scribd company logo
1 of 14
Download to read offline
Murphy: Machine learning 
13 章Sparse linear models  補助資料 
Daisuke Yoneoka 
September 26, 2014 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 1 / 14
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. 
N ! π0: ある特徴量が関連している確率 
! xor: exclusive or / exclusive disjunction で排他的論理和の意. 
入力のうち「真」の数が奇数個ならば出力が真になり, 偶数個の場合は出力が「偽」になるよう 
な演算のこと. 
! .*: 配列の乗算. A. ∗ B は, 配列A と配列B の要素ごとの積(なぜかまた急にmatlab の書き方) 
! x:,j : 行列X のj 列目のコラムベクトル(また,matlab 方言) 
! subderivative (劣微分): 凸関数f : I はを→ R のθ0 で劣微分と 
,f(θ) − f(θ0) ≥ g(θ − θ0) θ ∈ I 満足するg の集合 
!! NLL: negative log likelihood, NLL(θ) ≡ − 
i=1 log p(yi|xi, θ) 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 2 / 14
Introduction 
! 特徴量選択では, p(y|X) = p(y|f(wTX)) でw をsparse にとることを考える. 近年, 
注目集まってる! 
! Lots of computational advantages 
! D >> N 問題, (古典的統計D < N) D:パラメータ次元, n:サンプルサイズ 
! 遺伝子解析ではd ∼ 10, 000 とn ∼ 100 で, なるべく小さい特徴量のセットを発見したい 
! Ch.14 でカーネルを用いた解析を扱う. このとき計画行列はN × N で 
結局, 特徴量選択=訓練データのサブセットを選ぶことになる.(Sparse kernel machine) 
! 信号処理では,wavelet を基底として表現するが, この基底をなるべく少なく選ぶときに使用 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 3 / 14
Bayesian variable selection 
! 特徴量の組み合わせのPosterior を求めたい. p(γ|D) = 
e−f(γ) 
! 
γ′ e−f(γ′ ) 
! ただしf(γ) ≡ −[log p(D|γ) + log p(γ)] 
! これはモデル数が多くなるとちょっと解釈が難しくなる 
! Summary stats を考えてみると, 自然にPosterior のmode=MAP 推定量が思いつく. 
ˆγ = argmax p(γ|D) = argmin f(γ) 
! Mode はちょっとアレ...median はˆγ = {j : p(γj = 1|D) = 0.5} 
! ただしこれは, posterior marginal inclusion probability, p(γj = 1|D) の計算が必要 
! でもこれは次元数があがると厳しくなってくる 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 4 / 14
Spike and slab model 
! Posterior はp(γ|D) ∝ p(γ)p(D|γ) 
は"! Prior p(γ) = 
D 
j=1 Ber(γi|π0) = π∥γ∥0 
0 (1 − π0)D−∥γ∥0 . 
! Likelihood はp(D|γ) = p(y|X, γ) = 
## 
p(y|X,w, γ)p(w|γ, σ2)p(σ2)dwdσ2 
! p(w|γ, σ2) のprior はp(wj |γj,σ2) = 
$ 
δ0(wj) if γj = 0 
N(wj |0,σ2σ2 
j ) if γj = 1 
. 
ただし, x とy はstandardized. 
! 最初のは, 原点にspike が立っている感じ 
! As σw →∞ でp(wj |γj ) はuniform になるのでslab と言える. 
! Zou. 2007. Marginal likelihood をBIC で近似できる. 
log p(D|γ) ≈ log p(y|X,wˆγ, σˆ2) − ∥γ∥0 
% &2' ( 
ここは自由度 
logN 
! 上より, log p(γ|D) ≈ log p(y|X,wˆγ, σˆ2) − ∥γ∥0 
2 
logN − λ∥γ∥0 % &' ( 
p(γ) のprior 
+const 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 5 / 14
From the Bernoulli-Gaussian model to l0 regularization 
yi|xi, w,γ,σ2 ∼ N( 
) 
γjwjxij,σ2) 
γj ∼ Ber(π0) 
wj ∼ N(0,σ2w 
) 
! Called Bernoulli-Gaussian model or binary mask model. (γj がwj をmask out して 
いる) 
! binary mask: γj → y ← wj vs slab: γj → wj → y 
! γj とwj の識別性がなくγjwj しか識別不可 
! ちょっとはいいことあるよ!Non-Bayeisan には慣れ親しまれている感じになる 
! Joint prior はp(γ,w) ∝ N(0,σ2w 
)π∥γ∥0 
0 (1 − π0)D−∥γ∥0 
! こうするとlog posterior は 
f(γ,w) ≡ −2σ2 log p(γ,w, y|X) = ∥y − X(γ. ∗ w)∥2 + 
σ2 
σ2w 
∥w∥2 + λ∥γ∥0 + const, 
ただしγ ≡ 2σ2 log( 
1 − π0 
π0 
). 
! w−γ = 0 とwγ をγ が0 or 1 のときのw とし,σ2w 
→∞で 
f(γ,w) = ∥y − Xγwγ∥22 
+ λ∥γ∥0.  これって, 上のBIC の式に似ているよね 
22 
! l0regularization; γ 使うのやめて,support としてw の重要性を表す変数を定義するこ 
とでf(w) = ∥y − Xw∥+ λ∥w∥0 
! これで最適化問題をγ ∈ {0, 1} の2値から連続値w に変換可能. でも, 第二項はまだまだ 
最適化しにくい! 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 6 / 14
アルゴリズム 
! γ はbit vector なので, 全数走査は超大変→ちょっとheuristic に 
! Wrapper method: モデル族のなかでコストf(γ) (エラー率など) を計算しながら 
argmaxp(D|w) や# 
p(D|w)p(w)dw を計算する手法. 直感的には, 学習アルゴリズム 
を実装した関数fun をwrap して, データをsubset に分割してスコアを計算しながら 
適用していく手法 
! 効率化のポイント 
! いかにして前のγ のときのスコアを更新してγ′ の場合のスコアを計算するか 
! ⇔ コストf(γ) の十分統計量を効率的に更新 
! ⇔ f(γ) の計算をXγ だけに依存させた上で,γ を少し更新してγ′ にする(一つの変数を出 
し入れする) 
! このとき,QR 分解でXT 
γ Xγ をXT 
γ′Xγ′ に更新できる 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 7 / 14
Greedy search 1 
! l0 regularization の目的関数の最適化をを考える 
! 二乗法の性質を利用可能. (See detail; Miller 2002; Soussen et al. 2010) 
! Single best replacement (SBR): Greedy hill climbing においてγ を少し振らせるだけで到 
達可能な近傍モデルを探索すること. Sparse な解を見つけることを目的にしているので, 初 
期値はγ = 0. あとはスコアの良い解が見つかるまで出し入れ. 
! Orthogonal least squares: もし,λ = 0 (i.e., prior p(γ) を入れることの罰則がない状態) と 
すると,forward に変数追加だけでOK. このときOrthogonal least square, または,greedy 
j 
forward selection nと呼ぶ. エラーは∥γ∥0 の単調減少関数となる. 更新式は 
γ(t+1) = γ(t) ∪{j∗}. ただし,j∗ = argmi/∈γtminw∥y − (Xγj∪jw)∥2 
T: 
! Orthogonal matching pursuits (OMP): 上の方法は高価. 簡略化したのがこれ. 
j∗ = argmiminβ∥y − (Xwt − βx:,2 j )∥jを解くことで次の候補発見は固定され 
/∈γt(wt ているこれの解は瞬殺でx,j (y − Xwt) 
). β = 
nxT: 
,jx:,j 
. これは,wt を固定したときの残差 
y − Xwt と最も相関するコラムx:,j を選択することに相当. これで新しい特徴量の組をつ 
くってwt+1 を計算. 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 8 / 14
Greedy search 2 
! つづき 
! Matching pursuits: sparse boosting (least squares boosting) と一緒. 16 章でやりま 
しょう. 
! Backwards selection: saturated model (飽和モデル) より始めて, 徐々に減らす方法. これ 
は一般にforward selection よりも良い結果をもたらす. なぜなら, 取捨選択の決定がその他 
の全変数が依存しているという仮定で行われるから. 
! FoBa: forward-backward algorithm の意. SBR と似ているが次の候補を選ぶ際にOMP の 
ように選ぶ点が特徴 
! Bayesian matching pursuit: OMP と似ているが, 二乗誤差を目的関数にするのではな 
く,bayesian marginal likelihood scoring criterion を使う点が特徴. ビームサーチ(分岐が 
ビーム幅(事前設定) より長くなった場合に, 悪い枝を刈る) を使う. 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 9 / 14
Stochastic search 
近傍に移動するときにbest なものに移動(Greedy search) ではなく, 確率的に移動 
先を選択する手法 
! Posterior 自体を計算したい場合,MCMC でしょ. 
! 提案分布はγ を少しだけ変化させたものなので,p(γ′|D) をp(γ|D) から作ることは比 
較的容易. (See detail for O ’Hara and Sillanpaa 2009) 
! 離散な状態空間では,MCMC は必ずしも非効率ではない. なぜな 
ら,p(γ′) = exp(−f(γ)) で直接確率が計算可能だから(同じ状態に戻る必要がなくなる 
ので効率up). 
! 更に効率をあげるためには, 高スコアのモデル族S を作り,p(γ|D) ≈ 
e−f(γ) 
! 
γ′∈S e−f(γ′) 
でposterior を近似する. (Heaton and Scott 2009) 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 10 / 14
EM and variational inference 
! EM アルゴリズムでSlab model (γj → wj → y) を推定してみる 
! E step: p(γj |wj )? 
! M step: w について最適化? 
! これでは動かない!なぜなら,(13.11) の中のδ0(wj ) とN(wj |0,σ2w 
) が比較不可能 
! → δ0(wj ) をガウシアンで近似で解決. (local minima の問題が残る) 
! EM アルゴリズムでBernoulli-Gaussian model (γj → y ← wj) を推定してみる 
! Posterior p(γ|D,w) は計算しにくい 
! しかし, この平均近似" 
j q(γj )q(wj ) を計算することは可能(Huang et al. 2007; Rattray 
et al. 2009) 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 11 / 14
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 Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 12 / 14
Why does l1 regularization yield sparse solutions? 
Linear regression に限定するがGLM 一般に拡張可能 
! 目的関数はminwRSS(w) + λ∥w∥1 ⇔ LASSO: minwRSS(w)s.t. λ∥w∥1 ≤ B 
! B 小→ λ 大 
! ちなみにminwRSS(w) + λ∥w∥22 
⇔ RIDGE: minwRSS(w)s.t. λ∥w∥22 
≤ B 
Figure: 13.3; l1 (left) vs l2 (right) regularization 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 13 / 14
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 
Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 14 / 14

More Related Content

What's hot

Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Masahiro Sakai
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical ProgrammingMasahiro Sakai
 
Introduction to Algorithms#24 Shortest-Paths Problem
Introduction to Algorithms#24 Shortest-Paths ProblemIntroduction to Algorithms#24 Shortest-Paths Problem
Introduction to Algorithms#24 Shortest-Paths ProblemNaoya Ito
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)narumikanno0918
 
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011Preferred Networks
 
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜Takeshi Arabiki
 
ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版dsp_kyoto_2014
 
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版dsp_kyoto_2014
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介Masahiro Sakai
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシンShinya Shimizu
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3noname409
 
情報幾何学の基礎 第2章 4.5
情報幾何学の基礎 第2章 4.5情報幾何学の基礎 第2章 4.5
情報幾何学の基礎 第2章 4.5Tatsuki SHIMIZU
 
とぽろじー入門(画像なし版)
とぽろじー入門(画像なし版)とぽろじー入門(画像なし版)
とぽろじー入門(画像なし版)Katsuya Ito
 
ディジタル信号処理の課題解説
ディジタル信号処理の課題解説ディジタル信号処理の課題解説
ディジタル信号処理の課題解説noname409
 
PRML 1.6 情報理論
PRML 1.6 情報理論PRML 1.6 情報理論
PRML 1.6 情報理論sleepy_yoshi
 
正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)Eric Sartre
 

What's hot (20)

Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical Programming
 
Introduction to Algorithms#24 Shortest-Paths Problem
Introduction to Algorithms#24 Shortest-Paths ProblemIntroduction to Algorithms#24 Shortest-Paths Problem
Introduction to Algorithms#24 Shortest-Paths Problem
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
 
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
 
ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版
 
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版
 
PRML 第14章
PRML 第14章PRML 第14章
PRML 第14章
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
 
情報幾何学の基礎 第2章 4.5
情報幾何学の基礎 第2章 4.5情報幾何学の基礎 第2章 4.5
情報幾何学の基礎 第2章 4.5
 
とぽろじー入門(画像なし版)
とぽろじー入門(画像なし版)とぽろじー入門(画像なし版)
とぽろじー入門(画像なし版)
 
分布 isseing333
分布 isseing333分布 isseing333
分布 isseing333
 
PRML 10.4 - 10.6
PRML 10.4 - 10.6PRML 10.4 - 10.6
PRML 10.4 - 10.6
 
ロマ数16 simizut
ロマ数16 simizutロマ数16 simizut
ロマ数16 simizut
 
ディジタル信号処理の課題解説
ディジタル信号処理の課題解説ディジタル信号処理の課題解説
ディジタル信号処理の課題解説
 
PRML 1.6 情報理論
PRML 1.6 情報理論PRML 1.6 情報理論
PRML 1.6 情報理論
 
正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)
 

More from Daisuke Yoneoka

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 variantsDaisuke Yoneoka
 
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 studiesDaisuke Yoneoka
 
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 estimationDaisuke Yoneoka
 
Supervised PCAとその周辺
Supervised PCAとその周辺Supervised PCAとその周辺
Supervised PCAとその周辺Daisuke Yoneoka
 
セミパラメトリック推論の基礎
セミパラメトリック推論の基礎セミパラメトリック推論の基礎
セミパラメトリック推論の基礎Daisuke Yoneoka
 
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.9Daisuke Yoneoka
 
第七回統計学勉強会@東大駒場
第七回統計学勉強会@東大駒場第七回統計学勉強会@東大駒場
第七回統計学勉強会@東大駒場Daisuke Yoneoka
 
第二回統計学勉強会@東大駒場
第二回統計学勉強会@東大駒場第二回統計学勉強会@東大駒場
第二回統計学勉強会@東大駒場Daisuke Yoneoka
 
第四回統計学勉強会@東大駒場
第四回統計学勉強会@東大駒場第四回統計学勉強会@東大駒場
第四回統計学勉強会@東大駒場Daisuke Yoneoka
 
第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場Daisuke Yoneoka
 
第三回統計学勉強会@東大駒場
第三回統計学勉強会@東大駒場第三回統計学勉強会@東大駒場
第三回統計学勉強会@東大駒場Daisuke Yoneoka
 
第一回統計学勉強会@東大駒場
第一回統計学勉強会@東大駒場第一回統計学勉強会@東大駒場
第一回統計学勉強会@東大駒場Daisuke Yoneoka
 
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRDaisuke 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章(判別能力の評価)
 

ML: Sparse regression CH.13

  • 1. Murphy: Machine learning 13 章Sparse linear models  補助資料 Daisuke Yoneoka September 26, 2014 Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 1 / 14
  • 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. N ! π0: ある特徴量が関連している確率 ! xor: exclusive or / exclusive disjunction で排他的論理和の意. 入力のうち「真」の数が奇数個ならば出力が真になり, 偶数個の場合は出力が「偽」になるよう な演算のこと. ! .*: 配列の乗算. A. ∗ B は, 配列A と配列B の要素ごとの積(なぜかまた急にmatlab の書き方) ! x:,j : 行列X のj 列目のコラムベクトル(また,matlab 方言) ! subderivative (劣微分): 凸関数f : I はを→ R のθ0 で劣微分と ,f(θ) − f(θ0) ≥ g(θ − θ0) θ ∈ I 満足するg の集合 !! NLL: negative log likelihood, NLL(θ) ≡ − i=1 log p(yi|xi, θ) Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 2 / 14
  • 3. Introduction ! 特徴量選択では, p(y|X) = p(y|f(wTX)) でw をsparse にとることを考える. 近年, 注目集まってる! ! Lots of computational advantages ! D >> N 問題, (古典的統計D < N) D:パラメータ次元, n:サンプルサイズ ! 遺伝子解析ではd ∼ 10, 000 とn ∼ 100 で, なるべく小さい特徴量のセットを発見したい ! Ch.14 でカーネルを用いた解析を扱う. このとき計画行列はN × N で 結局, 特徴量選択=訓練データのサブセットを選ぶことになる.(Sparse kernel machine) ! 信号処理では,wavelet を基底として表現するが, この基底をなるべく少なく選ぶときに使用 Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 3 / 14
  • 4. Bayesian variable selection ! 特徴量の組み合わせのPosterior を求めたい. p(γ|D) = e−f(γ) ! γ′ e−f(γ′ ) ! ただしf(γ) ≡ −[log p(D|γ) + log p(γ)] ! これはモデル数が多くなるとちょっと解釈が難しくなる ! Summary stats を考えてみると, 自然にPosterior のmode=MAP 推定量が思いつく. ˆγ = argmax p(γ|D) = argmin f(γ) ! Mode はちょっとアレ...median はˆγ = {j : p(γj = 1|D) = 0.5} ! ただしこれは, posterior marginal inclusion probability, p(γj = 1|D) の計算が必要 ! でもこれは次元数があがると厳しくなってくる Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 4 / 14
  • 5. Spike and slab model ! Posterior はp(γ|D) ∝ p(γ)p(D|γ) は"! Prior p(γ) = D j=1 Ber(γi|π0) = π∥γ∥0 0 (1 − π0)D−∥γ∥0 . ! Likelihood はp(D|γ) = p(y|X, γ) = ## p(y|X,w, γ)p(w|γ, σ2)p(σ2)dwdσ2 ! p(w|γ, σ2) のprior はp(wj |γj,σ2) = $ δ0(wj) if γj = 0 N(wj |0,σ2σ2 j ) if γj = 1 . ただし, x とy はstandardized. ! 最初のは, 原点にspike が立っている感じ ! As σw →∞ でp(wj |γj ) はuniform になるのでslab と言える. ! Zou. 2007. Marginal likelihood をBIC で近似できる. log p(D|γ) ≈ log p(y|X,wˆγ, σˆ2) − ∥γ∥0 % &2' ( ここは自由度 logN ! 上より, log p(γ|D) ≈ log p(y|X,wˆγ, σˆ2) − ∥γ∥0 2 logN − λ∥γ∥0 % &' ( p(γ) のprior +const Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 5 / 14
  • 6. From the Bernoulli-Gaussian model to l0 regularization yi|xi, w,γ,σ2 ∼ N( ) γjwjxij,σ2) γj ∼ Ber(π0) wj ∼ N(0,σ2w ) ! Called Bernoulli-Gaussian model or binary mask model. (γj がwj をmask out して いる) ! binary mask: γj → y ← wj vs slab: γj → wj → y ! γj とwj の識別性がなくγjwj しか識別不可 ! ちょっとはいいことあるよ!Non-Bayeisan には慣れ親しまれている感じになる ! Joint prior はp(γ,w) ∝ N(0,σ2w )π∥γ∥0 0 (1 − π0)D−∥γ∥0 ! こうするとlog posterior は f(γ,w) ≡ −2σ2 log p(γ,w, y|X) = ∥y − X(γ. ∗ w)∥2 + σ2 σ2w ∥w∥2 + λ∥γ∥0 + const, ただしγ ≡ 2σ2 log( 1 − π0 π0 ). ! w−γ = 0 とwγ をγ が0 or 1 のときのw とし,σ2w →∞で f(γ,w) = ∥y − Xγwγ∥22 + λ∥γ∥0.  これって, 上のBIC の式に似ているよね 22 ! l0regularization; γ 使うのやめて,support としてw の重要性を表す変数を定義するこ とでf(w) = ∥y − Xw∥+ λ∥w∥0 ! これで最適化問題をγ ∈ {0, 1} の2値から連続値w に変換可能. でも, 第二項はまだまだ 最適化しにくい! Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 6 / 14
  • 7. アルゴリズム ! γ はbit vector なので, 全数走査は超大変→ちょっとheuristic に ! Wrapper method: モデル族のなかでコストf(γ) (エラー率など) を計算しながら argmaxp(D|w) や# p(D|w)p(w)dw を計算する手法. 直感的には, 学習アルゴリズム を実装した関数fun をwrap して, データをsubset に分割してスコアを計算しながら 適用していく手法 ! 効率化のポイント ! いかにして前のγ のときのスコアを更新してγ′ の場合のスコアを計算するか ! ⇔ コストf(γ) の十分統計量を効率的に更新 ! ⇔ f(γ) の計算をXγ だけに依存させた上で,γ を少し更新してγ′ にする(一つの変数を出 し入れする) ! このとき,QR 分解でXT γ Xγ をXT γ′Xγ′ に更新できる Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 7 / 14
  • 8. Greedy search 1 ! l0 regularization の目的関数の最適化をを考える ! 二乗法の性質を利用可能. (See detail; Miller 2002; Soussen et al. 2010) ! Single best replacement (SBR): Greedy hill climbing においてγ を少し振らせるだけで到 達可能な近傍モデルを探索すること. Sparse な解を見つけることを目的にしているので, 初 期値はγ = 0. あとはスコアの良い解が見つかるまで出し入れ. ! Orthogonal least squares: もし,λ = 0 (i.e., prior p(γ) を入れることの罰則がない状態) と すると,forward に変数追加だけでOK. このときOrthogonal least square, または,greedy j forward selection nと呼ぶ. エラーは∥γ∥0 の単調減少関数となる. 更新式は γ(t+1) = γ(t) ∪{j∗}. ただし,j∗ = argmi/∈γtminw∥y − (Xγj∪jw)∥2 T: ! Orthogonal matching pursuits (OMP): 上の方法は高価. 簡略化したのがこれ. j∗ = argmiminβ∥y − (Xwt − βx:,2 j )∥jを解くことで次の候補発見は固定され /∈γt(wt ているこれの解は瞬殺でx,j (y − Xwt) ). β = nxT: ,jx:,j . これは,wt を固定したときの残差 y − Xwt と最も相関するコラムx:,j を選択することに相当. これで新しい特徴量の組をつ くってwt+1 を計算. Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 8 / 14
  • 9. Greedy search 2 ! つづき ! Matching pursuits: sparse boosting (least squares boosting) と一緒. 16 章でやりま しょう. ! Backwards selection: saturated model (飽和モデル) より始めて, 徐々に減らす方法. これ は一般にforward selection よりも良い結果をもたらす. なぜなら, 取捨選択の決定がその他 の全変数が依存しているという仮定で行われるから. ! FoBa: forward-backward algorithm の意. SBR と似ているが次の候補を選ぶ際にOMP の ように選ぶ点が特徴 ! Bayesian matching pursuit: OMP と似ているが, 二乗誤差を目的関数にするのではな く,bayesian marginal likelihood scoring criterion を使う点が特徴. ビームサーチ(分岐が ビーム幅(事前設定) より長くなった場合に, 悪い枝を刈る) を使う. Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 9 / 14
  • 10. Stochastic search 近傍に移動するときにbest なものに移動(Greedy search) ではなく, 確率的に移動 先を選択する手法 ! Posterior 自体を計算したい場合,MCMC でしょ. ! 提案分布はγ を少しだけ変化させたものなので,p(γ′|D) をp(γ|D) から作ることは比 較的容易. (See detail for O ’Hara and Sillanpaa 2009) ! 離散な状態空間では,MCMC は必ずしも非効率ではない. なぜな ら,p(γ′) = exp(−f(γ)) で直接確率が計算可能だから(同じ状態に戻る必要がなくなる ので効率up). ! 更に効率をあげるためには, 高スコアのモデル族S を作り,p(γ|D) ≈ e−f(γ) ! γ′∈S e−f(γ′) でposterior を近似する. (Heaton and Scott 2009) Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 10 / 14
  • 11. EM and variational inference ! EM アルゴリズムでSlab model (γj → wj → y) を推定してみる ! E step: p(γj |wj )? ! M step: w について最適化? ! これでは動かない!なぜなら,(13.11) の中のδ0(wj ) とN(wj |0,σ2w ) が比較不可能 ! → δ0(wj ) をガウシアンで近似で解決. (local minima の問題が残る) ! EM アルゴリズムでBernoulli-Gaussian model (γj → y ← wj) を推定してみる ! Posterior p(γ|D,w) は計算しにくい ! しかし, この平均近似" j q(γj )q(wj ) を計算することは可能(Huang et al. 2007; Rattray et al. 2009) Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 11 / 14
  • 12. 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 Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 12 / 14
  • 13. Why does l1 regularization yield sparse solutions? Linear regression に限定するがGLM 一般に拡張可能 ! 目的関数はminwRSS(w) + λ∥w∥1 ⇔ LASSO: minwRSS(w)s.t. λ∥w∥1 ≤ B ! B 小→ λ 大 ! ちなみにminwRSS(w) + λ∥w∥22 ⇔ RIDGE: minwRSS(w)s.t. λ∥w∥22 ≤ B Figure: 13.3; l1 (left) vs l2 (right) regularization Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 13 / 14
  • 14. 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 Daisuke Yoneoka Murphy: Machine learning 13 章Sparse linear models  補助資料September 26, 2014 14 / 14