我的训练和验证代码(TensorFlow)是否正确?模型是否过拟合?

这是我的代码:

for it in range(EPOCH*24410//BATCH_SIZE):    tr_pa, tr_sp = sess.run([tr_para, tr_spec])    train_loss, _ = sess.run([loss, fw_op], feed_dict={x: tr_pa, y: tr_sp})    train_loss_.append(train_loss)    it_tr.append(it)    va_pa, va_sp = sess.run([va_para, va_spec])    validate_loss = sess.run(loss, feed_dict={x: va_pa, y: va_sp})    validate_loss_.append(validate_loss)

这是训练损失和验证损失的图表:

enter image description here

我的问题是我的验证代码是否正确?这个模型是否过拟合?


回答:

过拟合的明显标志是当你的验证损失开始增加,而你的训练损失继续减少时,即:

adapted from Wikipedia

(图片改编自维基百科关于过拟合的条目)

以下是一些其他表示过拟合的图表(来源):

enter image description here

enter image description here

另见Stack Overflow讨论如何判断是否发生欠拟合或过拟合?

显然,你的图表没有表现出这种行为,因此你没有过拟合。

你的代码看起来没问题,但请注意你没有展示会话sess内部具体发生了什么。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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