36
Greed is Good: 劣劣劣劣劣劣劣劣劣劣劣 劣劣劣劣 6 11 @ PFI

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

Embed Size (px)

Citation preview

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

Greed is Good: 劣モジュラ関数最大化と

その発展

田𠮷 悠一 国立情報学研究所

6 月 11 日 @ PFI セミナー

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

自己紹介

田 悠一𠮷国立情報学研究所 情報学プリンシプル研究系 准教授

専門理論的・実用的に速いアルゴリズムを作ること(理論の道具を使って実用分野を荒らす)

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

今日のメッセージ

貪欲にやれば大抵うまくいく

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

例:アンテナ配置問題

目標: B 個のアンテナを選んで被覆される人の数を最大化

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

アンテナ配置問題に対する貪欲法

貪欲法 : 「被覆できる人数が一番増えるアンテナを選ぶ」    ことを B 回繰り返す。

例 : B=2

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

貪欲法の性能

小さい実データでの実験:

(被覆人数ではなくアンテナから得られる情報を最大化)

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

貪欲法の近似保証

貪欲法は 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

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

なぜ貪欲法が上手くいくか?

アンテナ配置問題には

単調劣モジュラ性があるから

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

劣モジュラ関数

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

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

劣モジュラ関数の等価な定義

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ー

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

アンテナ配置問題の単調性

• V = アンテナの集合• f(S) =アンテナ集合 S が被覆する人数アンテナを配置すればするほど被覆できる人数が増える→ 単調性を満たす

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

アンテナ配置問題の劣モジュラ性

• V = アンテナの集合• f(S) =アンテナ集合 S が被覆する人数新たにアンテナを配置するときに被覆できる人数は、既に選んだアンテナが少なければ少ないほど多い。→ 限界効用逓減性=劣モジュラ性を満たす

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

劣モジュラ関数最大化

入力:単調劣モジュラ関数 f: 2V → , ℝ 整数 B目的:大きさ B の集合 S V⊆ で、 f(S) を最大にするものを計算

貪欲法 : 「現段階で値が最も上がる要素を集合に加える」    ことを B 回繰り返す。

貪欲法は 1-1/e 近似を与える=最適な集合 S* と比べて

1-1/e ≈ 63% の値を達成できる※1-1/e+ε 近似は NP 困難

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

劣モジュラ関数に関する最適化問題

劣モジュラ関数最小化• 強多項式時間 [Schrijver’00, Iwata et al.’01]• 最小ノルム点アルゴリズム : 実用的に高速 , 擬多項式時

間 [Fujishige’80, Chakrabarty et al.’14]

劣モジュラ関数最大化機械学習分野に多数の応用• バイラル・マーケティング• センサー配置• 文書要約• 広告割当• 素性選択

これからの内容

• 整数格子上の 劣モジュラ関数

• k 劣モジュラ関数

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

整数格子上の劣モジュラ関数最大化

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

アンテナ配置問題の一般化

先ほどはアンテナを「使う」と「使わない」の二択だった

もう少し細やかな配置は出来ないか?• アンテナに強度(0〜100)を許す• 強度の強いアンテナに囲まれた人は満足度が高い

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

強度付きアンテナ配置問題

人の満足度:その人を被覆するアンテナ強度の和          (ただし 100 を越えない)

全体の満足度:各人の満足度の和

60

60

6060

100

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

強度付きアンテナ配置問題

人の満足度:その人を被覆するアンテナ強度の和          (ただし 100 を越えない)

全体の満足度:各人の満足度の和• 三つのアンテナの強度 100 → 全体の満足度 = 500• 全アンテナの強度 50 → 全体の満足度 = 600

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

強度付きアンテナ配置問題

目標:アンテナ強度の和 ≤ B という制約のもとで全体の   満足度を最大化

(言い換え)目標: Σv xv ≤ B という制約のもとで、 f(x) を最大化    f(x) = アンテナ v を強度 xv で使う時の全体の満足度

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

強度付きアンテナ配置問題に対する貪欲法

貪欲法 : 「全体の満足度が最も上がる様にアンテナの強度    を 1ずつ上げる」ことを B 回繰り返す。

貪欲法は 1-1/e 近似を与える

なぜ貪欲法は上手く行くか?

強度付きアンテナ配置問題には

単調性&限界効用逓減制があるから

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

整数格子上の劣モジュラ関数

f は単調かつ限界効用逓減性を持つ

単調 : ∀x ≤ y ∈ℤV, f(x) ≤ f(y)

