劣モジュラ最適化と機械学習1章

49
劣劣劣劣劣劣劣劣劣劣劣劣劣 1 劣 劣劣劣劣劣劣劣劣劣劣劣劣劣劣劣劣劣 @St_Hakky

Upload: hakky-st

Post on 14-Apr-2017

572 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: 劣モジュラ最適化と機械学習1章

劣モジュラ最適化と機械学習 1章機械学習プロフェッショナルシリーズ@St_Hakky

Page 2: 劣モジュラ最適化と機械学習1章

自己紹介と告知• Twitter : @St_Hakky• ブログ: http://st-hakky.hatenablog.com/• 関西で機械学習勉強会を実施中 !!

• 団体のモットー:• 圧倒的スピード感で大量の書物と論文をぶった切る• 「えっ、まだ読んでないの?」と煽り奉り、輪講会を乱立させる

• 過去のイベント例• PRML 輪講会、 PRML 上巻 / 下巻一気読み• データ解析のための統計モデリング入門の輪講会• わかりやすいパターン認識 ( 続 ) の輪講会

• 参加したい方は、 Facebook のグループにまずは参加を。• URL :https://www.facebook.com/groups/1767916400127792/

Page 3: 劣モジュラ最適化と機械学習1章

劣モジュラ最適化と機械学習の1章をやります

Page 4: 劣モジュラ最適化と機械学習1章

コンテンツ• 1.1 : はじめに• 1.2 : 劣モジュラ性への導入• 1.2.1 : 劣モジュラ関数の定義とその直感的解釈• 1.2.2 : 劣モジュラ関数の例

• 1.3 機械学習における劣モジュラ性• 1.4 本書で扱う話題• 1.5 利用可能なソフトウェア

Page 5: 劣モジュラ最適化と機械学習1章

本の内容に入る前に• 「劣モジュラってなんやねん。ざっくり説明してくれ」となりますよね。わかりますその気持ち。• そんなあなたにこちらの動画を。• アルゴリズムが世界を変える Season 3.0 〜口コミ効果最大化と劣モジュラ関数〜• https://www.youtube.com/watch?v=Z7eMzSHGGAE

Page 6: 劣モジュラ最適化と機械学習1章

コンテンツ• 1.1 : はじめに• 1.2 : 劣モジュラ性への導入• 1.2.1 : 劣モジュラ関数の定義とその直感的解釈• 1.2.2 : 劣モジュラ関数の例

• 1.3 機械学習における劣モジュラ性• 1.4 本書で扱う話題• 1.5 利用可能なソフトウェア

Page 7: 劣モジュラ最適化と機械学習1章

本書で取り扱う問題• 本書では、機械学習における組合せ的な側面を考える。

Page 8: 劣モジュラ最適化と機械学習1章

「組合せ」とは• 「組合せ」• 「何らかの選択可能な集まりの中から, その一部を選択する」という手続き

• 機械学習における問題を扱う際には、様々な場面で、この「組合せ」(的な計算)が重要な役割を担う。

Page 9: 劣モジュラ最適化と機械学習1章

組合せの例:病院の患者データ• 目標:新しい患者の必要な入院期間の予測• 使用するモデル:回帰モデル• 問題点:回帰モデルで使用する変数は?• 患者の体重や来院歴 → 有用な可能性大• 患者の趣味や職業 → 関係がなさそう

• 関係がない変数は選ばず有用なものを選びたい• → 変数集合の中から有用な変数集合を「システマティックに」選びたい ( 特徴選択 )

Page 10: 劣モジュラ最適化と機械学習1章

集合関数とは• 選択可能な対象 ( または要素 ) の集まりからその一部を選択する計算• 離散的な関数の最適化

Page 11: 劣モジュラ最適化と機械学習1章

集合関数の定義• : 選択可能な対象の数• : 選択可能な対象の集合 ( 台集合 )• : 集合関数• 台集合の各部分集合 に実数を割り当て

集合関数 が 7 つの要素から成る台集合上に定義

3 つの要素から成る部分集合に実数値を割り当てる

Page 12: 劣モジュラ最適化と機械学習1章

集合関数の最適化• この関数が、各部分集合の何らかのよさを表していてそれを最大化する計算を行います。• 例• 入院期間の予測精度に関連する量がで表されているとすればこれを最大とするような検査項目の集合を求めることが問題となる

• これは関数を用いた集合関数の最大化計算を行うことで達成できる

Page 13: 劣モジュラ最適化と機械学習1章

組合せ爆発• 一般に、ある台集合が与えられたとき、すべての部分集合の数は、に含まれる要素数 (II のように表します) に対して指数関数的に増加

• II = 2 → 4通り• II = 10 → 1024通り• II = 100 → 約 1030通り• II = 1000 → 約 10301通り

• 組合せ爆発のわかりやすい例:• 「フカシギの数え方」オネェさんと一緒!みんなで数えてみよう!• https://www.youtube.com/watch?v=Q4gTV4r0zRs

Page 14: 劣モジュラ最適化と機械学習1章

劣モジュラ性•「集合関数最適化などの組合せ的な計算を扱う難しさ」に直面しないよう に組合せ的な問題を考える• 1 つのキーとなる概念としても非常に重要

Page 15: 劣モジュラ最適化と機械学習1章

劣モジュラ性への導入• 劣モジュラ性• 集合関数における凸性にあたる構造であることが知 られている• 同時に、凹関数のような性質もあわせもつ (第 2章 )

• ここでは、劣モジュラ性の基本的な事項について導入的な説明をする

Page 16: 劣モジュラ最適化と機械学習1章

劣モジュラ関数の定義• この不等式を満たす集合関数 f は「劣モジュラ性を満たしている」という

• 劣モジュラ性を満たす集合関数を劣モジュラ関数と呼ぶ。

Page 17: 劣モジュラ最適化と機械学習1章

天才はこの式を見てこう思う•某天才氏:「おぉ〜劣モジュラ性と. 連続関数の凸性との関係を見れてるや〜ん」•凡人は、何も見えません。なので、直感的な説明をします ( 大事 ) 。そのための準備を少しだけします。

Page 18: 劣モジュラ最適化と機械学習1章

擬似ブール関数• 直感的説明のために集合関数と 0-1 ベクトル上に定義される実数値関数(擬似ブール関数)との対応に触れる•擬似ブール関数とは• 各成分が 0 または 1 のいずれかの値を持つベクトルの事を言う。

Page 19: 劣モジュラ最適化と機械学習1章

特性ベクトル• 台集合が与えられた時の各部分集合• に含まれる要素の成分: 1• に含まれない要素の成分: 0

• この表現で、次元の 0-1ベクトルと 1対 1対応させることができ、集合関数は次元 0-1 ベクトル上の実数値関数であるともいえる。• このようなベクトルを特性べクトルと呼ぶ。

Page 20: 劣モジュラ最適化と機械学習1章

特性ベクトル•任意の集合に対して特性ベクトルは、

• のように定義される

Page 21: 劣モジュラ最適化と機械学習1章

直感的理解をさせて仕り候•行くよ!!!

Page 22: 劣モジュラ最適化と機械学習1章

直感的理解のための具体例の設定•:• と の場合について直感的に説明する

• 集合関数 : • の場合 :

• {}, {1} の 2通りの場合への実数値への割り当て• f : 1次元の格子状の点に定義

• の場合:• {}, {1}, {2}, {1, 2} の 4通りの場合への実数値への割り当て• f : 2次元の 0-1 の格子状の点に定義

Page 23: 劣モジュラ最適化と機械学習1章

集合関数と凸性との関係を見るために集合関数を拡張•以下のように拡張• 一次元の• 二次元の

Page 24: 劣モジュラ最適化と機械学習1章

集合関数と凸性との関係を見るために集合関数を拡張• 一次元:• との間を線形補間

Page 25: 劣モジュラ最適化と機械学習1章

集合関数と凸性との関係を見るために集合関数を拡張• 2次元の場合• を満たすに対するの値は、以下のように分割して考える

• 原点からの方向へまで進む• その次にからの方向へまで進む

Page 26: 劣モジュラ最適化と機械学習1章

