1

我正在尝试实现自己的 RBM,但我不确定如何 100% 正确地衡量它的成功。所以我开始用谷歌搜索,发现了很多解释,我不确定什么是正确的。

我面临这个问题:

我有数据集 Z,所以我可以将它分为训练集 X 和测试集 Y。我在 X 上训练 RBM,然后我想衡量 RBM 在数据集 Y 上的成功。更准确地说,假设我有两个 RBM,我想以某种方式比较它们。我不确定重建输入向量是否是好的测量。或者如果我应该比较 RBM 的能量。(以及如何正确计算整个集合 Y 的能量)。

如果可能的话,我也会对高斯可见和全高斯单位感兴趣。

4

1 回答 1

1

RBM 是一种无监督学习范式,因此很难判断一个是否比另一个更好。

尽管如此,它们通常被用作最近和更令人兴奋的网络(如 DBN)的预训练。所以我的建议是训练尽可能多的 RBM 来比较(无监督学习),然后将它们提供给前馈层进行学习(监督学习)。从这里,您现在可以通过衡量您的网络预测数据类别的好坏来了解您的 RBM 的好坏。

例如,让我们有 2 个 RBM(A 和 B):

  • 您将 A 提供给前馈层(使用反向传播进行训练)并在测试数据中获得 80% 的准确度;

  • 您将 B 提供给前馈层(使用反向传播进行训练)并获得 90% 的测试数据的准确度;

因此,B 是比 A 更好的 RBM,因为它提供了更好的特征,从而导致更好的训练和更高的样本外结果。注意:由于网络的准确性会有所不同,请确保您多次执行监督训练并在最后平均它们,以便您的比较是稳健的。

编辑:

关于非监督评估,任务并不那么简单。正如 Tijmen Tieleman 在“使用似然梯度近似训练受限玻尔兹曼机”中所提出的:

其中一项评估是学习的 RBM 对测试数据的建模程度,即对数似然。这对于常规大小的 RBM 来说是难以处理的,因为该计算的时间复杂度是最小层(可见或隐藏)大小的指数

但是,如果您有足够小的 RBM,这是一种可能的方法。否则,你只能等...

于 2014-11-12T17:26:38.250 回答