the*_*heo 10 machine-learning unsupervised-learning rbm
我希望我的Restricted Boltzmann Machine能够学习实值数据的新表示(参见: Hinton - 2010 - RBM培训实用指南).我正在努力实现高斯线性单位.
利用可见层中的高斯线性单元,能量变为E(v,h)= ? (v-a)²/2? - ? bh - ?v/? h w.现在我不知道如何改变对比发散学习算法.可见单位将不再被采样,因为它们是线性的.我使用期望(mean-fied activation)p(v_i=1|h)= a +?hw + N(0,1)作为他们的状态.这些关联是不变的(pos:data*p(h=1|v)'neg :) p(v=1|h)*p(h=1|v)'.但是,当我想重建数据时,这只会导致随机噪声.错误率将停止提高50%左右.
最后,我想在两个层中使用高斯线性单位.那么我如何得到隐藏单位的状态呢?我建议使用均值场激活,p(h_i=1|v)= b +?vw + N(0,1)但我不确定.