线性回归的统计(弱概率)解释

2026-07-09 四 16:21 2026-07-12 日 00:53

1. 线性回归解的统计解释

1.1. 单特征且无偏置模型

如果线性回归的模型是 \(y = x^Tw\),其中 x, y 是观测向量,即数据 X 只有一列,且没有偏置 b。

目标是最小化残差平方和(后文引入概率模型后再解释为什么以它为优化目标) \[ L(a) = \sum_{i=1}^n (y_i - w x_i)^2. \]

对 w 求导并令导数为零: \[ \frac{dL}{dw} = -2\sum_{i=1}^n x_i (y_i - w x_i) = 0 \quad\Longrightarrow\quad \sum_{i=1}^n x_i y_i - w \sum_{i=1}^n x_i^2 = 0. \]

解得: \[ w = \frac{\sum_{i=1}^n x_i y_i}{\sum_{i=1}^n x_i^2} \]

这里,在没有任何概率术语情况下,w 的分子是各个样本输入特征和输出目标乘积的和,而分母是输入数据的平方和。

如果 x 和 y 都被中心化了,即 \( \sum x_i = \sum y_i = 0 \), 那么解可以写成:

\[ w = \frac{\sum x_i y_i}{\sum x_i^2} = \frac{\frac{1}{n}\sum (x_i - 0)(y_i - 0)}{\frac{1}{n}\sum (x_i - 0)^2} \]

这时候分子是样本协方差的计算公式,记为 \( \hat{Cov}(X, Y) \),而分母是样本特征的方差计算公式,记为 \( \hat{Cov}(X, X) \), 或者 \( \hat{Var}(X) \)

注意这里 \( \hat{Cov} \) 可以认为仅仅是一个统计数据的算法的函数名,给定两个长度相等的列表 X 和 Y, 就能用以下方式计算出分子分母:

def cov(x,y):
    n = len(x)
    x_ave = sum(x)
    y_ave = sum(y)
    return sum([(xi-x_ave)*(yi-y_ave) for xi,yi in zip(x,y)])/n

def var(x):
    return cov(x,x)

1.2. 单特征有偏置模型和隐式中心化

接着看有偏置模型 \(y = w x + b\) 在一维输入的解及其数据构成

损失函数为: \[ L(w,b) = \sum_{i=1}^n (y_i - w x_i - b)^2 \]

对 b 求导置 0: \[ \frac{\partial L}{\partial b} = -2\sum_{i=1}^n (y_i - w x_i - b) = 0 \] 化简得: \[ \sum y_i - w\sum x_i - n b = 0 \] 因此截距 b 必须满足: \[ b = \bar{y} - w \bar{x} \] 其中 \(\bar{x} = \frac{1}{n}\sum x_i\),\(\bar{y} = \frac{1}{n}\sum y_i\)。

这里对 b 的解释为:把所有输入求均值后应用到模型 w 上的结果和 y 的均值的差异

接着对 w 求导置 0,并代入 b \[ \frac{\partial L}{\partial w} = -2\sum_{i=1}^n x_i (y_i - w x_i - b) = 0 \] 将 \(b = \bar{y} - w \bar{x}\) 代入: \[ \sum x_i y_i - w\sum x_i^2 - (\bar{y} - w \bar{x})\sum x_i = 0 \] 因为 \( \sum x_i = n\bar{x} \),展开: \[ \sum x_i y_i - w\sum x_i^2 - n\bar{x}\bar{y} + w n\bar{x}^2 = 0 \] 提取公因式 \(w\): \[ (\sum x_i y_i - n\bar{x}\bar{y}) - w(\sum x_i^2 - n\bar{x}^2) = 0 \] 因此,带偏置时的斜率解为: \[ w = \frac{\sum x_i y_i - n\bar{x}\bar{y}}{\sum x_i^2 - n\bar{x}^2} \]

利用代数恒等式:

  • 分子:\(\sum x_i y_i - n\bar{x}\bar{y} = \sum (x_i - \bar{x})(y_i - \bar{y})\)
  • 分母:\(\sum x_i^2 - n\bar{x}^2 = \sum (x_i - \bar{x})^2\)