集合関数と凸性との関係を見るために集合関数を拡張• 2次元の場合• を満たすに対するの値は、以下のように分割して考える

• 原点からの方向へまで進む• その次にからの方向へまで進む

• とについて 1次元の場合と同様に線形補間により値の変化量を考えて、それらを足し合わせることでの値が定まります

Page 27: 劣モジュラ最適化と機械学習1章

集合関数と凸性との関係を見るために集合関数を拡張• 定義された連続関数は、もとの集合関数が式 (1.1) を満たしていれば、必ずとを結ぶ直線が谷となるような凸関数となります.

Page 28: 劣モジュラ最適化と機械学習1章

集合関数と凸性との関係を見るために集合関数を拡張• これは,式 (1.1) で , とすると、となることなどからも確かめられる

Page 29: 劣モジュラ最適化と機械学習1章

ロヴァース拡張• 劣モジュラ関数に対し,このような凸関数を生成する補間(凸緩和)を数理的に厳密に定義したものは、ロヴァース拡張と呼ばれる (2 章で議論 )

• これは劣モジュラ性に関連する最も重要な概念の 1 つ• 集合関数が劣モジュラ関数である必要十分条件=そのロヴァース拡張が凸関数であること

Page 30: 劣モジュラ最適化と機械学習1章

別の劣モジュラの定義 (1.1 と等価 )を加えた時の関数値の増分

に包含される「小さい」集合へ要素を加えた際の関数値の増え方を包含する「大きい」集合への増え方

この式は関数の逓減的な性質を表している

Page 31: 劣モジュラ最適化と機械学習1章

逓減的な性質の直感的解釈•情報分野で現れる関数には、逓減的な性質をもつ関数が頻繁に見られる。• これは情報の本質的な性質でもあるため• 直感的な解釈:

• 既知の情報が少ない場合に新しく得られ多情報の価値は大きい• すでにより多くのことが既知であれば同じ情報であってもその価値は比較的小さくなる

• 劣モジュラ関数の定義式 (1.2) は, まさにこのような状況を表しているといえます.

Page 32: 劣モジュラ最適化と機械学習1章

劣モジュラ関数の例• モジュラ関数•カット関数•カバー関数

Page 33: 劣モジュラ最適化と機械学習1章

モジュラ関数任意の n次元実ベクトルに対して

と定義される集合関数は,劣モジュラ性を満たす(定義式 (1.1) を等号で満たす)このような関数はモジュラ関数と呼ばれ、特性ベクトルを用いれば線形関数としても表現されるため、最も単純な劣モジュラ関数であるといえる

Page 34: 劣モジュラ最適化と機械学習1章

カット関数任意の無向グラフ が与えられたとき、選択したノード集合とその補集合 () との間の枝の数を返すような関数

Page 35: 劣モジュラ最適化と機械学習1章

カバー関数何らかの有限個の要素集合と、それらの一部を各々含むようなグループの集合が与えられたとき、選択したグループに含まれる要素の数を返すような関数を、カバー関数と呼ぶ

Page 36: 劣モジュラ最適化と機械学習1章

その他の劣モジュラ性を持つ関数• 実行列M が与えられたとき、すべての行の中から、その一部の行 を選択したときに得られる部分行列のランクは、劣モジュラ関数

Page 37: 劣モジュラ最適化と機械学習1章

その他の劣モジュラ性を持つ関数• その他にも、様々な情報分野(やその他の周辺分野)における集合関数が劣モジュラ関数である• 相互情報量• 情報利得• 経済分野における効用関数(優モジュラ関数)• 正定値対称行列の行列式• 凸ゲーム• 自乗重相関係数など

Page 38: 劣モジュラ最適化と機械学習1章

機械学習における劣モジュラ性• 機械学習の主要なアルゴリズムでの利用:• 能動学習• ノンパラメトリック・ベイズ推定• スペクトラル法• グラフ構造の推定

• 特徴選択に限らず、多様な応用的問題へと適用:• グラフマイニング• バイラル・マーケティング• ネットワーク分析

Page 39: 劣モジュラ最適化と機械学習1章

