首页 > 其他分享 >机器学习-白板推导-系列(十二)笔记:变分推断

机器学习-白板推导-系列(十二)笔记:变分推断

时间:2023-02-06 13:32:05浏览次数:53  
标签:log 推导 ELBO 变分 十二 贝叶斯 推断 白板


文章目录

  • ​​0 笔记说明​​
  • ​​1 背景介绍​​
  • ​​1.1 频率派​​
  • ​​1.2 贝叶斯派​​
  • ​​2 公式推导​​
  • ​​3 符号修正​​
  • ​​4 SGVI​​

0 笔记说明

注意:本笔记主要是为了方便自己日后复习学习,而且确实是本人亲手一个字一个公式手打,如果遇到复杂公式,由于未学习LaTeX,我会上传手写图片代替(手机相机可能会拍的不太清楚,但是我会尽可能使内容完整可见),因此我将博客标记为【原创】,若您觉得不妥可以私信我,我会根据您的回复判断是否将博客设置为仅自己可见或其他,谢谢!

本博客为(系列十二)的笔记,对应的视频是:【(系列十二) 变分推断1-背景介绍】、【(系列十二) 变分推断2-公式推导】【(系列十二) 变分推断3-再回首】、【(系列十二) 变分推断4-SGVI-1】、【(系列十二) 变分推断5-SGVI-2】。

下面开始即为正文。


1 背景介绍

1.1 频率派

从频率角度研究机器学习的算法,最终会演化为优化问题。下面通过对之前讨论过的线性回归与SVM来举例说明为什么会演化为一个优化问题。

先看线性回归:首先假设数据集D中有N个样本实例,D={(x1, y1), (x2, y2),…,(xN, yN)},每个样本的xi∈Rp,每个样本的yi∈R,i=1…N。构造两个矩阵X与Y:X=(x1,x2,…,xN)T,X为N*P阶矩阵;Y=(y1,y2,…,yN)T,Y为N*1阶矩阵。描述如下:

机器学习-白板推导-系列(十二)笔记:变分推断_隐变量


再看SVM:

机器学习-白板推导-系列(十二)笔记:变分推断_推断_02


果然演化为一个优化问题了。

1.2 贝叶斯派

从贝叶斯角度研究机器学习的算法,最终会演化为积分问题

机器学习-白板推导-系列(十二)笔记:变分推断_VI_03


上图右面可不就是积分问题么。贝叶斯决策就是做预测,预测是这样的:

机器学习-白板推导-系列(十二)笔记:变分推断_推断_04


贝叶斯推断就是求后验概率,分为精确推断与近似推断,其中后者又分为确定性近似推断与随机近似推断。

本博文的主题——变分推断(Variational Inference,VI)属于确定性近似推断


2 公式推导

设X为观测数据,Z为隐变量和参数,(X,Z)称为完整数据,log p(X)可写为:

机器学习-白板推导-系列(十二)笔记:变分推断_隐变量_05


则有:log p(x)=ELBO+KL[q(z)||p(z|x)],设ELBO为L(q(z)),则log p(x)=L(q(z))+KL[q(z)||p(z|x)],称L(q(z))为变分。当q(z)→p(z|x)即q(z)越接近于p(z|x),则KL[q(z)||p(z|x)]越接近于0。对于log p(x)=L(q(z))+KL[q(z)||p(z|x)],若x固定,则log p(x)固定,即左面固定,现在要做的就是求q(z),使其接近于p(z|x),于是:

机器学习-白板推导-系列(十二)笔记:变分推断_机器学习_06


现在假设数据分为M个组,且各组之间相互独立,则q(z)为:

机器学习-白板推导-系列(十二)笔记:变分推断_变分推断_07


将ELBO=L(q(z))分为两个公式:

机器学习-白板推导-系列(十二)笔记:变分推断_推断_08


则ELBO=L(q(z))=①-②,假设M个组中,已固定第1个、第2个…第j-1个、第j+1个组…第M个组的q(zi),其中i=1,2,…,j-1,j+1,…,M,要求解的是第j个组的q(zj)。下面对①、②式分开处理,先是①式:

机器学习-白板推导-系列(十二)笔记:变分推断_VI_09


接下来是②式:

机器学习-白板推导-系列(十二)笔记:变分推断_推断_10


上式是②式的化简结果,先对第一项进行观察:

机器学习-白板推导-系列(十二)笔记:变分推断_变分推断_11


因此上上一张图片,即②的化简结果可继续化简为:

机器学习-白板推导-系列(十二)笔记:变分推断_推断_12


则ELBO=L(q(z))=①-②为:

机器学习-白板推导-系列(十二)笔记:变分推断_推断_13


3 符号修正

本节对第二节的某些符号进行修正,以免变量名混淆。

X={x(1),x(2),…,x(N)}为N个样本,x(i)为第i个样本,Z={z(1),z(2),…,z(N)}为N个隐数据,z(i)为第i个隐数据。设x为观测变量,z为隐变量,θ为参数,x∈Rp,xi为样本的第i个维度,z∈Rp,zi为隐数据的第i个维度,z的分布为q(z),则log pθ(X)可写为:

机器学习-白板推导-系列(十二)笔记:变分推断_推断_14


其中log pθ(x(i))为:

机器学习-白板推导-系列(十二)笔记:变分推断_变分推断_15


4 SGVI

SGVI,即Stochastic Gradient Variational Inference,翻译为随机梯度变分推断。

设隐变量z的分布为q(z),设该分布的参数为φ,现在记隐变量z的分布为qφ(z),则【3 符号修正】一节最后一张图片中的ELBO为:

机器学习-白板推导-系列(十二)笔记:变分推断_隐变量_16


记ELBO为L(φ),则:

机器学习-白板推导-系列(十二)笔记:变分推断_机器学习_17


现在求L(φ)关于φ的偏导数,即求L(φ)的梯度▽φL(φ):

机器学习-白板推导-系列(十二)笔记:变分推断_机器学习_18


由上图得L(φ)的梯度▽φL(φ)=①+②。先看②式:

机器学习-白板推导-系列(十二)笔记:变分推断_机器学习_19


即▽φL(φ)=①+②=①,又因为:

机器学习-白板推导-系列(十二)笔记:变分推断_VI_20


再看①式:

机器学习-白板推导-系列(十二)笔记:变分推断_VI_21


即▽φL(φ)=Eqφ(z){▽φ[log qφ(z)]·[log pθ(x(i),z)-log qφ(z)]}。

以下的内容我完全不理解,只是按照up主的内容照搬。

现在进行重参数化:假定z=gφ(ε,x(i)),其中ε~p(ε),z~qφ(z,x(i)),则有:

机器学习-白板推导-系列(十二)笔记:变分推断_隐变量_22


对:

机器学习-白板推导-系列(十二)笔记:变分推断_变分推断_23


则▽φL(φ)为:

机器学习-白板推导-系列(十二)笔记:变分推断_变分推断_24


设f(φ,z)=log pθ(x(i),z)-log qφ(z),由求导链式法则:

机器学习-白板推导-系列(十二)笔记:变分推断_机器学习_25


继续化简▽φL(φ)为:

机器学习-白板推导-系列(十二)笔记:变分推断_变分推断_26


之后需要使用MCMC方法,待更新。


END


标签:log,推导,ELBO,变分,十二,贝叶斯,推断,白板
From: https://blog.51cto.com/u_14975310/6038994

相关文章