贝叶斯线性回归及最大后验估计



贝叶斯推断

贝叶斯定理:通过观察到的数据 D D ,把先验概率p(θ)转化为后验概率 p(θD) p ( θ ∣ D )

p(θD)=p(Dθ)p(θ)p(Dθ)p(θ)dθ=p(Dθ)p(θ)p(D) p ( θ ∣ D ) = p ( D ∣ θ ) p ( θ ) ∫ p ( D ∣ θ ) p ( θ ) d θ = p ( D ∣ θ ) p ( θ ) p ( D )

显然,分母是一个归一化常数。故有 p(θD)p(Dθ)p(θ) p ( θ ∣ D ) ∝ p ( D ∣ θ ) p ( θ ) × 后 验 ∝ 似 然 × 先 验



贝叶斯线性回归

问题是这样的,不能够一次性接收到整个数据集,而是不断接收到小的数据集 Di,i=1,2,...,n D i , i = 1 , 2 , . . . , n ,同时由于存储的限制不能存储已经接收到的所有数据集,每次可以处理的数据仅为 Di D i 。这就导致不能对所有数据做线性回归,但是可以通过贝叶斯线性回归达到同样的效果。

i i 个数据集 Di D i 中有 m m 个训练样本,构成 (X(i),y(i))

p(y(i)X(i),θ)=N(y(i);X(i)θ,I)exp(12(y(i)X(i)θ)T(y(i)X(i)θ)) p ( y ( i ) ∣ X ( i ) , θ ) = N ( y ( i ) ; X ( i ) θ , I ) ∝ e x p ( − 1 2 ( y ( i ) − X ( i ) θ ) T ( y ( i ) − X ( i ) θ ) )

为了确定模型参数向量 θ θ 的后验分布
假设其先验分布

p(θ)=N(θ;μ0,Λ0)exp(12(θμ0)TΛ10(θμ0)) p ( θ ) = N ( θ ; μ 0 , Λ 0 ) ∝ e x p ( − 1 2 ( θ − μ 0 ) T Λ 0 − 1 ( θ − μ 0 ) )

其中 μ0 μ 0 , Λ0 Λ 0 分别是先验分布的均值向量和协方差矩阵。通过贝叶斯回归得到的目标为 θ θ 的期望。
模型参数的后验分布:

p(θX(i),y(i)) p(y(i)X(i),θ)p(θ)  exp(12(y(i)X(i)θ)T(y(i)X(i)θ))exp(12(θμ0)TΛ10(θμ0))  exp(12(2y(i)TX(i)θ+θTX(i)TX(i)θ+θTΛ10θ2μT0Λ10θ)) p ( θ ∣ X ( i ) , y ( i ) )   ∝ p ( y ( i ) ∣ X ( i ) , θ ) p ( θ )     ∝ e x p ( − 1 2 ( y ( i ) − X ( i ) θ ) T ( y ( i ) − X ( i ) θ ) ) e x p ( − 1 2 ( θ − μ 0 ) T Λ 0 − 1 ( θ − μ 0 ) )     ∝ e x p ( − 1 2 ( − 2 y ( i ) T X ( i ) θ + θ T X ( i ) T X ( i ) θ + θ T Λ 0 − 1 θ − 2 μ 0 T Λ 0 − 1 θ ) )

Λi=(X(i)TX(i)+Λ10)1,μi=Λi(X(i)Ty(i)+Λ10μ0) Λ i = ( X ( i ) T X ( i ) + Λ 0 − 1 ) − 1 , μ i = Λ i ( X ( i ) T y ( i ) + Λ 0 − 1 μ 0 )
p(θX(i),y(i))exp(12(θμi)TΛ1i(θμi)) p ( θ ∣ X ( i ) , y ( i ) ) ∝ e x p ( − 1 2 ( θ − μ i ) T Λ i − 1 ( θ − μ i ) )

缺点:

1 参数先验分布的不同假设形式,可能会带来计算上的不便。
2 参数先验分布的假设有偏,对于小数据会有较大的影响。

解决方法:

1 参数的先验分布假设为数据分布假设的共轭先验
共轭先验:对于一个给定的概率分布 p(xw) p ( x ∣∣ w ) ,能够寻找一个先验 p(w) p ( w ) 能够与似然函数共轭,从而后验分布的函数形式与先验分布相同。

Bern(xμ)=μx(1μ)1xBeta(μa,b)=Γ(a+b)Γ(a)Γ(b)μa1(1μ)b1 B e r n ( x ∣ μ ) = μ x ( 1 − μ ) 1 − x B e t a ( μ ∣ a , b ) = Γ ( a + b ) Γ ( a ) Γ ( b ) μ a − 1 ( 1 − μ ) b − 1

