Successfully reported this slideshow.
Your SlideShare is downloading. ×

Greed is Good: 劣モジュラ関数最大化とその発展

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
20160611 pymc3-latent
20160611 pymc3-latent
Loading in …3
×

Check these out next

1 of 36 Ad
Advertisement

More Related Content

Viewers also liked (20)

Recently uploaded (20)

Advertisement

Greed is Good: 劣モジュラ関数最大化とその発展

  1. 1. Greed is Good: 劣モジュラ関数最大化と その発展 𠮷田 悠一 国立情報学研究所 6月11日 @ PFIセミナー
  2. 2. 自己紹介 𠮷田 悠一 国立情報学研究所 情報学プリンシプル研究系 准教授 専門 理論的・実用的に速いアルゴリズムを作ること (理論の道具を使って実用分野を荒らす)
  3. 3. 今日のメッセージ 貪欲にやれば大抵うまくいく
  4. 4. 例:アンテナ配置問題 目標:B個のアンテナを選んで被覆される人の数を最大化
  5. 5. アンテナ配置問題に対する貪欲法 貪欲法: 「被覆できる人数が一番増えるアンテナを選ぶ」 ことをB回繰り返す。 例: B=2
  6. 6. 貪欲法の性能 小さい実データでの実験: (被覆人数ではなくアンテナから得られる情報を最大化)
  7. 7. 貪欲法の近似保証 貪欲法は1-1/e近似を与える =最適に配置した場合と比べて 1-1/e ≈ 63%の人を被覆できる 証明のイメージ:最適値との差が毎回1/B割合縮まる 最適値 1 2 3 B0 … 被覆 人数 センサー個数 1 1/B 1 1/B kステップ後の 最適値との差: (1-1/B)B ≤ 1/e割合 1/e
  8. 8. なぜ貪欲法が上手くいくか? アンテナ配置問題には 単調劣モジュラ性 があるから
  9. 9. 劣モジュラ関数 V: n個の要素集合 集合関数f: 2V → ℝ fが劣モジュラ: 任意のS, T ⊆ Vに対して f(S) + f(T) ≥ f(S ∪ T) + f(S ∩ T) S f(S) T S∪T S∩T ≥ V
  10. 10. 劣モジュラ関数の等価な定義 fが劣モジュラ ⇔ 任意のS ⊆ T ⊆ V, v ∈ V Tに対して f(S + v) – f(S) ≥ f(T + v) – f(T) (限界効用逓減性) ≥ S + v v S v ー T + v v T v ー
  11. 11. アンテナ配置問題の単調性 • V = アンテナの集合 • f(S) =アンテナ集合Sが被覆する人数 アンテナを配置すればするほど被覆できる人数が増える →単調性を満たす
  12. 12. アンテナ配置問題の劣モジュラ性 • V = アンテナの集合 • f(S) =アンテナ集合Sが被覆する人数 新たにアンテナを配置するときに被覆できる人数は、既に 選んだアンテナが少なければ少ないほど多い。 → 限界効用逓減性=劣モジュラ性を満たす
  13. 13. 劣モジュラ関数最大化 入力:単調劣モジュラ関数f: 2V → ℝ, 整数B 目的:大きさBの集合S ⊆ Vで、f(S)を最大にするものを計算 貪欲法: 「現段階で値が最も上がる要素を集合に加える」 ことをB回繰り返す。 貪欲法は1-1/e近似を与える =最適な集合S*と比べて 1-1/e ≈ 63%の値を達成できる ※1-1/e+ε近似はNP困難
  14. 14. 劣モジュラ関数に関する最適化問題 劣モジュラ関数最小化 • 強多項式時間 [Schrijver’00, Iwata et al.’01] • 最小ノルム点アルゴリズム: 実用的に高速, 擬多項式時間 [Fujishige’80, Chakrabarty et al.’14] 劣モジュラ関数最大化 機械学習分野に多数の応用 • バイラル・マーケティング • センサー配置 • 文書要約 • 広告割当 • 素性選択 これからの内容 • 整数格子上の 劣 モジュラ関数 • k劣モジュラ関数
  15. 15. 整数格子上の 劣モジュラ関数最大化
  16. 16. アンテナ配置問題の一般化 先ほどはアンテナを「使う」と「使わない」の二択だった もう少し細やかな配置は出来ないか? • アンテナに強度(0〜100)を許す • 強度の強いアンテナに囲まれた人は満足度が高い
  17. 17. 強度付きアンテナ配置問題 人の満足度:その人を被覆するアンテナ強度の和 (ただし100を越えない) 全体の満足度:各人の満足度の和 60 60 60 60 100
  18. 18. 強度付きアンテナ配置問題 人の満足度:その人を被覆するアンテナ強度の和 (ただし100を越えない) 全体の満足度:各人の満足度の和 • 三つのアンテナの強度100 → 全体の満足度 = 500 • 全アンテナの強度50 → 全体の満足度 = 600
  19. 19. 強度付きアンテナ配置問題 目標:アンテナ強度の和 ≤ Bという制約のもとで全体の 満足度を最大化 (言い換え) 目標:Σv xv ≤ Bという制約のもとで、f(x)を最大化 f(x) = アンテナvを強度xvで使う時の全体の満足度
  20. 20. 強度付きアンテナ配置問題に対する貪欲法 貪欲法: 「全体の満足度が最も上がる様にアンテナの強度 を1ずつ上げる」ことをB回繰り返す。 貪欲法は1-1/e近似を与える なぜ貪欲法は上手く行くか? 強度付きアンテナ配置問題には 単調性&限界効用逓減制 があるから
  21. 21. 整数格子上の劣モジュラ関数 fは単調かつ限界効用逓減性を持つ 単調: ∀x ≤ y ∈ ℤV, f(x) ≤ f(y) 0 v1 v2 x y
  22. 22. 整数格子上の劣モジュラ関数 fは単調かつ限界効用逓減性を持つ 限界効用逓減性: ∀x ≤ y ∈ ℤV, v ∈ V, f(x + χv) – f(x) ≥ f(y + χv) – f(y) (χv: v方向の単位ベクトル) 0 v1 v2 x+χv1 y+χv1y x 実は整数格子では 劣モジュラ ≠限界効用逓減性
  23. 23. 貪欲法の問題点 強度の種類を細かくするとBは非常に大きくなりうる • 強度の種類が100 → B ≈ 100n • 強度の種類が10000 → B ≈ 10000n 貪欲法の計算時間はÕ(Bn) 遅すぎる!
  24. 24. ほぼ線形時間アルゴリズム [相馬-𠮷田’15a] (1 − 1/e − ε) 近似解を求めるほぼ線形時間アルゴリズム 正確な計算時間O(n/ε ∙ log B/ε)時間で得る アイデア: 閾値を徐々に下げながら貪欲法 [Badanidiyuru-Vondrák’14] • 満足度の上がり方が閾値以上なら一気に強度を上げる • どこまで上げるかは限界効用逓減性を利用した二分探索
  25. 25. (関連問題の)実験の設定 [相馬-𠮷田’15b] Σxv ≤ Bのもとでf(x)を最大化 ⇔ f(x) ≥ αのもとで Σxvを最小化 Battle of the Water Sensor Networks (BWSN)を用いて実験 • 水の汚染をセンサーで検出 • 汚染を発見するまでにかかる 時間を最小化 • センサー強度 =汚染を検出する確率に対応 http://www.water-simulation.com/wsp/blog/page/9/
  26. 26. 実験結果 貪欲法は解の質が良い 改善手法は単純な貪欲法より 数十倍高速化
  27. 27. k劣モジュラ関数最大化
  28. 28. アンテナ配置問題の一般化 アンテナを「使う」と「使わない」の二択 アンテナに種類を許すことは出来ないか? – 強度は強いが貴重なアンテナ – 特定の環境に強いアンテナ 今回はi種目のアンテナはi種目の人に届く設定を考える
  29. 29. k種アンテナ配置問題 アンテナの種類={緑, 黄, 赤} 緑色のアンテナを配置 → 範囲内の緑の人を被覆 一つのアンテナには一種類の色しか割り当てられない
  30. 30. k種アンテナ配置問題 目標:各アンテナの色を選んで被覆される人の数を最大化 貪欲法: 「被覆できる人数が一番増える様にアンテナに 色を塗る」ことを、全てのアンテナに色を塗り 終わるまで繰り返す
  31. 31. 貪欲法の近似保証 なぜ貪欲法は上手く行くか? k種アンテナ配置問題には 単調k劣モジュラ性 があるから • 貪欲法は1/2近似解を与える • (k+1)/2k+ε近似はNP困難 [岩田-谷川-𠮷田’15]
  32. 32. k劣モジュラ性 単調k劣モジュラ ⇔ 単調 & 象限劣モジュラ 象限劣モジュラ: 各アンテナの使える色を一つに限定することで得られる 関数f: 2V → ℝが劣モジュラ 使わない or 黄色 使わない or 緑色 使わない or 赤色
  33. 33. サイズ制約付きk劣モジュラ関数最大化 制約①:アンテナを計B個まで使える 制約②:i種目のアンテナはBi個まで使える 自明な貪欲法はO(knB)時間かかって遅すぎる • 貪欲法は制約①に対して1/2近似解を与える • 貪欲法は制約②に対して1/3近似解を与える • ①に対するO(kn log2B)時間アルゴリズム • ②に対するO(k2nlog2B)時間アルゴリズム [大坂-𠮷田’15] (k+1)/2k+ε近似はNP困難 [岩田-谷川-𠮷田’15]
  34. 34. 実験の設定 Intel Lab Dataを用いて実験 部屋の54カ所に置かれたセンサーから得られた湿度、温 度、光量のデータ 湿度センサー、温度センサー、光量センサーをそれぞれ1 個〜18個置いた時に得られる情報量を最大化 http://db.csail.mit.edu/labdata/labdata.html
  35. 35. 実験結果 貪欲法は一種のセンサー のみを使う手法よりも 性能が高い 改善手法は単純な 貪欲手法より数割高速
  36. 36. まとめ 機械学習の様々な問題は単調劣モジュラ性を持つ → 貪欲法が上手く動く 様々な拡張 • 整数格子:1-1/e近似 & ほぼ線形時間 • k劣モジュラ:1/2近似 & ほぼ線形時間 今後の方向性 • 実用的には99%ぐらいの近似度。何故か? • 最小化への応用?

Editor's Notes

  • 多項式時間

×