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

版权声明:欢迎大家一起交流,有错误谢谢指正~~~多句嘴,不要复制代码,因为CSDN排版问题,有些东西会自动加入乱糟糟的字符,最好是自己手写代码。格外注意被“踩”的博客,可能有很大问题,请自行查找大牛们的教程,以免被误导。最后,在确认博客理论正确性的前提下,随意转载,知识大家分享。 https://blog.csdn.net/zb1165048017/article/details/50863934

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

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

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

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

   

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

   

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

,直接把和拿到分子的原因是,分母为归一化常量,为常量

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

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


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

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

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

这里提前定义一个东西

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

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

(红色部分等于1,这一部分自己好好想一下,文末举了个小例子)

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


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


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

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

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


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


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


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

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

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


我们可以发现上面有一项∑[P(v)*....]是没有计算出来的,这个时候,我们就必须使用某些采样方法对此项进行估计。仔细观察, 发现他的形式是(概率*概率),如果你看过蒙特卡洛方法,就会发现蒙特卡洛是(函数*概率), 意思是这个函数再这个概率分布下的均值,因而可以采用蒙特卡洛方法来解决这一项无法求解问题. 大牛Hinton提出了对比散度算法,也就是把可见层输入数据当做起点,经过K次吉布斯采样的样本当做终点,近似计算上面三个式子,然后就变成了


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

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

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

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

更新日志2017-8-30

关于⑥中红字部分的概率和为什么等于1,其实我也不太好说明我的想法对不对,我当时以一个小例子想的:

1.比如有编号为1-6的六个球,那么随便取出来一个它的概率和为1

2.因为每次取球相互独立(类比隐神经元相互独立),所以可以把球拆成两部分1-4一组,5-6一组,每组自己的概率和为1

3.然后我们用加和的方法写出从1→2的数学表达式变换方法


如果此变换没错(问了几个同学,表示应该没问题,特别强调独立),那么很容易发现


这样,如果我们把RBM证明中的h当做1-6的球空间,hj为1-4的球空间,h-j为5-6的球空间,然后替换上式就得到了


理解了这个,就知道为什么上面那个条件概率和为1了。


猜你喜欢

转载自blog.csdn.net/zb1165048017/article/details/50863934
今日推荐