我的用于协作过滤的算法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/

10-12 19:39