スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y...

43
スパース線形回帰に対する半解析的 ブートストラップ法 樺島祥介 東京大学大学院理学系研究科 知の物理学研究センター&物理学専攻 共同研究者:小渕智之(京大),高橋昂(東工大)

Transcript of スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y...

Page 1: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

スパース線形回帰に対する半解析的ブートストラップ法

樺島祥介

東京大学大学院理学系研究科

知の物理学研究センター&物理学専攻

共同研究者:小渕智之(京大),高橋昂(東工大)

Page 2: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

自己紹介

Page 3: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

概要

• ブートストラップ法とは• スパース線形回帰とは• スパース線形回帰に対する半解析的ブートストラップ法

– レプリカ法– 確率伝搬法(belief propagation: BP)– 期待値伝搬法(expectation propagation: EP)

• まとめ

スピングラス理論由来の計算法

Page 4: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

機械学習と信頼性

• 機械学習:与えられたデータ

の背後にある入出力関係を表現するように,仮定した関係の範囲内でパラメータ を調整する.

• 論点– 構造・表現設計: の関数形をどう与えるか?

• 深層ネット,BM,RBM,GP,SVM,リカレントネット,リザバー計算,etc.– 近年,盛んに研究されている.

– 学習アルゴリズム開発:どうやって,最良パラメータを探索するか?• 最急降下法,貪欲法,凸緩和,確率推論,etc.

– 近年,盛んに研究されている.– 信頼性評価:得られたパラメータはどのくらい良いのか?

• CV,情報量基準,経験ベイズ法,ブートストラップ法,etc. – 今後,盛んに研究されるようになる(はず).

DM = x1, y1( ), x2, y2( ),…, xM , yM( ){ }y = f x;w( )w

y = f x;w( )

Page 5: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

ブートストラップ法とは

• Efron (1981):与えられた単一のデータセットから,学習によって得られたパラメータの信頼性を評価する数値的方法.– 単一のデータセットからエラーバーの評価が可能!

Page 6: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

ブートストラップ法の概要与えられたデータセット:DM = x1, y1( ), x2, y2( ),…, xM , yM( ){ }経験分布: Pemp x, y( ) = 1

Mδ x − xµ( )δ y − yµ( )

µ=1

M

∑以下を何度も繰り返し,学習により得られるパラメータの分布を求める

1. ブートストラップサンプルの生成

2. パラメータ推定/学習

D*MB ⇒ w D*MB( )

Pemp x, y( )⇒ D*MB = x1*, y1

*( ), x2*, y2*( ),…, xMB

* , yMB

*( ){ }

Page 7: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

ブートストラップ法の利点と欠点

• 利点– 汎用性

• 独立同分布の仮定さえ成り立てば,任意のデータ,任意の推定・学習法にも使える

– アルゴリズムの簡便さ• 経験分布からリサンプリングしてパラメータ推定することを繰り返すだけ

• 欠点– 計算量的負荷

• 数値的にパラメータ推定する場合は計算量的に辛い.– 理論的根拠

• 母集団の統計とブートストラップサンプルの統計との関係は一般に非自明.

Page 8: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

本日のお話

• スパース線形回帰に対し,レプリカ法と平均場近似を組み合わせることで,ブートストラップを実際に実行することなしに,ブートストラップ統計を近似的に評価する方法を開発する.– 必要計算量は1サンプルに対する従来の推定法と同程度.

→ 計算量的負荷の大幅な軽減.

Page 9: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

スパース線形回帰とは

線形回帰/信号復元

すべての説明変数が目的変数に関与しているとは限らない→「変数選択」が必要

ELASSO w λ,D( ) = 12 yµ − xµiwii=1

N

∑⎛⎝⎜

⎞⎠⎟

2

+ λ wii=1

N

∑µ=1

M

以下のコスト関数の最小化により,不要な変数は削減される(ゼロになる)

l1罰則項を用いた変数選択(LASSO: Ishikawa (1994), Tibshirani (1996))

MN

y ~

データD = xµ , yµ( ){ }

µ=1

M

パラメータw

説明変数(の組)目的変数

推定

wX

Page 10: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

