当训练集等于测试集时,训练损失与验证损失不匹配

我正在运行以下代码:

D.fit(X_train, y_train, nb_epoch=12,validation_data=(X_train,y_train))

但我得到的输出类似于:

Train on 61936 samples, validate on 61936 samplesEpoch 1/1261936/61936 [==============================] - 10s 166us/step - loss: 0.0021 - val_loss: 1.5650e-04Epoch 2/1261936/61936 [==============================] - 10s 165us/step - loss: 0.0014 - val_loss: 6.6482e-04...Epoch 10/1261936/61936 [==============================] - 11s 170us/step - loss: 0.0104 - val_loss: 9.6666e-05

回答:

已知问题

https://github.com/keras-team/keras/issues/605

另一个导致结果不同的原因是,在计算“loss”时模型仍在训练中,而计算“val_loss”时模型是固定的。由于模型在训练中,“loss”通常会比该周期结束时的真实训练集损失更大。也就是说,“loss”是该周期内的平均损失,而“val_loss”是周期结束后的平均损失。由于模型在周期内发生变化,损失也会随之变化。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注