変分法
- 2. 汎関数
関数の関数(関数も引数にする関数)
積分で表される事が多い
例: エントロピー : 確率関数を入力とした汎関数
→ ある確率関数p(x)に対してエントロピーという量を返す
これ、ただの合成関数では? (f(g(x))となっているけど、式変形すれば結局xの関数では?) <- 間違い
∵ xの関数はある一つのxに対して、一つの値を返す(e.g., p(x))
汎関数は無限個のxによって決められた無限個の値(e.g., p(x))に対して、 一つの値を返す (e.g., H[p])
入力の関数の”形”に対して値を返す関数と理解した方が良い
- 3. 微分と変分
微分
変分
二点を限りなく近づける
→ 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
ε
- 4. オイラー方程式(1/3)
I푦= 푓푥,푦,푦`푑푥 푏 푎
ある関数 y0(x) が少し変化した関数 y(x) を考える
푦푥=푦0푥+ 휀휂(푥)
但し二関数は x=a, b で固定されているとする(境界条件)
휂푎=휂(푏) = 0
この時例えば x, y, y’ を使って以下のように汎関数を表現する事ができる 場合、関数 y(x) を解析的に求める事ができる
汎関数が停留点を持つ = y(x)とy0(x)が等しくなる
(푦`푥=푦0`푥+ 휀휂`(푥))
- 6. オイラー方程式(2/3)
汎関数が停留点を持つ → 汎関数の微分が0
푑퐼[푦] 푑휀 = 푑 푑휀 푓푥,푦,푦′푑푥 푏 푎
= 휕푓 휕푦 휕푦 휕휀 + 휕푓 휕푦′ 휕푦′ 휕휀 푑푥 푏 푎
(微分のチェーンルールより)
= 휕푓 휕푦 휂(푥)+ 휕푓 휕푦′휂′(푥)푑푥 푏 푎
(εが変数の時、他は全て定数だから)
= 휕푓 휕푦′휂(푥) 푎 푏 + 휂푥 휕푓 휕푦 − 푑 푑푥 휕푓 휕푦′푑푥=0 푏 푎
ここは定数
ここは任意 の関数
ここが0
- 9. 解けるパターン
基本形のオイラー法を拡張している(物理のかぎしっぽ)
変分ベイズではこのパターンを使う
•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が複数ある場合