狠狠撸

狠狠撸Share a Scribd company logo
劣モジュラ最適化と機械学習
~2.0?2.3 劣モジュラ関数の基本性質?例?最適化~
@gen_goose_gen
自己紹介と注意
● @gen_goose_gen
●
某高専 電気系学科 卒業
● 関西の某国立大の情報系学科に編入(作成時B3)
●
情報?機械学習ともに初学者
– 間違えている可能性があるので疑問がある場合は上記の
ツイッターアカウントまでご一報ください
スライドで用いる表記
●
スカラー:ローマン体
●
ベクトル:小文字のボールド体
●
行列:大文字のボールド体
●
集合:カリグラフィー文字
(特に断らない場合列ベクトルとする)
コンテンツ
●
凸関数?凹関数?凸集合とは?
●
劣モジュラ関数の定義と具体例
●
モジュラ関数の種類?性質?基本操作
●
劣モジュラ関数最適化問題(最大化?最小化)
コンテンツ
●
凸関数?凹関数?凸集合とは?
●
劣モジュラ関数の定義と具体例
●
モジュラ関数の種類?性質?基本操作
●
劣モジュラ関数最適化問題(最大化?最小化)
凸関数と凹関数
?凸関数の定義:
ただし , ,
?凹関数の定義:-hが凸関数の時、hは凹関数
ある2点を決めて、その2点の
内分点の関数値が
決めた2点の関数値よりも低い
?凸関数最小化?凹関数最大化は最適化問題として扱いやすい
凸関数と凸集合
?凸関数の定義:
?凹集合の定義:点集合     が凸集合である
ただし ,
凸集合 凸集合ではない
コンテンツ
●
凸関数?凹関数?凸集合とは?
●
劣モジュラ関数の定義と具体例
●
モジュラ関数の種類?性質?基本操作
●
劣モジュラ関数最適化問題(最大化?最小化)
劣モジュラ関数の概要
?n次元0-1ベクトル集合上の凸関数としても捉えられる概念
→最小化問題は多項式時間で解ける
?同時に凹性のような性質も同時に持っている
→最大化問題はNP困難であることが多いが
 かなり良い近似を多項式時間で計算できる  
