Tensorflow学习九---过拟合欠拟合

Tensorflow学习九—过拟合欠拟合

欠拟合

当我们使用的模型复杂度远远低于你真实数据的复杂程度,这时我们叫做欠拟合(under fitting)。出现的情况及时Acc上升一定程度之后不再上升,Loss下降到一定程度之后不再下降。在train和test的时候都会表现的很差。解决方法就是增加模型的复杂度
在这里插入图片描述

过拟合

使用的模型的复杂度远远大于真实数据的复杂程度。由下图我们可以看出过分的把噪声包含进来了,逼近与每一个点。
在这里插入图片描述

over-fitting出现的时候,会发现在train的时候表现的特别好而test的时候会表现的很差。用专业的词叫做Generalization Performace也就是泛化能力变差。
那么什么情况会出现这种over fitting?
1、数据集不是很多的时候。
2、样本噪音干扰过大
3、参数太多,模型复杂度过高
那么怎么检测over fitting和怎么解决over fitting?
1、保留验证数据集,对训练成果进行验证;如果发现它在train中loss和acc状态表现特别好,而在test表现很差这就是表示可能出现了over fitting 。

(x, y), (x_val, y_val) = datasets.mnist.load_data()
db = tf.data.Dataset.from_tensor_slices((x, y))
db = db.map(preprocess).shuffle(60000).batch(batchsz).repeat(10)

ds_val = tf.data.Dataset.from_tensor_slices((x_val, y_val))
ds_val = ds_val.map(preprocess).batch(batchsz, drop_remainder=True)

有的时候也会分成三个部分:train , val , test

(x, y), (x_test, y_vtest) 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值