贝叶斯回归

贝叶斯回归

回归模型

假设Data: { ( x 1 , y 1 ) , . . . ( x n , y n ) } {\{(x_1,y_1),...(x_n,y_n)\}} {(x1,y1),...(xn,yn)}

对于 X = ( x 1 , x 2 , . . . x n ) X={(x_1,x_2,...x_n)} X=(x1,x2,...xn),每个 x i x_i xi有p个特征,就是一个矩阵 [ x 11 x 12 . . . x 1 p x 21 x 22 . . . x 2 p . . . . . . . . . . . . x n 1 x n 2 . . . x n p ] \begin{bmatrix}x_{11} & x_{12} & ... & x_{1p}\\ x_{21} & x_{22} & ... & x_{2p}\\ ... & ... & ... & ... \\x_{n1} & x_{n2} & ... & x_{np} \end{bmatrix} x11x21...xn1x12x22...xn2............x1px2p...xnp

,Y= [ y 1 y 2 . . . y n ] {\begin{bmatrix} y_1 \\ y_2 \\... \\y_n \end{bmatrix}} y1y2...yn

对于线性回归模型来说,我们要找到一组参数矩阵 W W W使得
{ f ( x ) = W T X y = f ( x ) + ϵ \left \{ \begin{array}{c} f(x)=W^TX \\ y=f(x)+\epsilon \\ \end{array}\right. {f(x)=WTXy=f(x)+ϵ
其中一般假设 ϵ ∼ N ( 0 , σ 2 ) \epsilon \sim N(0,\sigma^2) ϵN(0,σ2)

贝叶斯方法有两个步骤,一个是Inference,一个是predict

Inference求参数w,predict求新的测试机数据 x ∗ {x^*} x对应的 y ∗ y^* y

1. Inference

p ( W ∣ D a t a ) = p ( W ∣ X , Y ) = p ( W , Y ∣ X ) p ( Y ∣ X ) = p ( Y ∣ W , X ) P ( W ) ∫ p ( Y ∣ W , X ) P ( W ) d W p(W|Data)=p(W|X,Y)=\frac {p(W,Y|X)} {p(Y|X)}=\frac {p(Y|W,X)P(W)} {\int p(Y|W,X)P(W)dW} p(WData)=p(WX,Y)=p(YX)p(W,YX)=p(YW,X)P(W)dWp(YW,X)P(W)

其中 p ( W , Y ∣ X ) = p ( Y ∣ W , X ) P ( W ∣ X ) {p(W,Y|X)=p(Y|W,X)P(W|X)} p(W,YX)=p(YW,X)P(WX)但由于W和X相互独立,所以 P ( W ∣ X ) = p ( W ) P(W|X)=p(W) P(WX)=p(W)

然后因为 p ( Y ∣ W , X ) p(Y|W,X) p(YW,X)是一个联合概率密度嘛,就是似然,故
p ( Y ∣ W , X ) = ∏ i = 1 n p ( y i ∣ W , x i ) p(Y|W,X)=\prod_{i=1}^{n} p(y_i|W,x_i) p(YW,X)=i=1np(yiW,xi)
ϵ ∼ N ( 0 , σ 2 ) \epsilon \sim N(0,\sigma^2) ϵN(0,σ2) ,故 p ( y i ∣ x i , w ) ∼ N ( W T x i , σ 2 ) p(y_i|x_i,w) \sim N(W^Tx_i,\sigma^2) p(yixi,w)N(WTxi,σ2),然后因为多个正态相乘还是正态,可得上式属于正态分布

现在一般会先假设一个先验令 p ( W ) ∼ N ( 0 , Σ ) {p(W) \sim N(0,\Sigma)} p(W)N(0,Σ),

p ( W ∣ D a t a ) ∝ p ( Y ∣ W , X ) p ( W ) p(W|Data) \propto p(Y|W,X)p(W) p(WData)p(YW,X)p(W),高斯分布又属于指数族分布,指数族分布都有的共轭的性质,所以可知 p ( W ∣ D a t a ) p(W|Data) p(WData)也是一个高斯分布。高斯的共轭是指一个分布的先验和似然概率都是高斯分布,那他的后验也是高斯分布。

现在就可以我们最终Inference的一个模型 p ( W ∣ D a t a ) p(W|Data) p(WData是一个高斯分布,现在只需要求出这个高斯分布的均值 μ w \mu_w μw和方差 Σ w \Sigma_w Σw

下面就是一波推导
p ( Y ∣ X , W ) = ∏ i = 1 n 1 2 π σ e x p { − 1 2 σ 2 ( y i − W T x i ) 2 } = 1 2 π n 2 σ n e x p { − 1 2 σ 2 ∑ i = 1 n ( y i − W T x i ) 2 } = 1 2 π n 2 σ n e x p { − 1 2 ( Y − X W ) T σ − 2 I ( Y − X W ) } p(Y|X,W)=\prod_{i=1}^{n} \frac {1}{\sqrt{2\pi}\sigma} exp\{- \frac {1}{2 \sigma^2 }(y_i-W^Tx_i)^2\} \\ =\frac {1}{{2\pi}^{\frac {n}{2}}\sigma^n} exp\{- \frac {1}{2 \sigma^2 }\sum_{i=1}^{n}(y_i-W^Tx_i)^2\} \\=\frac {1}{{2\pi}^{\frac {n}{2}}\sigma^n} exp\{-\frac {1}{2} (Y-XW)^T\sigma^{-2}I(Y-XW)\} p(YX,W)=i=1n2π σ1exp{2σ21(yiWTxi)2}=2π2nσn1exp{2σ21i=1n(yiWTxi)2}=2π2nσn1exp{21(YXW)Tσ2I(YXW)}
其中I为单位矩阵,故 p ( Y ∣ X , W ) ∼ N ( X W , σ − 2 I ) p(Y|X,W) \sim N(XW,\sigma^{-2}I) p(YX,W)N(XWσ2I)

所以 p ( W ∣ D a t a ) ∝ N ( X W , σ − 2 I ) N ( 0 , Σ ) p(W|Data) \propto N(XW,\sigma^{-2}I)N(0,\Sigma) p(WData)N(XWσ2I)N(0,Σ)

,同样也是高斯分布相乘,这里省略步骤,比较复杂,直接给出答案,
p ( W ∣ D a t a ) = N ( μ w , Σ w ) , μ w = σ − 2 A − 1 X T Y , σ w = A − 1 , 其 中 A = σ − 2 X T X + Σ − 1 p(W|Data)=N(\mu_w,\Sigma_w),\\ \mu_w=\sigma^{-2}A^{-1}X^TY,\\ \sigma_w=A^{-1}\\, 其中A=\sigma^{-2}X^TX +\Sigma^{-1} p(WData)=N(μw,Σw),μw=σ2A1XTY,σw=A1A=σ2XTX+Σ1

2.predict

现在已知 p ( w ∣ D a t a ) = N ( μ w , Σ w ) p(w|Data)=N(\mu_w,\Sigma_w) p(wData)=N(μw,Σw),且 μ w , Σ w \mu_w,\Sigma_w μw,Σw已知,

故对于新的测试 x ∗ x^* x,套用回归模型 f ( x ∗ ) = x ∗ T W f(x^*)=x^*{^T}W f(x)=xTW x ∗ x^* x是常数,常数乘高斯分布,故有 f ( x ∗ ) = N ( x ∗ T u w , x ∗ T Σ w x ∗ ) f(x^*)=N(x^*{^T}u_w,x^*{^T}\Sigma_wx^*) f(x)=N(xTuw,xTΣwx)

所以 y ∗ = f ( x ) + ϵ = N ( x ∗ T u w , x ∗ T Σ w x ∗ + σ 2 ) y^*=f(x)+\epsilon=N(x^*{^T}u_w,x^*{^T}\Sigma_wx^*+\sigma^2) y=f(x)+ϵ=N(xTuw,xTΣwx+σ2)

代码实现

哎,还不想搞

总结

贝叶斯回归是典型的贝叶斯派方法。考虑将参数w看成随机变量,进行建模,这种方法和之前了解的线性回归不太一样,之前的线性回归是没有概率的,而贝叶斯将参数看成随机变量,这种方法,也使得最终预测的y也是一个分布,就很模糊理论了,直觉上很吊的样子

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值