2021/07/22
过拟合 和欠拟合
在建立模型中,很有可能遇见 训练数据训练的时候很准确,但是一到测试集就会有很大误差。这就要了解过拟合和欠拟合两个名词了。先看图片 上图能看出来机器学习经过简单的模型,学习到的特征很少,依靠两个特征分类,导致把很多的目标值也预测错误。不是天鹅的图片也识别为天鹅(欠拟合) 上图看出来机器学习,特征学习到了很多特征 但是最后预测结果正确的也被认为是错误的(过拟合)
再用数轴来解释以下,欠拟合和过拟合 横坐标是模型复杂度,表示模型从简单到复杂。纵坐标代表结果出现的程度 从少到多。在模型很简单的时候,测试出现的错误和训练集错误一样多。说明模型有欠拟合,“欠”说明模型复杂度还没到最优,还可以继续提高模型复杂度。 后半段的地方模型很复杂,很有用(挑选出了很多的特征),训练集的出现的错误也越来越少,但是测试集的错误也慢慢增高了,说明很有可能把很多正确的选项也认为错误了。就是过拟合,“过”代表模型复杂度太过头了 需要简单一些。
非线性关系
在很多的样本中其实都是非线性关系,所以我们就得需要增加模型的复杂度 找到数据之间的多种关系。如下图 第一个图,纯粹画了一条线。很多的数据就会被预测失误。也是一种欠拟合 第二个图,多增加了一种线性关系(多增加了个w)。相比较第一个误差会更小。比较合适 第三个图,又增加了多个线性关系,那么很有可能把正确的点都认为错误。模型过于复杂,也就过拟合了。
欠拟合原因和解决方法
欠拟合,就是模型过于简单。学习到的特征太少。 解决办法
过拟合原因和解决方法
过拟合,就是因为模型过于复杂 想要兼顾到每一个数据。模型学习出了一些嘈杂特征 解决办法
- 进行特征选择消除关联性较大的特征(很难做到,因为特征之间的关系不好把握,容易出错)
- 特征选择: 1.过滤式:低方差特征。2嵌入式:正则化,决策树,神经网络
- 交叉验证(让所有数据都经过训练)
正则化
上面那个图能看出来模型越复杂,带有高次项的数越多。那么正则化就是尝试着把高次项的影响力消除,正则化会把高次幂的W变为趋近为0,来降低对模型复杂度的影响力。也就从而降低了模型复杂度,减轻过拟合。 现在回想起来,线性回归LinerRegression 会容易出现过拟合,因为上一篇文章也提到 数据经过这个模型方法 会得到很多的W值,很容易导致过拟合。于是乎带有正则化的线性回归便出现了。 Ridge:岭回归 就是带有正则化的线性回归
|