※劣モジュラ最適化アルゴリズムはこれらを必ず使っていることに注意わけではない
?最適化する場合の性質の良さ
?応用範囲の広さ離散問題に対して
重要な概念
凸関数とは別物なので
そのイメージばかりを持たないように
劣モジュラ関数の定義①
台集合
集合関数
台集合の任意の部分集合
集合関数の定義域
これでは劣モジュラ関数が何を表しているかわかりづらい
他の表現はないのか?
劣モジュラ関数の定義②
台集合
集合関数
台集合の任意の部分集合
集合関数の定義域
ただし
任意の要素
集合として小さいほど新しい要素を加えた時に
生じる変化量が大きい
劣モジュラ関数の定義の関係
等価
定義①:
定義②:
等価なことの証明はあとから行う
まずはこれらが正しいとした時のモジュラ関数の
具体例を通してイメージを固める
劣モジュラ関数の具体例①
?カバー関数?
台集合
(センサの集合)
台集合の任意の部分集合
(ONにするセンサの集合)
定義が確かに成り立つ
劣モジュラ関数の具体例①
?カバー関数?
台集合
(センサの集合)
台集合の任意の部分集合
(ONにするセンサの集合)
現在ONであるが多いほど新しいセンサをONにした時に
カバーできる点の増加が小さくなるのは明らか
(厳密にはONのセンサが少ないほうの増加が多い方よりも大きくならない)
定義成立→劣モジュラ関数
劣モジュラ関数の具体例②
?無向グラフのカット関数?
無向グラフを2つに分割するときに切断する枝容量の総和
台集合
(頂点集合)
台集合の任意の部分集合
(切断するグラフの頂点集合)
枝集合
S と SVをつなぐ枝集合
枝容量
(フローのようなもの)
無向グラフ
すべての
定義が確かに成り立つ
劣モジュラ関数の具体例③
?有向グラフのカット関数?
有向グラフを2つに分割するときに切断する枝容量の総和
台集合
(頂点集合)
台集合の任意の部分集合
(切断するグラフの頂点集合)
枝集合
S から SVをつなぐ枝集合
枝容量
(フローのようなもの)定義が確かに成り立つ
有向グラフ
すべての
劣モジュラ関数の具体例②③
?無向グラフと有向グラフのカット関数の関係?
無向グラフの枝e={u,v}
有向グラフの枝 e'={u,v}, e”={v,u}
この時有向グラフと無向グラフのカット関数は同じになる
無向グラフは有向グラフの特殊例
すべての枝を変換
劣モジュラ関数の具体例②③
?カット関数が劣モジュラ関数であることの証明?
劣モジュラ関数の具体例②③
?カット関数が劣モジュラ関数であることの証明?
の枝の
枝容量の総和
定義成立→劣モジュラ関数
劣モジュラ関数の具体例④
?凹関数が生成する集合関数?
凹関数:h(x) ただし        ,
Ex)
⊿x
⊿x
⊿x
→xが大きくなるほど小さくなる→xが大きくなるほど小さくなる→xが大きくなるほど小さくなる
劣モジュラ関数の具体例④
?凹関数が生成する集合関数?
:Sに含まれる要素数
【証明】
:変化量
∵h(x)は凸関数
定義成立→劣モジュラ関数
劣モジュラ関数の具体例④
?凹関数が生成する集合関数?
:Sに含まれる要素数
拡張
重み付き版:
劣モジュラ関数の定義の関係の証明
等価
定義①:
定義②:
定義①→定理②、 定理②→定理①を証明することによっ
て等価であることを証明する
劣モジュラ関数の定義①(再掲)
台集合
集合関数
台集合の任意の部分集合
集合関数の定義域
これでは劣モジュラ関数が何を表しているかわかりづらい
他の表現はないのか?
劣モジュラ関数の定義②(再掲)
台集合
集合関数
台集合の任意の部分集合
集合関数の定義域
ただし
任意の要素
集合として小さいほど新しい要素を加えた時に
生じる変化量が大きい
劣モジュラ関数の定義の関係の証明
定義①:
定義②:
定義①:
定義②:
劣モジュラ関数の定義の関係の証明
定義①:
定義②:
の時→自明?
? の時
以下のようにおく
定義②に代入
劣モジュラ関数の定義の関係の証明
定義①:
定義②:
の時→自明?
? の時
k=1からk=mまで
和を取る
定義①:
コンテンツ
●
凸関数?凹関数?凸集合とは?
●
劣モジュラ関数の定義と具体例
●
モジュラ関数の種類?性質?基本操作
●
劣モジュラ関数最適化問題(最大化?最小化)
劣モジュラ関数のタイプ分け
列モジュラ関数が他にどんな性質を持っているかは重要
 ∵性質によって最適化の計算効率?精度が異なる
