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.

劣モジュラ最適化と機械学習 2.5節

953 views

Published on

機械学習プロフェッショナルシリーズの、劣モジュラ最適化と機械学習 2.5節 の内容です。

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

劣モジュラ最適化と機械学習 2.5節

  1. 1. 劣モジュラ最適化と機械学習 2.5節 機械学習プロフェッショナルシリーズ @St_Hakky
  2. 2. 自己紹介と告知 • Twitter : @St_Hakky • ブログ:http://st-hakky.hatenablog.com/ • 関西で機械学習勉強会を実施中!! • 団体のモットー: • 圧倒的スピード感で大量の書物と論文をぶった切る • 「えっ、まだ読んでないの?」と煽り奉り、輪講会を乱立させる • 過去のイベント例 • PRML輪講会、PRML上巻/下巻一気読み • データ解析のための統計モデリング入門の輪講会 • わかりやすいパターン認識(続)の輪講会 • 参加したい方は、Facebookのグループにまずは参加を。 • URL :https://www.facebook.com/groups/1767916400127792/
  3. 3. 劣モジュラ最適化と機械学習の 2.5節をやります
  4. 4. コンテンツ • 2.5 劣モジュラ関数と凸性 • 2.5.1 : 集合関数のロヴァース拡張 • 2.5.2 : 劣モジュラ関数と凸関数 • 2.5.3 : 劣モジュラ関数の多重線形拡張
  5. 5. 劣モジュラ関数と凸性 正規化された劣モジュラ関数 𝑓: 2 𝑉 → ℝ 𝑉 = {1, … , 𝑛} 劣モジュラ関数と凸性についてはある種の等価性 が成立 この凸性は最適化アルゴリズムの設計上でも重 要な役割を果たす
  6. 6. ロヴァース拡張への誘い 劣モジュラ関数が離散領域{0,1} 𝑛で凸関数とみなせ ることについて、その意味を正確に述べるためロ ヴァース拡張を見る ロヴァース拡張 𝑓: ℝ≥0 𝑛 → ℝ
  7. 7. 定義域の違い 劣モジュラ関数𝑓: 2 𝑉 → ℝの定義域 離散領域{0,1} 𝑛 ロヴァース拡張 𝑓: ℝ≥0 𝑛 → ℝの定義域 {0,1} 𝑛を連続化した𝑛次元の非負象限ℝ≥0 𝑛 劣モジュラ関数と凸性の等価性が導かれる
  8. 8. 多重線形拡張 多重線形拡張 𝑓: [0, 1] 𝑛 → ℝ またロヴァース拡張とは異なる連続化である多重線 形拡張も用いられる
  9. 9. 多重線形拡張の定義域 多重線形拡張 𝑓: [0, 1] 𝑛 → ℝの定義域 𝑛次元単位超立方体[0, 1] 𝑛
  10. 10. 拡張している概念の違い 劣モジュラ関数𝑓を凸関数として 拡張する概念 劣モジュラ関数𝑓を部分的に見れば 凹関数となるように拡張する概念
  11. 11. 目的の違い 劣モジュラ関数の最小化や最小 化と関連する最適化で用いる 劣モジュラ関数の最大化において 用いる
  12. 12. ロヴァース拡張 𝑓と多重線形拡張 𝑓の具 体例 準備(記号) 𝑉 = {1, 2} 𝑓({}) = 0 𝑓({1}) = 4 𝑓({2}) = 3 𝑓({1,2}) = 5 上記により定まる劣モジュラ関数𝑓 ∶ 2{1,2} → ℝ を考える
  13. 13. ロヴァース拡張 𝑓と多重線形拡張 𝑓の具 体例 ロヴァース拡張 𝑓: ℝ≥0 2 → ℝと多重線形 拡張 𝑓: [0, 1]2 → ℝは次式のようになる
  14. 14. ロヴァース拡張 𝑓と多重線形拡張 𝑓 線形関数をつなぎ合わせてできた関数 任意の変数1つのみに着目すれば線形関数 であるような関数
  15. 15. 𝑓の自然な拡張であることの確認 𝑓と 𝑓について以下が成り立つので、それぞれ𝑓の 自然な拡張であるといえる
  16. 16. ロヴァース拡張 𝑓の凸関数の確認 𝑓 (𝑧1, 𝑧2) = 𝑚𝑎𝑥{4𝑧1 + 𝑧2,2𝑧1 + 3𝑧2} 確かに凸関数
  17. 17. 多重線形拡張 𝑓の部分的凹関数の確認 ℎ 𝑡 = 𝑓 𝑡, 1 − 𝑡 = −2𝑡2 + 7𝑡 例: 𝒂 = (1,1) 𝒃 = (0,0) ℎは確かに凹関数 ℎ(𝑡) = 𝑓(𝑡, 1 − 𝑡) = 2𝑡2 − 𝑡 + 3 例: 𝒂 = (1, − 1), 𝒃 = (0,1) この場合ℎは凸関数 1変数関数ℎ: ℝ → ℝをℎ(𝑡) = 𝑓(𝑡𝒂 + 𝒃) ℎは凹関数 (𝒂 ∈ ℝ≥0 2 , 𝒃 ∈ [0, 1]2) ℎは凸関数 (それ以外)
  18. 18. この後の流れ • 2.5 劣モジュラ関数と凸性 • 2.5.1 : 集合関数のロヴァース拡張 • 劣モジュラ関数とは限らない関数と劣モジュラ関数のロヴァー ス拡張について • 2.5.2 : 劣モジュラ関数と凸関数 • 劣モジュラ関数と凸関数に等価性について • 2.5.3 : 劣モジュラ関数の多重線形拡張 • 劣モジュラ関数の多重線形拡張の定義とその性質
  19. 19. 集合関数のロヴァース拡張 記号 𝑉 = {1,2, . . . , 𝑛}:台集合 𝑔: 2 𝑉 → ℝ:任意の(劣モジュラとは限らない)正規 化された集合関数 S ⊆ 𝑉:各部分集合 𝜒 𝑠 ∈ {0, 1} 𝑛: 𝑆の特性ベクトル
  20. 20. 𝑔 の定義域2 𝑉 2 𝑉 ≅ {0,1} 𝑛と表記 𝑛次元0 − 1ベクトル全体の集合{0,1} 𝑛 𝑔 の定義域2 𝑉 S ⊆ 𝑉と𝜒 𝑠 ∈ {0, 1} 𝑛 の対応 を考えると同一視できる
  21. 21. ロヴァース拡張 𝑔の定義 を満たす必要があるが、{𝟎, 𝟏} 𝒏 に含まれな い𝒛 ∈ ℝ≥𝟎 𝒏 につ いて、 𝒈(𝒛)の値を決める必要がある 𝑔が自然な連続化関数とすると、 定義域を離散領域の2 𝑉 ≅ {0,1} 𝑛から非負象限ℝ≥0 𝑛 へと拡張し、ロヴァース拡張 𝑔: ℝ≥0 𝑛 → ℝを定義する
  22. 22. ロヴァース拡張の関数値 𝑔(𝒛)の定義 𝒛 = ( 𝑧1, 𝑧2, … , 𝑧 𝑛) ∈ ℝ≥0 𝑛 : 𝑛 次元の非負ベクトル 𝐿 = (𝑖1, 𝑖2, … , 𝑖 𝑛): 𝑉の任意の線形順序 𝐿(0) = {}, 𝐿(𝑗) = {𝑖1, … , 𝑖𝑗}(𝑗 = 1, … , 𝑛) 𝝌 𝐿(1), … , 𝝌 𝐿(𝑛): 𝑛個の特性ベクトル 記号
  23. 23. ロヴァース拡張の関数値 𝑔(𝒛)の定義 𝑧𝑖1 ≥ 𝑧𝑖2 ≥ ⋯ ≥ 𝑧𝑖 𝑛 を満たすような𝐿 = (𝑖1, 𝑖2, … , 𝑖 𝑛)と𝒛 を1つ取ると、以下のように表現できる 𝝌 𝐿(1), … , 𝝌 𝐿(𝑛)の非負結合として分解した表現が得られる
  24. 24. ロヴァース拡張の関数値 𝑔(𝒛)の定義 𝑔は𝐿に依存せず一意に定まるので、 𝑔は一般に連続関数とな る ロヴァース拡張の関数値 𝑔(𝒛)
  25. 25. 具体例: 𝑧 = (1, 0.5, 0.7, 0.1) ∈ ℝ4 の 𝑔(𝒛) という非負結合表現が得られるので, が得られる 𝑧1 ≥ 𝑧3 ≥ 𝑧2 ≥ 𝑧4より線形順序𝐿 = (1,3,2,4)であるから
  26. 26. ここまでのまとめ この定義より、各S ⊆ 𝑉について 𝑔 𝝌 𝑆 = 𝑔(𝑆) (2.29)が成立。 記号 � = {1,2, . .. , � } :台集合 � : 2 → ℝ:任意の(劣モジュラとは限らない)正規 化された集合関数 S ⊆� :各部分集合 � ∈{0, 1} : � の特性ベクトル ロヴァース拡張の関数値� (� ) よって、ロヴァース拡張 𝑔: ℝ≥0 𝑛 → ℝは集合関数𝑔: 2 𝑉 → ℝの自然な拡張になっている
  27. 27. ロヴァース拡張 𝑔: ℝ≥0 𝑛 → ℝの性質についても う少し詳しく見て見る
  28. 28. ロヴァース拡張の図形的な解釈 𝐿 = (𝑖1, 𝑖2, … , 𝑖 𝑛): 𝑉の任意の線形順序に対し、 𝐶 𝐿 ⊆ ℝ 𝑛 をを以下のように定義
  29. 29. 𝐶 𝐿 の図形的解釈 𝐶 𝐿 は錐:𝐳 ∈ 𝐶 𝐿 かつα ≥ 0ならばα𝒛もまた𝐶 𝐿 に含ま れることからわかる 錐は𝑛! 個:𝐿のとり方だけあるので、非負象限ℝ≥0 𝑉 。 は𝑛! 個の錐に分割される
  30. 30. ロヴァース拡張 𝑔 ロヴァース拡張 𝑔: ℝ≥0 𝑛 → ℝの定義式(2.32)より、各 錐𝐶 𝐿 の上に限れば線形関数 𝑔は𝑛! 個の線形関数を連結させることで 得られる関数 ロヴァース拡張の関数値� (� )
  31. 31. 錐𝐶 𝐿 とロヴァース拡張の値の関係 のように𝝌 𝐿(1), … , 𝝌 𝐿(𝑛)の非負結合で表されるベクトル全体と 一致。この時、ロヴァース拡張の値は以下のようになる 錐𝐶 𝐿 = 𝐶(𝑖1,… ,𝑖 𝑛)は、𝑛個の特性ベクトル𝝌 𝐿(1), … , 𝝌 𝐿(𝑛)と任 意の𝑛 個の非負実数λ1, … , λ 𝑛 ≥ 0を用いて ロヴァ ー ス拡張の値
  32. 32. 具体例:𝑛 = 2 • 𝑔: 2{1,2} → ℝ • 非負象限ℝ≥0 2 は以下の二つに分割される • 𝐶(1,2) = {(𝑧1, 𝑧2) ∈ ℝ2 : 𝑧1 ≥ 𝑧2 ≥ 0} • 𝐶(2,1) = {(𝑧1, 𝑧2) ∈ ℝ2 : 𝑧2 ≥ 𝑧1 ≥ 0} • ロヴァ ース拡張 𝑔: ℝ≥0 2 → ℝは次で与えられる 関数 𝑔は、確かに𝑪(𝟏,𝟐)と𝑪(𝟐,𝟏)の上 では線形関数
  33. 33. 具体例:𝑛 = 3 • 𝑔: 2{1,2,3} → ℝ • 非負象限ℝ≥0 3 は3! = 6個の錐に分割 • 𝐶(1,2,3), 𝐶(1,3,2), 𝐶(2,1,3), 𝐶(2,3,1), 𝐶(3,1,2), 𝐶(3,2,1)
  34. 34. この後の流れ • 2.5 劣モジュラ関数と凸性 • 2.5.1 : 集合関数のロヴァース拡張 • 劣モジュラ関数とは限らない関数と劣モジュラ関数のロヴァー ス拡張について • 2.5.2 : 劣モジュラ関数と凸関数 • 劣モジュラ関数と凸関数に等価性について • 2.5.3 : 劣モジュラ関数の多重線形拡張 • 劣モジュラ関数の多重線形拡張の定義とその性質
  35. 35. 2.5.2 劣モジュラ関数と凸関数 • 劣モジュラ関数のロヴァース拡張は2 .4節で定義 した多面体で簡潔な形で表現可能なことを見る • 劣モジュラ多面体𝑃(𝑓) ⊆ ℝ 𝑛 • 基多面体𝐵(𝑓) ⊆ ℝ 𝑛 • この節では、さらに劣モジュラ関数と凸関数の等 価性についてもみる。
  36. 36. 劣モジュラ関数のロヴァース拡張 • 𝑓: 2 𝑉 → ℝ:正規化された劣モジュラ関数につい て、そのロヴァース拡張 𝑓: ℝ≥0 𝑛 → ℝを考える • ここでは、劣モジュラ関数について、そのロヴァー ス拡張が𝑃(𝑓) ⊆ ℝ 𝑛 や𝐵(𝑓) ⊆ ℝ 𝑛 を用いて式 (2.32) とは異なる形で表現可能なことを見る
  37. 37. 劣モジュラ関数のロヴァース拡張 記号 𝒛 = ( 𝑧1, 𝑧2, … , 𝑧 𝑛) ∈ ℝ≥0 𝑛 :任意の𝑛次元非負ベクトル 𝐿 = (𝑖1, 𝑖2, … , 𝑖 𝑛):𝑧𝑖1 ≥ 𝑧𝑖2 ≥ ⋯ ≥ 𝑧𝑖 𝑛 を満たす 𝑉の線形順序 𝒙 𝐿:式(2.22)によって定義される線形順序𝐿に対応す る基多面体𝐵(𝑓)の端点
  38. 38. ロヴァース拡張の関数値 𝑓(𝒛) ロヴァース拡張の関数値 𝑓(𝒛)は式(2.32)を変形する ことで以下のようになる。 ロヴァース拡張の関数値� (� )
  39. 39. ここでちろっと2.4の復習
  40. 40. 基多面体上の線形最適化(復習) 次の問題を考える 𝒙は基多面体 𝒄, 𝒙 = 𝑖=1 𝑛 𝑐𝑖 𝑥𝑖 実行可能領域を有界な多面体とする線形最適化問題には 端点であるような最適解、端点最適解が必ず存在
  41. 41. 線形最適化問題に対する貪欲法(復習)
  42. 42. 式2.35をもう一度見る 𝒄, 𝒙 = 𝑖=1 𝑛 𝑐𝑖 𝑥𝑖 形が同じ
  43. 43. 式2.35をもう一度見る 𝒄, 𝒙 = 𝑖=1 𝑛 𝑐𝑖 𝑥𝑖 形が同じ 𝒄の定数ベクトル → 𝐳 ∈ ℝ≥0 𝑛 を定数ベクトル 𝒙 ∈ 𝐵 (𝑓)はそのまま同じ意味として扱う
  44. 44. 式2.35をもう一度見る 𝒄, 𝒙 = 𝑖=1 𝑛 𝑐𝑖 𝑥𝑖 形が同じ 𝒄の定数ベクトル → 𝐳 ∈ ℝ≥0 𝑛 を定数ベクトル 𝒙 ∈ 𝐵 (𝑓)はそのまま同じ意味として扱う 2.23の最適解は𝒙 𝐿
  45. 45. つまり
  46. 46. 正規化された劣モジュラ関数𝑓: 2 𝑉 → ℝのロヴァース 拡張 𝑓: ℝ≥0 𝑛 → ℝ は線形順序𝐿を含まない形で表される
  47. 47. 𝐵(𝑓)を𝑃(𝑓)に置き換えた場合 2.4.2項の議論と𝒛の非負性から置き換えた場 合も成立 劣モジュラ関数ではない一般の正規化された集合関数𝑔についてはそのロ ヴァース拡張 𝑔が式(2.37)や(2.38)のような形では表現できない
  48. 48. 劣モジュラ関数と凸関致の対応関係 正規化された集合関数 𝑓: 2 𝑉 → ℝについて次の関係が成り立 つ 𝑓が劣モジュラ関数 ⟺ 𝑓: ℝ≥0 𝑛 → ℝが凸関数 ロヴァース拡張を用いることで、ロヴァースによって 証明された劣モジュラ関数と凸関数の以下のような 対応関係を記述することが可能 定理2.1
  49. 49. 証明 • 本を読みましょう
  50. 50. この後の流れ • 2.5 劣モジュラ関数と凸性 • 2.5.1 : 集合関数のロヴァース拡張 • 劣モジュラ関数とは限らない関数と劣モジュラ関数のロヴァー ス拡張について • 2.5.2 : 劣モジュラ関数と凸関数 • 劣モジュラ関数と凸関数に等価性について • 2.5.3 : 劣モジュラ関数の多重線形拡張 • 劣モジュラ関数の多重線形拡張の定義とその性質
  51. 51. 劣モジュラ関数の多重線形拡張 劣モジュラ関数𝑓を部分的に見れば凹関数とな るように拡張する概念 ただし2.5. 2項で述べた、ロヴァース拡張を用いた劣モジュラ 関数と凸関数の関係のようにきれいな性質は成り立たない
  52. 52. 多重線形拡張 • 本書の最適化アルゴリズムでは利用しない • しかし、カリネスクらの2011年の論文など、様々な劣モ ジュラ関数最大化問題のアルゴリズムにおいて利用さ れている
  53. 53. 多重線形拡張の関数値 𝑓(𝒛) 𝑛次元超立方体[0, 1] 𝑛に含まれる𝑛次元ベクトル 𝒛 = ( 𝑧1, 𝑧2, … , 𝑧 𝑛) ∈ [0, 1] 𝑛 について 𝑓(𝒛)は以下 のように表される
  54. 54. 多重線形拡張の関数値 𝑓(𝒛) 任意のS ⊆ 𝑉 について 𝑓 𝝌 𝑆 = 𝑓(𝑆)が成り立つので、多重 線形拡張 𝑓は自然な連続化関数。
  55. 55. 多重線形拡張の期待値による拡張解釈 期待値による拡張と解釈できる。 確率的に決まる部分集合 𝑆 ⊆ 𝑉と捉える
  56. 56. 多重線形拡張の期待値による拡張解釈 期待値による拡張と解釈できる。 各要素𝑖 ∈ 𝑉について独立とする
  57. 57. 多重線形拡張の期待値による拡張解釈 期待値による拡張と解釈できる。 𝑆は確率𝑧𝑖で𝑖を含み、確率1 − 𝑧𝑖で𝑖を含まないとする
  58. 58. 多重線形拡張の期待値による拡張解釈 このとき 𝑓 𝒛 は𝑓( 𝑆)の期待値と一致
  59. 59. 𝑖 ∈ 𝑉について 𝑓 𝒛 の𝑧𝑖に関する偏微分が以下のように成立 さらに𝑖, 𝑗 ∈ 𝑉(𝑖 ≠ 𝑗)について以下が成立 これより、𝑓の劣モジュラ性から以下が成立 多重線形拡張の偏微分 等号成立は𝑖 ∈ 𝑉
  60. 60. 劣モジュラ関数の多重線形拡張 𝑓の凹性 任意の2つのベクトル𝒂 ∈ ℝ≥0 𝑛 , 𝒃 ∈ [0, 1] 𝑛から1変数関数 ℎ: ℝ → ℝをℎ(𝑡) = 𝑓(𝑡𝒂 + 𝒃)と定める。 このとき(2.40)より であるため、hは凹関数。つまり 𝑓自体は凹関数とは限らない が,非負方向の直線に沿って 𝑓の関数値を見れば凹関数にな ることがわかる。
  61. 61. おしまい

×