スパース線形回帰とは

線形回帰/信号復元

すべての説明変数が目的変数に関与しているとは限らない→「変数選択」が必要

ELASSO w λ,D( ) = 12 yµ − xµiwii=1

N

∑⎛⎝⎜

⎞⎠⎟

2

+ λ wii=1

N

∑µ=1

M

以下のコスト関数の最小化により,不要な変数は削減される(ゼロになる)

l1罰則項を用いた変数選択(LASSO: Ishikawa (1994), Tibshirani (1996))

MN

y ~

データD = xµ , yµ( ){ }

µ=1

M

パラメータw

説明変数(の組)目的変数

推定

wX

深層学習が「予測」を目的とした機械学習であるのに対し,スパース(線形)回帰は「仕組みの理解」を目的としてもちいられることが多い

Page 11: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

l1罰則項でなぜスパース推定ができるのか?

min !"∑#$!% 𝑦# − 𝑥# ⋅ 𝑤 "

"subj. to 𝑤 ! ≤ 𝑡 min !

"∑#$!% 𝑦# − 𝑥# ⋅ 𝑤 "

"subj. to 𝑤 " ≤ 𝑡

x

最適値

最適値は軸上に位置する⇒ スパース推定

x

最適値

最適値は一般的な点⇒ スパース推定にならない

⇒制約付き最小化問題として考える

𝑤 ! ≤ 𝑡 𝑤 " ≤ 𝑡

自乗誤差の等高線 自乗誤差の等高線

Page 12: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

共線性とLASSO• 線形回帰では,説明変数間の相関が強いと推定結果の信頼性が低下する⇒共線性(colinearity)

• LASSOは共線性に比較的強いとされているただし,それにも限度がある

minw

12y − Xw⎧

⎨⎩

⎫⎬⎭⇒ w = X⊤X( )−1 X⊤y

X

線形従属に近いランク落ちに近くなり不安定化

Meinshausen and Buhlmann (2010)より・枯草菌のビタミンB2生産速度115サンプル・ 4088種の遺伝子発現量データでLASSO回帰・(有意な) 6種類以外の遺伝子はランダムシャッフル

wLASSO = argminw

12y − Xw 2

2 + λ wii=1

N

∑⎧⎨⎩

⎫⎬⎭

xi x j ! c1xi + c0

Meinshausen and Bühlmann, J. R. StaPst. Soc. B 72, 417 (2010)より

Page 13: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

ブートストラップを利用した安定化

• この問題に対し,Bach (2008),Meinshausen and Buhlmann(2010) はブートストラップを用いることで安定的な変数選択ができることを示している

SS

使

中右

Meinshausen and Bühlmann, J. R. StaPst. Soc. B 72, 417 (2010)より

Stability selecPon (SS): ブートストラップ (+ λのランダム化 )

Page 14: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

ブートストラップを利用した安定化

• この問題に対し,Bach (2008),Meinshausen and Buhlmann(2010) はブートストラップを用いることで安定的な変数選択ができることを示している

SS

使

中右

Meinshausen and Bühlmann, J. R. StaPst. Soc. B 72, 417 (2010)より

とはいえ,LASSOのブートストラップは時間が掛かるこうした問題を解決するのが,我々の目標

Stability selection (SS): ブートストラップ (+ λのランダム化 )

Page 15: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

LASSOに関するブートストラップ

D4 = x1, y1( ), x2, y2( ), x3, y3( ), x4 , y4( ){ }例)

D*4 = x2, y2( ), x3, y3( ), x2, y2( ), x4 , y4( ){ }

ブートストラップサンプルは各データが何回リサンプリングされたかで記述できる

c = c1,c2,c3,c4( ) = 0,2,1,1( )

ブートストラップ

リサンプリングされた回数

0 2 1 1

リサンプリングされた回数は多項分布(〜ポアソン分布の積)

#比較的単純な分布で表現できる

P c( ) = MB!c1!c2 !…cMB

!1M

⎛⎝⎜

⎞⎠⎟MB

!µ=1

MB

∏e−MB/MMB /M( )cµ

cµ !

Page 16: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