→
?正規化:
※    の場合も とすれば正規化可能
?非負:すべての
?単調:すべての
(非減少)
?対称:任意の
について
について
について
劣モジュラ関数のタイプ分け
→
?正規化:
※    の場合も とすれば正規化可能
?非負:すべての
?単調:すべての
(非現象)
?対称:任意の
について
について
について
劣モジュラ関数のタイプ分け
→
?正規化:
※    の場合も とすれば正規化可能
?非負:すべての
?単調:すべての
(非現象)
?対称:任意の
について
について
について
優モジュラ関数?モジュラ関数
劣モジュラ関数f
優モジュラ関数g
-gが劣モジュラ関数
モジュラ関数g
gが劣モジュラ関数
かつ優モジュラ関数
モジュラ関数の性質
正規化されたモジュラ関数g
( )
正規化されたモジュラ関数が次元ベクトル
と同一視できる
値はベクトルの成分の部分和と対応付けられる
劣モジュラ関数の基本操作
?和とスカラー倍?
モジュラ関数の加減算:
以下の操作をして作られた関数も劣モジュラ関数である
スカラー倍:
劣モジュラ関数の加算:
優モジュラ関数の減算:
正規化された優モジュラ関数
正規化されたモジュラ関数
正規化された劣モジュラ関数
ただし
正のスカラー
定義から簡単に証明可能
劣モジュラ関数の基本操作
?制限と縮約?
劣モジュラ関数の台集合を小さくする操作
操作を繰り返して得られた劣モジュラ関数:fのマイナー
?制限:台集合をSに制限する Sの中の部分集合として
取れるものを台集合としている
?縮約:台集合をSを含む部分集合に制限して正規化する
Sのの補集合を部分集合として
取れるものを台集合としている
コンテンツ
●
凸関数?凹関数?凸集合とは?
●
劣モジュラ関数の定義と具体例
●
モジュラ関数の種類?性質?基本操作
●
劣モジュラ関数最適化問題(最大化?最小化)
劣モジュラ関数の最適化
?例:最小カット問題と最大カット問題?
?グラフを2つに分けるときにカットする枝容量を
 最小?最大化する問題
?無向グラフの最小カット問題
?無向グラフの最大カット問題
最小カット 最大カット与えられたグラフ
カット関数は劣モジュラ関数
 →劣モジュラ最適化問題
劣モジュラ関数の最適化
?基本形?
:目的関数
:実行可能領域
(制約を満たすVの部分集合からなる集合族)
:実行可能解
:最適解
:最適値
劣モジュラ関数の最適化
?最適化問題の性質?
劣モジュラ関数の性質によって問題の性質が変わる
一般の関数?非負?単調?対称?構造は?
様々な性質を持っている→良いアルゴリズムが設計可能
様々な性質を使ったアルゴリズム→適用範囲が狭い
トレードオフ関係
問題の劣モジュラ関数が
どのように与えられているか考えることが大事
劣モジュラ関数の最適化
?アルゴリズムの計算量?
の値を呼び出すことは1回の基本操作であると仮定
(関数値オラクルの呼び出しによって関数値が得られる)
計算量解析:基本演算の回数と関数値の呼び出し回数
      を問題とする
多項式時間アルゴリズム:
基本演算?関数値呼び出し回数がともにnに関する
多項式のオーダー
Ex)
関数値オラクルの呼び出し回数
基本演算の回数
アルゴリズム の計算量:
基本演算1回よりも関数値オラクルの
呼び出し1回のほうが手間がかかる
劣モジュラ関数の最適化
?(制約なし)劣モジュラ関数最小化?
?多項式時間アルゴリズムが存在する
現在の最小計算量: [Orlin,2009]
これでも大きい
最大でかかる計算量保証
?多項式性は保証されないが実用的なアルゴリズムがある
(最小ノルム点アルゴリズム)
?関数fによっては高速に最適解が見つかる
(Ex:最小s-tカット問題)
劣モジュラ関数の最適化
?対称劣モジュラ関数最小化?
:自明解になる→取り除いて最適解を見つける
∵任意の に対して
?効率的なアルゴリズムが存在: [Queyranne,1998]
?Ex:無向グラフの最小カット問題
劣モジュラ関数の最適化
?(単調な)劣モジュラ関数最大化?
すべての について
?NP困難問題
(多項式時間では解けないと考えられているが種名されていない問題)
?近似的な解は多項式時間で求められる
貪欲法の一種で最適値の0.63倍以上の目的関数値を達成可能
[Nemhauser,Wolsey,Fisher,1978]
劣モジュラ関数の最適化
?非負な劣モジュラ関数最大化?
すべての について
?NP困難問題
(多項式時間では解けないと考えられているが種名されていない問題)
?近似的な解は多項式時間で求められる
貪欲法の一種で最適値の0.5倍以上の目的関数値を達成可能
[Buchbinder,Feldman,Naor,Schwartz,2012]
?Ex:無向グラフの最大カット問題
貪欲法の一種で最適値の0.878倍以上の目的関数値を達成可能
まとめ
?劣モジュラ関数は台集合に定義される関数
?凸性と凹性のような性質を同時に持つ
?集合として小さいほど新しい要素を加えた時に生じる変化
量が大きい
?劣モジュラ関数が他に持つ性質で最適化アルゴリズムの
性能が決まり、一般性とアルゴリズム性能はトレードオフ
?最小化問題は多項式時間で解けるがより高速なアルゴリ
ズムが多数存在
?最大化問題はNP困難問題であるが多項式時間で近似解
を求めるアルゴリズムが考案されている
ありがとうございました!

More Related Content

What's hot (20)

関数データ解析の概要とその方法
関数データ解析の概要とその方法関数データ解析の概要とその方法
関数データ解析の概要とその方法
Hidetoshi Matsui
?
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
Deep Learning JP
?
负の二项分布について
负の二项分布について负の二项分布について
负の二项分布について
Hiroshi Shimizu
?
リプシッツ连続性に基づく勾配法?ニュートン型手法の计算量解析
リプシッツ连続性に基づく勾配法?ニュートン型手法の计算量解析リプシッツ连続性に基づく勾配法?ニュートン型手法の计算量解析
リプシッツ连続性に基づく勾配法?ニュートン型手法の计算量解析
京都大学大学院情报学研究科数理工学専攻
?
『劣モジュラ最適化と機械学習』 4章
『劣モジュラ最適化と機械学習』 4章『劣モジュラ最適化と機械学習』 4章
『劣モジュラ最適化と機械学習』 4章
ayato shimada
?
正準相関分析
正準相関分析正準相関分析
正準相関分析
Akisato Kimura
?
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
?
[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習
Deep Learning JP
?
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系についてMaximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
Yusuke Nakata
?
2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)
Tatsuya Yokota
?
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)
Yoshitake Takebayashi
?
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
Kenjiro Sugimoto
?
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
MLSE
?
Layer Normalization@NIPS+読み会?関西
Layer Normalization@NIPS+読み会?関西Layer Normalization@NIPS+読み会?関西
Layer Normalization@NIPS+読み会?関西
Keigo Nishida
?
制限ボルツマンマシン入门
制限ボルツマンマシン入门制限ボルツマンマシン入门
制限ボルツマンマシン入门
佑馬 斎藤
?
ベイズ推定の概要@広岛ベイズ塾
ベイズ推定の概要@広岛ベイズ塾ベイズ推定の概要@広岛ベイズ塾
ベイズ推定の概要@広岛ベイズ塾
Yoshitake Takebayashi
?
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
Deep Learning JP
?
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展
Deep Learning JP
?
Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究
Fumihiko Takahashi
?
関数データ解析の概要とその方法
関数データ解析の概要とその方法関数データ解析の概要とその方法
関数データ解析の概要とその方法
Hidetoshi Matsui
?
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
【DL輪読会】A Time Series is Worth 64 Words: Long-term Forecasting with Transformers
Deep Learning JP
?
负の二项分布について
负の二项分布について负の二项分布について
负の二项分布について
Hiroshi Shimizu
?
『劣モジュラ最適化と機械学習』 4章
『劣モジュラ最適化と機械学習』 4章『劣モジュラ最適化と機械学習』 4章
『劣モジュラ最適化と機械学習』 4章
ayato shimada
?
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
?
[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習
Deep Learning JP
?
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系についてMaximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
Maximum Entropy IRL(最大エントロピー逆強化学習)とその発展系について
Yusuke Nakata
?
2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)
Tatsuya Yokota
?
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)
Yoshitake Takebayashi
?
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
MLSE
?
Layer Normalization@NIPS+読み会?関西
Layer Normalization@NIPS+読み会?関西Layer Normalization@NIPS+読み会?関西
Layer Normalization@NIPS+読み会?関西
Keigo Nishida
?
制限ボルツマンマシン入门
制限ボルツマンマシン入门制限ボルツマンマシン入门
制限ボルツマンマシン入门
佑馬 斎藤
?
ベイズ推定の概要@広岛ベイズ塾
ベイズ推定の概要@広岛ベイズ塾ベイズ推定の概要@広岛ベイズ塾
ベイズ推定の概要@広岛ベイズ塾
Yoshitake Takebayashi
?
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
Deep Learning JP
?
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展
Deep Learning JP
?
Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究Active Learning の基礎と最近の研究
Active Learning の基礎と最近の研究
Fumihiko Takahashi
?

