Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

5,770 views

Published on

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

Published in: Science
  • Be the first to comment

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%ぐらいの近似度。何故か? • 最小化への応用?

×