【机器学习】线性回归算法的过拟合比较

本文深入探讨了过拟合与欠拟合的概念,通过线性回归模型的实例,对比了不同复杂度模型的表现。介绍了L1-norm LASSO回归、L2-norm Ridge回归及ElasticNet等对抗过拟合的方法,并分析了它们的特点。

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

回顾

  • 过拟合与欠拟合 主要介绍了什么是欠拟合什么是过拟合
  • 对抗过拟合 主要介绍了线性回归中对抗过拟合的方法,主要包括:L1-norm的LASSO回归、L2-norm的Ridge回归,此外还有一个没有提到,L1-norm和L2-norm结合的Elasitc Net(弹性网络)

Ridge模型具有较高的准确性、鲁棒性以及稳定性;LASSO模型具有较高的求解速度;
如果既要考虑稳定性也考虑求解的速度,就使用Elasitc Net

后面我们将对线性回归、LASSO回归、Ridge回归以及Elasitc Net模型的过拟合比较

下面我们首先来看看过拟合是什么样子的

线性回归过拟合示例

图中真实数据点是由
y = 1.8 ∗ x 3 + x 2 − 14 ∗ x − 7 y = 1.8*x^3 + x^2 - 14*x - 7 y=1.8x3+x214x7
再加上随机数产生的,表示三阶模型应该是最好的模型

在这里插入图片描述

上图我们通过多项式线性回归实现了不同阶数的数据拟合程度
当阶数为1时,为一条直线,不能够很好的拟合数据,属于欠拟合
当阶数为3时,基本与数据拟合,正确率基本为1,因为我们加入了随机数,所以3阶模型不可能百分百拟合
当阶数为5时,正确率达到了1,已经达到了最大值,再往后就是过拟合了
当阶数为9时,我们可以明显发现,曲线在前面一段有突变,出现严重过拟合,往后就更过拟合了

源代码可见:Github下的06_过拟合.py

回归算法过拟合比较

在这里插入图片描述

图中我们可以看出:

  • 线性回归在9阶时出现了过拟合,而其他回归模型没有
  • 因为其他三个模型都对过拟合进行的处理

源代码可见:Github07_回归各种算法的过拟合比较.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值