受限制的玻尔兹曼机回归?


13

我正在跟我先前在RBM上提出的问题进行跟进。我看到很多描述它们的文献,但是没有一篇真正地谈到回归(甚至没有带有标记数据的分类)。我感觉它仅用于未标记的数据。是否有处理回归的资源?还是像在隐藏层之上添加另一层并上下运行CD算法那样简单?在此先感谢。

Answers:


18

您对未标记的数据是正确的。RBM是生成模型,最常用作无监督学习者。

当用于构建深度信仰网络时,最典型的过程是简单地一次训练每个新的RBM,因为它们彼此堆叠在一起。因此,在我认为您的意思上,对比分歧不会上升或下降。它一次只使用一个RBM,使用之前最高RBM的隐藏层作为新最高RBM的输入。完成所有这些之后,您可以将RBM权重堆栈视为标准前馈神经网络的初始权重,并使用标记的数据和反向传播进行训练,或者执行其他更奇特的操作,例如使用唤醒睡眠算法。注意,直到最后一步,我们还没有使用任何标签数据,这是这些类型的模型的优势之一。

另一方面,有几种方法可以使用RBM进行分类。

  • 训练一个RBM或几个RBM的堆栈。将最顶层的隐藏层用作其他受监管学习者的输入。
  • 为每个类别训练一个RBM,并使用未归一化的能量作为判别式分类器的输入。
  • 将RBM训练为P(X,Y)的联合密度模型。然后给定一些输入x,只需选择使能量函数最小的类y(由于上面的常数Z对于所有类都是相同的,因此归一化像上面一样不是问题)。
  • 训练有区别的RBM

我强烈建议您通读Geoff Hinton撰写的技术报告“训练受限的玻尔兹曼机器实用指南”。它更详细地讨论了其中的几个问题,提供了宝贵的技巧,引用了许多相关论文,并可能有助于消除您可能遇到的其他困惑。


1
那么RBM可以用于回归吗?
waspinator

您如何训练RBM成为联合密度模型?通过提供X和Y作为非隐藏输入,即您将其训练为P(X,Y | H)(H是隐藏层)?
AkiRoss

我自我回应:是的,在“ RBM训练实用指南”(欣顿,2010年)中,对上述3种方法进行了详细说明,在第3种方法中,他谈到了“两套可见的单位”,其中除数据外,还提供一个softmax标签单位来代表该类别。
AkiRoss


0

我认为,可以测试像受限玻尔兹曼机(RBM)之类的神经网络的一种方法是将其应用于新数据集,或更常见的是将其应用于总数据集的子集,并查看它们的性能。您还可以使用交叉验证来测试模型。我使用了一种流行的开源机器学习(ML)软件工具包,该工具包易于安装和使用,它使您可以轻松地使用许多模型的回归统计数据分别测试多种类型的ML算法(http:// www。 cs.waikato.ac.nz/ml/weka/)。这可能会为您提供快速分析,除了运行程序的基础知识外,无需过多干预,尽管如果很难格式化数据(虽然您通常可以将“ csv转换为arff在线进行转换”,例如,一步格式化)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.