統計力学的定式化

• 小化問題⇔ゼロ温度の統計力学コスト関数⇔エネルギー関数

LASSO推定量⇔基底状態

分配関数 の評価に帰着

wLASSO c,D,λ( ) = argminw

ELASSOBS w c,D,λ( ){ }

= limβ→∞

1Z c,D,λ,β( ) we

−βELASSOBS w c,D,λ( )∫ dw

E S( )

Pβ S( )

S

S

S*

limβ→+∞

Pβ S( ) = δ S− S*( )

Z c,D,λ,β( ) ! e−βELASSOBS w c,D,λ( )∫ dw

ELASSOBS w c,D,λ( ) = 12 cµ yµ − xµiwi

i=1

N

∑⎛⎝⎜

⎞⎠⎟

2

+µ=1

MB

∑ λ wii=1

N

Page 17: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

スピングラス問題⇔ブートストラップ• スピングラス問題 • ブートストラップランダム結合

P J( ) = P Jij( )ij∏

エネルギー関数

H S J( ) = − JijSiSjij∑ − h Si

i∑

熱平均

Si = Sie−βH S|J( )

Z J,β( )S∑

配位平均

Sip⎡

⎣⎤⎦ = Si

p P J( )∫ dJ

ブートストラップサンプル

コスト関数

LASSO解

ブートストラップ平均

wiLASSO( )p⎡

⎣⎤⎦c= wi

LASSO( )p P c( )c∑

wLASSO = limβ→∞

we−βELASSOBS w c,D,λ( )

Z c,D,λ,β( )∫ dw

p = 1,2,…( ) p = 1,2,…( )

ELASSOBS w c,D,λ( ) = 12 cµ yµ − xµiwi

i=1

N

∑⎛⎝⎜

⎞⎠⎟

2

+µ=1

MB

∑ λ wii=1

N

P c( ) = MB!c1!c2 !…cMB

!1M

⎛⎝⎜

⎞⎠⎟MB

!µ=1

MB

∏e−MB/MMB /M( )cµ

cµ !

Page 18: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

スピングラス問題⇔ブートストラップ• スピングラス問題 • ブートストラップランダム結合

P J( ) = P Jij( )ij∏

エネルギー関数

H S J( ) = − JijSiSjij∑ − h Si

i∑

熱平均

Si = Sie−βH S|J( )

Z J,β( )S∑

配位平均

Sip⎡

⎣⎤⎦ = Si

p P J( )∫ dJ

ブートストラップサンプル

コスト関数

LASSO解

ブートストラップ平均

wiLASSO( )p⎡

⎣⎤⎦c= wi

LASSO( )p P c( )c∑

wLASSO = limβ→∞

we−βELASSOBS w c,D,λ( )

Z c,D,λ,β( )∫ dw

p = 1,2,…( ) p = 1,2,…( )

ELASSOBS w c,D,λ( ) = 12 cµ yµ − xµiwi

i=1

N

∑⎛⎝⎜

⎞⎠⎟

2

+µ=1

MB

∑ λ wii=1

N

P c( ) = MB!c1!c2 !…cMB

!1M

⎛⎝⎜

⎞⎠⎟MB

!µ=1

MB

∏e−MB/MMB /M( )cµ

cµ !

ブートストラップ平均の評価にスピングラスの解析法が使えるのではないか?!

Page 19: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

レプリカ法

• 配位平均(ブートストラップ平均)を求めることは難しい– 根本的な原因は,配位平均を取る量の「分母」に分配関数があること

• この困難は𝑛 ≥ 𝑘 ∈ ℕに対する「拡張された平均」では解消される

Page 20: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

レプリカ法

• 拡張された平均=𝑛個の結合「レプリカ系」の同時分布に関する平均– 配位平均を先に取り,レプリカ系の同時分布を作る

と定義すれば,これはレプリカ系に対するカノニカル分布の平均(熱平均)

⇒ 通常の統計力学の知見が使える!

Page 21: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

レプリカ法

• 以下の手順(レプリカトリック)で(熱平均量の)配位平均を求める

Page 22: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

レプリカ法

