1

我有11002 个班级的序列。其中400来自一个class 1700来自class 2。我使用了一个隐藏层的2神经元自动编码器来捕获我的特征。我的初始特征是每个序列的三元组。因此,对于每个序列,我都有6860三元组。结果,我的大多数输入向量都是稀疏向量。

现在,如果我计算这个网络的参数,我有

6860 * 2 = 13720 paramters (1st layer)
2 * 6860 = 13720 parameters (2nd layer)
-----------------------------------------
           27440 parameters (in total)

现在,与我的数据点数量相比,参数太多了。因此,我使用了0.98, onlayer 1->hidden layer的dropout 值,hidden layer->output layer它决定13720 * 0.02 = 274了每一层的参数数量和总548参数。

现在,经过训练,我在我的500序列测试数据上尝试了编码器,并提取了二维数据的隐藏层。然后我在另一个 5 个神经元的单隐藏层神经网络上使用该数据进行分类。我的结果非常好,因为我正在绕过90%准确性。

我的问题是我的自动编码器是否过度拟合?我是否通过使用另一个神经网络过度拟合?我担心我的数据点数量少。我使用 dropout 是否合理?

4

1 回答 1

0

尝试在关闭 dropouts 的情况下增加隐藏层大小,直到您完全拟合数据,然后使用该隐藏层大小,您可以开始增加 dropouts 参数以了解模型的行为方式。

此外,您可能需要添加一个 alpha 参数来调整权重更新。

您可能会很幸运地将一些参数聚合在一起。

于 2016-11-13T06:02:24.623 回答