2017-04-24 9 views
2

ケラスのライブラリで実装されたニューラルネットワークを使用しているImはトレーニング中の結果です。最後に、テストスコアとテスト精度を印刷します。私はスコアが表すものを正確に把握することはできませんが、テストを実行するときに正しい予測の数であると確信しています。Kerasを使用してモデルを評価するときのテストのスコアとテストの精度

エポック1/15 1200分の1200 [==============================] - 4S - 損失: 0.6815 - ACC:0.5550 - val_loss:0.6120 - val_acc:0.7525

エポック2/15 1200分の1200 [======================== ======] - 3秒 - 損失: 0.5481 - acc:0.7250 - val_loss:0.4645 - val_acc:0.8025

エポック3/15 1200/1200 [============ ================== - 3秒 - 損失: 0.5078 - acc:0.7558 - val_loss:0.4354 - val_acc:0.7975

エポック4/15 1200分の1200 [==============================] - 3S - ロス: 0.4603 - ACC: 0.7875 - val_loss:0.3978 - val_acc:0.8350

エポック5/15 1200分の1200 [============================= =] - 3S - 損失: 0.4367 - ACC:0.7992 - val_loss:0.3809 - val_acc:0.8300

エポック6/15 1200分の1200 [================= ============= - 3秒 - 損失: 0.4276 - acc:0.8017 - val_loss:0.3884 - val_acc:0.8350

エポック7/15 1200/1200 [===== =========================] - 3S - ロス: 0.3975 - ACC:0.8167 - val_loss:0.3666 - val_ac C:0.8400

エポック8/15 1200分の1200 [==============================] - 3S - 損失: 0.3916 - ACC:0.8183 - val_loss:0.3753 - val_acc:0.8450

エポック9/15 1200分の1200 [======================= ======= - 3秒 - 損失: 0.3814 - acc:0.8233 - val_loss:0.3505 - val_acc:0.8475

エポック10/15 1200/1200 [=========== =================== - 3秒 - 損失: 0.3842 - acc:0.8342 - val_loss:0.3672 - val_acc:0.8450

エポック11/15 1200/1200 [======= =======================] - 3S - 損失: 0.3674 - ACC:0.8375 - val_loss:0.3383 - val_acc:0.8525

エポック12/15 1200/1200 [=============] - 3秒 - 損失: 0.3624 - acc:0.8367 - val_loss: 0.3423 - val_acc:0.8650

エポック13/15 1200分の1200 [==============================] - 3S - ロス: 0.3497 - ACC:0.8475 - val_loss:0.3069 - val_acc:0.8825

エポック14/15 1200分の1200 [===================== =========] - 3秒 - 損失: 0.3406 - acc:0.8500 - val_loss:0.2993 - val_acc:0.8775

エポック15/15 1200/1200 [=============] - 3秒 - 損失: 0.3252 - acc:0.8600 - val_loss:0.2960 - val_acc:0。8775

400分の400 [==============================] - 0

テストスコア:0.299598811865

試験精度:0.88

Keras documentationを見ると、私はまだ何であるかのスコアを理解していません。評価関数の場合は、次のようになります。

テストモードのモデルの損失値&メトリクス値を返します。

私が気づいたことの1つは、テストの精度が低いほどスコアが高く、精度が高いほどスコアが低いことです。参考

+0

あなたkerasバージョンは何をあなたはコードを提供することができますか? – maz

+0

@maz私はKeras 2.0.3を使用しています。実験しているコードは次のとおりです:https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py –

答えて

4

、コード

model.compile(loss='binary_crossentropy', 
       optimizer='adam', 
       metrics=['accuracy']) 

score, acc = model.evaluate(x_test, y_test, 
          batch_size=batch_size) 
print('Test score:', score) 
print('Test accuracy:', acc) 

スコアの2つの関連部分は、所与の入力のための損失関数の評価です。

トレーニングネットワークは、損失関数(またはコスト関数)を最小化するパラメータを見つけることです。

ここでのコスト関数は、binary_crossentropyです。 (Tの*ログ(O)+(1-T)*ログ(1 - ターゲットTとO、バイナリcrossentropyは

F(T、O)=として定義することができるネットワーク出力について

O))

あなたが見るスコアはその評価です。

入力のバッチを入力すると、平均損失が返される可能性が高くなります。

あなたのモデルの損失(テスト時)が低い場合、モデルの予測誤差が小さくなることがあります。

0

学習プロセスでは、モデルの「最良の」パラメータ値(たとえば、ニューラルネットワークの重み)を見つけるためにロスがよく使用されます。これは、ウェイトを更新することによってトレーニングで最適化しようとするものです。

精度は適用された観点からよります。上記の最適化されたパラメータが見つかったら、このメトリックを使用して、モデルの予測と実際のデータとの正確さを評価します。

この答えは、詳細な情報提供:?

How to interpret "loss" and "accuracy" for a machine learning model

関連する問題