pytorch学习笔记(十三)————过拟合&欠拟合

本文探讨了机器学习中常见的过拟合与欠拟合问题,通过线性模型和非线性模型的实例,分析了模型学习能力与真实数据模型之间的差距,以及如何通过观察训练集和测试集的准确度来判断模型是否出现过拟合或欠拟合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pytorch学习笔记(十三)————过拟合&欠拟合

目录

理想化情况

1.场景一:线性模型——房价预测
在这里插入图片描述
横坐标是房屋面积,纵坐标是房屋价格。可以看出这两者呈现线性关系
2.场景二:非线性模型——GPA
在这里插入图片描述
老师给学生打分时,往往给大部分学生一般的成绩,成绩差或成绩好的则占少数。因此总体上趋近于高斯模型,呈现非线性关系

真实情况

在这里插入图片描述
从以上两个例子中,我们都已经提前知道了问题中的具体模型,不知道的只有模型的参数,如期望,方差。然而在现实生活中,大部分要解决的问题是不知道具体模型的。如手写数字识别,我们既不知道他的模型,也不知道里面需要包含什么参数。那么如何解决这个问题呢?
在这里插入图片描述
另外我们还要考虑到另一个因素的影响:噪声。并不是所有的数据集都是严格按照模型的,如房价关系的线性模型,房价与面积在呈线性关系的同时往往会有些许误差。我们可以认为误差服从高斯分布,因此为了尽量减少误差的影响,我们需要大量的数据集来训练模型。同时,如果数据集太少,可能被误认为不满足线性关系,而采用其他关系进行预测。

模型学习能力

在这里插入图片描述
我们对利用数据训练模型时,往往会选择不同的模型,可能一次方,二次方。。。到n次方,不同类型,不同次方的模型,次方越高,模型波动越大越复杂。
那么如何衡量不同模型的学习能力?
在这里插入图片描述
可以看出,只有一个参数的常数函数,学习能力最差,输出的是固定值,随着次方增加,参数越来越多,学习能力越来越强。
在这里插入图片描述
最近的深度学习网络层次越来越深,参数也越来越大,也从侧面反映出模型的model capacity越来越强。

欠拟合与过拟合

接下来我们观察两种情况:
情景一:欠拟合
在这里插入图片描述
我们用的模型复杂度小于真实数据模型的复杂度,就好像利用线性模型去预测非线性模型的GPA函数,这种情况会造成模型的表达能力不够,无法表达真实数据模型,这种情况叫做欠拟合。
在这里插入图片描述
再举一个WGAN的例子,早期的WGAN对模型加了许多约束,导致生成的数据表达能力不够强,上面三幅图无法像下面三幅图一样表达许多精美的图片。
那么欠拟合如何体现出来,我们如何发现模型出现欠拟合?
在这里插入图片描述
训练集准确度低
测试集准确度低

情景二:过拟合
在这里插入图片描述
我们训练出的模型为了拟合所有数据变得过分复杂,为了降低loss,模型趋近于每一个点,训练模型复杂度大于真实数据集复杂度,这样会导致在训练集上的效果非常好,但是在测试集上的效果不好,这种情况叫做过拟合。
那么过拟合如何体现出来,我们如何发现模型出现过拟合?
在这里插入图片描述
训练集准确度高
测试集准确度低
过拟合也可以叫做泛化能力低

总结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值