最近学习限制玻尔兹曼机,感觉写写更能加深对其了解。RBM是一种深度学习网络,尽管没有之前那样火,但是对于学习深度网络有一定的帮助。
RBM是两层的网络(可见层和隐层),各层之间全连接而层内神经元没有连接如下图:
1 理论定义
RBM系统具备的能量:
其中,Vi为可见变量(收入样本),Hj为隐层变量,ai 、b、为可见层和隐层神经元上的偏差,Wij为可见层ith神经元与隐层jth个神经元的权重。
给定参数的情况,可以得到V和H的联合概率分布:
其中Z()为归一化因子(partition function)
若我们利用RBM系统,我们需要知道对输入数据的分布:也即是关于H的X的边缘分布:
但实际上对于Z()的求解释相当困难的。
由于RBM的定义可知,层间神经元没有连接,因此也即是相互独立,基于此假设,可以得到下面两式:
2RBM的求解
基于对比散度的快速算法:
求解RBM关键是求解其参数,而参数的求解可以通过似然函数求得如下式:
各个参数的偏导数如下:
基于CD的快速算法:
参数更新准则: