機械学習分野における離散最適化手法の応用研究 ~...

40
機械学習分野における離散最適化手法の応用研究 ~離散凸最適化を中心に~ 永野 清仁 九州大学マス・フォア・インダストリ研究所 2012年11月29&30日 Kiyohito Nagano 東京大学 生産技術研究所 離散構造と最適化:展開と連携 1/40

Upload: others

Post on 19-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

機械学習分野における離散最適化手法の応用研究

~離散凸最適化を中心に~

永野 清仁

九州大学マス・フォア・インダストリ研究所

2012年11月29&30日

Kiyohito Nagano

東京大学 生産技術研究所

離散構造と最適化:展開と連携

1/40

OUTLINE

機械学習関連分野 と 最適化研究

劣モジュラ関数の定義と性質

劣モジュラ関数最大化とその応用

劣モジュラ関数最小化とその応用

2

その他の話題・まとめ

機械学習分野における離散最適化手法の応用研究 ~離散凸最適化を中心に~

機械学習 (Machine Learning):

機械学習と関連する研究分野

データの解析 有用な規則や判断基準を抽出

3

・ パターン認識

・ コンピュータビジョン

・ データマイニング

・ 人工知能

・ 連続最適化

・ 離散最適化

・ 学習理論

など

・ 確率・統計学

SVMの研究は90年代の中頃から

注目されはじめたのは2000年代の中頃から

4

機械学習と連続最適化が交わる研究 (1/2)

Sra, Nowozin, Wright 編 (2011)

Support Vector Machine (SVM)

凸最適化問題になる!

研究は90年代の中頃から

機械学習における凸最適化の成功例

x 凸関数

関数

5

機械学習と連続最適化が交わる研究 (2/2)

Regularized Optimization

Minimize L(w) + g R(w) w∈Rn

loss 関数 L のみの最小化では過適合で汎化誤差が小さくならない

⇒ regularizer R を加えて最小化 (g は正のパラメータ)

R としては l1ノルム, l2ノルムなど (l1ノルムだと疎な解になる)

例:SVM, 圧縮センシング, 行列補完, LASSO など

現在の機械学習における中心的なテーマ

R として変数間の関係を考慮 → structured sparsity

6

機械学習と離散最適化の交わりについて

連続の世界における凸性に対応する (とみなせる) 劣モジュラ関数

(submodular function) が中心的な役割を担っている

歴史は長くない (2005年くらいから?)

ICML 2008 のチュートリアル講演

NIPSワークショップ “Discrete Optimization in Machine Learning” が 2009年~2012年の間, 4年連続開催

“Beyond Convexity: Submodularity in Machine Learning” by Andreas Krause and Carlos Guestrin.

国際的な動向

OUTLINE

機械学習関連分野 と 最適化研究

劣モジュラ関数の定義と性質

劣モジュラ関数最大化とその応用

劣モジュラ関数最小化とその応用

7

その他の話題・まとめ

機械学習分野における離散最適化手法の応用研究 ~離散凸最適化を中心に~

劣モジュラ関数について – overview –

n 次元 0-1 ベクトル全体

多岐に渡る分野で現れる

離散領域 {0, 1}n 上の 凸関数 とみなせる

ネットワーク計画, ゲーム理論, オークション理論, 機械学習 など

convex concave 同時に 凹関数 のような性質も持つ

劣モジュラ関数の最小化問題 (制約なしなら多項式時間で解ける), 最大化問題 (NP困難なものの中でも易しい方) は基本問題

8

定義:集合関数

有限集合 N = {1, ... , n} , N のべき集合 2N = { S : S ⊆N }

2N 上で定義された実数値関数 f : 2N

→ R を 集合関数 とよぶ

(このとき N を f : 2N → R の台集合 とよぶ)

S N

1 2

3 4

6 5

7

8

実数値 f (S) ∊R

9

定義:集合関数

有限集合 N = {1, ... , n} , N のべき集合 2N = { S : S ⊆N }

2N 上で定義された実数値関数 f : 2N

→ R を 集合関数 とよぶ

(このとき N を f : 2N → R の台集合 とよぶ)

S N

1 2

3 4

6 5

7

8

f (S) ∊R

集合関数の例

仕事1, 仕事2 がある

仕事1のみにかかる時間が 4

仕事2のみにかかる時間が 4

仕事1と2の両方をこなすと 5

仕事しないならかかる時間 0

N = {1, 2}, f を次のように決める

f ({ }) = 0

f ({1}) = 4

f ({2}) = 4

f ({1, 2}) = 5