• 通常,分配関数の対数(自由エネルギー,キュムラント母関数)に関する配位平均の評価として象徴的に表現されることが多い

• ただし,実際的な問題では,分配関数の評価は計算量的に困難

⇒ 適当な平均場近似を使って評価する

Zn J( )⎡⎣ ⎤⎦ = TrS1,S2 ,…,Sn

dJijP Jij( )ij∏∫ exp −βH S J( )( )

Page 23: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

確率伝搬法(belief propagation: BP)

確率伝搬法=転送行列法の一般化

• 次の関数方程式を反復法で解く

P S( ) = 1Z

Ψµ Sµ( )µ∏ × Ψ i Si( )

i∏

Ψµ Sµ( ){ }

Ψ i Si( ){ }Si{ }

変数の依存関係を2部グラフで表現

mµ→i Si( ) =α µ→i Ψµ Sµ( ) mj→µ Sj( )j∈∂µ \i∏

Sµ \Si∑ mi→µ Si( ) =α i→µΨ i Si( ) mν→i Si( )

ν∈∂i\µ∏

水平ステップ 垂直ステップ

Page 24: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

確率伝搬法(belief propaga7on: BP)

• 自由エネルギーの近似値

• 周辺分布の近似値

lnZ ! ln Ψµ Sµ( ) mi→µ Si( )i∈∂µ∏

Sµ∑

⎝⎜

⎠⎟

µ∑

− ln mµ→i Si( )mi→µ Si( )Si∑

⎝⎜⎞

⎠⎟+ ln Ψ i Si( ) mµ→i Si( )

µ∈∂i∏

Si∑

⎝⎜⎞

⎠⎟i∑

i∈∂µ∑

µ∑

Ψµ Sµ( ){ }

Ψ i Si( ){ }Si{ }

変数の依存関係を2部グラフで表現

Pi Si( ) = P S( )S\Si∑ !α iΨ i Si( ) mµ→i Si( )

µ∈∂i∏

#グラフにループがなければ厳密な評価

Page 25: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

BP+レプリカ法

P w c( ) ∝ e−βcµ yµ −xµ ⋅w( )2

2 ×µ=1

M

∏ e−βλ wii=1

N

nレプリカ系+ブートストラップ(配位)平均

ブートストラップデータに対するボルツマン因子

c1で平均

e−βcµ yµ −xµ ⋅w( )2

2

e−βλ wi

wi

e−βcµ yµ −xµ ⋅w

a( )22

a=1

n

∏⎡

⎣⎢⎢

⎦⎥⎥cµ

wia{ }e−βλ wi

a

a=1

n

nレプリカ系+ブートストラップ(配位)平均

c2で平均

P w1,w2 ,…,wn( ) = Trc

P wa c( )a=1

n

∏⎛⎝⎜⎞⎠⎟P c( )∝ e

−βcµ yµ−xµ ⋅w

a( )22

a=1

n

∏⎡

⎢⎢

⎥⎥µ=1

MB

∏cµ

× e−βλi wia

a=1

n

∏i=1

N

Page 26: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

BP+レプリカ法

• 水平ステップ

• 垂直ステップ

• 周辺分布

mµ→i wi1,wi

2,…,win( ) = α µ→i e

−βcµ yµ −xµ ⋅w

a( )22

a=1

n

∏⎡

⎣⎢⎢

⎦⎥⎥cµ

mj→µ wj1,wj

2,…,wjn( ) dwj

a

j≠i,a∏

j≠i∏∫

mi→µ wi1,wi

2,…,win( ) = α i→µ

a=1

n

∏e−βλ wia

mν→iν≠µ∏ wi

1,wi2,…,wi

n( )

bi wi1,wi

2,…,win( ) = α i

a=1

n

∏e−βλ wia

mµ→i wi1,wi

2,…,win( )

µ=1

M

Page 27: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

レプリカ対称仮定

• レプリカ対称性(=レプリカ添字の入れ替えに対する不変性)を仮定し,中心極限定理を利用すると,メッセージを以下の形にパラメトライズすることができる

• の極限でパラメータの更新式を導出する.

• 加えて,“1つ抜き”の影響を摂動的に扱う

