我试图创建一个简单的神经网络模型,以查找要输出的特征之间的关系。例如,我有功能集{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'])