用于协作过滤的RBM



我的算法RBM用于协作过滤不会收敛...我认为协作过滤的RBM的想法是

  1. 初始w,b,c和[0,1]

  2. 的随机
  3. 用户夹具数据 ->可见(SoftMax)

    hidden = sigmoid(b w*v)

    在隐藏 -> hidden_gibbs上运行吉布斯

    阳性=隐藏*可见

    隐藏 ->重建 -> reconstruct_visible

    在reconstruct_visible-> reconstruct_visible_gibbs上运行gibbs

    负= hidden_gibbs*reconstruct_visible_gibbs

    结束

  4. 更新

    w = w (阳性阴性)/number_user

    b = b (可见 - reconstruct_visible_gibbs)/number_user

    c = c (hidden -hidden_gibbs)/number_user

我看过很多纸或演讲,不知道在哪里错误

这不是一个容易的问题!您对学习过程的描述看起来不错。但是,从描述到实际代码有很多错误的空间。另外,对于CF,"香草" RBM无法正常工作。

  • 您是如何实现可见的" SoftMax"单元的?

  • 您是否正在使用"单用户"数据集训练RBM,如原始工作[1]?

  • 中的建议

还有2个有关重量更新和预测过程的详细信息,与Vanilla的RBM略有不同

[1] salakhutdinov http://www.machinelearning.org/proceedings/icml2007/papers/407.pdf

相关内容

  • 没有找到相关文章

最新更新