原理解释
首先玻尔兹曼机的理论基础可以参考zsffuture老师的这片博客:
深度学习 --- 受限玻尔兹曼机详解(RBM)_rbm分类输出权重_zsffuture的博客-CSDN博客
我大概说一下主要思想。首先,我们通过启发式的方法设定了一个网络能量的概念。这个网络的能量我们定义为:
其中v为显层节点状态,W为连接权重,h为隐层的状态,a是显示层的偏移,b是隐藏层的偏移。为什么要这么定义呢?这个是启发式的,只能说这么定义后续处理起来会比较方便,特别是最后求期望的时候比较好。
v和h都服从伯努利分布,其分布概率为:
下面是显示层在权重确定情况下的概率分布:
有了(2)式和(3)式自然可以求出h的条件分布概率:
其中的那个sita就是sigmoid函数啦(这个应该是被证明过的,姑且信之)。
RBM学习算法
RBM学习的目标如下:
就是找到使得v概率最大的一个参数设置,实际意义就是在设置某个参数的情况下,显层状态在隐层的所有的情况下出现的概率是最大的。 RBM计划使用梯度下降法获得这个最优参数设置。所以下面就要对参数进行求导。