机器学习_线性回归_线性回归过拟合和欠拟合+正则化线性模型学习总结

线性回归的缺陷--欠拟合和过拟合

欠拟合:

简介

训练集和测试集表现都不怎么样, 模型太简单

产生原因:

学习到的特征太少

改进方法:

1.添加其他特征

组合

泛化

相关性

上下文特征,平台特征等

2.添加多项式特征, 将低次项模型变成高次项模型

过拟合:

简介

原始特征过多,存在嘈杂特征,模型尝试兼顾各个测试点

产生原因:

训练集表现好,测试集表现不好, 模型过于复杂

改进方法:

1.重新清洗数据

过拟合可能因为数据不纯导致的

2.增大数据的训练量

过拟合可能因为训练的数据量太少,没有代表性,训练数据占总数据的比例过小

3.正则化

4.减少特征维度, 防止维灾难

改进方法-正则化:

通过限制高次项的系数来尽量减小高次项特征的影响,

以达到防止过拟合的目的

L1正则化

将某些高次项前面的系数W变为0, 去除该特征值的影响

应用

LASSO回归

缺点

模型不是平滑的曲线,会出现很多顶点不可导

L2正则化

让某些高次项系数W值很小,接近零,削弱该特征其影响

应用

Ridge回归

优点

模型是平滑曲线, 高次项参数越小, 说明模型越简单, 越不容易产生过拟合

正则化线性模型

1.RidgeRegression-岭回归

简介:

在系数前面添加平方项, 然后用α来限制系数值的大小,

α越大, 系数值越小, α越小, 系数值越大

api:

sklearn.linear_model.Ridge()

参数:

alpha--正则化强度

solver-选择的线性回归算法

默认SAG(随机平均梯度下降算法)

normalize-是否对数据进行标准化

normalize=True, 自动调用算法进行标准化

normalize=False, 不对数据进行标准化

2.Lasso回归

简介:

处理系数的绝对值, 用α来影响系数值大小,

α越大, 系数值越小, α越小, 系数值越大

3.Elastic Net 弹性网络

简介:

前两个的综合, 即

在系数前面添加平方项, 然后用rα来限制系数值的大小,

处理系数的绝对值, 用1-r/2α来影响系数值大小,

当r为0时, 算法变成lasso回归

当r为1时, 算法变成ridge回归

4.算法推荐:

常用算法: Ridge回归

当只有少部分特征可以使用时:

  • Elastic Net(弹性网络)

  • Lasso回归

弹性网络使用更广泛,因为在特征维度高于样本数时, 或者特征维度为强相关时, Lasso回归表现不佳

5.Early stopping(扩展, 了解即可)

通过限制错误率的阈值, 即时停止

当错误率最小时, 停止执行算法

扩展--维灾难:

随着维度增加,分类器性能逐步上升, 到达某一顶点之后, 性能逐渐下降

维数灾难的核心问题:

随着维数的增加,数据的体积指数级增长,导致可用数据变得稀疏。

这使得在统计学上获得正确且可靠的结果所需的数据量也呈指数级增长。

此外,高维空间中的数据分析和模型构建变得更加复杂和困难,容易导致过拟合等问题

我的唠叨--下述内容与上述内容无关

哦, 对于机器学习感兴趣的小伙伴, 推荐你们可以看一看

【不讲废话!北大教授花198小时整理出来的人工智能【机器学习+深度学习】教程,全程干货无废话,学不会自我反省!-哔哩哔哩】 https://b23.tv/XYti299

或者吴恩达的<机器学习>, 可能刚刚进去的时候容易被他的英文字幕给吓到, 但是没关系的,

国内b站上面的中文字幕到处都是, 而且这位大佬讲的确实浅显易懂,

我估摸着学习好点的高中生完全可以听得懂, 这里链接我就不推荐了

最近在学爬虫, 找了好多课程, 发现了一个内容质量挺高的一个博主<轻松学python>,

个人感觉, 搞爬虫, 他是专业的🤣, 话不多说, 要开始我下午的生活了

相关推荐
小oo呆2 小时前
【学习心得】Python多线程
python
happylifetree6 小时前
Python70:核心语法-函数进阶-案例2
python
irislinAmelia6 小时前
缺陷检测AI关键点在哪
人工智能·嵌入式硬件·1024程序员节
Ai-_Man6 小时前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
安托智造6 小时前
MBD:从二维图纸到三维模型的制造革命(下)
大数据·人工智能·制造·mbd
火山引擎开发者社区6 小时前
VeOps 深度调查:让 AI 排障从“能用”走向“可靠”
人工智能
梓豪csd6 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
王中阳Go6 小时前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
BK贝壳6 小时前
bool-hybrid-array 落盘我只认 .bha:用 Create_BHA / Ask_BHA 做布尔数组序列化
数据结构·python·numpy·1024程序员节
武天旭6 小时前
AI安全--AI大模型的隐私保护与法律法规
人工智能·安全