贝叶斯线性回归(Bayesian Linear Regression)

关于参数估计

   在很多机器学习或数据挖掘的问题中,我们面对的只有数据,但数据中潜在的概率密度函数我们是不知道的,我们需要用数据将概率密度分布估计出来。想要确定数据对应的概率密度分布,我们需要确定两个东西:①概率密度函数的形式;②概率密度函数的参数。
   一般情况下,都是先假定数据是具有某种概率分布的,然后再通过数据计算出这些数据对应这个概率分布所对应的参数是什么。而常用的参数估计方法有:极大似然估计、最大后验估计、贝叶斯估计、最大熵估计、混合模型估计。它们之间是递进关系的,想要理解后一个参数估计方法,最好对前一个参数估计有足够的理解。因此想要理解贝叶斯线性回归,或者叫做贝叶斯参数估计,就必须对极大似然估计、最大后验估计有清楚的理解。


极大似然估计

   首先,以一个分类问题来说明一般参数估计面对的数据形式。考虑一个M类的问题,特征向量服从 p(x|wi),i=1,2,...,M 分布。这是现实情况中最常见的一种数据存在形式,数据集合X是由M个类别的数据子集 Xmm=12...M 组成的,第m个类别的数据子集 Xm 对应的概率密度函数是 p(x|wm)
   前面已经介绍过,想要确定数据的概率分布,需要知道概率密度函数的形式和参数,这里首先做一个基本的假设:概率分布的形式已知,比如,假设每个类别的数据都满足高斯分布,那么似然函数就可以用参数 θi 的形式表示,这里 θi 表示的是类别 i 对应的参数向量。如果是高斯分布,则有两个参数:μi σ2i ,也就是说 θi=(μi,σ2i)
   为了强调概率分布 p(x|wi) θi 有关,可以将对应的概率密度函数记为 p(x|wi;θi) ,这里的极大似然估计对应于一个类条件概率密度函数。所谓“类条件”其实就是以类别为条件的概率密度函数。
   从上面的描述可以知道,利用每一个类 Xi 中已知的特征向量集合,可以估计出其对应的参数 θi 。进一步假设每一个类中的数据不影响其它类别的数据的参数估计,那么上面个M个类别的参数估计就可以用下面这个统一的模型独立的解决。
   设 x1,x2,...,xN 是从概率密度函数 p(x;θ) 中随机抽取的样本,那么就可以得到联合概率密度函数 p(X;θ) ,其中 X={x1,x2,...,xN} 是样本集合。假设不同的样本之间具有统计独立性,那么:

p(X;θ)p(x1,x2,...,xN;θ)=k=1Np(xk;θ)
注意:这里的 p(xk;θ) 本来的写法是 p(x|wi;θi) ,是一个类条件概率密度函数,只是因为这里是一个统一的模型,所以可以将 wi 省略。
   此时,就可以使用最大似然估计(Maximum Likelihood,ML)来估计参数 θ 了:
θ^ML=argmaxθk=1Np(xk;θ)
为了得到最大值, θ^ML 必须满足的必要条件是,似然函数对 θ 的梯度必须为0,即:
Nk=1p(xk;θ)θ=0
但是,一般采用的是似然函数的对数形式
L(θ)lnk=1Np(xk;θ)
L(θ)θ=k=1Nlnp(xk;θ)θ=k=1N1p(xk;θ)p(xk;θ)θ=0
需要注意的是:极大似然估计对应于似然函数的峰值。
   极大似然估计有两个非常重要的性质:渐进无偏和渐进一致性,有了这两个性质,使得极大似然估计成为了非常简单而且使用的参数估计方法。所谓渐进无偏就是说,经过多次计算,对参数估计的期望值等于其真实值;而所谓渐进一致就是当数据样本足够大时,参数能够收敛于真实值,而不是在真实值范围波动。


最大后验估计(MAP)

   在最大似然估计(ML)中, θ 是被看做是未知数,相当于一个自变量,从所有可能的取值中计算出能使得似然函数最大的取值。所以,最大似然估计是θ的函数。
   从最大后验估计开始,我们将参数 θ 看成一个因变量,在已知样本集{x1,x2,...,xN}的条件下,估计参数 θ 。这里一定要注意的是,在最大似然估计中,参数θ是一个自变量,最大似然函数是 θ 的函数,最大似然函数里θ没有概率意义,计算的是是哪一个 θ 能够使得似然函数表示的先验概率最大。而在最大后验估计中,我们需要通过已知样本集求未知θ的概率, θ 是有概率意义的,θ有自己的分布。也就是说,最大后验估计需要计算的是 p(θ|X)
   根据贝叶斯理论:

