来源链接:https://www.bilibili.com/video/BV1xrNGzrEJx?spm_id_from=333.788.videopod.sections&vd_source=e73a152dada4626bad49c30d848902f7

线性回归——机器学习的第一个模型 学习笔记


📖 笔记概览

本笔记系统整理了线性回归(Linear Regression) 的核心知识点,作为机器学习入门的第一个模型,线性回归是理解整个机器学习与深度学习理论体系的基石。

核心知识点清单

知识模块 主要内容
直观理解 房价-面积案例引入,通过画一条直线拟合数据规律
概念解析 线性、回归、拟合、连续值预测的数学含义
模型表达 单特征线性方程 $\hat{y} = wx + b$,参数 $w$(权重)、$b$(偏置)
损失函数 均方误差 MSE 的定义、原理与优势
优化算法 梯度下降法的原理、下山比喻、学习率概念
训练流程 输入数据 → 预测 → 计算损失 → 求梯度 → 更新参数 → 迭代
多特征扩展 多元线性回归、向量化表达、矩阵运算
多项式回归 非线性拟合、本质仍是线性回归(对参数线性)
延伸方向 逻辑回归(分类问题)、深度学习(多层堆叠)

一、为什么要学习线性回归

  • 线性回归是机器学习课程的理论基础,掌握它就能理解机器学习的工作原理:如何从数据中发现规律,并用规律预测未来数据。
  • 它也是后续学习的基础:
    • 逻辑回归(分类问题)
    • 深度学习(神经网络)

二、直观理解:房价预测案例

2.1 问题引入

假设有一个地区的房价与面积数据:

  • 凭直觉观察:面积越大,房价越高(正相关)
  • 100平的房子 → 房价应在 203~255 万之间

screenshot*

2.2 用直线拟合数据

将所有数据点画在坐标系上后发现:这些点大致可以被一条直线串联起来。

虽然不能严丝合缝,但每个点都离直线很近。于是尝试画一条直线,尽可能穿过这些点。

观察得到的直线大致表达式为:

$$\hat{y} = 2.2x + 10$$

代入 $x = 100$:$\hat{y} \approx 230$ 万 —— 比凭直觉的区间精准得多。

screenshot*

核心思想:寻找数据背后的规律,画一条尽可能拟合数据的直线,用于预测未知值。


三、线性回归的数学定义

线性回归通过构建线性方程来拟合数据的内在分布规律,从而实现对连续数值的预测。

3.1 关键概念解析

(1)什么是”线性”?

数学中线性指输入与输出按比例变化、可叠加,需满足两个性质:

  • 比例性(齐次性):$f(ax) = a \cdot f(x)$
  • 可加性:$f(x + y) = f(x) + f(y)$

⚠️ 注意:线性 不一定 是直线!

  • 一维空间中:线性关系是一条直线
  • 高维空间中:可能是平面或超平面

(2)什么是”拟合数据”?

为数据寻找一个函数规律,使其尽可能描述数据特征。

(3)什么是”连续数值”?

与”离散数据”相对。例如:

  • 连续:房价、温度(任意实数)
  • 离散:分类标签(猫/狗、垃圾邮件/正常邮件)

(4)什么是”回归”?

源自统计学中的**”回归均值”** 现象:身高极端的父母,其子女身高趋向群体平均值。

在机器学习中,”回归”被引申为:通过数据建模,找到输入与输出之间的映射关系,从而预测连续数值。

screenshot*


四、线性回归模型公式

4.1 单特征模型

$$\hat{y} = wx + b$$

符号 含义
$\hat{y}$ 模型的预测值(带”小帽子”)
$x$ 特征数据(如:面积)
$w$ 权重(Weight):直线斜率,表示特征每增加1单位,预测值变化多少
$b$ 偏置(Bias):截距,特征为0时的理论基准值

重要:$w$ 和 $b$ 就是常说的模型参数。大模型所谓”多少B参数”,就是指 $w$ 和 $b$ 的总数。

4.2 训练的本质

训练模型的本质就是搜索一组最适合的 $w$ 和 $b$,让预测线尽可能贴近真实数据。

screenshot*


五、损失函数(Loss Function)

5.1 为什么需要损失函数?

需要一种方法度量预测值与真实值之间的偏差,以判断当前参数好不好。

5.2 均方误差 MSE(Mean Squared Error)

线性回归中最常用的损失函数:

$$\text{MSE} = \frac{1}{N} \sum_{i=1}^{N} (\hat{y}_i - y_i)^2$$

符号 含义
$N$ 样本数量
$\hat{y}_i$ 第 $i$ 个样本的预测值
$y_i$ 第 $i$ 个样本的真实值

5.3 MSE 的两大优势

1. 消除正负号影响

  • 若仅使用 $\hat{y} - y$,正负误差可能相互抵消,明明预测不准却得到 0
  • 平方后所有误差都为正数,避免抵消