0 v1

v2

x

y

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

整数格子上の劣モジュラ関数

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

実は整数格子では劣モジュラ≠限界効用逓減性

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

貪欲法の問題点

強度の種類を細かくすると B は非常に大きくなりうる• 強度の種類が 100 → B ≈ 100n• 強度の種類が 10000 → B ≈ 10000n

貪欲法の計算時間は Õ(Bn)

遅すぎる!

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

ほぼ線形時間アルゴリズム

[相馬 - 田𠮷 ’ 15a](1 − 1/e − ε) 近似解を求めるほぼ線形時間アルゴリズム

正確な計算時間 O(n/ε log B/ε)∙ 時間で得る

アイデア : 閾値を徐々に下げながら貪欲法 [Badanidiyuru-Vondrák’14]

• 満足度の上がり方が閾値以上なら一気に強度を上げる• どこまで上げるかは限界効用逓減性を利用した二分探索

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

(関連問題の)実験の設定 [相馬 - 田𠮷 ’ 15b]

Σxv ≤ B のもとで f(x) を最大化 ⇔ f(x) ≥ α のもとで Σxv を最小化

Battle of the Water Sensor Networks (BWSN) を用いて実験• 水の汚染をセンサーで検出• 汚染を発見するまでにかかる 時間を最小化• センサー強度 =汚染を検出する確率に対応

http://www.water-simulation.com/wsp/blog/page/9/

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

実験結果

貪欲法は解の質が良い 改善手法は単純な貪欲法より数十倍高速化

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

k 劣モジュラ関数最大化

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

アンテナ配置問題の一般化

アンテナを「使う」と「使わない」の二択

アンテナに種類を許すことは出来ないか?– 強度は強いが貴重なアンテナ– 特定の環境に強いアンテナ

今回は i種目のアンテナは i種目の人に届く設定を考える

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

k種アンテナ配置問題

アンテナの種類= {緑 , 黄 , 赤 }緑色のアンテナを配置 → 範囲内の緑の人を被覆一つのアンテナには一種類の色しか割り当てられない

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

k種アンテナ配置問題

目標:各アンテナの色を選んで被覆される人の数を最大化

貪欲法 : 「被覆できる人数が一番増える様にアンテナに    色を塗る」ことを、全てのアンテナに色を塗り      終わるまで繰り返す

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

貪欲法の近似保証

なぜ貪欲法は上手く行くか?

k種アンテナ配置問題には

単調 k 劣モジュラ性があるから

• 貪欲法は 1/2 近似解を与える• (k+1)/2k+ε 近似は NP 困難

[岩田 -谷川 - 田𠮷 ’ 15]

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

k 劣モジュラ性

単調 k 劣モジュラ ⇔ 単調 & 象限劣モジュラ

象限劣モジュラ:各アンテナの使える色を一つに限定することで得られる関数 f: 2V → ℝ が劣モジュラ

使わない or 黄色 使わない or 緑色 使わない or 赤色

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

サイズ制約付き k 劣モジュラ関数最大化

制約①:アンテナを計 B 個まで使える制約②: i種目のアンテナは Bi 個まで使える

自明な貪欲法は O(knB) 時間かかって遅すぎる

• 貪欲法は制約①に対して 1/2 近似解を与える• 貪欲法は制約②に対して 1/3 近似解を与える

• ①に対する O(kn log2B) 時間アルゴリズム• ②に対する O(k2nlog2B) 時間アルゴリズム

[ 大坂 - 田𠮷 ’ 15]

(k+1)/2k+ε 近似は NP 困難 [岩田 -谷川 - 田𠮷 ’ 15]

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

実験の設定

Intel Lab Data を用いて実験部屋の 54カ所に置かれたセンサーから得られた湿度、温度、光量のデータ

湿度センサー、温度センサー、光量センサーをそれぞれ 1個〜 18 個置いた時に得られる情報量を最大化

http://db.csail.mit.edu/labdata/labdata.html

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

実験結果

貪欲法は一種のセンサーのみを使う手法よりも性能が高い

改善手法は単純な貪欲手法より数割高速

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

まとめ

機械学習の様々な問題は単調劣モジュラ性を持つ→ 貪欲法が上手く動く

様々な拡張• 整数格子: 1-1/e 近似 & ほぼ線形時間• k 劣モジュラ: 1/2 近似 & ほぼ線形時間

今後の方向性• 実用的には 99%ぐらいの近似度。何故か?• 最小化への応用?