変分法
DESCRIPTION
PRMLの付録Dでも出てくるTRANSCRIPT
変分法
東京理科大学大学院 薬学研究科 薬科学専攻 (博士後期課程3年)
理化学研究所 情報基盤センター バイオインフォマティクス研究開発ユニット (JRA)
露崎弘毅
汎関数 関数の関数(関数も引数にする関数)
積分で表される事が多い
例: エントロピー : 確率関数を入力とした汎関数 → ある確率関数p(x)に対してエントロピーという量を返す
これ、ただの合成関数では? (f(g(x))となっているけど、式変形すれば結局xの関数では?) <- 間違い
∵ xの関数はある一つのxに対して、一つの値を返す(e.g., p(x))
汎関数は無限個のxによって決められた無限個の値(e.g., p(x))に対して、
一つの値を返す (e.g., H[p])
入力の関数の”形”に対して値を返す関数と理解した方が良い
微分と変分 微分 変分
二点を限りなく近づける → xにおける接線の傾きがわかる
s s + h
𝑑𝑦
𝑑𝑥= lim
ℎ→0
𝑓 𝑠 + ℎ − 𝑓(𝑠)
ℎ
微分(導関数)がゼロ → 関数の極値 → そのxが関数を最大・最小にする (ただの変曲点の場合もあるけど)
𝑑𝑦
𝑑𝑥= 0
b a
二関数を限りなく近づける (両端a,bで固定という条件は無いと解けない)
汎関数微分がゼロ → 汎関数の停留点 → その関数が積分値を最大・最小にする
y(x) y0(x) y(x)
x x
t x
汎関数 I[y(x)]
y0(x) y(x)
y
𝑑𝐼[𝑦]
𝑑𝜀= 0
ε
オイラー方程式(1/3)
I 𝑦 = 𝑓 𝑥, 𝑦, 𝑦` 𝑑𝑥 𝑏
𝑎
ある関数 y0(x) が少し変化した関数 y(x) を考える
𝑦 𝑥 = 𝑦0 𝑥 + 𝜀𝜂(𝑥)
但し二関数は x=a, b で固定されているとする(境界条件)
𝜂 𝑎 = 𝜂(𝑏) = 0
この時例えば x, y, y’ を使って以下のように汎関数を表現する事ができる場合、関数 y(x) を解析的に求める事ができる
汎関数が停留点を持つ = y(x)とy0(x)が等しくなる
(𝑦` 𝑥 = 𝑦0` 𝑥 + 𝜀𝜂`(𝑥))
イメージ
変分法の入門編より
オイラー方程式(2/3)
汎関数が停留点を持つ → 汎関数の微分が0
𝑑𝐼[𝑦]
𝑑𝜀=𝑑
𝑑𝜀 𝑓 𝑥, 𝑦, 𝑦′ 𝑑𝑥𝑏
𝑎
= 𝜕𝑓
𝜕𝑦
𝜕𝑦
𝜕𝜀+ 𝜕𝑓
𝜕𝑦′
𝜕𝑦′
𝜕𝜀𝑑𝑥
𝑏
𝑎
(微分のチェーンルールより)
= 𝜕𝑓
𝜕𝑦𝜂(𝑥) +
𝜕𝑓
𝜕𝑦′𝜂′(𝑥) 𝑑𝑥
𝑏
𝑎
(εが変数の時、他は全て定数だから)
=𝜕𝑓
𝜕𝑦′𝜂(𝑥)
𝑎
𝑏
+ 𝜂 𝑥𝜕𝑓
𝜕𝑦 −
𝑑
𝑑𝑥
𝜕𝑓
𝜕𝑦′𝑑𝑥 = 0
𝑏
𝑎
ここは定数 ここは任意の関数
ここが0
オイラー方程式(3/3)
つまり、汎関数Iの微分が0の時、以下の式が成り立つ
𝜕𝑓
𝜕𝑦 −
𝑑
𝑑𝑥
𝜕𝑓
𝜕𝑦′= 0
これをオイラー方程式という(最初からこれを解くだけで良い)
ある条件を満たす”関数”を求められる場合がある (解けるとわかっているパターンに乗っかる事ができれば)
オイラー方程式で何ができるのか?
例1 : 二点を通る最短の関数(直線) 例2 : 坂を転げ落ちる球が最速で目的地に到達する関数 (サイクロイド) 例3 : 長さが一定の周で囲まれた面積を最大にする関数(円) 例4 : 二点をある長さの紐で結んだ時の紐が描く関数(cosh) 例5 : 最もエントロピーが大きい確率密度関数(正規分布)
解けるパターン
基本形のオイラー法を拡張している(物理のかぎしっぽ)
変分ベイズではこのパターンを使う
• f(x, y, y’) : 基本形
• f(x, y) : y’が無い場合
• f(y, y’) : xが無い場合
• f(x, y’) : yが無い場合
• f(x, y, y’, z, z’) : yの他にxの関数zも含む場合
• f(x, y, y’, y’’) : 2階微分を含む場合
• f(x, y, y’, y’’’’’’…{n}) : n階微分を含む場合
• f(x1, x2, u, ux1, ux2) : xが複数ある場合
変分下界 → 平均場近似で分解した各因子qi(Zi)の汎関数 とみなして式(10.9)を得る事ができる
変分ベイズの定式化から近似事後分布の導出まで(3)
参考
• 物理のかぎしっぽ
• 変分ベイズの定式化から近似事後分布の導出まで(1)
• 変分ベイズの定式化から近似事後分布の導出まで(2)
• 変分ベイズの定式化から近似事後分布の導出まで(3)
• 変分法の入門編