View
617
Download
0
Category
Preview:
Citation preview
Greed is Good: 劣モジュラ関数最大化と
その発展
田𠮷 悠一 国立情報学研究所
6 月 11 日 @ PFI セミナー
自己紹介
田 悠一𠮷国立情報学研究所 情報学プリンシプル研究系 准教授
専門理論的・実用的に速いアルゴリズムを作ること(理論の道具を使って実用分野を荒らす)
今日のメッセージ
貪欲にやれば大抵うまくいく
例:アンテナ配置問題
目標: B 個のアンテナを選んで被覆される人の数を最大化
アンテナ配置問題に対する貪欲法
貪欲法 : 「被覆できる人数が一番増えるアンテナを選ぶ」 ことを B 回繰り返す。
例 : B=2
貪欲法の性能
小さい実データでの実験:
(被覆人数ではなくアンテナから得られる情報を最大化)
貪欲法の近似保証
貪欲法は 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
なぜ貪欲法が上手くいくか?
アンテナ配置問題には
単調劣モジュラ性があるから
劣モジュラ関数
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
劣モジュラ関数の等価な定義
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ー
アンテナ配置問題の単調性
• 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)を許す• 強度の強いアンテナに囲まれた人は満足度が高い
強度付きアンテナ配置問題
人の満足度:その人を被覆するアンテナ強度の和 (ただし 100 を越えない)
全体の満足度:各人の満足度の和
60
60
6060
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)
0 v1
v2
x
y
整数格子上の劣モジュラ関数
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
実は整数格子では劣モジュラ≠限界効用逓減性
貪欲法の問題点
強度の種類を細かくすると 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種アンテナ配置問題
目標:各アンテナの色を選んで被覆される人の数を最大化
貪欲法 : 「被覆できる人数が一番増える様にアンテナに 色を塗る」ことを、全てのアンテナに色を塗り 終わるまで繰り返す
貪欲法の近似保証
なぜ貪欲法は上手く行くか?
k種アンテナ配置問題には
単調 k 劣モジュラ性があるから
• 貪欲法は 1/2 近似解を与える• (k+1)/2k+ε 近似は NP 困難
[岩田 -谷川 - 田𠮷 ’ 15]
k 劣モジュラ性
単調 k 劣モジュラ ⇔ 単調 & 象限劣モジュラ
象限劣モジュラ:各アンテナの使える色を一つに限定することで得られる関数 f: 2V → ℝ が劣モジュラ
使わない or 黄色 使わない or 緑色 使わない or 赤色
サイズ制約付き k 劣モジュラ関数最大化
制約①:アンテナを計 B 個まで使える制約②: i種目のアンテナは Bi 個まで使える
自明な貪欲法は O(knB) 時間かかって遅すぎる
• 貪欲法は制約①に対して 1/2 近似解を与える• 貪欲法は制約②に対して 1/3 近似解を与える
• ①に対する O(kn log2B) 時間アルゴリズム• ②に対する O(k2nlog2B) 時間アルゴリズム
[ 大坂 - 田𠮷 ’ 15]
(k+1)/2k+ε 近似は NP 困難 [岩田 -谷川 - 田𠮷 ’ 15]
実験の設定
Intel Lab Data を用いて実験部屋の 54カ所に置かれたセンサーから得られた湿度、温度、光量のデータ
湿度センサー、温度センサー、光量センサーをそれぞれ 1個〜 18 個置いた時に得られる情報量を最大化
http://db.csail.mit.edu/labdata/labdata.html
実験結果
貪欲法は一種のセンサーのみを使う手法よりも性能が高い
改善手法は単純な貪欲手法より数割高速
まとめ
機械学習の様々な問題は単調劣モジュラ性を持つ→ 貪欲法が上手く動く
様々な拡張• 整数格子: 1-1/e 近似 & ほぼ線形時間• k 劣モジュラ: 1/2 近似 & ほぼ線形時間
今後の方向性• 実用的には 99%ぐらいの近似度。何故か?• 最小化への応用?
Recommended