微信扫一扫打赏支持

tensorflow2知识总结---6、过拟合实例

tensorflow2知识总结---6、过拟合实例

一、总结

一句话总结:

A、训练集上的loss一直降低 ,测试集上的loss却有较大波折,证明过拟合
B、训练的时候验证测试数据:history = model.fit(train_image,train_label,epochs=10,validation_data=(test_image,test_label))

 

 

二、过拟合实例

博客对应课程的视频位置:

 

In [15]:
model.compile(optimizer=tf.keras.optimizers.Adam(lr=0.01),
              loss='sparse_categorical_crossentropy',
              metrics=['acc'])

history = model.fit(train_image,train_label,epochs=10,validation_data=(test_image,test_label))
Epoch 1/10
1875/1875 [==============================] - 4s 2ms/step - loss: 0.5830 - acc: 0.7952 - val_loss: 0.5694 - val_acc: 0.8118
Epoch 2/10
1875/1875 [==============================] - 4s 2ms/step - loss: 0.4734 - acc: 0.8345 - val_loss: 0.5036 - val_acc: 0.8325
Epoch 3/10
1875/1875 [==============================] - 4s 2ms/step - loss: 0.4435 - acc: 0.8448 - val_loss: 0.4976 - val_acc: 0.8219
Epoch 4/10
1875/1875 [==============================] - 4s 2ms/step - loss: 0.4357 - acc: 0.8473 - val_loss: 0.4562 - val_acc: 0.8372
Epoch 5/10
1875/1875 [==============================] - 4s 2ms/step - loss: 0.4264 - acc: 0.8498 - val_loss: 0.4844 - val_acc: 0.8318
Epoch 6/10
1875/1875 [==============================] - 4s 2ms/step - loss: 0.4166 - acc: 0.8554 - val_loss: 0.4419 - val_acc: 0.8453
Epoch 7/10
1875/1875 [==============================] - 4s 2ms/step - loss: 0.4142 - acc: 0.8563 - val_loss: 0.4717 - val_acc: 0.8399
Epoch 8/10
1875/1875 [==============================] - 3s 2ms/step - loss: 0.4024 - acc: 0.8585 - val_loss: 0.5863 - val_acc: 0.8016
Epoch 9/10
1875/1875 [==============================] - 4s 2ms/step - loss: 0.4119 - acc: 0.8574 - val_loss: 0.4793 - val_acc: 0.8437
Epoch 10/10
1875/1875 [==============================] - 3s 2ms/step - loss: 0.3978 - acc: 0.8606 - val_loss: 0.4618 - val_acc: 0.8442
In [16]:
history.history.keys()
Out[16]:
dict_keys(['loss', 'acc', 'val_loss', 'val_acc'])
In [21]:
plt.plot(history.epoch, history.history.get('loss'),"r-",linewidth=2,label="训练集:loss")
plt.plot(history.epoch, history.history.get('val_loss'),"g-",linewidth=2,label="测试集:val_loss")
plt.legend(loc ="upper right")
Out[21]:
<matplotlib.legend.Legend at 0x1b458606588>

图形分析

训练集上的loss一直降低 ,测试集上的loss却有较大波折,证明过拟合

In [24]:
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["font.family"]="sans-serif"

plt.plot(history.epoch, history.history.get('acc'),"r-",linewidth=2,label="训练集:acc")
plt.plot(history.epoch, history.history.get('val_acc'),"g-",linewidth=2,label="测试集:val_acc")
plt.legend(loc ="upper right")
Out[24]:
<matplotlib.legend.Legend at 0x1b416735548>

 

 
posted @ 2020-07-28 20:55  范仁义  阅读(330)  评论(0编辑  收藏  举报