自动编码器和神经网络过度拟合参数编号?

时间:2016-11-13 05:14:18

标签: machine-learning neural-network deep-learning n-gram autoencoder

我有2个班级的1100个序列。其中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上使用了layer 1->hidden layer的辍学值以及hidden layer->output layer,这使得每个图层上的参数数量13720 * 0.02 = 274总共548参数。

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

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

1 个答案:

答案 0 :(得分:0)

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

您还可以添加alpha参数来调整重量更新。

您可以将一些参数聚合在一起运气。