N(xm,Λ)=12π|Λ|exp(12(xm)TΛ1(xm))N(mμ,Λ)=12π|Λ|exp(12(mμ)T(Λ)1(mμ))W(ΛW,v)=B|Λ|vD12exp(12Tr(W1Λ)) N ( x ∣ m , Λ ) = 1 2 π | Λ | e x p ( − 1 2 ( x − m ) T Λ − 1 ( x − m ) ) N ( m ∣ μ , Λ ′ ) = 1 2 π | Λ ′ | e x p ( − 1 2 ( m − μ ) T ( Λ ′ ) − 1 ( m − μ ) ) W ( Λ ∣ W , v ) = B | Λ | v − D − 1 2 e x p ( − 1 2 T r ( W − 1 Λ ) )

2 合理初始化,迭代求解
对于接收到的第1个数据集有:

Λ1=(X(1)TX(1)+Λ10)1,μ1=Λ1(X(1)Ty(1)+Λ10μ0) Λ 1 = ( X ( 1 ) T X ( 1 ) + Λ 0 − 1 ) − 1 , μ 1 = Λ 1 ( X ( 1 ) T y ( 1 ) + Λ 0 − 1 μ 0 )

p(θX(1),y(1))exp(12(θμ1)TΛ11(θμ1)) p ( θ ∣ X ( 1 ) , y ( 1 ) ) ∝ e x p ( − 1 2 ( θ − μ 1 ) T Λ 1 − 1 ( θ − μ 1 ) )

这里根据极大似然估计得到的解 θ=(X(1)TX(1))1X(1)Ty(1) θ = ( X ( 1 ) T X ( 1 ) ) − 1 X ( 1 ) T y ( 1 ) ,所以假设 Λ10=O Λ 0 − 1 = O , 此时极大似然的解和贝叶斯回归的参数期望一致。

对于接收到的第 i i 个数据集Di(i>1),将第 i1 i − 1 个数据集计算得到的参数后验作为先验,不断迭代。

Λi=(X(i)TX(i)+Λ1i1)1,μi=Λi(X(i)Ty(i)+Λ1i1μi1) Λ i = ( X ( i ) T X ( i ) + Λ i − 1 − 1 ) − 1 , μ i = Λ i ( X ( i ) T y ( i ) + Λ i − 1 − 1 μ i − 1 )

p(θX(i),y(i))exp(12(θμi)TΛ1i(θμi)) p ( θ ∣ X ( i ) , y ( i ) ) ∝ e x p ( − 1 2 ( θ − μ i ) T Λ i − 1 ( θ − μ i ) )

具体算法
输入: D1,D2,D3,...,Dn D 1 , D 2 , D 3 , . . . , D n 其中 Di=(X(i),y(i)) D i = ( X ( i ) , y ( i ) )
输出: μn μ n
初始化

Λ1=(X(1)TX(1))1μ1=Λ1(X(1)Ty(1))i+=1 Λ 1 = ( X ( 1 ) T X ( 1 ) ) − 1 μ 1 = Λ 1 ( X ( 1 ) T y ( 1 ) ) i + = 1

while i<=n i <= n

Λi=(X(i)TX(i)+Λ1i1)1μi=Λi(X(i)Ty(i)+Λ1i1μi1)i+=1 Λ i = ( X ( i ) T X ( i ) + Λ i − 1 − 1 ) − 1 μ i = Λ i ( X ( i ) T y ( i ) + Λ i − 1 − 1 μ i − 1 ) i + = 1

代码:

def BayesLR(path):
    la=10
    mu=np.mat(np.zeros(3)).T
    gama=np.mat(np.eye(3)*la)
    for i in range(n):
        fileName = path + "%d.csv" % i
        x0,y0 = loadDataFromFile(fileName)#从文件中加载数据
        X, y = data2Mat(x0,y0)#将数据转换成np.mat的格式
        mu0 = mu
        gama0 = gama
        if i==1:
            gama = (X.T*X).I
            mu = gama*(X.T*y)

        else:
            gama = (X.T*X+gama0.I).I
            mu = gama*(X.T*y+gama0.I*mu0)

    return np.array(mu)


最大后验估计(MAP)

MLE求的是找出一组能够使似然函数最大的参数,即这里写图片描述。 现在问题稍微复杂一点点,假如这个参数 μ μ 有一个先验概率呢?比如说,在上面抛硬币的例子,假如我们的经验告诉我们,硬币一般都是匀称的,也就是μ=0.5的可能性最大, μ=0.2 μ = 0.2 的可能性比较小,那么参数该怎么估计呢?这就是MAP要考虑的问题。 MAP优化的是一个后验概率,即给定了观测值后使概率最大:
这里写图片描述
把上式根据贝叶斯公式展开:
这里写图片描述
这里写图片描述
这里写图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值