More Related Content Similar to Big Data Bootstrap (ICML読み会) (20) Big Data Bootstrap (ICML読み会)2. 紹介する論文
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)という手法を提案
3. Problem
データ𝑋1 , … , 𝑋 𝑛 を観測
Webのアクセスログ
メールの文章がスパムかどうかのラベルデータ
データから何らかの量𝜃 𝑛 = 𝜃(𝑋1 , … , 𝑋 𝑛 )を推定
する
あるアクセスのUser AgentがIE6である確率
Linear SVMにより学習したメールの各単語に対す
る重みベクトルの値
𝜃 𝑛 の信頼区間などを求めたい
4. 理想的な手法
1. データ𝑋1 , … , 𝑋 𝑛 を観測
2. データから何らかの量𝜃 𝑛 = 𝜃(𝑋1 , … , 𝑋 𝑛 )を
推定する
3. 1,2を何回も繰り返す
7. ブートストラップの例
コインをN回投げてM回表がでるという事象
𝑋1 , … , 𝑋 𝑁 を観測、例えばその中で𝑋1 = ⋯ = 𝑋 𝑀 =
1, 残りは0と表現できる
𝑋1 +⋯+𝑋 𝑁
この時表の出る確率は で推定できる
𝑁
こういう処理を何回も行った時に表の出る
確率の推定値の分布はどうなるか?
11. 例から分かること
平均に関してはNが十分に大きければ、平均
の分布は正規分布に近づく
中心極限定理より
NもしくはMが少ない場合は必ずしもそうは
ならない
中心極限定理は漸近的な性質について述べてい
るので、有限の値のみ観測してるため
bootstrapを使うと𝑋が連続値の場合などで
はメディアンや信頼区間の計算もできる
12. ブートストラップの問題点
ブートストラップで復元抽出を行った時、
異なる点の数は約0.632nとなる
このため元のデータの点の数が108 のとき、
約6.3 ∗ 107 点のデータに対して𝜃 𝑛 を繰り返
す計算する必要がある
このため大規模なデータに対してブートス
トラップを適用するのは困難
また中規模なデータに関しては各復元抽出での
サンプルがメモリに載るので並列化は容易であ
るが、大規模な場合はそうはならない
13. 𝑏 out of 𝑛 bootstrap (BOFN)
(Bickel+ 1997)
1. 𝑚 = 𝑏 𝑛 < 𝑛個のサンプルを𝑋1 , … , 𝑋 𝑛 から
復元抽出する
2. 𝜃 𝑏(𝑛) を推定する
3. 1,2を繰り返す
4. 複数の𝜃 𝑏(𝑛) を使って信頼区間などを計算す
る
14. 𝑏 out of 𝑛 bootstrapの問題点
𝑚を小さく取れば、 𝜃 𝑏(𝑛) の計算コストは小
さくてすむ
しかし、小さく取り過ぎると精度が極端に
悪くなることがある
15. Bag of Little Bootstraps (BLB)
本論文における提案手法
1. 𝑏 𝑛 < 𝑛個のサンプルを𝑋1 , … , 𝑋 𝑛 から非復元抽
出する
2. 各サブサンプルに対して
A) 𝑏 𝑛 種類の異なるデータから𝑛個復元抽出する
1. 多項分布に従う乱数を使う
B) 𝜃 𝑛 の計算を行う
1. ここでは計算量は異なるデータ点の数𝑏 𝑛 に依存する
と考えている
C) A,Bを繰り返す
3. 1,2を繰り返して、最後に平均を取る
17. BLBのメリット
Bootstrapと比較して、各subsampleで保持
するデータが少なくて済む
例えば元データが1TBのとき、Bootstrapでは
640GB必要だけど、BLBで𝑏 𝑛 = 𝑛0.6 のとき4GB
で済む
𝑏 𝑛
→ 0(𝑛 → ∞)の時の収束性の保証がある
𝑛
18. 実験
𝑋𝑖 = 𝑋 𝑖 , 𝑌𝑖 ∼ 𝑃からn=20000点データを生
成
𝑇
𝑋 𝑖 , 𝑌𝑖 の関係は𝑌𝑖 ∼ 𝐵𝑒𝑟𝑛𝑜𝑢𝑙𝑙𝑖(1 + exp −𝑋 𝑖 1 )と
いうような関係を考える
具体的には{𝑋 𝑖 }に関して回帰問題or判別問題を解
いて、モデルパラメータを計算する
19. 実験結果
BOFNと比較して、サイズが 𝑛程度でもう
まく推定できている
20. 実験結果
データが大規模の時はBoostingよりもはる
かに収束が早い