受限玻尔兹曼机——简单证明

花了很久看了一下玻尔兹曼机,感觉水有点深,总之一步一步来嘛~~~~

先说一下一个非常好的参考资料: 受限玻尔兹曼机(RBM)学习笔记 ,有兴趣的可以再看看这篇文章的参考文献或者博客,写的也非常好,本文就是基于这篇文章的理解,简单证明一下RBM

接下来开证,不对之处欢迎指正:

①我们首先要知道玻尔兹曼机是一种基于统计力学提出来的能量模型,是一个随机神经元模型,首先介绍一下各个参数

   受限玻尔兹曼机——简单证明_第1张图片

②已知条件:利用能量函数可以得到可见层和隐藏层的联合概率分布

   

 ③然后我们利用联合概率计算边缘分布函数可以得到可见层V的分布函数


④接下来我们就是要可见层数据最大性的拟合总体样本空间的分布,我们假设总体分布为q(x),总空间为Ω,然后我们用KL距离来计算样本分布和可见层分布的相似度

关于KL距离请看我前面写过的博客,它是一种不对称距离。既然我们要求P(x)拟合Q(x)损失的能量,那么就用下式计算


⑤然后我们会发现,只有当P(x)最大的时候,才能让KL距离最小,这时候损失能量最小,因为总样本空间是固定的,所以这个Q(x)也是固定,只需管P(x)即可。接下来我们来求这个P(v)的最大值,求关于概率函数的最大值,我们很快就能想到极大似然函数,当然求解的时候用取对数方法求解

受限玻尔兹曼机——简单证明_第2张图片

 ☆ ☆ ☆ ☆ ☆ ☆一定要注意,这个式子就是我们需要解决的问题,最好把它列在稿纸一边) ☆ ☆ ☆ ☆ ☆

⑥接下来我们对模型参数中的权重W和偏置A,B分别求其偏导数,记住上式中,能量函数 E 在上面说过了,主要就是求前面的条件概率和联合概率

这里提前定义一个东西

先来逐步求解上式中第一项对模型参数中权重W,偏置A和B的偏导:

————————————————————————————————————————————————————————————————————

受限玻尔兹曼机——简单证明_第3张图片(红色部分等于1,这一部分自己好好想一下)

————————————————————————————————————————————————————————————————————


————————————————————————————————————————————————————————————————————

受限玻尔兹曼机——简单证明_第4张图片

————————————————————————————————————————————————————————————————————

细心的话会发现这个P(hj=1|v)没有求出来,接下来我们求这一项

这里我们将能量函数拆开成两个式子

受限玻尔兹曼机——简单证明_第5张图片

那么可以开始求P(hj=1|v)了

受限玻尔兹曼机——简单证明_第6张图片

随后也就得到了最终的激活概率


⑦第⑤步的第一项我们计算完毕,再来计算一下第二项

(这里面第二个∑ 已经在上面计算出来了)

⑧至此,我们基本求出了第⑤步中需要计算的所有参数,但是有一个没求出来,写出来以后就会发现

受限玻尔兹曼机——简单证明_第7张图片

我们可以发现上面有一项∑P(v)是没有计算出来的,这个时候,我们就必须使用某些采样方法对此项进行估计,大牛Hinton提出了对比散度算法,也就是把可见层输入数据当做起点,经过K次吉布斯采样的样本当做终点,近似计算上面三个式子,然后就变成了

受限玻尔兹曼机——简单证明_第8张图片

—————————————————————————————————————————————————————————————————————————————

好了,做一下总结,其实这里面都是围绕着最终要解决的问题,也就是第⑤步提出的那个对模型参数求梯度的式子,针对第一项和第二项,我们分别求解,利用的知识点比较多,我第一次看的时候也不懂,但是看一次代码,然后再回头看这个也就差不多懂一部分了。

最后说一下哈,文章参考的是这篇文章:http://blog.csdn.net/itplus/article/details/19408143   有兴趣可以去详细看看的。

有不对的地方,谢谢大家指正~~~~

你可能感兴趣的:(数学,神经网络,Gibbs采样)