测量受限玻尔兹曼机器的成功

时间:2014-11-12 16:32:03

标签: machine-learning neural-network energy rbm

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

我正面临这个问题:

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

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

1 个答案:

答案 0 :(得分:1)

RBM是一种无监督的学习范式,因此很难获得RBM是否优于另一种。

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

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

  • 您将A提供给前馈层(带反向传播的列车)和 准确度为80%的测试数据;

  • 你给B前馈层(带反向传播的火车)和 准确度为90%的测试数据;

因此,B是比A更好的RBM,因为它提供了更好的功能,从而带来更好的训练和更高的样本外结果。注意:由于网络的准确性不同,请确保您多次执行监督培训并在最后对其进行平均,以便您的比较稳健。

编辑:

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

  

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

然而,如果你有足够小的RBM,这是一种可行的方法。否则,你可以等一下......