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