线性回归与贝叶斯推理——漫谈机器学习

1. 从观察出发——回归问题

在统计学中,我们认为一个变量是服从某种理想分布的,称为理想变量。而为了获得理想变量的值,我们需要去观察这个世界,并得到观察数据,称为观察变量。观察变量与理想变量之间的函数关系被称为观察模型。

设观察数据为x_i \in R^p,理想数据为y_i \in R,观察模型为线性模型

y_i = x_i^T \beta + \eta_i
\tag{1}

其中\beta \in R^p为参数向量,\eta_i \in R是独立同分布的随机变量。在应用中,\eta_i代表观察噪声。且通常假定它服从正态(高斯)分布:

\eta_i \sim N(0, \sigma^2)
\tag{2}

上面的观察模型可以引出两个问题:

  1. 已知理想和观察变量y_i,x_i,求模型参数\beta,\sigma。这被称为参数估计(Paremeter Estimation)问题。
  2. 已知观察变量x_i和模型参数\beta,\sigma,求理想变量y_i。这被称为回归(Regression)问题。如果观察模型是线性的,例如(1),则称为线性回归问题。

回归的概念非常宽泛,它泛指研究一组变量和另一组变量之间的关系的统计分析方法。考虑变量和参数之间的对称性,不难发现,参数估计也是回归问题。

2. 参数估计——也是回归问题

在统计学习中,参数估计是一个学习样本所蕴含信息的过程。而学习的结果,就是观察模型(包括最优参数)。

2.1 从物理直观出发

先考虑模型(1)下如何求解参数\beta。从物理直观理解,参数\beta应该使得观察变量x_iy_i应当充分接近。写成数学表达,就是

\min_{\beta} \sum_i \Vert y_i - x_i^T \beta \Vert_2^2
\tag{3}

写成矩阵形式,就是

\min_{\beta} \Vert y - X^T \beta \Vert_2^2
\tag{4}

其中矩阵X = (x_1, \cdots, x_n), 向量y = (y_1, \cdots, y_n)^T,而n为观察次数。当数据维度p \leq n并且观察数据x_i线性无关(线性相关的x_i没有信息量,可以直接去掉),这就是经典的线性最小二乘问题,有唯一解。它的解可以通过对\beta求微分直接得到

\hat{\beta} = (X^T X)^{-1} X^T y
\tag{5}

其中(X^T X)^{-1} X^T称为矩阵X的Moore-Penrose伪逆,记为X^+

值得注意的是,当p > n,这是一个欠定问题。也就是说已知条件不足,没有唯一解。如果非要求解,那么必须引入新的数据假设,称为先验(Prior)。先验来自对数据统计规律的抽象。这种加入先验的过程有一个学术名称:正则化(Regularization)。这种问题在应用中非常常见,在本文最后还会出现。

2.2 从贝叶斯推理的角度看

上面是从物理直观出发求解参数估计问题,下面我们从贝叶斯推理的角度看同样的问题。

贝叶斯推理的核心是三个概念:

  • 先验。对应前面的观察数据X(注意:不同于第1、3节先验的概念)。
  • 条件概率。对应观察模型。
  • 后验(posterior)。对应理想数据$y$。

贝叶斯三要素与前面说的观察变量、观察模型、理想变量是一致的。但是观察模型是概率密度函数(p.d.f.)的形式:

p( y | X,\beta,\sigma^2) \propto (\sigma^2)^{-n/2} \exp (-\frac{1}{2\sigma^2} (y - X\beta)^T (y -X\beta))
\tag{6}

这是一个略去了常数系数的多元高斯分布的概率密度函数。也就是说,贝叶斯理论假设观察变量X也是服从高斯分布的(这个假设来自大数定律和中心极限定理),并且这个高斯分布的均值向量为\mu = X\beta,方差矩阵为

\Sigma = 
\left[\begin{matrix}
\sigma^2 & &  &\\
  & \sigma^2 & &\\
&  &  &\ddots & \\
 &  &  & & \sigma^2
\end{matrix}\right]
= \sigma^2 I
\tag{7}

