线性回归入门级

一、线性回归简介:用线性关系捕捉数据规律

线性回归的核心思想,是通过属性的线性组合构建预测模型,找到能最小化 "预测值与真实值误差" 的线性关系载体 ------ 在二维数据中是一条直线,三维数据中是一个平面,更高维数据中则是超平面。

比如预测房屋价格时,若仅考虑 "房屋大小" 这一属性,我们可以用一个简单的线性函数来表示价格与房屋大小的关系:f(x)=W₀ + W₁x。其中,x 代表房屋大小,f (x) 是预测的房屋价格,W₀是截距(当房屋大小为 0 时的基础价格,实际场景中需结合业务理解),W₁是斜率(表示房屋大小每增加 1 单位,价格平均变化的幅度)。

从更通用的数学角度来看,对于由 d 个属性描述的样本 x=(x₁; x₂; ⋅⋅⋅; x_d)(x_i 是样本在第 i 个属性上的取值),线性模型的一般形式可表示为:

  • 展开式:f (x)=w₁x₁ + w₂x₂ + ... + w_dx_d + b
  • 向量形式:f (x)=w^T x + b

这里的 w=(w₁; w₂; ⋅⋅⋅; w_d) 是属性的权重向量,b 是偏置项,它们共同构成了线性模型的核心参数。我们的目标就是找到最优的 w 和 b,让模型的预测结果尽可能接近真实值。

二、核心求解方法:最小二乘法

如何找到最优的 w 和 b 呢?线性回归中最常用的方法是最小二乘法,它的本质是基于 "均方误差最小化" 来求解模型参数。

均方误差对应了数学中的 "欧氏距离",最小二乘法的直观理解就是:找到一条直线(或平面、超平面),让所有样本点到这条线(或面)的欧氏距离之和最小。

从数学公式来看,我们需要最小化的误差函数 E (w,b)(均方误差的总和)为:
E (w,b) = Σ(从 i=1 到 m)[y_i - f (x_i)]² = Σ(从 i=1 到 m)[y_i - (w x_i + b)]²

其中 m 是样本数量,y_i 是第 i 个样本的真实值,f (x_i) 是模型对第 i 个样本的预测值。这个过程也被称为线性回归模型的最小二乘 "参数估计"。

最小二乘法的求解步骤

  1. 求导:将误差函数 E (w,b) 分别对 w 和 b 求偏导,得到偏导数表达式(过程涉及微积分的链式法则,最终可推导出关于 w 和 b 的线性方程)。
  2. 令偏导数为 0 :因为误差函数是凸函数,偏导数为 0 的点就是误差最小的点。通过令两个偏导数等于 0,联立方程求解,即可得到 w 和 b 的最优解:
    • w = [Σ(从 i=1 到 m)(x_i - x̄)(y_i - ȳ)] / [Σ(从 i=1 到 m)(x_i - x̄)²]
    • b = ȳ - w x̄

其中 x̄是所有样本 x_i 的平均值,ȳ是所有样本 y_i 的平均值。

三、模型评估指标:判断拟合效果的 "标尺"

模型训练完成后,我们需要用评估指标来判断其拟合效果。线性回归中常用的指标有以下三类:

1. 误差平方和(SSE/RSS)

SSE(Sum of Squared Error) 也叫残差平方和(RSS),计算的是所有样本 "真实值与预测值差值的平方和",公式为:
SSE = Σ(从 i=1 到 m)(y_i - ŷ_i)²

其中ŷ_i 是模型对第 i 个样本的预测值。SSE 的值越小,说明模型预测的误差越小,但它受样本数量影响较大 ------ 样本越多,SSE 通常越大,因此不适合跨数据集比较。

2. 均方误差(MSE)

为了解决 SSE 受样本数量影响的问题,我们引入MSE(Mean Square Error) ,即 SSE 的平均值:
MSE = (1/m) * Σ(从 i=1 到 m)(y_i - ŷ_i)²

MSE 消除了样本数量的影响,更能反映模型的平均误差水平,是回归问题中最常用的指标之一。

3. 决定系数(R²)

MSE 和 SSE 只能反映误差大小,却无法直观体现 "模型解释数据变异的能力"。R²(R-Squared) 则弥补了这一缺陷,它的取值范围在 (-∞, 1] 之间,越接近 1,说明模型对数据的拟合效果越好。

R² 的计算基于 "总平方和(SST)" 和 "残差平方和(SSE)":

  • 总平方和 SST:反映真实值与真实值平均值的差异,即数据本身的总变异程度,公式为SST = Σ(从 i=1 到 m)(y_i - ȳ)²
  • 决定系数 R²:表示 "模型解释的变异占总变异的比例",公式为R² = 1 - (SSE / SST)

从另一个角度看,R² 也可以用 MSE 和数据方差(Var (y))表示:R² = 1 - (MSE / Var(y))。当 R²=1 时,SSE=0,模型完美拟合所有样本;当 R²=0 时,模型的预测效果和 "直接用真实值的平均值作为预测值" 一样;当 R²<0 时,说明模型的预测效果甚至不如平均值,此时模型完全失效。

四、从单变量到多变量:多元线性回归

前面我们讨论的 "房屋大小预测房价" 是单变量线性回归(仅一个属性),但实际场景中,影响结果的因素往往不止一个。比如房价可能同时受 "房屋大小""房间数量""地段""房龄" 等多个属性影响,这就需要用到多元线性回归

多元线性回归的模型形式为:
f(x) = w₀ + w₁x₁ + w₂x₂ + ... + w_nx_n

其中 x₁, x₂, ..., x_n 是样本的 n 个属性,w₁, w₂, ..., w_n 是对应属性的权重,w₀是偏置项(可理解为 x₀=1 时的权重)。用矩阵形式可简化为:ŷ = X w,其中:

  • X 是 m×(n+1) 的样本矩阵(m 个样本,每个样本包含 n 个属性 + 1 个常数项 1)
  • w 是 (n+1)×1 的权重向量
  • ŷ是 m×1 的预测值向量

多元线性回归的求解思路与单变量一致,仍是通过最小二乘法最小化均方误差,最终可通过矩阵运算得到权重向量 w 的最优解:w = (X^T X)⁻¹ X^T y(其中 X^T 是 X 的转置,(X^T X)⁻¹ 是 X^T X 的逆矩阵)。

相关推荐
唐某人丶7 小时前
教你如何用 JS 实现 Agent 系统(2)—— 开发 ReAct 版本的“深度搜索”
前端·人工智能·aigc
FIT2CLOUD飞致云7 小时前
九月月报丨MaxKB在不同规模医疗机构的应用进展汇报
人工智能·开源
阿里云大数据AI技术7 小时前
【新模型速递】PAI-Model Gallery云上一键部署Qwen3-Next系列模型
人工智能
袁庭新7 小时前
全球首位AI机器人部长,背负反腐重任
人工智能·aigc
机器之心8 小时前
谁说Scaling Law到头了?新研究:每一步的微小提升会带来指数级增长
人工智能·openai
该用户已不存在8 小时前
Mojo vs Python vs Rust: 2025年搞AI,该学哪个?
后端·python·rust
算家计算8 小时前
AI配音革命!B站最新开源IndexTTS2本地部署教程:精准对口型,情感随心换
人工智能·开源·aigc
量子位8 小时前
马斯克周末血裁xAI 500人
人工智能·ai编程
算家计算8 小时前
OpenAI最强编程模型GPT-5-Codex发布!可独立编程7小时,编程效率提升10倍
人工智能·ai编程·资讯
站大爷IP10 小时前
Java调用Python的5种实用方案:从简单到进阶的全场景解析
python