p(θ|X)=p(θ)p(X|θ)p(X)
这是参数 θ 关于已有数据集X的后验概率。要使得这个后验概率最大,和极大似然估计一样,这里需要对后验概率函数求导。由于分子中的 p(X) 相对于 θ 是独立的,可以直接忽略掉p(X)
θ^MAP=argmaxθp(θ|X)=argmaxθp(θ)p(X|θ)
为了得到参数 θ ,和ML一样,需要对p(θ|X)求梯度,并使梯度等于0:
p(θ|X)θ=p(θ)p(X|θ)θ=0
注意:这里 p(X|θ) 和极大似然估计中的似然函数 p(X;θ) 是一样的,只是记法不一样,MAP和ML的区别是:MAP是ML的基础上加上了 p(θ) 。这里需要说明的是,虽然从公式上 MAP=MLp(θ) ,但是这两种算法有本质的区别,ML将 θ 视为一个确定未知的值,而MAP则将θ视为一个随机变量。
   在MAP中, p(θ) 称为 θ 的先验知识,假设其服从均匀分布,即对于所有θ的取值, p(θ) 都是同一个常量,这样的话,MAP和ML会得到相同的结果。另一方面,如果 p(θ) 的方差非常小,MAP和ML的结果自然也会非常相似。


贝叶斯估计
贝叶斯估计的核心问题

   为了防止标号混淆,这里定义已有的样本集合为 D ,为不是之前的X。样本集合 D 中的样本都是从一个固定但是未知的概率密度函数p(x)中独立抽取出来的,要求根据这些样本估计 x 的概率分布,记为p(x|D),并且使得 p(x|D) 尽量地接近 p(x) ,这就是贝叶斯估计的核心问题。

贝叶斯估计的第一个重要元素

   虽然 p(x) 是未知的,但是前面提到过,一个密度分布的两个要素为:形式和参数。我们可以假设 p(x) 的形式已知,但是参数 θ 的取值未知。这样,就有了贝叶斯估计的第一个重要元素p(x|θ),这是一个条件概率密度函数,准确的说,是一个类条件概率密度函数。强调一下: p(x|θ) 的形式是已知的,只是参数 θ 的取值未知。由于这里的x可以看成一个测试样本,所以这个条件密度函数,从本质上讲,是 θ 在点x处的似然估计。

贝叶斯估计的第二个重要的元素

   由于参数 θ 的取值未知,而且,我们将θ看成是一个随机变量,那么,在观察到具体的训练样本之前,关于 θ 的全部知识,可以用一个先验概率密度函数p(θ)表示。对于训练样本的观察,我们能够把这个先验概率密度转化成为后验概率密度函数 p(θ|D) ,根据后验概率密度的相关论述我们知道,我们希望 p(θ|D) θ 的真实值附近有非常显著的尖峰。这里的后验概率密度,就是贝叶斯估计的第二个主要元素。

解决贝叶斯核心问题

   现在将贝叶斯估计的核心问题p(x|D),和贝叶斯估计的两个重要元素: p(x|θ) p(θ|D) 联系起来:

p(x|D)=p(x,θ|D)dθ=p(x|θ,D)p(θ|D)dθ
上面的式子中, x 是测试样本,D是训练集, x D的选取是独立进行的,因此, p(x|θ,D) 可以写成 p(x|θ) 。所以,贝叶斯估计的核心问题就是下面这个公式:
p(x|D)=p(x|θ)p(θ|D)dθ
必须要理解的是,这里的 p(x|θ) θ 关于测试样本x这一点的似然估计,而 p(θ|D) 则是 θ 在已有样本集合的后验概率。所以必须先理解什么是极大似然估计和最大后验概率估计。其中,后验概率p(θ|D)为:
p(θ|D)=p(D|θ)p(θ)p(D)=p(D|θ)p(θ)p(D|θ)p(θ)dθ
p(D|θ)=k=1Np(xk|θ)

   上面这个式子就是贝叶斯估计最核心的公式,它把类条件概率密度 p(x|D) 和未知参数向量 θ 的后验概率密度p(θ|D)联系在了一起。如果后验概率密度 p(θ|D) 在某一个值 θ^ 附近形成显著的尖峰,那么就有 p(x|D)p(x|θ^) ,就是说,可以用估计值 θ^ 近似代替真实值所得的结果。