この f は仕事時間を表す集合関数 (実は劣モジュラ関数にもなっている) 10

定義:集合関数

有限集合 N = {1, ... , n} , N のべき集合 2N = { S : S ⊆N }

2N 上で定義された実数値関数 f : 2N

→ R を 集合関数 とよぶ

2N

{1,2}

{1} { }

{2}

{0, 1}n

≃ 0 1

1

x1

x2

IS S

集合関数 f : 2N → R は {0, 1}n 上の関数とみなせる

(IS の第 i 成分) 1 if i∈S

0 if i∉S =

{1,2}

{1} { }

{2}

≃ 0 1

1

x1

x2

{}

{1} {2} {3}

{1,2} {1,3} {2,3}

{1,2,3}

O

(1,1,1)

x1 x2

x3

11

定義:劣モジュラ関数 (submodular function)

有限集合 N = {1, ... , n} , N のべき集合 2N = { S : S ⊆N }

集合関数 f : 2N → R は 劣モジュラ if ∀S, T ⊆N

f (S) + f (T) ≥ f (S∪T) + f (S∩T)

S N T

1 2

3 4

6 5

7 8

グラフ G = (N, E) with 枝重み we ≥ 0 (e∈E) N ={1, ... , n }

例. カット関数 k : 2N→ R

k は劣モジュラ

e∈E has one endpoint in S and one in N – S

we : S k (S) =

S 1 2

4

3

5 6

7 8 9

10 11 12

12

定義:劣モジュラ関数 (submodular function)

有限集合 N = {1, ... , n} , N のべき集合 2N = { S : S ⊆N }

集合関数 f : 2N → R は 劣モジュラ if ∀S, T ⊆N

f (S) + f (T) ≥ f (S∪T) + f (S∩T)

S N T

1 2

3 4

6 5

7 8

多岐に渡る分野で現れる

離散世界 の凸関数 (Lovász ’83 など)

ネットワーク計画, ゲーム理論, オークション理論, 機械学習 など

同時に凹関数のような性質も持つ

x

凸関数

h(x)

x

凹関数

h(x)

13

定義:劣モジュラ関数 (submodular function)

有限集合 N = {1, ... , n} , N のべき集合 2N = { S : S ⊆N }

集合関数 f : 2N → R は 劣モジュラ if

∀S, T ⊆N s. t. S⊆T and i ∉ T

f (S) + f (T) ≥ f (S∪T) + f (S∩T)

S N T

1 2

3 4

6 5

7 8

14

[劣モジュラ性の特徴付け]

f は劣モジュラ if and only if

f (S ∪{ i }) – f (S ) ≥ f (T∪{ i }) – f (T )

T S

N

i

∀S, T ⊆N

「限界効用逓減の法則」

劣モジュラ関数の凸性 (と凹性)

{1,2}

{1} { }

{2}

≃ 0 1

1

x1

x2

x2

0 1

1

x1

劣モジュラ関数 f : 2N → R の連続関数 F : Rn

→ R への補間を考える

{0, 1}n 上でのみ関数値が 定まっている

凸になる補間: Lovász extension

凹っぽい補間 : Multilinear extension

何らかのルールで補間

15

劣モジュラ関数の凸性 (と凹性) – 凸な補間

f ({ }) = 0 f ({1}) = 4

Lovász extension FL は 凸

f ({2}) = 4 f ({1, 2}) = 5

f : 2N → R の補間その①: Lovász extension FL : Rn

→ R

x1

x2

0 1

1

x1 0 1

FL(x) = max {4x1+x2 , x1+4x2}

Lovász (1983)

劣モジュラ関数 f

多面体的凸な補間

FL(x) = max {xT z : S zi ≤ f(S),∀S⊆N}

i∈S 定義. (x∊Rn ) ≥0

z∊Rn 16

劣モジュラ関数の凸性 (と凹性) – 凹っぽい補間

f ({ }) = 0 f ({1}) = 4

劣モジュラ関数 f Multilinear extension FM

f ({2}) = 4 f ({1, 2}) = 5

f : 2N → R の補間その②: Multilinear extension FM : Rn

→ R

x1

x2

0 1

1

x1 0 1

FM(x) = 5x1x2 + 4x1(1–x2) + 4(1–x1)x2

Calinescu, Chekuri, Pál & Vondrák (2011)

凹っぽい補間

FM(x) = S f (S) P xi P (1–xi) S⊆N i∈S i∉S

定義. (x∊Rn ) ≥0

(非負方向の直線に沿って凹)

17

この補間は 今日は基本的

