坪坂正志
mail : m.tsubosaka(at)gmail(dot)com
紹介する論文
   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)という手法を提案
Problem
   データ𝑋1 , … , 𝑋 𝑛 を観測
     Webのアクセスログ
     メールの文章がスパムかどうかのラベルデータ
   データから何らかの量𝜃 𝑛 = 𝜃(𝑋1 , … , 𝑋 𝑛 )を推定
    する
     あるアクセスのUser AgentがIE6である確率
     Linear SVMにより学習したメールの各単語に対す
     る重みベクトルの値
   𝜃 𝑛 の信頼区間などを求めたい
理想的な手法
1.   データ𝑋1 , … , 𝑋 𝑛 を観測
2.   データから何らかの量𝜃 𝑛 = 𝜃(𝑋1 , … , 𝑋 𝑛 )を
     推定する
3.   1,2を何回も繰り返す
ブートストラップ(Efron 1979)
 現実には𝑋1 , … , 𝑋 𝑛 を繰り返し発生させるこ
  とは困難
 このため観測された𝑋1 , … , 𝑋 𝑛 から復元抽出
  を何回も繰り返して、仮想的に𝑋1 , … , 𝑋 𝑛 を
  生成して、𝜃 𝑛 を計算する
ブートストラップの概要




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

Big Data Bootstrap (ICML読み会)

  • 1.
  • 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を何回も繰り返す
  • 5.
    ブートストラップ(Efron 1979)  現実には𝑋1, … , 𝑋 𝑛 を繰り返し発生させるこ とは困難  このため観測された𝑋1 , … , 𝑋 𝑛 から復元抽出 を何回も繰り返して、仮想的に𝑋1 , … , 𝑋 𝑛 を 生成して、𝜃 𝑛 を計算する
  • 6.
    ブートストラップの概要  イメージとしては上の図のようになる
  • 7.
    ブートストラップの例  コインをN回投げてM回表がでるという事象  𝑋1 , … , 𝑋 𝑁 を観測、例えばその中で𝑋1 = ⋯ = 𝑋 𝑀 = 1, 残りは0と表現できる 𝑋1 +⋯+𝑋 𝑁  この時表の出る確率は で推定できる 𝑁  こういう処理を何回も行った時に表の出る 確率の推定値の分布はどうなるか?
  • 8.
  • 9.
  • 10.
  • 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 LittleBootstraps (BLB)  本論文における提案手法 1. 𝑏 𝑛 < 𝑛個のサンプルを𝑋1 , … , 𝑋 𝑛 から非復元抽 出する 2. 各サブサンプルに対して A) 𝑏 𝑛 種類の異なるデータから𝑛個復元抽出する 1. 多項分布に従う乱数を使う B) 𝜃 𝑛 の計算を行う 1. ここでは計算量は異なるデータ点の数𝑏 𝑛 に依存する と考えている C) A,Bを繰り返す 3. 1,2を繰り返して、最後に平均を取る
  • 16.
  • 17.
    BLBのメリット  Bootstrapと比較して、各subsampleで保持 するデータが少なくて済む  例えば元データが1TBのとき、Bootstrapでは 640GB必要だけど、BLBで𝑏 𝑛 = 𝑛0.6 のとき4GB で済む 𝑏 𝑛  → 0(𝑛 → ∞)の時の収束性の保証がある 𝑛
  • 18.
    実験  𝑋𝑖 = 𝑋 𝑖 , 𝑌𝑖 ∼ 𝑃からn=20000点データを生 成 𝑇  𝑋 𝑖 , 𝑌𝑖 の関係は𝑌𝑖 ∼ 𝐵𝑒𝑟𝑛𝑜𝑢𝑙𝑙𝑖(1 + exp −𝑋 𝑖 1 )と いうような関係を考える  具体的には{𝑋 𝑖 }に関して回帰問題or判別問題を解 いて、モデルパラメータを計算する
  • 19.
    実験結果  BOFNと比較して、サイズが 𝑛程度でもう まく推定できている
  • 20.
    実験結果  データが大規模の時はBoostingよりもはる かに収束が早い
  • 21.
    まとめ  大規模なデータに対して自動的かつ並列性 がよく精度の高いブートストラップ手法を 提案した  個人的にはこの手法を使って推定した重み ベクトルなどを使った時の二値分類などの 精度がどうなるかが気になった