所以斜率也可以写成: \[ w = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sum (x_i - \bar{x})^2} \]

同样可以在分子分母同时除以 n ;那么不需要假设 x 和 y 已经中心化了,分子就可以解释为数据的样本协方差,而分母则是样本输入特征的方差

可以这么来解释引入偏置后的模型:

斜率 w 不再受数据绝对位置(均值)的影响,它只会关注每个点相对于自身均值的波动关系,而均值产生的影响由截距 b 平移回去。

所以,带偏置的最小二乘解,相当于对数据做了一次隐式的中心化预处理(减去均值),再应用无偏置的过原点回归,最后用均值补回截距。

1.3. 多特征无偏置过约束模型

现在考虑一般的 y=Xw 形式,X 是 (m,n) 形状的纯数据模型(没有增广的全 1 列),由 线性回归的几何解释 文章可知,如果 X 是列满秩,那么问题转成正规方程 \(X^T X w = X^T y\) 的解:

\[ w = (X^T X)^{-1} X^T y \]

这里 \(X^T X\) 是一个 (n,n) 形状的矩阵,其第 i 行第 j 列元素是 X 第 i 列与第 j 列的内积:\(\sum_k x_{kj} x_{kj}\)。

这是各特征列之间的内积组成的对称矩阵,也称为特征 Gram 矩阵。

\(X^T y\) 是一个 (n,1) 形状的向量,其第 i 个元素是 X 的第 i 列特征与 y 的内积:\(\sum_k x_{ki} y_k\)。

所以 w 完全由所有特征列与目标列之间的原始内积,以及特征列彼此之间的原始内积,通过矩阵求逆和乘法组合而成。它没有任何显式的均值相减。

如果 X 的每一列都中心化了,y 也中心化了,记 \[ \bar{x}_i = \frac{1}{m}\sum_{k=1}^m x_{ki},\quad \bar{y} = \frac{1}{m}\sum_{k=1}^m y_k \]

那么 \( X^TX \) 的第 (i, j) 个元素是为

\[ \sum_{k=1}^m (x_{ki} - \bar{x}_i)(x_{kj} - \bar{x}_j) \]

它是 X 第 i 列特征与第 j 列特征的样本协方差,此时 \( X^TX \) 可以称为特征协方差矩阵。

\( X^Ty \) 的第 i 个元素为:

\[ \sum_{k=1}^m (x_{ki} - \bar{x}_i)(y_k - \bar{y}) \] 它是 X 第 i 列特征和 y 的样本协方差

但对该矩阵求逆然后乘以各个特征和 y 的斜方差向量 \( X^Ty \) 直观上并不容易解释,只能说着这和单特征情况类似,都能用 \( \hat Cov(X,X)^{-1} \hat Cov(X,y) \) 的形式来书写。

1.4. 多特征无偏置欠约束模型

如果 X 是行满秩(即样本数 m 小于特征数 n,且秩为 m),此时系统 \(Xw = y\) 有无穷多解。其最小范数解为:

\[ w = X^T(XX^T)^{-1}y \]

这里,\(XX^T\) 是一个 (m, m) 形状的矩阵。它的第 i 行第 j 列的元素不是特征之间的点积,而是第 i 个样本与第 j 个样本在所有特征维度上的内积: \[ (XX^T)_{ij} = \sum_{k=1}^{n} x_{ik} x_{jk} \]

此时 \(XX^T\) 被称为样本 Gram 矩阵(或核矩阵)。

但除了取几个名字,似乎很难谈论这个解 w 和数据的更具体关系,但当把解拆分写成以下形式

\[ w = X^T \alpha, \quad \quad \alpha = (XX^T)^{-1}y \]

这里 \(\alpha\) 是一个 \(m\) 维向量。

这意味着,参数向量 w 是所有训练样本 X 的行向量(即样本点)的线性组合:

\[ w = \sum_{i=1}^m \alpha_i \, X_{i,} \]

所以 \( (XX^T)^Ty \) 得到的是一个对各个样本的系数向量,也就是说最小范数的解能天然由样本的线性组合构成;

注意这个结论在列满秩的情况下并不特别,因为列满秩意味着 X 的行空间本身就是整个 \( R^n \) 空间,任何 w 都是在 X 的行空间中。但欠约束模型中,行数少于列数,权重 w 很可能不在行空间,但以上表明最小范数解必然还是在行空间。

这意味着 w 的样本表示(是样本的加权组合)可以同时适用于这两种情况的最小二乘解,这是一种通用的解释框架。

在下一次预测中 \( x^Tw \) 其实是新样本 x 和已有所有的样本 \( x_i \) 之间的加权后的内积:

\( f(x) = x^TX^T\alpha \) = \( \sum_{i=1}^m \alpha_i x^Tx_i \)

这是一种非常“经验”或者说非常“统计”性质的结论,模型只关系新样本和历史样本之间的关系, 给定一个新数据,用它去和其他已有数据求内积(某种距离),然后加权,即一切预测还是基于单个样本本身。

这和一般构建线性模型 y=Xw 的初衷是不同的,给定一个数据,它往往有多个特征 (x1,x2,x3,…) 构成,我们假设每个特征有一个权重 (w1,w2,w3…) 然后用线性关系去组合它们

得到 \( y=x_1w_1+x_2w_2+x_3w_3+\dots \), 也就是说我们想要学习的是特征的权重。

但以上分析告诉我们,至少在最小二乘问题下,学习特征的比重和组合样本之间的内积关系是等价的,比如把 \( f(x)=\sum_i^m \alpha_i x^Tx \) 中样本之间距离 \( x^Tx \) 替换成更一般的 k(x1,x2) 就能发展出 kernel 方法,而这种从特征到样本的视角切换是核方法的关键。

这和前一篇文章中用 SVD 和伪逆 \( w = X^+ y \) 统一最小二乘解(残差最小)和最小范数解是类似的,只不过这里我们用样本的某种统计指标来统一。

1.5. 多特征有偏置过约束模型

现在考虑 \( y=\tilde{X}w \) ,这里 \( \tilde{X} \) 是列满秩的增广矩阵 \([X, \mathbf{1}]\) ,满足 \( m > n+1 \)

引入一些更基础的符号:

  • 纯特征矩阵为 \( X \in \mathbb{R}^{m \times n} \)(\( m \) 个样本,\( n \) 个特征)
  • 全 1 列向量为 \( \mathbf{1} \in \mathbb{R}^{m \times 1} \)
  • 增广矩阵 \( \tilde{X} = [X \ \ \mathbf{1}] \in \mathbb{R}^{m \times (n+1)} \)
  • 参数向量 \( w = \begin{bmatrix} v \\ b \end{bmatrix} \),其中 \( v \in \mathbb{R}^n \) 是特征斜率,\( b \in \mathbb{R} \) 是截距

模型写成 \( y = \tilde{X} w = X v + b \mathbf{1} \)。

正规方程为: \[ \tilde{X}^T \tilde{X} w = \tilde{X}^T y \]

将 \(\tilde{X} = [X \ \ \mathbf{1}]\) 代入等式左侧,分块展开:

\[ \tilde{X}^T \tilde{X} = \begin{bmatrix} X^T \\ \mathbf{1}^T \end{bmatrix}\begin{bmatrix} X & \mathbf{1} \end{bmatrix} = \begin{bmatrix} X^T X & X^T \mathbf{1} \\ \mathbf{1}^T X & \mathbf{1}^T \mathbf{1} \end{bmatrix} \]

记:

  • \( X^T \mathbf{1} = \sum_{k=1}^m x_k \)(各特征列和,是一个 \( n \times 1 \) 向量)
  • \( \mathbf{1}^T X = (\sum_{k=1}^m x_k)^T \)
  • \( \mathbf{1}^T \mathbf{1} = m \)

    \(\tilde{X} = [X \ \ \mathbf{1}]\) 代入等式右侧:

\[ \tilde{X}^T y = \begin{bmatrix} X^T y \\ \mathbf{1}^T y \end{bmatrix} = \begin{bmatrix} X^T y \\ \sum_{k=1}^m y_k \end{bmatrix} \]

于是正规方程展开为两个分块方程: \[ \begin{cases} X^T X \, v + X^T \mathbf{1} \, b = X^T y & \quad (1) \\ \mathbf{1}^T X \, v + m \, b = \mathbf{1}^T y & \quad (2) \end{cases} \]

从方程 (2) 解出截距 \( b \) \[ m b = \mathbf{1}^T y - \mathbf{1}^T X v \] 两边同除以 \( m \): \[ b = \bar{y} - \bar{x}^T v \] 其中:

  • \( \bar{y} = \frac{1}{m} \sum_{k=1}^m y_k \)(标量,目标均值)
  • \( \bar{x} = \frac{1}{m} X^T \mathbf{1} = \frac{1}{m} \sum_{k=1}^m x_k \)(\( n \times 1 \) 向量,各特征均值)

这个 b 的表达式和单特征情况下的解形式完全是一样的,它是在模型作用在输入均值上的补偿。

将 \( b = \bar{y} - \bar{x}^T v \) 代入方程 (1): \[ X^T X \, v + X^T \mathbf{1} (\bar{y} - \bar{x}^T v) = X^T y \]

注意到 \( X^T \mathbf{1} = m \bar{x} \),展开: \[ X^T X \, v + m \bar{x} \bar{y} - m \bar{x} \bar{x}^T v = X^T y \]

将所有含参数 v 的项合并,常数项移到右边: \[ (X^T X - m \bar{x} \bar{x}^T) v = X^T y - m \bar{x} \bar{y} \quad (3) \]

如果令 \[ X_c = X - \mathbf{1} \bar{x}^T \]

\( X_c \) 是中心化后的 X, 其第 \( k \) 行第 i 列为 \( x_{ki} - \bar{x}_i \),那么:

\[ X_c^T X_c = (X - \mathbf{1} \bar{x}^T)^T (X - \mathbf{1} \bar{x}^T) = X^T X - \bar{x} \mathbf{1}^T X - X^T \mathbf{1} \bar{x}^T + \bar{x} \mathbf{1}^T \mathbf{1} \bar{x}^T \]

由于 \( \mathbf{1}^T X = m \bar{x}^T \),\( X^T \mathbf{1} = m \bar{x} \),代入化简:

\[ X_c^T X_c = X^T X - m \bar{x} \bar{x}^T - m \bar{x} \bar{x}^T + m \bar{x} \bar{x}^T = X^T X - m \bar{x} \bar{x}^T \]

所以等式 (3) 左边括号内的矩阵 \( X^T X - m \bar{x} \bar{x}^T \) 就是中心化后的 X 的特征 Gram 矩阵。

(3) 右边向量可以写成: \[ X^T y - m \bar{x} \bar{y} = X_c^T y_c \]

其中 \( y_c = y - \mathbf{1} \bar{y} \) 是中心化的目标向量。

因此 (3) 可以写成: \[ X_c^T X_c \, v = X_c^T y_c \]

由于 \( \tilde{X} \) 列满秩(\( m > n+1 \)),中心化的 \( X_c \) 也列满秩,所以: \[ v = (X_c^T X_c)^{-1} X_c^T y_c \] \[ b = \bar{y} - \bar{x}^T v \]

在统计语境下,\( X_c^T X_c \) 是样本特征的协方差矩阵。

\( X_c^T y_c \) 的第 \( i \) 个元素是特征 i 与目标 y 的协方差。

因此,有偏置模型的特征参数向量 v 完全由中心化后的数据的协方差矩阵的逆,乘以特征-目标协方差向量得出:

\[ v = \big( \text{Cov}(X, X) \big)^{-1} \text{Cov}(X, y) \]