mi→µ wi1,wi

2,…,win( )

∝ exp −βAi→µ

2wi

a( )2a=1

n

∑ +β 2Ci→µ

2wi

a

a=1

n

∑⎛⎝⎜⎞⎠⎟

2

+ βBi→µ wia

a=1

n

∑ − βλ wia

a=1

n

∑⎛

⎝⎜

⎠⎟

= dze− z

2

2

2πexp β −

Ai→µ

2wi

a( )2 + Bi→µ + Ci→µ z − sgn wia( )( )wi

a⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟a=1

n

∏∫n→ 0,β → ∞

Page 28: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

導出されたアルゴリズム

wi = Sλ Bi + Ci z;Ai( )Dz∫χ i =

∂∂Bi

Sλ Bi + Ci z;Ai( )Dz∫Wi = Sλ Bi + Ci z;Ai( )( )2

Dz − wi2∫

Vµ = xµi2 χ i

i=1

N

∑Uµ = xµi

2Wi i=1

N

aµ = c1+ cVµ

⎣⎢

⎦⎥c

yµ − xµiwii=1

N

∑ +Vµaµ⎛⎝⎜

⎞⎠⎟

Rµ = aµc

1+ cVµ

⎣⎢

⎦⎥c

Sλ h;A( )

λ−λ

h0

h − λ( ) A

h + λ( ) A

軟閾値関数ブートストラップ平均 ブートストラップ分散

Ai = xµi2 c1+ cVµ

⎣⎢

⎦⎥cµ=1

MB

Bi = xµiaµµ=1

MB

∑ + Aiwi

Ci = xµi2

Uµc

1+ cVµ

⎝⎜⎞

⎠⎟

2⎡

⎣⎢⎢

⎦⎥⎥c

+

Rµ2 c

1+ cVµ

⎝⎜⎞

⎠⎟

2⎡

⎣⎢⎢

⎦⎥⎥c

− c1+ cVµ

⎣⎢

⎦⎥c

2⎛

⎝⎜⎜

⎠⎟⎟

⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

µ=1

MB

Page 29: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

提案法と1000回のブートストラップ実験との比較

• N=1000, M=500, 真の非ゼロパラメータ数 K=200ノイズの分散σ2=0.01, L1罰則項の強さ λ=0.01

1/1000の計算量でほぼ正確なブートストラップ統計量が得られる!

-5 0 5Semi analytic

-5

0

5

Experimental

0 0.2 0.4 0.6 0.8Semi analytic

0

0.2

0.4

0.6

0.8

Experimental

Page 30: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

Stability Selec7on (SS)への応用

• Stability Selection (SS):LASSOにもとづいた変数選択法– 基本アイデア1.ブートストラップ + λのランダム化 → 推定値の分布を計算

2.分布から変数wiが非ゼロの確率Πi (陽性確率)を求める

3.Πiが大きければ有意,そうでなければ棄却

– 実装•