に扱わない

劣モジュラ関数の凸性 (と凹性) – 凹っぽい補間

f ({ }) = 0 f ({1}) = 4

劣モジュラ関数 f Multilinear extension FM

f ({2}) = 4 f ({1, 2}) = 5

f : 2N → R の補間その②: Multilinear extension FM : Rn

→ R

x1

x2

0 1

1

x1 0 1

FM(x) = 5x1x2 + 4x1(1–x2) + 4(1–x1)x2

Calinescu, Chekuri, Pál & Vondrák (2011)

凹っぽい補間

角度を変えて眺める

FM(x) = S f (S) P xi P (1–xi) S⊆N i∈S i∉S

定義. (x∊Rn ) ≥0

(非負方向の直線に沿って凹)

18

この補間は 今日は基本的

に扱わない

基本問題:劣モジュラ関数の最小化

19

Minimize f (S)

sub. to S ⊆N ={1,2,..., n}

劣モジュラ関数最小化

• 楕円体法: Grötschel, Lovasz, & Schrijver(1981, 1988)

• 組合せ的: Iwata, Fleischer, & Fujishige (2001),

Schrijver (2000), Orlin (2009)

2n 個の候補の中から最適解を見つける問題

凸関数最小化の離散版に対応

この問題を解く 多項式時間アルゴリズム が知られている

以下, 劣モジュラ関数 f の各関数値 f (S) の計算は基本操作とする

Lovász

extension

を利用

基本問題:劣モジュラ関数の最大化

20

Maximize f (S)

sub. to S ⊆N のサイズは k 以下

(応用上最も重要な形の)

劣モジュラ関数最大化

NP困難だが, 0.632-近似アルゴリズムがある (Nemhauser ら ’78)

f : 2N → R を 単調 な劣モジュラ関数とし, k を定数とする

S⊆T なら f (S) ≤ f (T)

最適値の0.632倍以上の関数値を達成する S を必ず出力する多項式時間アルゴリズム

サイズ制約より複雑なマトロイド制約下の最大化も Multilinear extension を用いて同じ近似率 0.632 が達成可能

(Calinescu, Chekuri, Pál & Vondrák, 2011)

OUTLINE

機械学習関連分野 と 最適化研究

劣モジュラ関数の定義と性質

劣モジュラ関数最大化とその応用

劣モジュラ関数最小化とその応用

21

その他の話題・まとめ

機械学習分野における離散最適化手法の応用研究 ~離散凸最適化を中心に~

劣モジュラ関数の最大化とその機械学習分野への応用

22

劣モジュラ関数最大化

f : 2N → R を 単調 な劣モジュラ関数とし, k を定数とする

機械学習周辺分野への応用

• センサ配置問題

• ネットワークの伝播モデル

• 特徴選択

(Kempe, Kleinberg, Tardos, KDD 2003)

(Gusetrin ら, ICML 2005 など)

(Krause & Gusetrin, UAI 2005)

max f (S)

s. t. |S| ≤ k

などなど

23

劣モジュラ関数の例:被覆関数

各 S ⊆N で

• 添字集合 N = {1, ... , n}

f (S) = ( ⋃ Ci のサイズ) i ∈S

• C1, ... , Cn は点集合 U の部分集合

C1

C3 C4

n = 4

命題 被覆関数は単調な劣モジュラ関数

被覆関数 f : 2N → R を次式で定義

• 観測される点 U

Ci :場所 i にセンサを置いたときに観測できる点集合

f ({2,3}) = 4

C2

最大化の応用:センサ配置問題

24

f は単調劣モジュラ,

k は定数

max f (S)

s. t. |S| ≤ k

f : 2N → R を被覆関数だとすれば, この問題は k 台のセンサを最適配置 する問題と解釈できる

C1

C3 C4

C2

k = 2 のときの最適配置

最大化の応用:ネットワークの伝播モデル

25

[Kempe, Kleinberg & Tardos, KDD ’03]

新商品を k 人に持たせる 人々は(確率的に)周囲の 影響を受ける

0.3 0.3

0.2

0.7 0.1

0.3

0.4

最も効果的な k 人を選ぶ問題は劣モジュラ関数最大化

劣モジュラ関数の最大化の近似アルゴリズム

26

max f (S)

s. t. |S| ≤ k

f は 単調劣モジュラ

貪欲アルゴリズム

f (S∪{i}) が最大な i ∈N – S で S := S ∪ {i}

初期化: S = {}

while |S| < k do

近似比 0.632 は本質的に最良(Feige, 1998)

