21
坪坂正志 mail : m.tsubosaka(at)gmail(dot)com

Big Data Bootstrap (ICML読み会)

Embed Size (px)

Citation preview

Page 1: Big Data Bootstrap (ICML読み会)

坪坂正志

mail : m.tsubosaka(at)gmail(dot)com

Page 2: Big Data Bootstrap (ICML読み会)

紹介する論文

The Big Data Bootstrap

Ariel Kleiner, Ameet Talwalkar, Purnamrita Sarkar,

Michael I. Jordan

スライド

http://biglearn.org/files/slides/contributed/kleiner.pdf

より詳細な資料

http://arxiv.org/abs/1112.5016

大規模データに対するブートストラップ手法として有用なBag of Little Bootstrap(BLB)という手法を提案

Page 3: Big Data Bootstrap (ICML読み会)

Problem

データ𝑋1, … , 𝑋𝑛を観測

Webのアクセスログ

メールの文章がスパムかどうかのラベルデータ

データから何らかの量𝜃 𝑛 = 𝜃(𝑋1, … , 𝑋𝑛)を推定する

あるアクセスのUser AgentがIE6である確率

Linear SVMにより学習したメールの各単語に対する重みベクトルの値

𝜃 𝑛の信頼区間などを求めたい

Page 4: Big Data Bootstrap (ICML読み会)

理想的な手法

1. データ𝑋1, … , 𝑋𝑛を観測

2. データから何らかの量𝜃 𝑛 = 𝜃(𝑋1, … , 𝑋𝑛)を推定する

3. 1,2を何回も繰り返す

Page 5: Big Data Bootstrap (ICML読み会)

ブートストラップ(Efron 1979)

現実には𝑋1, … , 𝑋𝑛を繰り返し発生させることは困難

このため観測された𝑋1, … , 𝑋𝑛から復元抽出を何回も繰り返して、仮想的に𝑋1, … , 𝑋𝑛を生成して、𝜃 𝑛を計算する

Page 6: Big Data Bootstrap (ICML読み会)

ブートストラップの概要

イメージとしては上の図のようになる

Page 7: Big Data Bootstrap (ICML読み会)

ブートストラップの例

コインをN回投げてM回表がでるという事象

𝑋1, … , 𝑋𝑁を観測、例えばその中で𝑋1 = ⋯ = 𝑋𝑀 =1, 残りは0と表現できる

この時表の出る確率は𝑋1+⋯+𝑋𝑁

𝑁で推定できる

こういう処理を何回も行った時に表の出る確率の推定値の分布はどうなるか?

Page 8: Big Data Bootstrap (ICML読み会)

N=10 , M =1

Page 9: Big Data Bootstrap (ICML読み会)

N=100, M=10

Page 10: Big Data Bootstrap (ICML読み会)

N=100, M=1

Page 11: Big Data Bootstrap (ICML読み会)

例から分かること

平均に関してはNが十分に大きければ、平均の分布は正規分布に近づく

中心極限定理より

NもしくはMが少ない場合は必ずしもそうはならない

中心極限定理は漸近的な性質について述べているので、有限の値のみ観測してるため

bootstrapを使うと𝑋が連続値の場合などではメディアンや信頼区間の計算もできる

Page 12: Big Data Bootstrap (ICML読み会)

ブートストラップの問題点

ブートストラップで復元抽出を行った時、異なる点の数は約0.632nとなる

このため元のデータの点の数が108のとき、約6.3 ∗ 107点のデータに対して𝜃 𝑛を繰り返す計算する必要がある

このため大規模なデータに対してブートストラップを適用するのは困難

また中規模なデータに関しては各復元抽出でのサンプルがメモリに載るので並列化は容易であるが、大規模な場合はそうはならない

Page 13: Big Data Bootstrap (ICML読み会)

𝑏 out of 𝑛 bootstrap (BOFN) (Bickel+ 1997) 1. 𝑚 = 𝑏 𝑛 < 𝑛個のサンプルを𝑋1, … , 𝑋𝑛から復元抽出する

2. 𝜃 𝑏(𝑛)を推定する

3. 1,2を繰り返す

4. 複数の𝜃 𝑏(𝑛)を使って信頼区間などを計算す

Page 14: Big Data Bootstrap (ICML読み会)

𝑏 out of 𝑛 bootstrapの問題点

𝑚を小さく取れば、 𝜃 𝑏(𝑛)の計算コストは小

さくてすむ

しかし、小さく取り過ぎると精度が極端に悪くなることがある

Page 15: Big Data Bootstrap (ICML読み会)

Bag of Little Bootstraps (BLB)

本論文における提案手法

1. 𝑏 𝑛 < 𝑛個のサンプルを𝑋1, … , 𝑋𝑛から非復元抽出する

2. 各サブサンプルに対して A) 𝑏 𝑛 種類の異なるデータから𝑛個復元抽出する

1. 多項分布に従う乱数を使う

B) 𝜃 𝑛の計算を行う 1. ここでは計算量は異なるデータ点の数𝑏 𝑛 に依存すると考えている

C) A,Bを繰り返す

3. 1,2を繰り返して、最後に平均を取る

Page 16: Big Data Bootstrap (ICML読み会)

アルゴリズム

Page 17: Big Data Bootstrap (ICML読み会)

BLBのメリット

Bootstrapと比較して、各subsampleで保持するデータが少なくて済む

例えば元データが1TBのとき、Bootstrapでは640GB必要だけど、BLBで𝑏 𝑛 = 𝑛0.6のとき4GB

で済む

𝑏 𝑛

𝑛→ 0(𝑛 → ∞)の時の収束性の保証がある

Page 18: Big Data Bootstrap (ICML読み会)

実験

𝑋𝑖 = 𝑋𝑖 , 𝑌𝑖 ∼ 𝑃からn=20000点データを生

𝑋𝑖 , 𝑌𝑖の関係は𝑌𝑖 ∼ 𝐵𝑒𝑟𝑛𝑜𝑢𝑙𝑙𝑖(1 + exp −𝑋𝑖

𝑇1 )と

いうような関係を考える

具体的には{𝑋𝑖}に関して回帰問題or判別問題を解いて、モデルパラメータを計算する

Page 19: Big Data Bootstrap (ICML読み会)

実験結果

BOFNと比較して、サイズが 𝑛程度でもうまく推定できている

Page 20: Big Data Bootstrap (ICML読み会)

実験結果

データが大規模の時はBoostingよりもはるかに収束が早い

Page 21: Big Data Bootstrap (ICML読み会)

まとめ

大規模なデータに対して自動的かつ並列性がよく精度の高いブートストラップ手法を提案した

個人的にはこの手法を使って推定した重みベクトルなどを使った時の二値分類などの精度がどうなるかが気になった