• 正則化付き線形回帰(LASSO)`1

w(DM ,�) = argminw

(1

2

MX

µ=1

�yµ � x>

µw�2

+NX

i=1

�i|wi|)

P (�; p, a) =NY

i=1

{p�(�i � �/a) + (1� p)�(�i � �)}

MB = ⌧M

Meinshausen and Bühlmann, J. R. StaPst. Soc. B 72, 417 (2010)

Page 31: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

人工データ

y = Xw0 + ⇠

w0 ⇠Y

i

{⇢0N (·|0, 1/⇢0) + (1� ⇢0)�(w0i)}

• 生成モデル

⇠ ⇠ N (0,�2⇠I) Xµi ⇠ N (0, 1/N),

• 半解析的 vs 数値的リサンプリング– 半解析的:AMPRをMatlabでコーディング(not fast)– 数値的

• Glmnetを使用• Nsamp=1000サンプルから陽性確率を評価

• SSのパラメータ: a=τ=p=0.5に固定

(𝜌! = 0.2)

Page 32: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

人工データ

10-2 10-1 100 1010

0.2

0.4

0.6

0.8

1

Posi

tive

prob

abili

ties

102 103 104100

101

102

103

104

105

Tim

e (s

ec)

Stability path 計算時間

{⇧i(�)}i2S

{⇧i(�)}i2Sc

TP: サポート変数集合 のq=14,86パーセンタイル点

FP: 非サポート変数集合 のq=14,86パーセンタイル点

数値・半解析の同時プロット(ほぼ完全に一致)

(N=8000)

M=2N

Obuchi and Kabashima, JMLR 20 (70), 1 (2019)より

Page 33: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

人工データ

説明変数間の相関の影響計画行列(説明変数の行列)𝑋 を各列間に相関が生じるように設計

相関

相関

マイルドな相関:近似精度はそれほど悪化しない強い相関:近似精度がかなり悪化

(𝑅 ∼ 0.16)

(𝑅 ∼ 0.64)

Obuchi and Kabashima, JMLR 20 (70), 1 (2019)より

Page 34: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

ワインデータ

• Wine quality dataset– UCI Machine learning repository から– 目的変数:ワインの味10段階評価

• プロによるブラインドチェック,M=4898(白ワインのみ)– 説明変数:密度,酸度,糖度などの化学的性質,N=11

• ランダム説明変数(dummy variable)をNdummy=689個追加– zero-meanガウシアンからのi.i.d.:– 信頼区間の参照値として位置づけ

• Dummy variableのStability path分布を利用

xµi ⇠ N (0, 1/N)

Page 35: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

ワインデータ

10-1 100 1010

0.2

0.4

0.6

0.8

1Neutral variables and 16% interval

3 citric acid7 total sulfur dioxide8 density9 pHFP (16%)

10-1 100 1010

0.2

0.4

0.6

0.8

1Neutral variables

3 citric acid7 total sulfur dioxide8 density9 pH

10-1 100 1010

0.2

0.4

0.6

0.8

1Important variables

1 fixed acidity2 volatile acidity4 residual sugar5 chlorides6 free sulfur dioxide10 sulphates11 alcohol

10-1 100 1010

0.2

0.4

0.6

0.8

1Noise variables

Obuchi and Kabashima, JMLR 20 (70), 1 (2019)より

Page 36: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

ワインデータ

10-1 100 1010

0.2

0.4

0.6

0.8

1Neutral variables and 16% interval

3 citric acid7 total sulfur dioxide8 density9 pHFP (16%)

10-1 100 1010

0.2

0.4

0.6

0.8

1Neutral variables

3 citric acid7 total sulfur dioxide8 density9 pH

10-1 100 1010

0.2

0.4

0.6

0.8

1Important variables

1 fixed acidity2 volatile acidity4 residual sugar5 chlorides6 free sulfur dioxide10 sulphates11 alcohol

10-1 100 1010

0.2

0.4

0.6

0.8

1Noise variables

Noise variableを使った棄却領域の導入

計算時間AMPR:1057 sec.

数値サンプリング:2859 sec.

あんまり得していないが,AMPRの実装がMatlabに対して,

GlmnetはCで書かれていることに注意

Obuchi and Kabashima, JMLR 20 (70), 1 (2019)より

Page 37: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

BP+レプリカ法に関するリマーク• 計算コストは𝑂(𝑁𝑀)/update

– BP近似(AMP)による1サンプルのLASSO推定と同じオーダー– ブートストラップ回数倍の計算量削減

• 変数間の相関があまり強くなければ良い近似– 人工データ

• ただし,やはり変数間の相関が強くなると近似精度は悪化– 人工データ– ワインデータの1 fixed acidity(酒石酸濃度), 7 total sulfur dioxide(総亜硫酸濃度), 8 density(密度)はややズレが大きい

計算コストが増えてもよいので,近似精度を上げられないか

Page 38: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

期待値伝搬法(expecta(on propaga(on: EP)• 確率伝搬法は説明変数間の相関が強いと精度が悪化する

⇒関数のかたまりを1つのノードとして扱うことで相関を取り入れる– Expectation propagation (Minka 2001, Opper and Winther 2006,

Rangan et al 2017)e−βcµ yµ−xµ ⋅w( )2

2⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪

e−βλi wi{ }wi{ }

e−β λi wii=1

N∑w • グラフにループがないのでこのまま計算できれば厳密評価

• 残念ながら,多次元ガウス×ラプラスは計算困難

P w c( ) = 1Z e−β2

cµ yµ−xµ ⋅w( )2µ=1

MB∑ × e−β λi wii=1

N∑

e−β2

cµ yµ−xµ ⋅w( )2µ=1

MB∑

Page 39: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

期待値伝搬法(expecta(on propaga(on: EP)• 計算困難はファクトライズされたガウス分布にもとづく近似で解消

wg w( ) f w( )

g w( ) f w( )計算可能(Gaussian)

計算可能(Factorized)

計算可能(Gaussian & Factorized)

ΛiG,γ i

G{ }, ΛiF ,γ i

F{ }Moment matching: 3つの表現で2次までのモーメントが一致するように

を定める

P w c( ) = 1Z e−β2

cµ yµ−xµ ⋅w( )2µ=1

MB∑ × e−β λi wii=1

N∑

∝ g w( )exp − 12

βΛiGwi

2

i=1

N

∑ + βγ iGwi

i=1

N

∑⎛⎝⎜

⎞⎠⎟

∝ exp − 12

βΛiFwi

2

i=1

N

∑ + βγ iFwi

i=1

N

∑⎛⎝⎜

⎞⎠⎟f w( )

∝ exp − 12

βΛiG + βΛi

F( )wi2

i=1

N

∑ + βγ iG + βγ i

F( )wii=1

N

∑⎛⎝⎜

⎞⎠⎟

Page 40: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

EP + レプリカ法

• 𝑛レプリカ系をEPで近似し,レプリカ対称仮定の下𝑛 → 0としてアルゴリズムを導出する.– 煩雑なので,式の表現は省略– 詳細は Takahashi and YK, JSTAT (2020) 093402 を参照のこと

• 計算コストは𝑂 min 𝑀,𝑁 , +𝑀𝑁 /update– 逆行列計算が必要

• 大きなサイズのデータには使いにくい– 更に近似を入れて,特異値分解を一度行うだけで確率伝搬法と同程度の𝑂(𝑀𝑁)/updateまで計算コストを落とすことも可能

• 人工データと枯草菌のビタミンB2生産速度のデータに適用してみた

Page 41: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

EP + レプリカ法反復に対して指数関数的に収束

人工

枯草菌

B

2

生産速度

人工データ,実データともEP+レプリカ法が直接的ブートストラップを高い精度で近似

全ての図: Takahashi and Kabashima, arXiv:1905.09545 (2019)より

Page 42: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

まとめ

• LASSO推定に関し,ブートストラップ統計量をブートストラップを実施することなしに,近似的に評価する方法を開発– 確率伝搬法+レプリカ法

• 計算コスト 𝑂(𝑀𝑁)/update,変数間の相関にやや弱い– 期待値伝搬法+レプリカ法

• 計算コスト 𝑂 min 𝑀,𝑁 ! +𝑀𝑁 /update,変数間の相関に強い– これらに限らず別の平均場近似法を使うことも可能

• 今度の課題– LASSO以外の推定法についても同様のアルゴリズムを開発– 生成モデルを仮定し,ブートストラップ法の有用性の根拠を分析– 実データ解析への応用– ブートストラップ統計量の他の有用な使い方を開発

Page 43: スパース線形回帰に対する半解析的 ブートストラップ法...1,y 1,( )x 2,y 2,…,( )x M,y M } w y = f ( )x;w y = f ( )x;w ブートストラップ法とは • Efron

ご清聴ありがとうございました

• 参考文献– T. Obuchi and YK, Semi-AnalyRc Resampling in Lasso, Journal of

Machine Learning Research 20 (70) pp. 1-33 (2019)– T. Takahashi and YK, Replicated Vector Approximate Message Passing

For Resampling Problem, arXiv:1905.09545 (2019)– T. Takahashi and YK, Semi-analyRc approximate stability selecRon for

correlated data in generalized linear models, Journal of StaRsRcal Mechanics: Theory and Experiment (2020) no. 9, 093402(1-36)