0.632-近似アルゴリズム

定理 (Nemhauser, Wolsey, & Fisher, 1978) このアルゴリズムは

効率的なアルゴリズム

計算時間を犠牲にしても, より良い品質が保証される解が得られないか?

27

劣モジュラ性カットアルゴリズム

Lovász extension FL を用いて連続緩和問題を考えて,

• それなりに大きいサイズの問題も扱える (n ≈ 5000)

• 0-1 整数計画問題を繰り返しとく

• この平面切除アルゴリズムは 厳密解 or (1-e)-近似解 を出力

凹性カット法 (Tuy, 1960) の変種を適用する

s. t. |S| ≤ k

max f (S ) max FL (x )

連続緩和

s. t. S i xi ≤ k

0≤ xi ≤1 ,∀i S ⊆N

多面体的凸関数

D0

ギャップがない (by the convexity of FL )

[Kawahara, Nagano, Tsuda, Bilmes, NIPS 2009]

28

劣モジュラ性カットアルゴリズム [Kawahara, Nagano, Tsuda, Bilmes, NIPS 2009]

d1

d2

D

IS

H H–

H+

アルゴリズムは次を保持する

• current solution S ⊆N

• current best value g

• current polytope D ⊆D0

• Compute a hyperplane H s. t.

FL (x) ≤ g for any x ∈ D ⋂ H–

• Update x ∈ D := D ⋂ H+ , compute new S ⊆N and update g

反復 j :

このアルゴリズムは有限回の反復で停止し, 最適解を出力 定理

new IS new D

D0

OUTLINE

機械学習関連分野 と 最適化研究

劣モジュラ関数の定義と性質

劣モジュラ関数最大化とその応用

劣モジュラ関数最小化とその応用

29

その他の話題・まとめ

機械学習分野における離散最適化手法の応用研究 ~離散凸最適化を中心に~

劣モジュラ関数の最小化とその機械学習分野への応用

30

劣モジュラ関数最小化

機械学習周辺分野への応用

• クラスタリング

• 密な部分グラフを抽出

• Structured sparsity

(Nagano, Kawahara & Aihara, ICML 2011)

(Bach, NIPS 2010 & NIPS 2011)

min f (S)

s. t. S ⊆N ={1,2,..., n}

(Narasimhan ら, NIPS 2005; Nagano, Kawahara, & Iwata, NIPS 2010)

Regularized optimization min L(w) + g R(w) w∈Rn

劣モジュラ関数の基本分割の概念を利用している

複雑な regularizer R も Lovasz 拡張を用いて記述 (なども Group LASSO も含む)

クラスタリング

31

同じクラスタ内の点は似ていて、 異なるクラスタ間の点は似ていないようにする

S1, …, Sk ≠{} (それぞれクラスタとよぶ) に分ける

データ点 N = {1, ... , n} と k ≤ n について, N を k 個の部分集合

多くの場合, クラスタ数 k が事前に与えられているわけではない

Example: clustering of networks

S2 S1

S3 k = 3

クラスタリングは教師なし学習の一種

Clustering methods

k-means, spectral clustering, maximum margin, etc

ネットワークの場合のクラスタリング

32

S k (Si) 1 2 i=1

k S1 S2

Sk

データがネットワーク G = (N, E) として与えられているとする

各枝はその両端の点は関係していることを意味し, 重みは関係の強さ

“最適” な k-クラスタリングを求める問題

k-分割 {S1, … , Sk} の中で

minimum k-cut (NP-hard)

S k (Si) i=1 k

S f (Si) i=1 k

目的関数:

[Narasimhan et al., NIPS ’05]

一般化

f は一般の劣モジュラ関数

赤い枝の重み和 の最小化

クラスタリング with 劣モジュラ関数

33

最適 k-クラスタリング問題 [Narasimhan et al., NIPS ’05]

f : 2N → R は一般の劣モジュラ関数 with f ({ }) = 0

いくつかの自然な規準におけるクラスタリングを一般化

f が対称 (f(S)=f(N – S)) なとき, 2分割を繰り返す方法は 2-近似

N

目的関数の増加が小さいものを採用

k 個に分かれたら終了

目的関数の増加が小さいものを採用

k は何らかの方法で見つける

NP-hard s. t. {S1, ... , Sk} は N の k-分割

min S f (Si) i=1 k

クラスタリング with 劣モジュラ関数

34

最適 k-クラスタリング問題 [Narasimhan et al., NIPS ’05]

k は何らかの方法で見つける

NP-hard s. t. {S1, ... , Sk} は N の k-分割

