限制玻尔兹曼机(RBM)

限制玻尔兹曼机(RBM)

参考文章:能量模型(EBM)、限制波尔兹曼机(RBM)

产生式模型:用来估计联合概率P(x,y), 因此可以根据联合概率来生成样本,如HMM;判别式模型:用来估计条件概率P(y|x),只能判断分类,如SVM,CRF,MEM(最大熵)。
玻尔兹曼机(BM)是一种特殊的基于能量的模型(Energy Based Model,EBM)。

  • EBM有两个主要的任务,一个是推断(Inference),它主要是在给定观察变量的情况,找到使能量值最小的那些隐变量的配置;另一个是学习(Learning), 它主要是寻找一个恰当的能量函数,使样本中正确的输入输出的能量 比错误的输入输出的能量低。如果一个变量组合被认为是合理的,它同时也具有较小的能量。
  • 玻尔兹曼机,这种网络中的神经元是随机神经元,神经元的输出只有两种状态(未激活、激活)。BM是由随机神经元全连接组成的反馈神经网络,且对称连接,无自反馈。BM具有强大的无监督学习能力,能够学习数据中复杂的规则。但是拥有这种学习能力的代价是其训练/学习时间非常长。
    BM是一种特殊形式的对数线性的马尔可夫随机场MRF,即能量函数是自由变量的线性函数。 通过引入隐含单元,我们可以提升模型的表达能力,表示非常复杂的概率分布。
  • 限制性玻尔兹曼机进一步加一些约束,在RBM中不存在可见单元与可见单元的链接,也不存在隐含单元与隐含单元的链接,即层内无连接,可见层/隐含层内各单元之间是相互独立的
  • 一个深度信念网络(DBN)模型被视为由若干个RBM堆叠在一起,训练时可通过由低到高逐层训练这些RBM来实现

参考文章:深度学习读书笔记之RBM(限制波尔兹曼机)

  • RBM的用途:RBM的用途主要是两种,一是对数据进行编码,然后交给监督学习方法去进行分类或回归,二是得到了权重矩阵和偏移量,供BP神经网络初始化训练。第一种可以说是把它当做一个降维的方法来使用。第二种用途比较奇怪。其中的原因就是神经网络也是要训练一个权重矩阵和偏移量,但是如果直接用BP神经网络,初始值选得不好的话,往往会陷入局部极小值。根据实际应用结果表明,直接把RBM训练得到的权重矩阵和偏移量作为BP神经网络初始值,得到的结果会非常地好。
  • 能量模型:能量函数的最小值,对应于系统的最稳定状态。任何概率分布都可以转变成基于能量的模型。能量函数的意义是有一个解释的,叫做专家乘积系统(POE,product of expert),把每个隐藏节点看做一个“专家”,每个“专家”都能对可视节点的状态分布产生影响,可能单个“专家”对可视节点的状态分布不够强,但是所有的“专家”的观察结果连乘起来就够强了。

你可能感兴趣的:(方法模型)