Neural network 归一化后是否可能获得0精度?

Neural network 归一化后是否可能获得0精度?,neural-network,Neural Network,我创建了一个具有4个隐藏层的神经网络,并使用ReLU作为它们的激活函数,使用softmax创建了一个输出层。当我给这个神经网络输入一个数据集时,我从它产生的预测中获得了一些准确性,但当我使用以下方法对相同的数据进行归一化时: nx= (X - mean(X)) / stdev(X) 预测结果的准确度是零?!! 为什么会这样?任何想法 我使用了这个简单的块: # create model model = Sequential() model.add(Dense(hidden_size, inpu

我创建了一个具有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)

忘记了方括号(X-mean(X))/std(X),但更可能是浮点整数的问题,我打赌你会给它输入一个零向量(nx==0)或类似的东西

不,我甚至对数据集进行了非规范化,它工作了(我指的是规范化的),我知道方括号,关于规范化的一切都是正确的!我只是在实际代码中添加了括号。我认为四层神经网络在将线性变换到模型中时不会有问题。如何初始化权重?就像任何权重初始化一样!我不知道你到底是什么意思!我正在使用keras和tensorflow作为后端。你能将层构建代码添加到你的问题中吗?