2. 放大误差,便于优化

  • 例:误差 $3$ 平方后为 $9$;误差 $0.4$ 平方后为 $0.16$
  • 大误差被进一步放大(惩罚项),小误差变得更小,优化方向更明确

训练目标:让 MSE 尽可能小(理想情况接近 0)。


六、优化算法:梯度下降(Gradient Descent)

6.1 核心思想

对损失函数求偏导数,根据导数(梯度)方向调整参数:

  • 若梯度为正(损失递增)→ 减小参数
  • 若梯度为负(损失递减)→ 增大参数

逐步迭代,使 $w$ 和 $b$ 越来越接近最优值。

6.2 形象比喻:蒙眼下山

现实场景 机器学习对应
山的高度 损失函数的值
山底 损失函数最小值(接近0)
下坡方向 梯度(偏导数)
每步迈多大 学习率(Learning Rate)
反复迭代探路 多轮训练

screenshot*

6.3 关键要点

  • 不是一锤子买卖:需一步步迭代,每次走一小步,重新评估方向
  • 学习率不能太大:跨步太大会”趟过”最优点,造成反复震荡
  • 学习率不能太小:训练速度过慢
  • 数据量大或特征多时,必须使用梯度下降(线性回归在小数据时也可用最小二乘法直接解)

七、模型训练完整流程

输入数据 → 预测 → 计算损失(MSE) → 对损失函数求导(梯度) 
↑ ↓
└────── 更新参数(w, b) ←────────────────────┘
↓
直到 MSE 接近 0(收敛)

经过多轮迭代,模型逐渐收敛到最优解。

screenshot*


八、多元线性回归(多特征扩展)

8.1 现实问题

房价不仅由面积决定,还受楼层、距地铁距离、房龄等因素影响。

8.2 模型公式

$$\hat{y} = w_1 x_1 + w_2 x_2 + w_3 x_3 + \cdots + w_d x_d + b$$

例如房价预测:
$$\hat{y} = w_1 \cdot \text{面积} + w_2 \cdot \text{楼层} + w_3 \cdot \text{距地铁} + w_4 \cdot \text{房龄} + b$$

预期相关性:

  • 面积、楼层 → 正相关(系数为正)
  • 距地铁距离、房龄 → 负相关(系数为负)

8.3 代码示例(sklearn)

from sklearn.linear_model import LinearRegression
import numpy as np

# 特征数据(面积、楼层、距地铁、房龄)
X = np.array([[...], [...], ...])
# 标签数据(房价)
y = np.array([...])

# 初始化并训练模型
model = LinearRegression()
model.fit(X, y)

# 查看参数
print(model.coef_) # 权重 w1, w2, w3, w4
print(model.intercept_) # 偏置 b

示例输出:

  • $w_1 \approx 2.42$(面积)
  • $w_2 \approx 1.3$(楼层)
  • $w_3 \approx -\text{某值}$(距地铁,负)
  • $w_4 \approx -\text{某值}$(房龄,负)
  • $b \approx 49$

预测 100平 + 某楼层 + 某距离 + 5年房龄 → 289 万(比单特征预测的 230 万更精准)

screenshot*

8.4 向量化表达

为简化书写,使用矩阵/向量形式:

$$\hat{y} = \mathbf{w}^T \mathbf{x} + b$$

  • $\mathbf{w}$:权重列向量
  • $\mathbf{x}$:特征列向量
  • $\mathbf{w}^T$:转置(行变列、列变行),使矩阵乘法维度匹配

本质:无论 1 个特征还是 100 个特征,模型结构相同,都是 $wx + b$。


九、多项式回归(非线性拟合)

9.1 问题背景

现实数据并非总是直线分布,可能呈曲线(先快后慢/先慢后快)。

9.2 多项式模型

$$\hat{y} = w_1 x + w_2 x^2 + w_3 x^3 + \cdots + w_d x^d + b$$

  • $d = 1$:普通线性回归(直线)
  • $d = 2$:抛物线
  • $d$ 越大:曲线越灵活

9.3 关键认知 ⭐

多项式回归本质上仍是线性回归!

原因:所谓”线性”是指对参数线性,而非对特征线性。

可以将 $x^2$ 视为新特征 $z$,则模型变为:
$$\hat{y} = w_1 x + w_2 z + \cdots$$

这就是典型的多元线性回归。这种把原特征转换为新特征的过程称为特征工程。

9.4 重要结论

  1. 线性回归不一定画的是直线
  2. 线性回归指的是对参数线性,不是对特征线性
  3. 当特征非线性时,称为多项式回归,本质仍属于广义线性回归

screenshot*


十、线性回归的延


refer

-

声明:

  1. 若文章存在错误,望诸君不吝指正^

  2. blog仅供个人记录学习所用

  3. 部分笔记由于年代久远,做的笔记找不到最初是引用谁的,若是不允许引用转载,请联系我