我是靠谱客的博主 温柔冰淇淋,最近开发中收集的这篇文章主要介绍玻尔兹曼机通俗理解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

玻尔兹曼机特点:

  Boltzmann机是第一个受统计力学启发的多层学习机,它是一类典型的随机神经网络属于反馈神经网络类型 。其命名来源于Boltzmann在统计热力学中的早期工作和网络本身的动态分布行为 。

 它在神经元状态变化中引入了统计概率,网络的平衡状态服从Boltzmann分布,网络运行机制基于模拟退火算法。

 Boltzmann机结合多层前馈神经网络和离散Hopfield网络在网络结构、学习算法和动态运行机制方面的优点,是建立在离散Hopfield网基础上的,具有学习能力,能够通过一个模拟退火过程寻求最优解。不过,其训练时间比BP网络要长。

 离散Hopfield神经网络+模拟退火+隐单元=Boltzman


关于 Hopfield的介绍可以参考。
http://blog.csdn.net/changdejie/article/details/78099410

下图是 Boltzmann的一个具体例子。


假如现在我们有这样一个玻尔兹曼机,下面我们将来说明如何运用边的权重来建模(就是算出v1、v2出现某种状态的概率):

  • 我们有两个可视层节点v1、v2,两个隐藏层节点h1、h2,每个节点的取值是0或者1,那么这4个节点共有16种状态,如上表所示
  • 分别计算这16种状态下的能量。
  • 计算出-E之后,再计算eEe−E值,并且得到总的eEe−E值,用红色数字表示
  • 计算p(v, h),相当于做了归一化,把前面的每一项都除以红色的39.70
  • 把可视层状态相同的p(v, h)概率加起来,就得到p(v),例如可视层出现11的概率为0.466

当网络很大的时候,我们需要用马尔可夫链蒙特卡罗方法进行模型的采样和学习。过程如下。其中概率 Pj的计算就是依赖于当前的温度。用的是模拟退火算法。



具体参考  Boltzmann(玻尔兹曼机)的算法实现  http://blog.sina.com.cn/s/blog_c0ea025f0102xhk0.html



最后

以上就是温柔冰淇淋为你收集整理的玻尔兹曼机通俗理解的全部内容,希望文章能够帮你解决玻尔兹曼机通俗理解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部