传统的MCMC去近似,有lib,较容易。但是用VI,每个问题都得推导。但是现在出现 自动变分推断算法,可以直接用lib,比如PyMC3。 贝叶斯深度学习——基于PyMC3的变分推理
欧拉-拉格朗日方程
找一个f(x),在[a,b]之间使得J=∫abF(x,f(x),f′(x))dx积分达到最大值。
假设g(x)=f(x)+εη(x)。ε是个很小的正数,这就相当于g(x)为最佳函数f(x)增加了一个很小的扰动。当使用g(x)求得极值时候,g(x)=f(x)。 将 g(x)带入原方程,并求导。
J=∫abF(x,g(x),g′(x))dx∂ε∂J=∂ε∂x∂x∂F+∂ε∂g∂g∂F+∂ε∂g′∂g′∂F=η(x)∂g∂F+η′(x)∂g′∂F当ε=0时,函数能取到极值。且此时:g(x)=f(x),g′(x)=f′(x)∂ε∂J∣ε=0=∫ab[η(x)∂f∂F+η′(x)∂f′∂F]dx=0∫abη′(x)∂f′∂Fdx=∫ab∂f′∂Fdη(x)=[∂f′∂Fη(x)]ab−∫abη(x)d∂f′∂F=−∫abη(x)d∂f′∂F∫abη(x)[∂f∂F+∂x∂∂f′∂F]dx=0∂f∂F+∂x∂∂f′∂F=0 引入“δ算子”来描述上述过程。定义δ[y(x)]=y~−y。
在本例中:
δy=y~−y=aη,δy′=y′~−y′=aη′
欧拉-拉格朗日方程两种形式
变分EM
参考佳文
变分贝叶斯
变分原理正文
变分原理的直接方法
变分方法
数学变分法
变分法
徐亦达的机器学习视频