weixin_45099845 2019-07-25 20:24 采纳率: 42.9%
浏览 9918
已采纳

如何防止过拟合?为何我的训练准确率高,但是测试准确率很低?

问题如标题
print('Training ------------')

training the model

model.fit(X_train, y_train, epochs=8, batch_size=32,)

Epoch 1/8
19578/19578 [==============================] - 334s 17ms/step - loss: 1.9936 - acc: 0.3272
Epoch 2/8
19578/19578 [==============================] - 325s 17ms/step - loss: 1.3145 - acc: 0.5698
Epoch 3/8
19578/19578 [==============================] - 325s 17ms/step - loss: 0.9667 - acc: 0.6897
Epoch 4/8
19578/19578 [==============================] - 325s 17ms/step - loss: 0.7580 - acc: 0.7557
Epoch 5/8
19578/19578 [==============================] - 325s 17ms/step - loss: 0.5882 - acc: 0.8095
Epoch 6/8
19578/19578 [==============================] - 325s 17ms/step - loss: 0.4548 - acc: 0.8510
Epoch 7/8
19578/19578 [==============================] - 325s 17ms/step - loss: 0.3471 - acc: 0.8839
Epoch 8/8
19578/19578 [==============================] - 325s 17ms/step - loss: 0.2524 - acc: 0.9176

print('\nTesting ------------')

Evaluate the model with the metrics we defined earlier

loss, accuracy = model.evaluate(X_test1, y_test1)

print('\ntest loss: ', loss)
print('\ntest accuracy: ', accuracy)

Testing ------------
3000/3000 [==============================] - 16s 5ms/step

test loss: 15.392780853271484

test accuracy: 0.045

  • 写回答

2条回答 默认 最新

  • b1044339259 2019-07-26 12:51
    关注

    首先一点,我习惯讲问题,很啰嗦。因为我想把问题讲的连之前不知道的人都可以清楚明白。你不介意就继续看吧。
    第一个:我们训练模型其实在做什么。
    神经网络模型本质就是一个算法,一个组合的算法。我们训练神经网络其实是在调参,让这个算法符合我们想要的效果。
    第二个:什么是过拟合
    网络调参是依据样本去调整算法。当我们根据样本调参出来的算法太过符合样本时,就对新数据效果不好。比如我分辩是不是狗。我样本都是二哈,这样调整的网络参数都是二哈的。现在识别新数据——金毛,就会识别金毛不是狗。
    这就是过拟合。调出来的参数太符合样本了。
    第三个:解决方法
    过拟合就是参数调的太符合样本,所以解决的方法就有两方面
    1.样本。 原本样本只有二哈的,导致参数符合二哈,现在增加样本种类和大小,这样参数调整出来就符合更多狗的。
    2.参数。 让参数调整的没那么好。这就衍生出正则化、dropout等方法。正则化就是在loss函数加一项,这样出来的参数就有那一项的影响,不会太符合样本特征了。
    dropout就是在每次迭代训练时随机丢一些单元,这次不参与,这样每次模拟的就不是基于全部,出来的参数就不会太符合样本了。
    其实无论哪种方法都是基于参数调整方面出发。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题