Answers:
您对未标记的数据是正确的。RBM是生成模型,最常用作无监督学习者。
当用于构建深度信仰网络时,最典型的过程是简单地一次训练每个新的RBM,因为它们彼此堆叠在一起。因此,在我认为您的意思上,对比分歧不会上升或下降。它一次只使用一个RBM,使用之前最高RBM的隐藏层作为新最高RBM的输入。完成所有这些之后,您可以将RBM权重堆栈视为标准前馈神经网络的初始权重,并使用标记的数据和反向传播进行训练,或者执行其他更奇特的操作,例如使用唤醒睡眠算法。注意,直到最后一步,我们还没有使用任何标签数据,这是这些类型的模型的优势之一。
另一方面,有几种方法可以使用RBM进行分类。
我强烈建议您通读Geoff Hinton撰写的技术报告“训练受限的玻尔兹曼机器的实用指南”。它更详细地讨论了其中的几个问题,提供了宝贵的技巧,引用了许多相关论文,并可能有助于消除您可能遇到的其他困惑。
请查看实现http://code.google.com/p/matrbm/。它具有值得考虑的分类rmb fit函数。如果您发现用于分类和回归的DBN和RMBs的更好实现,也请告诉我。
我认为,可以测试像受限玻尔兹曼机(RBM)之类的神经网络的一种方法是将其应用于新数据集,或更常见的是将其应用于总数据集的子集,并查看它们的性能。您还可以使用交叉验证来测试模型。我使用了一种流行的开源机器学习(ML)软件工具包,该工具包易于安装和使用,它使您可以轻松地使用许多模型的回归统计数据分别测试多种类型的ML算法(http:// www。 cs.waikato.ac.nz/ml/weka/)。这可能会为您提供快速分析,除了运行程序的基础知识外,无需过多干预,尽管如果很难格式化数据(虽然您通常可以将“ csv转换为arff在线进行转换”,例如,一步格式化)。