首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2-Dence神经网络精度优化

2-Dence神经网络精度优化
EN

Stack Overflow用户
提问于 2016-10-13 22:36:53
回答 1查看 53关注 0票数 0

下面你可以看到我使用“sorted_output”的数据集,以便构建一个具有2个隐藏的密集层和一个输入层和一个输出层的ANN。我的问题是,为什么我的准确率非常低(62.5%)?我有一种感觉,由于我的输入数据(列A-U)和输出数据(列V)都是二进制形式,这应该会使我达到100%的准确性。我说错了吗?

代码语言:javascript
复制
from keras.models import Sequential
from keras.layers import Dense
from sklearn.cross_validation import train_test_split
import numpy

# fix random seed for reproducibility
seed = 7
numpy.random.seed(seed)
dataset = numpy.loadtxt("sorted_output.csv", delimiter=",")
# split into input (X) and output (Y) variables
X = dataset[:,0:21]
Y = dataset[:,21]
# split into 67% for train and 33% for test
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.33, random_state=seed)
# create model
model = Sequential()
model.add(Dense(12, input_dim=21, init='orthogonal', activation='relu'))
model.add(Dense(10, init='uniform', activation='relu'))
model.add(Dense(1, init='orthogonal', activation='sigmoid'))
# Compile model
model.compile(loss='binary_crossentropy', optimizer='sgd', metrics=['accuracy'])
# Fit the model
model.fit(X_train, y_train, validation_data=(X_test,y_test), nb_epoch=150, batch_size=10)

EN

回答 1

Stack Overflow用户

发布于 2016-10-14 23:02:10

网络的准确性取决于许多因素。这真的很难理解为什么在你的情况下准确率这么低。这真的取决于底层的数据分布,以及你的网络在训练期间捕获相关信息的能力。

我建议你监控损失,看看模型是否对列车数据进行了过拟合。如果是这种情况,您可能必须使用某种正则化来改进泛化。否则,您可以增加网络的深度,并检查结果是否更好。

这些决不是一个详尽的方法列表。有时更改优化器也会有所帮助,具体取决于数据的分布方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40024020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档