贝叶斯估计的增量学习

   为了明确的表示样本集合 D 中有n个样本,这里采用记号:Dn={x1,x2,...,xn}。根据前一个公式,在 n>1 的情况下有:

p(Dn|θ)=p(xn|θ)p(Dn1|θ)
这样的话就能够容易地得到:
p(θ|Dn)=p(xn|θ)p(Dn1|θ)p(θ)p(xn|θ)p(Dn1|θ)p(θ)dθ=p(xn|θ)p(θ|Dn1)p(xn|θ)p(θ|Dn1)dθ
当没有观测样本时,定义 p(θ|D0)=p(θ) ,为参数 θ 的初始估计。然后让样本集合依次进入上述公式,就可以得到一系列的概率密度函数:p(θ|D0) p(θ|D1) p(θ|D2) 、 … 、 p(θ|Dn) ,这一过程称为参数估计贝叶斯递归法,也叫贝叶斯估计的增量学习。这是一个在线学习算法,它和随机梯度下降法有很多相似之处。


贝叶斯线性回归

   贝叶斯线性回归不仅可以解决极大似然估计中存在的过拟合问题,而且它对数据样本的利用率是100%,仅仅使用训练样本就可以有效而准确地确定模型的复杂度。
   这里面对的模型是线性回归模型,线性回归模型是一组输入变量 x 的基函数的线性组合,在数学上的形式如下:

y(x,w)=w0+j=1Mwjϕj(x)
这里 ϕj(x) 就是前面提到的基函数,总共的基函数数目为 M 个,如果定义ϕ0(x)=1的话,上面的式子就可以简单地表示为:

y(x,w)=j=0Mwjϕj(x)=wTϕ(x)
w=(w0,w1,w2,...,wM)
ϕ=(ϕ0,ϕ1,ϕ2,...,ϕM)
则线性模型的概率表示如下:
p(t|x,w,β)=N(t|y(x,w),β1I)
假设参数 w 满足高斯分布,这是一个先验分布:
p(w)=N(w|0,α1I)
一般来说,我们称 p(w) 为共轭先验(conjugate prior)。这里 t x对应的目标输出, β1 α1 分别对应于样本集合和 w 的高斯分布的方差,w是参数。
   那么线性模型的对数后验概率函数为:
lnp(θ|D)=lnp(w|T)=β2n=1N{y(xn,w)tn}2+α2wTw+const
这里 T 是数据样本的目标值向量,T={t1,t2,...,tn},const是和参数 w 无关的量。


贝叶斯线性回归的学习过程

   根据前面关于贝叶斯估计的增量学习可以很容易得到下面这个式子,这个就是贝叶斯学习过程:在前一个训练集合Dn1的后验概率 p(θ|Dn1) 上,乘以新的测试样本点 xn 的似然估计,得到新的集合 Dn 的后验概率 p(θ|Dn) ,这样相当于 p(θ|Dn1) 成为了 p(θ|Dn) 的先验概率分布:

p(θ|Dn)p(xn|θ)p(θ|Dn1)


贝叶斯回归的优缺点

优点:
   ①贝叶斯回归对数据有自适应能力,可以重复的利用实验数据,并防止过拟合。
   ②贝叶斯回归可以在估计过程中引入正则项。
缺点:
   ①贝叶斯回归的学习过程开销太大。


自己的理解

①由最大似然估计的形式可以知道,使用ML拟合数据很可能产生过拟合的情况。
②同样地,由于最大后验估计通过使用贝叶斯理论使得MAP可以通过ML来计算。这里,使用最大后验估计对数据进行拟合就会出现两种情况:当参数向量是一个均匀分布的时候,那么MAP跟ML几乎是一样的,因此会产生过拟合的情况;第二就是,当参数向量具有其它别的概率分布的时候,我们就可以通过假定参数向量符合某种分布,如高斯分布,从而对数据的拟合进行平滑。需要理解的是,数据的概率分布和参数向量的概率分布是不一样的,我们可以假定数据具有某种概率分布,这种概率分布通过一些参数确定该分布的具体形式。而这些参数的取值可能具有某种概率分布。
③所谓的贝叶斯线性回归其实就是使用了线性模型背后的概率模型,通过概率模型确定线性模型的回归系数。而在使用概率模型确定回归系数的过程中就用到了MAP,所以贝叶斯线性回归能够防止过拟合,就是因为它的计算使用了MAP。


参考资料

贝叶斯线性回归 http://blog.csdn.net/daunxx/article/details/51725086

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值