所以,和但特征一样,带偏置项的最小二乘解,相当于对数据做了一次隐式的中心化预处理(减去均值),再应用无偏置的过原点回归,最后用均值补回截距。

1.6. 多特征有偏置欠约束模型

最后是 \( y=\tilde{X}w \) 且 \( \tilde{X} \) 是行满秩的增广矩阵 \([X, \mathbf{1}]\) ,满足 \( m < n+1 \)

\[ w = \tilde{X}^T(\tilde{X}\tilde{X}^T)^{-1}y \]

这种情况 w 仍然写成 \( \tilde{X} \alpha \), 能得到的额外信息是 \( b= 1^T\alpha = \sum_i^m \alpha_i \)

总的来说和无偏置情况的解释是一样的,从 kernel 角度看, K(x1,x2) 中的样本 x1 和 x2 只不过是新增了一个 1 特征。

2. 引入随机变量概念后的解释,

前文对各种情况下解的解释只是用一些数据的统计术语(均值,协方差,Gram 矩阵)重新表述。

所以到目前为止完全没有引入概率模型,接下来在此基础上添加一般的随机变量

2.1. 矩方法和矩条件

基于线性确定性规则叠加高斯噪声,遵循最大似然的原则,可以很好地解释为什么要选择平方损失,同时它给予了我们一个泛化的框架,比如将噪声替换成其他类型,那么就会得到另外的损失。

但高斯分布假设相对是比较强的,如果我们只知道线性和加性噪声:

\[ Y=wX+b+\epsilon \tag{a} \]

直接对两边取期望: \[ E[Y]=aE[X]+b+E[\epsilon] \tag{b} \]

对 (a) 式两边乘以 X 后再取期望 \[ E[XY]=aE[X^{2}]+bE[X]+E[X\epsilon] \tag{c} \]

对 (b) 式两边乘以 E[X] 以消除 b \[ E[X]E[Y] = aE[X]E[X]+bE[X] + E[\epsilon]E[X] \tag{d} \]

(c) 减去 (d) 得到:

\[ a(E[X^{2}]-E[X]^{2}) + (E[X\epsilon]-E[\epsilon]E[X]) = E[XY] - E[X]E[Y] \]

如果 \( E[X\epsilon]-E[\epsilon]E[X] \) 为 0 (噪音和 X 的协方差为 0),那么有:

\[ a = \frac{E[XY]-E[X]E[Y]}{E[X^{2}]-E[X]^{2}} = \frac{\sigma_{xy}}{\sigma_{x}^{2}} \]

也就是说 a 是理想协方差和 X 的方差的比值,该形式和最小二乘得到的形式基本一致,仅仅是样本(协)方差和总体(协)方差的区别。

而为了得到该式子所引入的新的假设或代价是:

  • 噪音和输入变量 X 协方差为 0, 这可以包括多种:
    • 最严格也是最理想情况:噪音和 X 独立
    • 噪音期望 \( E[\epsilon] = 0 \), 且噪音和 X 正交,即 \( E[X\epsilon] = 0 \)
    • 噪音是非线性的,只要协方差为 0, 那么噪音就不会影响 X 和 Y 的线性稳定性。

有了这个假设,再加上样本协方差、样本方差的无偏性,由大数定律支撑,当样本量足够多时,通过最小二乘法得到的估计将会非常接近真实的模型。

前文 MLE 或者 MAP 都需要基于完整的分布假设,而这里则只需要知道 E[XY], E[X] 等期望(矩),假设比 MLEf 方法弱得多,那么它的代价是什么呢?

这种方式基本适用于线性回归模型,充分利用了期望的线性性质。在一般的 Y=f(X)+e 模型上则不适用(除非是一些能拆分成矩形式的函数,这种方式称为一般的矩方法),因此机器学习里更多采用基于似然或经验风险最小化的统一框架,而较少直接从矩条件推导参数。

radioLinkPopups

如对本文有任何疑问,欢迎通过 github issue 邮件 metaescape at foxmail dot com 进行反馈