前言
拟合从数学图像角度来说就是将一组平面图像上的点用平滑的曲线连接起来。
在深度学习中平面图像上的点就是数据特征(验证集样本特征值),然后用线将已经学到的数据特征连接起来,这样才称为拟合。
拟合也分三种:正确拟合、欠拟合、过拟合。
正确拟合
正确拟合是将样本特征学习的非常平滑,也就是学习到的样本与验证样本特征差距不大,经过算法学习样本特征值与验证集样本特征值差距并不大
如下图是一个正确拟合的数据曲线图:
从上图中可以看到有许多的方块点,然后用曲线将每个原点按顺序连接在一起,但是你可以看到曲线并不是完全从点上连接过来,而是靠近点的范围内画出一条线,这代表是算法提取特征出来的结果,这一点也能看出loss损失函数目前的收敛程度,可能一开始训练时的拟合图并不是很靠近点,但是在逐渐的训练过程中生成的拟合图逐渐将点靠近代表着loss损失与精确率逐渐提升,因为机器学习识别出来的特征与样本特征逐渐靠近。
因为验证集特征仅仅只是用于验证的,并不是实际学习的样本,所以线点理应在验证集样本点的附近,这样才证明你学习出来的特征与验证样本特征相差不大,说明验证集样本在与特征进行比较时正确率较高,线点就是学习特征与验证集特征的差值,这些线点连接在一起形成一个线条。
从上图可以看到曲线是非常平滑的,这种拟合的曲线叫正确拟合。
欠拟合
欠拟合就更好理解了,就是当前学习到的样本特征与验证集样本特征相差过大,如下图:
可以看到有非常多的代表验证集样本特征的方块,可以看到线条直线冲到了最后,有许多验证集样本特征附近没有出现线条,这意味着仅仅有一小部分的验证集样本被正确验证了,有许多验证集样本在验证时不合格的,如果验证集样本里有一些在进行验证时不合格的,那么生成的拟合图中就不会在那块验证集样本特征附近绘制线点,这个现象就说明学习的样本特征不能描述某些验证集特征,这种情况一般是你学习样本特征过少了,导致学习的样本不能描述所有验证集特征。
过拟合
最开始说正确拟合时说过,线点生成最好的条件是在验证集特征点附近,而不是完全重叠在研究者特征点上,这里说一下为什么,如下这张图是一张过拟合的曲线图:
可以看到与验证集特征点完全重叠了, 这种情况是因为机器学习时学习样本特征过多,大家要知道学习样本在输入到神经网络里做学习之前会做卷积与滤波之外还要对样本进行降噪,如我们识别一张人,那么人以外的场景,如:桌子,背景,图片亮度,这些其实都不需要,这部分可以视为噪声,如语音识别过程中人声以外的外界声音这些都是噪声,机器学习需要去噪,保证特征是干净的,完全可靠的。
而验证集样本是不会做去噪的,所以正常情况下曲线理应是在靠近验证集特征的,但又不重叠,不重叠的这部分就是噪声的原因,这样才是正确且合理的,如果完全重叠说明把噪声也学进来了,那么这样就是不合理的,所以就会出现曲线与特征点重叠的样子。
解决这种方法就是重新清洗学习集样本,提高去噪算法核的大小,尽可能的去去噪。
补充知识
拟合是一个数据集表示的概念,不光用在验证特征学习上,还可以用在别的地方上,只需要将你需要验证的数据以点的形式分布在平面图上,然后在进行预测,将预测值以线条方式在平面图绘制出来就可以了,然后可以看线与点的拟合程度来判断当前验证结果。
在绘制拟合时需要注意,设置一个阈值,如果预测与验证差距较大达到这个阈值,那么就不绘制这个点了,这样才能代表这个验证集特征没有被正确验证,这样的话才能绘制出欠拟合的曲线图。