離散的なデータ構造への適用• 劣モジュラ関数:• 離散的なデータ構造を表すのに適した関数

• 画像での例;• 背景画素の隣の画素は同じく背景であり、オブジェクトの隣の画素はオブジェクトである場合が多い• 境界上でのみ, これと異なる状況が起こる• この関係を用いたアルゴリズム:グラフカット

Page 40: 劣モジュラ最適化と機械学習1章

構造正則化と劣モジュラ• 機械学習を用いる際にはしばしば変数間に構造的な依存関係が存在する場合があり、劣モジュラ関数を用いて表現される場合が多い• 例 1 :変数間に階層関係があるような状況• 例 2 :変数に一種の冗長性があり類似したものが含まれている状況

• そのようなデータ変数間の構造を取り込むことで, より精度が高く解釈が容易な学習が期待できる。

Page 41: 劣モジュラ最適化と機械学習1章

その他の劣モジュラ性を持つ関数•情報分野などでよく用いられる量である(同時)エントロピーも、変数から成る集合に関する集合関数として見た場合は劣モジュラ性をもっていることが知られている。•第 3 章で考えるセンサ配置においては, このエントロピーの性質を用いた定式化について見ていく。

Page 42: 劣モジュラ最適化と機械学習1章

本書で扱う話題• 劣モジュラ最適化がどのように機械学習における問題の定式化やその解法の中で用いられているかについて説明• 機械学習で議論される主要な問題への適用を中心として. 現時点でも実用につながると思われる話題を中心に取り上げている

Page 43: 劣モジュラ最適化と機械学習1章

第 2 章 劣モジュラ最適化の基礎の概要• 劣モジュラ関数とその最適化に関する以下のような基本的な事項について説明• 劣モジュラ関数の定義• 代表的な劣モジュラ関数における劣モジュラ性の証明• 劣モジュラ関数最適化の基本的な考え方や代表的なアルゴリズム

• この内容は、後の部分の基礎になるのでひと通り理解して進むのが良い

Page 44: 劣モジュラ最適化と機械学習1章

第 3 章劣モジュラ関数の最大化と貪欲法の適用の概要• 劣モジュラ関数の最大化とその応用について見る• 機械学習分野において劣モジュラ最適化が用いられるようになった火つけ役

• この問題は、 1.3節で述べたように応用上重要な定式化である一方、理論的にはいわゆる NP困難な問題の一種で、効率的に厳密に最適化することは期待できない。

Page 45: 劣モジュラ最適化と機械学習1章

第 3 章劣モジュラ関数の最大化と貪欲法の適用の概要• しかしながら、貪欲法という極めて単純な方法でよい近似的な解が見つかることなどが知られている•代表的な応用例として、以下への適用も紹介• 文書要約• センサ配置問題• 能動学習

Page 46: 劣モジュラ最適化と機械学習1章

第 4 章最大流とグラフカットの概要• グラフカットについて紹介する• 劣モジュラ関数の最小化が実用的にも用いられている例

• 本章ではグラフカットに加えて以下も考えていく• グラフカットの劣モジュラ関数の最小化における位置づけ• 高速に最小化計算可能な劣モジュラ関数とはどういうものか

Page 47: 劣モジュラ最適化と機械学習1章

第 5 章劣モジュラ最適化を用いた構造正則化学習の概要• データ変数間の依存関係を機械学習アルゴリズムヘ取り込むアプローチである構造正則化学習について取り上げる• この依存関係は多くの場合に劣モジュラ関数で表せる

• 劣モジュラ関数として表すことで最終的にはパラメトリック最大流と呼ばれる問題の反復的な計算へと帰着することが可能• パラメトリック最大流は, 実用的な高速アルゴリズムで計算可能なことが知られている

Page 48: 劣モジュラ最適化と機械学習1章

利用可能なソフトウェア• 割愛• (普通に本書を参照するといいと思います。 )

Page 49: 劣モジュラ最適化と機械学習1章

参考文献• S. Fujishige. Submodular Functions and

Optimization. Elsevier, 2nd edition, 2005.• 劣モジュラ最適化に関する教科書• 藤重による書籍 [13]