一、概述

线性回归的数据如下所示:

贝叶斯线性回归推导_人工智能

对于线性回归问题,假设:

贝叶斯线性回归推导_机器学习_02

其中贝叶斯线性回归推导_深度学习_03是参数,贝叶斯线性回归推导_贝叶斯线性回归推导_04是噪声。以二维的数据为例,其图像如下:

贝叶斯线性回归推导_深度学习_05

从几何角度出发求解线性回归问题,可以使用最小二乘估计(Least Square Estimate,LSE),而从概率角度来看也就是噪声为高斯分布的极大似然估计(Maximum Likelihood Estimate,MLE),公式为:

贝叶斯线性回归推导_算法_06

为了防止过拟合的问题,采用了正则化的最小二乘估计的方法,包括Lasso正则化和Ridge正则化两种方式,这种方法从概率角度来看也就是最大后验估计(Maximum a Posteriori Estimation,MAP),其噪声也是高斯分布,这里参数贝叶斯线性回归推导_深度学习_03的后验满足:

贝叶斯线性回归推导_深度学习_08

因此最大后验估计的公式也就是:

贝叶斯线性回归推导_算法_09

这里的贝叶斯线性回归推导_深度学习_10也就是参数贝叶斯线性回归推导_深度学习_03的先验,如果贝叶斯线性回归推导_深度学习_10服从高斯分布,则对应Lasso正则化,如果贝叶斯线性回归推导_深度学习_10服从拉普拉斯分布,则对应Ridge正则化。

对于上述方法的详细解释,可以参考链接:线性回归|机器学习推导系列(三)

上述方法都是点估计方法,而在贝叶斯线性回归中我们希望利用贝叶斯学派的方法来求解出后验概率分布贝叶斯线性回归推导_贝叶斯线性回归推导_14

二、推断与预测

  1. 推断

贝叶斯线性回归的推断(Inference)任务也就是求解参数贝叶斯线性回归推导_深度学习_03的后验分布贝叶斯线性回归推导_贝叶斯线性回归推导_14。首先,进行以下变换:

贝叶斯线性回归推导_机器学习_17

对于上面得到的式子,分子中贝叶斯线性回归推导_贝叶斯线性回归推导_18相当于似然,贝叶斯线性回归推导_机器学习_19也就是先验贝叶斯线性回归推导_深度学习_10(因为贝叶斯线性回归推导_深度学习_03贝叶斯线性回归推导_人工智能_22没有关系),另外分母是一个常数,因此我们可以得到:

贝叶斯线性回归推导_贝叶斯线性回归推导_23

对于似然贝叶斯线性回归推导_贝叶斯线性回归推导_18,由于之前定义的贝叶斯线性回归推导_人工智能_25贝叶斯线性回归推导_人工智能_26之间的关系是一个线性高斯模型,因此可以得到:

贝叶斯线性回归推导_人工智能_27

对于先验贝叶斯线性回归推导_深度学习_10,是人为指定的,只要合理就可以任意给定这个分布,通常我们选择高斯分布,注意这里是一个多维的高斯分布,我们选择的高斯分布均值为贝叶斯线性回归推导_算法_29,方差矩阵用贝叶斯线性回归推导_人工智能_30来表示:

贝叶斯线性回归推导_人工智能_31

因此也就得到:

贝叶斯线性回归推导_机器学习_32

由于似然贝叶斯线性回归推导_贝叶斯线性回归推导_18和先验贝叶斯线性回归推导_深度学习_10都是高斯分布,利用共轭的知识(高斯分布是自共轭的),我们也可以得到贝叶斯线性回归推导_贝叶斯线性回归推导_14也是一个高斯分布,推断任务也就是求解这个高斯分布的均值和方差,我们用贝叶斯线性回归推导_深度学习_36贝叶斯线性回归推导_贝叶斯线性回归推导_37来表示这个高斯分布的均值和方差:

贝叶斯线性回归推导_深度学习_38

将似然贝叶斯线性回归推导_贝叶斯线性回归推导_18做进一步的变换,我们可以得到这个概率的均值和方差:

贝叶斯线性回归推导_算法_40

上式中红色的部分可以写成矩阵相乘的形式:

贝叶斯线性回归推导_算法_41

因此也就有:

贝叶斯线性回归推导_深度学习_42

至此似然贝叶斯线性回归推导_贝叶斯线性回归推导_18就表示成了标准的高斯分布的形式,代入后验中我们可以得到:

贝叶斯线性回归推导_深度学习_44

对于上面的式子我们可以写出它的指数的关于贝叶斯线性回归推导_深度学习_03二次项一次项

贝叶斯线性回归推导_算法_46

对于一个多维的高斯分布的指数部分,将其展开可以得到:

贝叶斯线性回归推导_机器学习_47

而这里的有关于贝叶斯线性回归推导_人工智能_22二次项一次项为:

贝叶斯线性回归推导_机器学习_49

通过二次项也就可以得到后验贝叶斯线性回归推导_贝叶斯线性回归推导_14的精度矩阵贝叶斯线性回归推导_贝叶斯线性回归推导_51(这是一个对称矩阵):

贝叶斯线性回归推导_贝叶斯线性回归推导_52

由一次项可以得出:

贝叶斯线性回归推导_机器学习_53

如此我们最终就求得了后验贝叶斯线性回归推导_贝叶斯线性回归推导_14的均值和方差:

贝叶斯线性回归推导_贝叶斯线性回归推导_55

  1. 预测

预测(Prediction)问题是利用已经求解出来的贝叶斯线性回归模型,在给定贝叶斯线性回归推导_贝叶斯线性回归推导_56的前提下,求解贝叶斯线性回归推导_深度学习_57。要注意,由于这里的贝叶斯线性回归推导_深度学习_03服从后验分布贝叶斯线性回归推导_贝叶斯线性回归推导_14,因此需要求解的是分布贝叶斯线性回归推导_机器学习_60

首先对于贝叶斯线性回归推导_贝叶斯线性回归推导_61,有贝叶斯线性回归推导_贝叶斯线性回归推导_62,而贝叶斯线性回归推导_深度学习_03服从后验分布贝叶斯线性回归推导_深度学习_64贝叶斯线性回归推导_贝叶斯线性回归推导_56可以看做一个常数,因此就有:

贝叶斯线性回归推导_机器学习_66

另外有贝叶斯线性回归推导_机器学习_67贝叶斯线性回归推导_深度学习_68,因此就有(两个高斯分布随机变量相加后的概率分布相当于将两个高斯分布的均值和方差均相加得到的高斯分布):

贝叶斯线性回归推导_机器学习_69

综合一下,具体的过程为:

贝叶斯线性回归推导_算法_70