寻找特征与输出关系的神经网络模型

时间:2019-05-07 20:49:00

标签: python tensorflow keras neural-network lstm

我试图创建一个简单的神经网络模型,以查找要输出的特征之间的关系。例如,我有功能集{x1,x2 ...,xn} => y。我期望从神经网络中调整各个特征的权重和关系以形成输出y。

对于我的测试,我使用了一个简单的功能集,即{x1,x2,y} => y。在这里,我希望我的模型应该能够以最少的训练轻松找到x1和x2的权重为0,并轻松找到100%的精度。实际上,我的特征关系会更加复杂。

但是,我的模型无法获得任何合理的准确性。我尝试了约1000个样本和300个纪元。

我尝试了使用Keras构建的多个简单模型,包括具有100个隐藏层的4-Dense层和LSTM模型。

我的期望在这里合理吗?实现这一目标的最佳模式是什么?任何帮助表示赞赏。让我知道是否需要更多详细信息。

这是我正在测试的一个简单模型:

        # Init Keras
        self.regressor = Sequential()

        self.regressor.add(Dense(units = 100, init='uniform', activation='relu', input_shape = X_shape))
#         self.regressor.add(Dropout(0.2))

        self.regressor.add(Dense(units = 100, activation='relu'))
#         self.regressor.add(Dropout(0.2))

        self.regressor.add(Dense(units = 100, activation='relu'))
#         self.regressor.add(Dropout(0.2))

        self.regressor.add(Dense(units = 100, activation='relu'))
        self.regressor.add(Dropout(0.2))

        self.regressor.add(Flatten())

        self.regressor.add(Dense(units = 1, activation='sigmoid'))
#         self.regressor.add(Dense(units = 1, activation="tanh"))
#         self.regressor.add(Dense(units = 1, activation="softmax"))


        self.regressor.compile(optimizer = 'adam', loss = 'mean_squared_error', metrics=['accuracy'])

0 个答案:

没有答案