深度学习(八):概率生成模型

一、引入

最开始知道生成模型和判别模型,是在李航的统计学习方法里,当时的理解是:生成模型,就是同时考虑了X和Y的随机性,也就是说二者都是随机变量;判别模型,就是只考虑了Y的随机性,而X并不是个随机变量,即使X存在于条件中,但是并没有p(x)这种说法。当时同时也知道了,朴素贝叶斯和隐马尔可夫都是生成模型,最主要的原因就是在这两个模型中涉及到的变量都是随机变量。生成模型可以转变成判别模型,也就是生成模型由于考虑的都是随机变量,可以通过条件概率公式计算出条件概率;反之不行,因为判别模型无法描述联合概率分布。

后来又在学深度学习的时候看到了生成模型,好像对生成模型的理解又加深了一些。

生成模型是根据一些已经观测到的样本点,学习一个参数化模型$P_{ heta }(x)$,来近似这些样本所符合的真实分布$P_{r }(x)$。可以用这个学习到的模型$P_{ heta }(x)$来生成一些新样本,使得这些新样本和已知样本一样是符合真实分布$P_{r }(x)$的。所以生成模型有三个基本用处:一个是概率密度估计,一个是采样,还有就是监督学习,如朴素贝叶斯。

二、概率密度估计

因为在高维空间中,变量之间的关系比较复杂,没办法去准确的画出变量之间的图模型结构,然后就会引入隐变量z来简化模型,如果要建模$(x,z)$,问题就会转化为求解$P_{ heta }(z)$和$P_{ heta }(xmid z)$,隐变量可以由先验分布来刻画,然后概率密度估计的重点就会转换为求解$P_{ heta }(xmid z)$。为了估计这个概率,可以采用EM算法,就像前面深度学习(二)和(三)中提到的一样,然而EM算法是要最大化ELBO,E步要求找到一个近似隐变量的后验概率$P(zmid x; heta )$的分布$Q(z)$,才能使得ELBO最大;M步再固定我们上一步找到的$Q(z)$,开始优化ELBO中的参数$ heta$;更新完$ heta$后,固定$ heta$,再去找一个新的近似隐变量的后验概率$P(zmid x; heta )$的分布$Q(z)$,这个步骤不断迭代计算,直到稳定为止。

如果估计后验分布的过程比较复杂,可以采用神经网络,因为神经网络可以近似任何一个复杂的函数,所以可以用来建模复杂分布,变分自编码器就是采用这种思想。

三、采样

具体见深度学习(四)、(五)、(六)

大多采样的想法就是先给隐变量$z$一个先验$p(z)$,然后再根据条件概率$P_{ heta }(xmid z)$来采样$x$,吉布斯采样就是这种想法,把在联合概率上采样转换成了在条件概率上采样。

还有一种采样想法是生成对抗网络的思想,就是我先从一个简单分布采样$z$,比如标准正态分布,然后利用神经网络,把这个$z$输入,构建一个函数g,使得$g(z)$服从真实分布$P_{r }(x)$,就可以避免密度估计的问题了。

原文地址:https://www.cnblogs.com/liuxiangyan/p/12578579.html