线性回归-学习笔记

线性回归

线性回归是最简单的有监督回归算法,用于建立自变量(特征 x) 和因变量(预测值 y) 之间的线性数学关系,目标是用一条直线(高维为超平面)拟合数据,实现连续值预测。

损失函数

误差 = 预测值 - 真实值

损失函数就是用来描述每个样本和其预测值之间关系的

各个样本的误差和,越小越好

公式:

正规方程

求解线性回归最小二乘的最优参数,不需要迭代,一步直接算出解析解。

正规方程的问题:

如果运算量可能内存溢出,

如果矩阵没有逆,则计算不出来

公式:

梯度下降

梯度下降是机器学习最基础、最常用的优化算法,核心目的:不断迭代更新参数,最小化损失函数(代价函数),找到函数最小值点。

更新公式:

例子:

梯度下降分类

  1. 全梯度下降:

    每次更新参数,使用全部 m 条样本计算梯度

  2. 随机梯度下降:

    每次只用 1 条随机样本更新参数

    每看完一条样本立刻更新 θ,不用等全部样本算完。

  3. 小批量梯度下降 Mini-batch GD(深度学习最常用):

    把数据集切成一小块一小块(batch,如 32/64 条)

    每次取一小批样本算梯度更新。

线性回归例子

py 复制代码
# 导包
from sklearn.linear_model import LinearRegression

# 1.加载数据集(身高/体重)
x_train = [[160],[166],[172],[174],[180]]
y_train = [56.3,60.6,65.1,68.5,75]
x_test = [[176]]

# 2.数据预处理
# 3.特征化处理

# 4.模型训练
estimator = LinearRegression()
estimator.fit(x_train, y_train)

# 显示权重(斜率)与偏置(截距)
print(f"权重:{estimator.coef_}")
print(f"偏置:{estimator.intercept_}")

# 5.模型预测
y_pred = estimator.predict(x_test)

print(y_pred)

欠拟合、过拟合、正好拟合

欠拟合

欠拟合就是训练集和测试集表现都不好

解决方法:增加模型复杂度,添加特征列

过拟合

过拟合就是训练集表现好,但是测试集表现不好

解决方法:手动筛选(减少)特征,还可以L1和L2正则化

L1和L2都是基于惩罚系统,来修改特征列的权重,惩罚系数越大,修改力度越大,对应的权重就越小

正好拟合

正好拟合就是训练集和测试集表现都好

线性回归的正则化

L1 正则:Lasso 套索回归

Lasso:几乎全部权重归零,只剩极少数有用特征

不重要权重直接 = 0,自动删除特征

L2 正则:Ridge 岭回归

Ridge:所有权重无限贴近 0,模型变成水平线,欠拟合

所有权重同步缩小,全部不为 0,保留所有特征

相关推荐
前进的李工21 小时前
Agent 学习笔记 05:系统提示词应该怎么写
笔记·学习·prompt·agent·个人开发·few-shot·ai应用开发
正在走向自律1 天前
【3/5】人工智能训练师 三级/高级工 考证学习方向:从“独立执行”到“设计、归因与全链条负责”
人工智能·学习·人工智能训练师·注方案设计·数据质控负责人·模型评测与调优辅助·ai训练项目交付
蒸蒸yyyyzwd1 天前
后端学习笔记三个知识
笔记·八股
CCIE-Yasuo1 天前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
La Pulga1 天前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统
Zhao-Jichao1 天前
AI Prompting for Everyone 课程笔记 - P19 数据分析 Data Analysis
人工智能·笔记·数据分析
li星野1 天前
【学习记录】逻辑分析仪完全入门:从品牌方案到采样率、存储深度的核心概念解析
学习
旖旎夜光1 天前
【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针
开发语言·c++·笔记·学习
ACP广源盛139246256731 天前
选型笔记:Type‑C 扩展坞方案评估|DP1.2 转 HDMI2.0 桥接芯片 GSV2201D@ACP
笔记·硬件架构·硬件工程·视频·国产芯片
WEI_YANG_JU1 天前
初中数学教学中合作学习的研究与实践
学习