这个高斯分布概率密度函数的完整形式为

\begin{aligned}
p( y | X,\beta,\sigma^2)& = \frac{1}{\sqrt{ (2\pi)^n \vert \Sigma \vert}} \exp (-\frac{1}{2} (x-\mu)^T \Sigma^{-1}(x-\mu )) \\
& = \frac{1}{\sqrt{ (2\pi \sigma^2)^n }}  \exp (-\frac{1}{2\sigma^2} (x-\mu)^T (x-\mu)) \\
& \propto (\sigma^2)^{-n/2} \exp (-\frac{1}{2\sigma^2} (y - X\beta)^T (y -X\beta))
\end{aligned}
\tag{8}

其中表达式\sqrt{(x-\mu)^T \Sigma^{-1}(x-\mu )}称为Mahalanobis距离,度量观察变量x与均值\mu的相似性。

X, y已知,通过求p的极值点,可以求解出最优参数\beta\sigma:

\max_{\beta, \sigma}  p( \beta,\sigma^2 | y, X)
\tag{9}

它等价于

\max_{\beta, \sigma} \log p( \beta,\sigma^2 | y, X)
\tag{10}

由于优化的是概率密度函数,这个过程称为期望最大化(Expectation Maximization, EM)。

现在我们仅考虑对$\beta$的偏导,则(9)的最大化等价于一个最小化问题

\min_{\beta}   (x-\mu)^T (x-\mu)
\tag{11}

这个问题就是(3),也就是我们通过物理直观得到的最小化模型。这说明了从贝叶斯角度看来,最优参数估计模型与物理直观一致。

贝叶斯推理是回归分析的一般方法。在贝叶斯框架下,观察变量服从什么样的概率分布决定了观察模型。进而决定了回归分析的具体优化模型。

3. 观察模型的应用——还是回归问题

当我们学习好了参数\beta, \sigma,有了观察模型和观察变量X,对于理想变量y的计算还是回归问题。这时,从物理直观出发,我们可以得到y应当满足

\min_y \Vert y - X\beta \Vert_2^2
\tag{12}

从贝叶斯推理的角度出发,仿照上一节参数估计的方法,我们最终会得到同样的优化模型。

我们会发现一个非常有意思的结论:

  • 参数估计是统计学习中从数据学习知识的过程。这种知识我们通常又称为先验。注意这里的“先验”与贝叶斯推理中的“先验”不一样。那个先验是指观察数据。而这里的先验是指蕴含在观察数据和观察模型中的知识。
  • 观察模型应用是应用观察数据、观察模型和先验恢复理想数据的过程。
  • 参数估计和观察模型应用的数学本质竟然是一样的——回归。

从数据学习模型,用模型恢复数据。这就是统计学习,或者机器学习,要干的两件事。这两件事,对应着我们开始提出了两个问题:参数估计和变量回归。

4. 正则化逆问题

仔细看(11),不禁让人想,这有什么好算的呢?y = X \beta多么明显。这体现了观察数据X对理想数据y的约束。可是仔细回过头去看观察模型(1),你会发现少了一项:噪声\eta。在“观察”过程中,噪声的出现不可避免,因此y = X \beta不能得到最优的解。这也表明,用标准的高斯概率密度函数建模不能很好解决这个问题。

我们在求解过程中,还必须考虑y本身有什么性质,并体现在模型中。也就是在优化模型中添加一个先验函数p(y),从而

\min_y \Vert y - X\beta \Vert_2^2 + p(y)
\tag{13}

新的优化模型:数据项+先验函数p(y)对应着新的概率密度函数,不难推出,它是在高斯概率密度的指数上修改而来。

我们可以用这个新的概率密度函数去做参数估计,从而得到p(y)的具体表达式。当然,p(y)也可以由统计经验来人工设计。但有一个结论是不变的:从贝叶斯的角度看,任何数据项+先验函数都对应着一个概率密度函数。

而优化模型的改进过程也就是前面提到过的正则化;问题(12)称为模型(1)的正则化逆问题。

参考文献

维基百科——贝叶斯线性回归
维基百科——多元正态分布