拉普拉斯近似算法小结

来源:互联网 发布:网页预览pdf的js插件 编辑:程序博客网 时间:2024/06/04 00:26

    在机器学习中,经常遇到需要对复杂分布进行近似的情况。目前常用的近似算法主要有三种:拉普拉斯近似、变分近似、Gibbs采样。其中拉普拉斯近似算法是用一个高斯分布来近似原始分布,当原始分布比较简单的时候效果会较好。

目标:

用一个高斯分布近似一组连续变量上的概率密度分布。

一维空间:

变量z,假设分布为p(z)=1Zf(z),其中Z=f(z)dz是归一化项。拉普拉斯算法的目标是找到一个高斯近似分布q(z)q(z)p(z)的峰为中心。第一步:找p(z)的一个峰z0p(z0)=0。第二步: 高斯分布的log是一个二次函数,所以lnf(z)进行泰勒展开,以z0为中心: 

lnf(z)lnf(z0)12A(zz0)2,A=d2dz2lnf(x)z=z0

两边取指数: 
f(z)f(z0)exp{A2(zz0)2}

归一化高斯函数: 
q(z)=(A2π)1/2exp{A2(zz0)2}

扩展到多维空间:

近似分布p(z)=f(z)/Z。泰勒展开,以z0=f(z) 为中心: 

lnf(z)lnf(z0)12(zz0)A(zz0),A=lnf(z)|z=z0

两边取指数: 
f(z)f(z0)exp{12(zz0)A(zz0)}

归一化高斯函数: 
q(z)=|A|1/2(2π)M/2exp{12(zz0)A(zz0)}=N(z|z0,A1)
0 0