过拟合和欠拟合是机器学习中常见的一种现象,那么到底什么才叫过拟合欠拟合,怎么去解决这种问题呢?这就是本文的重点阐述内容。
过拟合
过拟合是指针对训练数据,模型过度适配的情况。简单而言就是模型的泛化能力比较弱。在训练模型的过程中学到了太多的特征,而这其中有些特征其实并不一定是有用的。例如当有一个人脸识别项目中,我们的 模型学到了人的口鼻嘴眼耳特征,此外还多学到了鼻子上的眼镜(可能是训练数据中人存在太多戴眼镜的人)。当项目落地后我们发现对于不戴眼镜的人脸不识别了或者说识别不出来了,这就是一种过拟合现象。
欠拟合
欠拟合表示的是模型在训练集和测试集上表现的效果都不好。简单来说就是模型获得的数据特征太少,不能有效的拟合数据。为了方便理解仍然用人脸识别去举例,我们在模型提取特征的过程中并未提取到人脸口鼻等特征,在训练集上都识别不出已经标记好的人脸,更不要说在模型实际应用中能够识别出人脸了,这就是一种欠拟合现象。
过拟合解决策略
现在我们已经知道了什么叫做过拟合,导致过拟合的根本原因就是特征维度过多,解决过拟合的办法可以从以下几个方面考虑:
(1)再次数据清洗。避免数据不纯造成的过拟合现象。
(2)调整训练集的量。增大训练集,让数据本身就有非常强的泛化能力。
(3)降低特征维度。可通过无监督学习筛选特征或者人工干预某些特征。
从工程而言,稀