归一化后有可能获得0准确度吗?

时间:2017-12-28 08:26:35

标签: neural-network

我创建了一个包含4个隐藏层的神经网络,并使用ReLU作为它们的激活函数,并使用softmax输出图层。当我使用数据集为这个神经网络提供数据时,我从它产生的预测中获得了一些准确性,但是当我使用以下方法对相同数据进行标准化时:

nx= (X - mean(X)) / stdev(X)

产生的预测的准确性为零?!! 为什么会这样?任何想法!

我使用了这个简单的块:

# create model
model = Sequential()
model.add(Dense(hidden_size, input_dim=input_size, activation='relu'))

model.add(Dense(hidden_size, activation='relu'))

model.add(Dense(hidden_size, activation='relu'))

model.add(Dense(1, activation='softmax'))

# Compile model
model.compile(loss='mean_squared_logarithmic_error', optimizer='sgd',   metrics=['accuracy'])
# Compile model
model.compile(loss='mean_squared_logarithmic_error', optimizer='sgd', metrics=['accuracy'])

print("Test \n%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))

# calculate predictions
predictions = model.predict(X_test)

1 个答案:

答案 0 :(得分:0)

忘了括号(X-mean(X))/ std(X),但更可能是它的一些浮点int问题,我打赌你用零向量(nx == 0)或某种东西