f : 2N → R は一般の劣モジュラ関数 with f ({ }) = 0

min S f (Si) i=1 k

アルゴリズムでは Dilworth truncation (1944) を使う

Minimum Average Cost (MAC) clustering [NKI, NIPS ’10]

クラスタ数と分割を同時に決める

他の手法と competitive

すべての b - MAC クラスタリングはトータルで多項式時間で求まる

平均を取ったバージョンの目的関数を扱う

クラスタリング with 劣モジュラ関数

35

最適 k-クラスタリング問題 [Narasimhan et al., NIPS ’05]

k は何らかの方法で見つける

NP-hard s. t. {S1, ... , Sk} は N の k-分割

f : 2N → R は一般の劣モジュラ関数 with f ({ }) = 0

min S f (Si) i=1 k

N

目的関数の増加が小さいものを採用

k 個に分かれたら終了

目的関数の増加が小さいものを採用

アルゴリズムでは Dilworth truncation (1944) を使う

Minimum Average Cost (MAC) clustering [NKI, NIPS ’10]

クラスタ数と分割を同時に決める

他の手法と competitive

すべての b - MAC クラスタリングはトータルで多項式時間で求まる

平均を取ったバージョンの目的関数を扱う

min S f (S) S∊P /(|P |–b)

s. t. P は N の分割

|P | > b

0 ≤b < n where

b - MAC clustering

If b is small, P is coarse

If b is large, P is fine

The algorithm uses Dilworth truncation (1944)

k = |P | and a partition P are

determined at the same time

competitive with other methods

all b - MAC clusterings can be computed in poly time in total

S2 S1

Sk N={1, ... , n}

b = 1 → natural average cost function

# of sets: 1 → k

cost: 0 → Si f (Si) Si f (Si)

k – 1

MAC クラスタリングアルゴリズム [NKI, ’10] について

36

Theorem すべての b-MAC クラスタリングはトータルで O(n2) 回の劣モジュラ関数最小化で求まる

部分集合 S と T が交差している if S∖T, T∖S, S∩T すべて非空

集合関数 g : 2N → R は 交差劣モジュラ if

g (S) + g (T) ≥ g (S∪T) + g (S∩T) 交差している S と T で

関数 g : 2N → R の Dilworth truncation g’ : 2N

→ R の定義は

g’ の各関数値は O(n) 回劣モジュラ関数最小化を実行すると求まる

この事実を用いる

g’ (S) = min { : P は N の分割 } (S ⊆ N) S g (T) T∊P

37

Experimental results

We compared the MAC algorithm with (1) k-means method (2) spectral-clustering method with normalized-cut (Ng+, 2002) (3) maximum-margin clustering (Xu+, 2005)

# of clusters k is selected through 5-fold cross-validation

Clustering accuracy (the larger, the better)

Gaussian Circle Iris Libras Glass

k-means 1.0 0.88 0.79 0.85 0.93

norm cut 0.88 0.86 0.84 0.87 0.93

max margin 0.99 1.0 0.96 0.90 0.97

MAC 0.99 1.0 0.99 0.97 0.97

MAC clustering is competitive with standard clustering methods

‘Gaussian’, ‘Circle’:

synthetic datasets

‘Iris’, ‘Libras’, ‘Glass’:

real world datasets

from the UCI repository

360 samples

OUTLINE

機械学習関連分野 と 最適化研究

劣モジュラ関数の定義と性質

劣モジュラ関数最大化とその応用

劣モジュラ関数最小化とその応用

38

その他の話題・まとめ

機械学習分野における離散最適化手法の応用研究 ~離散凸最適化を中心に~

オンライン予測版の劣モジュラ最適化

39

オンライン版最小化 (Hazan & Kale, NIPS 2009, JMLR 2012)

• T 日間のうち t 日目の劣モジュラ関数を ft :2N→ R とする

• 私は t 日目に, 前日までの情報に基づいて (ft を知らない状態で) St⊆N を決める

• f1 (S1)+ … +fT (ST) が小さくなるようにしたい

(正確に言えば, regret を小さくなるようにしたい)

オンライン版最大化 (Streeter & Golovin. NIPS 2008)

オンライン版の基多面体上の最適化 (本ワークショップの畑埜先生のはなし)

まとめ・課題

機械学習周辺分野における劣モジュラ最適化の応用研究が近年特に活発になされている

劣モジュラ関数は凸性と凹性を持つ

劣モジュラ関数などの一般化である L凸関数, M凸関数の機械学習における応用は課題

おわり 40