More from Akiyoshi Hara (6)

スパース性に基づく機械学習 4.1 ノイズなしL1ノルム最小化問題の問題設定
スパース性に基づく機械学習 4.1 ノイズなしL1ノルム最小化問題の問題設定スパース性に基づく機械学習 4.1 ノイズなしL1ノルム最小化問題の問題設定
スパース性に基づく機械学習 4.1 ノイズなしL1ノルム最小化問題の問題設定
Akiyoshi Hara
?
スパース性に基づく機械学習 3.2 L1ノルム正則化
スパース性に基づく機械学習 3.2 L1ノルム正則化スパース性に基づく機械学習 3.2 L1ノルム正則化
スパース性に基づく機械学習 3.2 L1ノルム正則化
Akiyoshi Hara
?
強くなるロボティック?プレイヤーの作り方 6章
強くなるロボティック?プレイヤーの作り方 6章強くなるロボティック?プレイヤーの作り方 6章
強くなるロボティック?プレイヤーの作り方 6章
Akiyoshi Hara
?
強くなるロボティック?プレイヤーの作り方 5章
強くなるロボティック?プレイヤーの作り方 5章強くなるロボティック?プレイヤーの作り方 5章
強くなるロボティック?プレイヤーの作り方 5章
Akiyoshi Hara
?
続わかりやすいパターン认识8章
続わかりやすいパターン认识8章続わかりやすいパターン认识8章
続わかりやすいパターン认识8章
Akiyoshi Hara
?
続わかりやすいパターン认识7章
続わかりやすいパターン认识7章続わかりやすいパターン认识7章
続わかりやすいパターン认识7章
Akiyoshi Hara
?
スパース性に基づく機械学習 4.1 ノイズなしL1ノルム最小化問題の問題設定
スパース性に基づく機械学習 4.1 ノイズなしL1ノルム最小化問題の問題設定スパース性に基づく機械学習 4.1 ノイズなしL1ノルム最小化問題の問題設定
スパース性に基づく機械学習 4.1 ノイズなしL1ノルム最小化問題の問題設定
Akiyoshi Hara
?
スパース性に基づく機械学習 3.2 L1ノルム正則化
スパース性に基づく機械学習 3.2 L1ノルム正則化スパース性に基づく機械学習 3.2 L1ノルム正則化
スパース性に基づく機械学習 3.2 L1ノルム正則化
Akiyoshi Hara
?
強くなるロボティック?プレイヤーの作り方 6章
強くなるロボティック?プレイヤーの作り方 6章強くなるロボティック?プレイヤーの作り方 6章
強くなるロボティック?プレイヤーの作り方 6章
Akiyoshi Hara
?
強くなるロボティック?プレイヤーの作り方 5章
強くなるロボティック?プレイヤーの作り方 5章強くなるロボティック?プレイヤーの作り方 5章
強くなるロボティック?プレイヤーの作り方 5章
Akiyoshi Hara
?
続わかりやすいパターン认识8章
続わかりやすいパターン认识8章続わかりやすいパターン认识8章
続わかりやすいパターン认识8章
Akiyoshi Hara
?
続わかりやすいパターン认识7章
続わかりやすいパターン认识7章続わかりやすいパターン认识7章
続わかりやすいパターン认识7章
Akiyoshi Hara
?

劣モジュラ最適化と機械学習 2.0-2.3 劣モジュラ関数の基本性質?例?最適化