一、线性回归简介:用线性关系捕捉数据规律
线性回归的核心思想,是通过属性的线性组合构建预测模型,找到能最小化 "预测值与真实值误差" 的线性关系载体 ------ 在二维数据中是一条直线,三维数据中是一个平面,更高维数据中则是超平面。
比如预测房屋价格时,若仅考虑 "房屋大小" 这一属性,我们可以用一个简单的线性函数来表示价格与房屋大小的关系: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 个样本的预测值。这个过程也被称为线性回归模型的最小二乘 "参数估计"。
最小二乘法的求解步骤
- 求导:将误差函数 E (w,b) 分别对 w 和 b 求偏导,得到偏导数表达式(过程涉及微积分的链式法则,最终可推导出关于 w 和 b 的线性方程)。
- 令偏导数为 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 的逆矩阵)。