我的用于协作过滤的算法RBM无法收敛...
我认为RBM用于协作过滤的想法是
初始w,b,c,随机为[0,1]
对于按用户
钳位数据->可见(softmax)
隐藏= S形(b + W * V)
在Hidden上运行Gibbs-> Hidden_gibbs
正=隐藏*可见
隐藏->重新构建->重新构建
在reconstruct_visible上运行Gibbs-> Construct_visible_gibbs
负= Hidden_gibbs * reconstruct_visible_gibbs
结束于
更新资料
w = w +(正负)/ Number_User
b = b +(可见-重构_可见吉布斯)/ Number_User
c = c +(Hidden-Hidden_gibbs)/ Number_User
我看过很多论文或演讲,不知道哪里出了问题
最佳答案
这不是一个容易的问题!您对学习过程的描述看起来不错。但是,从描述到实际代码还有很多错误的余地。同样,对于CF,“香草” RBM将不起作用。
您是如何实现可见的“ softmax”单元的?
您是否按照原始工作[1]的建议使用“单用户”数据集训练了RBM?
还有2个有关体重更新和预测程序的详细信息,与香草的RBM略有不同
[1] Salakhutdinov http://www.machinelearning.org/proceedings/icml2007/papers/407.pdf
关于machine-learning - 协作过滤的RBM,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30184276/