使用对比散度法实现条件限制玻尔兹曼机

我想使用限制玻尔兹曼机进行模式识别。我注意到它们实际上是用于寻找模式中的分布,而不是模式识别。我查看了以下论文:http://www.cs.toronto.edu/~hinton/absps/uai_crbms.pdf,该论文似乎使用了RBM的扩展版本,称为条件RBM。我想实现这个。我已经使用对比散度法实现了RBM,为了简单起见,我希望继续使用这种方法来实现CRBM。该论文的重点是用更精确的算法替代对比散度法。

根据我在论文中看到的内容,我现在需要创建三个权重矩阵(因为现在我还需要包括分类向量)(见论文中的图1),但我不确定如何更新它们(即如何创建将影响矩阵变化的向量)。

能否有人为我澄清这一点,或者建议一个使用我已经实现的简单RBM进行分类的算法?

谢谢。


回答:

我找到了以下论文,它澄清了这个问题:http://uai.sis.pitt.edu/papers/11/p463-louradour.pdf。这里的海报也非常有帮助,特别是对于实现:http://www.dmi.usherb.ca/~larocheh/publications/drbm-mitacs-poster.pdf。使用两个权重矩阵就足够了,一个用于分类向量,一个用于实际模式,而不是使用三个权重矩阵。

激活概率的公式发生了变化,但基本思想是相同的。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注