簡體   English   中英

損失,准確性,驗證損失,驗證准確性之間有什么區別?

[英]What is the difference between Loss, accuracy, validation loss, Validation accuracy?

在每個時代結束時,我得到以下輸出:

Epoch 1/25
2018-08-06 14:54:12.555511: 
2/2 [==============================] - 86s 43s/step - loss: 6.0767 - acc: 0.0469 - val_loss: 4.1037 - val_acc: 0.2000
Epoch 2/25
2/2 [==============================] - 26s 13s/step - loss: 3.6901 - acc: 0.0938 - val_loss: 2.5610 - val_acc: 0.0000e+00
Epoch 3/25
2/2 [==============================] - 66s 33s/step - loss: 3.1491 - acc: 0.1406 - val_loss: 2.4793 - val_acc: 0.0500
Epoch 4/25
2/2 [==============================] - 44s 22s/step - loss: 3.0686 - acc: 0.0694 - val_loss: 2.3159 - val_acc: 0.0500
Epoch 5/25
2/2 [==============================] - 62s 31s/step - loss: 2.5884 - acc: 0.1094 - val_loss: 2.4601 - val_acc: 0.1500
Epoch 6/25
2/2 [==============================] - 41s 20s/step - loss: 2.7708 - acc: 0.1493 - val_loss: 2.2542 - val_acc: 0.4000
.
.
.
.

任何人都可以解釋一下損失,准確性,驗證損失和驗證准確度之間的區別是什么?

當我們在擬合DL模型時提到validation_split作為擬合參數時,它將數據分成兩個部分用於每個時期,即訓練數據和驗證數據。 它在訓練數據上訓練模型,並通過檢查其損失和准確性來驗證驗證數據的模型。

通常隨着每個時代的增加,損失會越來越少,准確性會越來越高。 但是使用val_loss和val_acc,很多情況都是可能的:

  1. val_loss開始增加,val_acc開始減少(意味着模型正在填補值而不是學習)

  2. val_loss開始增加,val_acc也增加。(在輸出層中使用softmax的情況下可能出現過度擬合或概率值不同的情況)

  3. val_loss開始減少,val_acc開始增加(正確,意味着模型構建正在學習並正常工作)

這是一個引用的鏈接,其中給出了更多的描述。 謝謝。 如何解釋機器學習模型的“損失”和“准確性”

我試着在https://www.javacodemonk.com/difference-between-loss-accuracy-validation-loss-validation-accuracy-when-training-deep-learning-model-with-keras-ff358faa上解釋一下

在model.compile函數中,您已定義了損失函數和度量函數。

您的“損失”是您的損失函數的值(未知,因為您不顯示您的代碼)您的“acc”是您的指標的值(在這種情況下是准確性)val_ *僅表示該值對應於您的驗證數據。

只有損耗函數用於更新模型的參數,精度僅用於查看模型的運行情況。

您應該盡量減少損失並最大限度地提高准確性。 理想情況下,驗證數據結果與訓練數據結果之間的差異應該相似(盡管預計會有一些差異)

我想這是另一個值得通知的答案:

val_loss是交叉驗證數據的成本函數值,而損失是培訓數據的成本函數值

https://datascience.stackexchange.com/a/25269

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM