Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

7,471 views

Published on

機械学習プロフェッショナルシリーズの劣モジュラ最適化と機械学習の1章の発表資料です。

Published in: Data & Analytics
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

  1. 1. 劣モジュラ最適化と機械学習1章 機械学習プロフェッショナルシリーズ @St_Hakky
  2. 2. 自己紹介と告知 • Twitter : @St_Hakky • ブログ:http://st-hakky.hatenablog.com/ • 関西で機械学習勉強会を実施中!! • 団体のモットー: • 圧倒的スピード感で大量の書物と論文をぶった切る • 「えっ、まだ読んでないの?」と煽り奉り、輪講会を乱立させる • 過去のイベント例 • PRML輪講会、PRML上巻/下巻一気読み • データ解析のための統計モデリング入門の輪講会 • わかりやすいパターン認識(続)の輪講会 • 参加したい方は、Facebookのグループにまずは参加を。 • URL :https://www.facebook.com/groups/1767916400127792/
  3. 3. 劣モジュラ最適化と機械学習の 1章をやります
  4. 4. コンテンツ • 1.1 : はじめに • 1.2 : 劣モジュラ性への導入 • 1.2.1 : 劣モジュラ関数の定義とその直感的解釈 • 1.2.2 : 劣モジュラ関数の例 • 1.3 機械学習における劣モジュラ性 • 1.4 本書で扱う話題 • 1.5 利用可能なソフトウェア
  5. 5. 本の内容に入る前に • 「劣モジュラってなんやねん。ざっくり説明してくれ」 となりますよね。わかりますその気持ち。 • そんなあなたにこちらの動画を。 • アルゴリズムが世界を変える Season 3.0〜口コミ効果 最大化と劣モジュラ関数〜 • https://www.youtube.com/watch?v=Z7eMzSHGGAE
  6. 6. コンテンツ • 1.1 : はじめに • 1.2 : 劣モジュラ性への導入 • 1.2.1 : 劣モジュラ関数の定義とその直感的解釈 • 1.2.2 : 劣モジュラ関数の例 • 1.3 機械学習における劣モジュラ性 • 1.4 本書で扱う話題 • 1.5 利用可能なソフトウェア
  7. 7. 本書で取り扱う問題 • 本書では、機械学習における組合せ的な側面を 考える。
  8. 8. 「組合せ」とは • 「組合せ」 • 「何らかの選択可能な集まりの中から, その一部を選 択する」という手続き • 機械学習における問題を扱う際には、様々な場面 で、この「組合せ」(的な計算)が重要な役割を担う。
  9. 9. 組合せの例:病院の患者データ • 目標:新しい患者の必要な入院期間の予測 • 使用するモデル:回帰モデル • 問題点:回帰モデルで使用する変数は? • 患者の体重や来院歴 → 有用な可能性大 • 患者の趣味や職業 → 関係がなさそう • 関係がない変数は選ばず有用なものを選びたい • →変数集合の中から有用な変数集合を「システマティッ クに」選びたい(特徴選択)
  10. 10. 集合関数とは • 選択可能な対象(または要素)の集まりからその一 部を選択する計算 • 離散的な関数の最適化
  11. 11. 集合関数の定義 • 𝑛 : 選択可能な対象の数 • 𝑉 = {𝑙, … , 𝑛} : 選択可能な対象の集合(台集合) • 𝑓: 2 𝑉 → ℝ :集合関数 • 台集合𝑉の各部分集合 𝑠 (⊆ 𝑉)に実数を割り当て 集合関数 𝑓が7 つの要素 から成る台集合𝑉上に定義 3つの要素から成る部分集合𝑆 に実数値を割り当てる
  12. 12. 集合関数の最適化 • この関数𝑓が、各部分集合𝑆の何らかのよさを表し ていてそれを最大化する計算を行います。 • 例 • 入院期間の予測精度に関連する量が𝑓で表されている とすればこれを最大とするような検査項目の集合を求 めることが問題となる • これは関数𝑓を用いた集合関数の最大化計算を行うことで達 成できる
  13. 13. 組合せ爆発 • 一般に、ある台集合𝑉が与えられたとき、すべての部分集 合S (⊆ 𝑉)の数は、𝑉に含まれる要素数 (I𝑉Iのように表しま す) に対して指数関数的に増加 • I𝑉I = 2 → 4通り • I𝑉I = 10 → 1024通り • I𝑉I = 100 → 約1030通り • I𝑉I = 1000 → 約10301通り • 組合せ爆発のわかりやすい例: • 「フカシギの数え方」オネェさんと一緒!みんなで数えてみよう! • https://www.youtube.com/watch?v=Q4gTV4r0zRs
  14. 14. 劣モジュラ性 • 「集合関数最適化などの組合せ的な計算を扱う難 しさ」に直面しないよう に組合せ的な問題を考える • 1つのキーとなる概念としても非常に重要
  15. 15. 劣モジュラ性への導入 • 劣モジュラ性 • 集合関数における凸性にあたる構造であることが知 ら れている • 同時に、凹関数のような性質もあわせもつ(第2章) • ここでは、劣モジュラ性の基本的な事項について 導入的な説明をする
  16. 16. 劣モジュラ関数の定義 • この不等式を満たす集合関数fは「劣モジュラ性を 満たしている」という • 劣モジュラ性を満たす集合関数を劣モジュラ関数 と呼ぶ。
  17. 17. 天才はこの式を見てこう思う • 某天才氏:「おぉ〜劣モジュラ性と. 連続関数の凸 性との関係を見れてるや〜ん」 • 凡人は、何も見えません。なので、直感的な説 明をします(大事)。そのための準備を少しだけしま す。
  18. 18. 擬似ブール関数 • 直感的説明のために集合関数と0-1ベクトル上に 定義される実数値関数(擬似ブール関数)との対 応に触れる • 擬似ブール関数とは • 各成分が0または1のいずれかの値を持つベクトルの事 を言う。
  19. 19. 特性ベクトル • 台集合𝑉が与えられた時の各部分集合S ⊆ 𝑉: • 𝑆に含まれる要素の成分:1 • 𝑆に含まれない要素の成分:0 • この表現で、𝒏次元の0-1ベクトルと1対1対応させ ることができ、集合関数は𝑛次元0-1ベクトル上の 実数値関数であるともいえる。 • このようなベクトルを特性べクトルと呼ぶ。
  20. 20. 特性ベクトル • 任意の集合𝑆 ⊆ 𝑉に対して特性ベクトル𝜒 𝑠 = (𝑣1, … 𝑣 𝑛)は、 • のように定義される
  21. 21. 直感的理解をさせて仕り候 • 行くよ!!!
  22. 22. 直感的理解のための具体例の設定 • 台集合𝑉 : • 𝑉 = {1}と 𝑉 = {1,2}の場合について直感的に説明する • 集合関数𝑓 : • 𝑉 = {1} の場合: • {}, {1}の2通りの場合への実数値への割り当て • f : 1次元の格子状の点に定義 • 𝑉 = {1,2}の場合: • {}, {1}, {2}, {1, 2}の4通りの場合への実数値への割り当て • f : 2次元の0-1の格子状の点に定義
  23. 23. 集合関数と凸性との関係を見るために集合 関数を拡張 • 以下のように拡張 • 一次元の 𝑓 ∶ ℝ → ℝ • 二次元の 𝑓 ∶ ℝ2 → ℝ
  24. 24. 集合関数と凸性との関係を見るために集合 関数を拡張 • 一次元: • 𝑓({})と𝑓({1})の間を線形補間
  25. 25. 集合関数と凸性との関係を見るために集合 関数を拡張 • 2次元の場合 • 𝑝1 ≤ 𝑝2を満たす𝑝 = (𝑝1, 𝑝2) ∈ ℝに対する 𝑓(𝑝)の値は、 以下のように分割して考える • (𝑖) 原点(0,0)から(1,1)の方向へ(𝑝1, 𝑝2)まで進む • (𝑖𝑖) その次に(𝑝1, 𝑝2)から(0, 1) の方向へ(𝑝1, 𝑝2)まで進む
  26. 26. 集合関数と凸性との関係を見るために集合 関数を拡張 • 2次元の場合 • 𝑝1 ≤ 𝑝2を満たす𝑝 = (𝑝1, 𝑝2) ∈ ℝに対する 𝑓(𝑝)の値は、 以下のように分割して考える • (𝑖) 原点(0,0)から(1,1)の方向へ(𝑝1, 𝑝2)まで進む • (𝑖𝑖) その次に(𝑝1, 𝑝2)から(0, 1) の方向へ(𝑝1, 𝑝2)まで進む • (𝑖)と(𝑖𝑖)について1次元の場合と同様に線形補間により値 の変化量を考えて、それらを足し合わせることで 𝑓(𝑝)の値 が定まります
  27. 27. 集合関数と凸性との関係を見るために集合 関数を拡張 • 定義された連続関数 𝑓 ∶ ℝ2 → ℝは、もとの集合関数𝑓が式 (1.1)を満たしていれば、必ず(0,0)と(1,1)を結ぶ直線が谷と なるような凸関数となります.
  28. 28. 集合関数と凸性との関係を見るために集合 関数を拡張 • これは,式(1.1)で𝑆 = {1}, 𝑇 = {2} とすると、𝑓({𝑙}) + 𝑓({2}) ≥ 𝑓({1, 2}) + 𝑓({})となることなどからも確かめられ る
  29. 29. ロヴァース拡張 • 劣モジュラ関数に対し,このような凸関数を生成する補間 (凸緩和)を数理的に厳密に定義したものは、ロヴァース拡 張と呼ばれる(2章で議論) • これは劣モジュラ性に関連する最も重要な概念の1つ • 集合関数が劣モジュラ関数である必要十分条件=そのロ ヴァース拡張が凸関数であること
  30. 30. 別の劣モジュラの定義(1.1と等価) 𝑖を加えた時の関数値の増分 𝑇に包含される「小さい」集合𝑆へ要素 𝑖(∈ V ∖ 𝑇)を加えた際の関数値の増え方 𝑆を包含する「大きい」集合𝑇への増え方 この式は関数𝒇の逓減的な性質を表している
  31. 31. 逓減的な性質の直感的解釈 • 情報分野で現れる関数には、逓減的な性質をもつ 関数が頻繁に見られる。 • これは情報の本質的な性質でもあるため • 直感的な解釈: • 既知の情報が少ない場合に新しく得られ多情報の価値は大き い • すでにより多くのことが既知であれば同じ情報であってもその 価値は比較的小さくなる • 劣モジュラ関数の定義式(1.2)は, まさにこのよう な状況を表しているといえます.
  32. 32. 劣モジュラ関数の例 • モジュラ関数 • カット関数 • カバー関数
  33. 33. モジュラ関数 任意のn次元実ベクトルα ∈ ℝ 𝑛に対して と定義される集合関数は,劣モジュラ性を満たす(定義式 (1.1)を等号で満たす) このような関数はモジュラ関数と呼ばれ、特性ベクトル𝜒 𝑠 ∈ {0,1} 𝑛 を用いれば線形関数𝑓 𝑆 = 𝑎 𝑇 𝜒 𝑠としても表現される ため、最も単純な劣モジュラ関数であるといえる
  34. 34. カット関数 任意の無向グラフ𝒢 = (𝑉, ε) が与えられたとき、選択した ノード集合(𝑆 ⊆ 𝑉)とその補集合(𝑉 ∕ 𝑆)との間の枝の数を 返すような関数
  35. 35. カバー関数 何らかの有限個の要素集合と、それらの一部を各々含む ようなグループの集合𝑉が与えられたとき、選択したグ ループ𝑆 ⊆ 𝑉に含まれる要素の数を返すような関数を、カ バー関数と呼ぶ
  36. 36. その他の劣モジュラ性を持つ関数 • 実行列Mが与えられたとき、すべての行𝑉の中か ら、その一部の行𝑆 ⊆ 𝑉 を選択したときに得られる 部分行列のランクは、劣モジュラ関数
  37. 37. その他の劣モジュラ性を持つ関数 • その他にも、様々な情報分野(やその他の周辺分 野)における集合関数が劣モジュラ関数である • 相互情報量 • 情報利得 • 経済分野における効用関数(優モジュラ関数) • 正定値対称行列の行列式 • 凸ゲーム • 自乗重相関係数など
  38. 38. 機械学習における劣モジュラ性 • 機械学習の主要なアルゴリズムでの利用: • 能動学習 • ノンパラメトリック・ベイズ推定 • スペクトラル法 • グラフ構造の推定 • 特徴選択に限らず、多様な応用的問題へと適用: • グラフマイニング • バイラル・マーケティング • ネットワーク分析
  39. 39. 離散的なデータ構造への適用 • 劣モジュラ関数: • 離散的なデータ構造を表すのに適した関数 • 画像での例; • 背景画素の隣の画素は同じく背景であり、オブジェクト の隣の画素はオブジェクトである場合が多い • 境界上でのみ, これと異なる状況が起こる • この関係を用いたアルゴリズム:グラフカット
  40. 40. 構造正則化と劣モジュラ • 機械学習を用いる際にはしばしば変数間に構造 的な依存関係が存在する場合があり、劣モジュラ 関数を用いて表現される場合が多い • 例1:変数間に階層関係があるような状況 • 例2:変数に一種の冗長性があり類似したものが含まれ ている状況 • そのようなデータ変数間の構造を取り込むことで, より精度が高く解釈が容易な学習が期待できる。
  41. 41. その他の劣モジュラ性を持つ関数 • 情報分野などでよく用いられる量である(同時)エ ントロピーも、変数から成る集合に関する集合関 数として見た場合は劣モジュラ性をもっていること が知られている。 • 第3章で考えるセンサ配置においては, このエント ロピーの性質を用いた定式化について見ていく。
  42. 42. 本書で扱う話題 • 劣モジュラ最適化がどのように機械学習における 問題の定式化やその解法の中で用いられている かについて説明 • 機械学習で議論される主要な問題への適用を中 心として. 現時点でも実用につながると思われる 話題を中心に取り上げている
  43. 43. 第2章 劣モジュラ最適化の基礎の概要 • 劣モジュラ関数とその最適化に関する以下のよう な基本的な事項について説明 • 劣モジュラ関数の定義 • 代表的な劣モジュラ関数における劣モジュラ性の証明 • 劣モジュラ関数最適化の基本的な考え方や代表的な アルゴリズム • この内容は、後の部分の基礎になるのでひと通り 理解して進むのが良い
  44. 44. 第3章劣モジュラ関数の最大化と貪欲法 の適用の概要 • 劣モジュラ関数の最大化とその応用について見る • 機械学習分野において劣モジュラ最適化が用いられる ようになった火つけ役 • この問題は、1.3節で述べたように応用上重要な定 式化である一方、理論的にはいわゆるNP困難な 問題の一種で、効率的に厳密に最適化することは 期待できない。
  45. 45. 第3章劣モジュラ関数の最大化と貪欲法 の適用の概要 • しかしながら、貪欲法という極めて単純な方法でよ い近似的な解が見つかることなどが知られている • 代表的な応用例として、以下への適用も紹介 • 文書要約 • センサ配置問題 • 能動学習
  46. 46. 第4章最大流とグラフカットの概要 • グラフカットについて紹介する • 劣モジュラ関数の最小化が実用的にも用いられている例 • 本章ではグラフカットに加えて以下も考えていく • グラフカットの劣モジュラ関数の最小化における位置づけ • 高速に最小化計算可能な劣モジュラ関数とはどういうも のか
  47. 47. 第5章劣モジュラ最適化を用いた構造正 則化学習の概要 • データ変数間の依存関係を機械学習アルゴリズ ムヘ取り込むアプローチである構造正則化学習に ついて取り上げる • この依存関係は多くの場合に劣モジュラ関数で表せる • 劣モジュラ関数として表すことで最終的にはパラメ トリック最大流と呼ばれる問題の反復的な計算へ と帰着することが可能 • パラメトリック最大流は, 実用的な高速アルゴリズムで 計算可能なことが知られている
  48. 48. 利用可能なソフトウェア • 割愛 • (普通に本書を参照するといいと思います。)
  49. 49. 参考文献 • S. Fujishige. Submodular Functions and Optimization. Elsevier, 2nd edition, 2005. • 劣モジュラ最適化に関する教科書 • 藤重による書籍[13]

×