2017-02-15 15 views
0

私はニューラルネットワークを作成しようとしましたが、精度は各エポックを変更しません。私はケラスを使用しているので、各エポックが評価されるたびに精度の変化を見ることができ、それは低く始まり、少しずつ上がり、毎回example outputのまったく同じ値に戻ります。私はバッチサイズの変更、速度の学習、データのビット単位の変更を試みましたが、同じことを行うたびに、おそらく異なる精度値で行われます。他のオプティマイザも試しました。どんな助けもありがとうございます。あなただけの出力層の単一ニューロンを持っているのでエポックケラスの間に精度が低下します

model = Sequential() 
model.add(Dense(1000, input_dim=100, init='uniform', activation='relu')) 
model.add(Dense(len(history), init='uniform', activation='relu')) 
model.add(Dense(1, init='uniform', activation='sigmoid')) 
opt = SGD(lr=1, decay=1e-6, momentum=0.9, nesterov=True) 
model.compile(loss='binary_crossentropy', optimizer=opt, metrics=['accuracy']) 
model.fit(X, Y, nb_epoch=100, batch_size=50, verbose = 1) 
scores = model.evaluate(X, Y) 
print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100)) 

答えて

0

(また、私が働いてmnist例を得ることができた)、私はあなたが回帰していない分類をやっていると仮定します。

そのような場合、あなたは'mse'にあなたの損失関数を変更する必要がありますし、シグモイド関数は、0と1

の間、あなたの出力を潰すますので、あなたも、あなたの出力層で活性化を削除する必要があります
関連する問題