一、概述
对于有向概率图模型来说,由于图中存在天然的拓扑排序关系,所以有向概率图的因式分解的形式很容易写出来。而对于无向图来说就需要根据它图中的最大团来写成一个因式分解的形式,无向图模型在局部并没有表现出是一个概率模型,在整体上才表现地是一个概率模型,由此我们也就遇到了配分函数。在无向图模型的学习和评估问题中,我们会面对概率公式中的配分函数(Partition Function),往往这个配分函数是很难处理的。
对于连续或离散的高维随机变量,它可以表示成一个无向概率图,模型参数为,它的概率公式也就可以写成以下形式:
其中也就是配分函数,可以表示为:
对于这个概率模型的参数估计,可以采用极大似然估计的方法,首先,我们有一些样本,表示为,然后使用这些样本来做极大似然估计:
这里我们也就得到了目标函数
接下来使用梯度上升的方法来求解参数求导:
这里我们首先看一下②这一项的求导:
注意这里的之所以能够放到积分号里面,是因为对于任意来说都是个常数。
二、随机最大似然(Stochastic Maximum Likelihood)
这里分别定义等号左边和右边的部分为正相(positive phase)和负相(negative phase)。
这个方法就叫做Gradient Ascent based on MCMC。
正负相的作用
可以想象如果已经非常逼近,那么采样得到的幻想粒子和从数据集中采样的样本就会非常一致,这时对这些样本既要增大它们的概率也要压低它们的概率,此时正相和负相的作用就会抵消,也就不会再产生梯度,训练也就必须停止。
三、对比散度
对于MCMC的方法,可以参考这两个链接:
这个目标函数就是对比散度。使用CD-Learning的方法的算法如下:
四、受限玻尔兹曼机的学习
- 表示
受限玻尔兹曼机在前一篇介绍了它的表示和推断问题,参考链接如下:受限玻尔兹曼机|机器学习推导系列(二十五)。
它的概率模型如下:
- RBM的CD-k方法
CD-k
最后进行梯度上升迭代求解就可以了。