machine-learning - 基于 Keras 的神经网络未训练

标签 machine-learning neural-network keras

我正在使用 Keras 库训练这个非常简单的神经网络。

无论历元数如何,即使对于训练集中涵盖的案例,神经网络也无法正确预测。

我在这里做错了什么。

from keras.models import Sequential
from keras.layers import Dense, Activation
from keras import optimizers
import numpy as np

model = Sequential()
model.add(Dense(3, input_dim=3))
model.add(Activation('sigmoid'))
model.add(Dense(3, activation='softmax'))

sgd = optimizers.SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)

model.compile(optimizer=sgd,
              loss='categorical_crossentropy',
              metrics=['accuracy'])


inputData=[[0,0,1],[0,1,0],[1,0,0]]
outputData=[[0,0,1],[0,1,0],[1,0,0]]

numpy_input=np.array(inputData).reshape(len(inputData),3)
numpy_output=np.array(outputData).reshape(len(inputData),3)

model.fit(numpy_input, numpy_output, nb_epoch=20, batch_size=3,verbose=1)

op=model.predict(np.array([0,0,1]).reshape(1,3))
print op

我得到的输出是 [[ 0.41825652 0.32675183 0.25499159]] 和许多其他变体。

最佳答案

试试这个

from keras.models import Sequential
from keras.layers import Dense, Activation
from keras import optimizers
import numpy as np

model = Sequential()
model.add(Dense(3, input_dim=3))
model.add(Activation('sigmoid'))
model.add(Dense(3, activation='softmax'))

sgd = optimizers.SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)

model.compile(optimizer=sgd,
          loss='categorical_crossentropy',
          metrics=['accuracy'])


inputData=[[0,0,1],[0,1,0],[1,0,0]]
outputData=[[0,0,1],[0,1,0],[1,0,0]]

numpy_input=np.array(inputData)
numpy_output=np.array(outputData)

model.fit(numpy_input, numpy_output, nb_epoch=50, batch_size=3,verbose=1)

op=model.predict(np.array([[0,0,1]]))
print(op)

这在我的机器上产生

[[ 0.30640799  0.34553316  0.34805891]]

建议输出为 0 0 1

关于machine-learning - 基于 Keras 的神经网络未训练,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44721487/

相关文章:

python - sklearn : enable all cores using GridSearchCV

python-3.x - Tensorflow:使用序列设置数组元素

python - Tensorflow:_variable_with_weight_decay(...) 解释

python - Keras/Tensorflow : Predict Using tf. 数据.数据集 API

machine-learning - 通过 StackingCVClassifier 问题堆叠分类器(sklearn 和 keras 模型)

keras - 关于 'Building Autoencoders in Keras'?

python - 有人可以说明 sklearn.mean_absolute_error 对于 2 个矩阵的基本方法吗?

python - 为多列绘制 seaborn catplots

machine-learning - Tensorflow CUDA GTX 1070 导入错误

neural-network - 神经网络真的可以学习吗?