【机器学习】贝叶斯线性回归
贝叶斯线性回归。不是什么新奇的东西,实际上就是线性回归从贝叶斯派的角度去理解罢了。本文将从贝叶斯派的角度去推导。
1、前言
贝叶斯线性回归。不是什么新奇的东西,实际上就是线性回归从贝叶斯派的角度去理解罢了。本文将从贝叶斯派的角度去推导。
数学基础:【概率论与数理统计知识复习-哔哩哔哩】
2、引入

很显然,在频率派的角度去理解的话,就是要找出一条直线,让每一个点和直线之间的误差最小。所以按频率派的思路,直线为
f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b
设我们每一个点的坐标为 ( ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x n , y n ) ) \left((x_1,y_1),(x_2,y_2),\cdots,(x_n,y_n)\right) ((x1,y1),(x2,y2),⋯,(xn,yn))。
所以我们只需要设置损失函数,让它最小
arg min w ∑ i = 1 n ( f ( x ) − y i ) 2 \arg\min\limits_{w}\sum\limits_{i=1}^n(f(x)-y_i)^2 argwmini=1∑n(f(x)−yi)2
而 y i y_i yi自然就是对应点 x i x_i xi的纵坐标的值,让每一个点都和直线对应值做差,让他们最小,然后找到最合适的w即可。w被认为是未知的常量。
然而,贝叶斯派却不是这样。从贝叶斯派的角度去看的话,参数 w w w被认为是一个随机变量,服从一定的概率分布。而 f ( x ) f(x) f(x)也是如此。所以
f ( x ) = w T x + b y = f ( x ) + ϵ (1) f(x)=w^Tx+b \\ y=f(x)+\epsilon\tag{1} f(x)=wTx+by=f(x)+ϵ(1)
f ( x ) f(x) f(x)是随机变量, y y y也是随机变量, ϵ ∼ N ( 0 , σ 2 ) \epsilon \sim \mathcal{N}(0,\sigma^2) ϵ∼N(0,σ2)的正态分布,所以要求出 f ( x ) f(x) f(x)的概率分布,就必须先求出 w w w(后验)对应的概率分布。
3、原理推导
3.1、后验w
在求解之前,先对里面的值做一些定义
X = ( x 1 x 2 ⋯ x n ) T ; Y = ( y 1 y 2 ⋯ y n ) T ; w = ( w 1 w 2 ⋯ w p ) T ; X=\begin{pmatrix} x_1 & x_2 & \cdots &x_n \end{pmatrix}^T; \\Y=\begin{pmatrix} y_1 & y_2 & \cdots &y_n \end{pmatrix}^T; \\w=\begin{pmatrix} w^1 & w^2 & \cdots &w^p \end{pmatrix}^T; X=(x1x2⋯xn)T;Y=(y1y2⋯yn)T;w=(w1w2⋯wp)T;
其中,每一个 x i x_i xi都是p维的列向量。在这里就不展开了(或者可以看式2)。有n个样本。我们知道
f ( x ) = w T x + b = w 1 x 1 + w 2 x 2 + ⋯ + w p x p + b f(x)=w^Tx+b=w^1x^1+w^2x^2+\cdots+w^px^p+b f(x)=wTx+b=w1x1+w2x2+⋯+wpxp+b
为了简洁,对于每一个x,和w,重定义为
x = ( x 1 x 2 ⋯ x p 1 ) w = ( w 1 w 2 ⋯ w p b ) (2) x=\begin{pmatrix} x^1 & x^2 & \cdots & x^p & 1 \end{pmatrix} \\w=\begin{pmatrix} w^1 & w^2 & \cdots & w^p & b \end{pmatrix} \tag{2} x=(x1x2⋯xp1)w=(w1w2⋯wpb)(2)
要求出随机变量w概率分布,就是要利用对应的数据 X , Y X,Y X,Y求解,即
P ( w ∣ X , Y ) = P ( w , Y ∣ X ) P ( Y ∣ X ) = P ( Y ∣ w , X ) P ( w ∣ X ) P ( Y ∣ X ) P(w|X,Y)=\frac{P(w,Y|X)}{P(Y|X)}=\frac{P(Y|w,X)P(w|X)}{P(Y|X)} P(w∣X,Y)=P(Y∣X)P(w,Y∣X)=P(Y∣X)P(Y∣w,X)P(w∣X)
里面用到的是贝叶斯公式的转化。
因为我们要求的是w的概率分布,并且X,Y都是给定的, 所以 P ( Y ∣ X ) 可以当作是一个常数项 ( X , Y 是给定 ) \boxed{所以P(Y|X)可以当作是一个常数项(X,Y是给定)} 所以P(Y∣X)可以当作是一个常数项(X,Y是给定),所以
P ( w ∣ X , Y ) ∝ P ( Y ∣ w , X ) P ( w ∣ X ) P(w|X,Y)\propto P(Y|w,X)P(w|X) P(w∣X,Y)∝P(Y∣w,X)P(w∣X)
对于里面的 P ( w ∣ X ) P(w|X) P(w∣X), 我们一般认为是先验分布 \boxed{我们一般认为是先验分布} 我们一般认为是先验分布,是我们要给定的,现在,假设我们给定为
P ( w ∣ X ) ∼ N ( w ∣ μ p , Σ p ) P(w|X)\sim \mathcal{N}(w|\mu_p,\Sigma_p) P(w∣X)∼N(w∣μp,Σp)
也就是我们假定它服从期望为0,协方差矩阵为 Σ g \Sigma_g Σg的正态分布。
所以我们们要先求出 P ( Y ∣ w , X ) P(Y|w,X) P(Y∣w,X),才能求出后验 P ( w ∣ X , Y ) P(w|X,Y) P(w∣X,Y)
3.2、求解似然
对于 P ( Y ∣ w , X ) P(Y|w,X) P(Y∣w,X),我们一般称为似然
P ( Y ∣ w , X ) = ∏ i = 1 n P ( y i ∣ w , x i ) (3) P(Y|w,X)=\prod\limits_{i=1}^nP(y_i|w,x_i)\tag{3} P(Y∣w,X)=i=1∏nP(yi∣w,xi)(3)
我们知道,对于随机变量y,我们前面有(式1)
y = w T x + ϵ y=w^Tx+\epsilon y=wTx+ϵ
里面的式子每一个都是随机变量
但是对于随机变量 y ∣ w , x y|w,x y∣w,x,w和x都是给定的,不再是随机变量,又因为 ϵ ∼ N ( 0 , σ 2 ) \epsilon \sim \mathcal{N}(0,\sigma^2) ϵ∼N(0,σ2),所以实际上
P ( y ∣ w , x ) ∼ N ( y ∣ w T x , σ 2 ) P(y|w,x)\sim \mathcal{N}(y|w^Tx,\sigma^2) P(y∣w,x)∼N(y∣wTx,σ2)
对这个不熟悉的可以参考线性动态系统中的概率求解,里面讲解了这种问题的解法。
所以依据高斯分布的共轭性质,如果似然和先验都是高斯分布,那么对应的后验同样也是高斯分布
我们设假设它的参数,即
( w ∣ X , Y ) ∼ N ( μ k , Σ k ) (w|X,Y)\sim \mathcal{N}(\mu_k,\Sigma_k) (w∣X,Y)∼N(μk,Σk)
所以对于(式3)
P ( Y ∣ w , X ) = ∏ i = 1 n P ( y i ∣ w , x i ) = ∏ i = 1 n 1 2 π σ exp { − ( y i − w T x i ) 2 2 σ 2 } = 1 ( 2 π ) n 2 σ n exp { − 1 2 σ 2 ∑ i = 1 n ( y i − w T x i ) 2 } \begin{equation}\begin{aligned} P(Y|w,X)=&\prod\limits_{i=1}^nP(y_i|w,x_i) \\=&\prod\limits_{i=1}^n\frac{1}{\sqrt{2\pi}\sigma}\exp\left\{-\frac{(y_i-w^Tx_i)^2}{2\sigma^2}\right\} \\=&\frac{1}{(2\pi)^{\frac{n}{2}}\sigma^n}\exp\left\{-\frac{1}{2\sigma^2}\sum\limits_{i=1}^n(y_i-w^Tx_i)^2\right\} \nonumber\end{aligned}\end{equation} P(Y∣w,X)===i=1∏nP(yi∣w,xi)i=1∏n2πσ1exp{−2σ2(yi−wTxi)2}(2π)2nσn1exp{−2σ21i=1∑n(yi−wTxi)2}
对于exp里面
∑ i = 1 n ( y i − w T x i ) 2 = ( y 1 − w T x 1 y 2 − w T x 2 ⋯ y n − w T x n ) ( y 1 − w T x 1 y 2 − w T x 2 ⋯ y n − w T x n ) = ( Y − X w ) T ( Y − X w ) \begin{equation}\begin{aligned} &\sum\limits_{i=1}^n(y_i-w^Tx_i)^2 \\=&\begin{pmatrix} y_1-w^Tx_1 & y_2-w^Tx_2 & \cdots & y_n-w^Tx_n \end{pmatrix} \begin{pmatrix} y_1-w^Tx_1 \\ y_2-w^Tx_2 \\ \cdots \\ y_n-w^Tx_n \end{pmatrix} \\=&(Y-Xw)^T(Y-Xw) \nonumber\end{aligned}\end{equation} ==i=1∑n(yi−wTxi)2(y1−wTx1y2−wTx2⋯yn−wTxn)
y1−wTx1y2−wTx2⋯yn−wTxn
(Y−Xw)T(Y−Xw)
所以
P ( Y ∣ w , X ) = 1 ( 2 π ) n 2 σ n exp { − 1 2 σ 2 ( Y − X w ) T ( Y − X w ) } = 1 ( 2 π ) n 2 σ n exp { − 1 2 ( Y − X w ) T σ − 2 ( Y − X w ) } = 1 ( 2 π ) n 2 σ n exp { − 1 2 ( Y − X w ) T σ − 2 I ( Y − X w ) } \begin{equation}\begin{aligned} P(Y|w,X)=&\frac{1}{(2\pi)^{\frac{n}{2}}\sigma^n}\exp\left\{-\frac{1}{2\sigma^2}(Y-Xw)^T(Y-Xw)\right\} \\=&\frac{1}{(2\pi)^{\frac{n}{2}}\sigma^n}\exp\left\{-\frac{1}{2}(Y-Xw)^T\sigma^{-2}(Y-Xw)\right\} \\=&\frac{1}{(2\pi)^{\frac{n}{2}}\sigma^n}\exp\left\{-\frac{1}{2}(Y-Xw)^T\sigma^{-2}\mathbb{I}(Y-Xw)\right\} \nonumber\end{aligned}\end{equation} P(Y∣w,X)===(2π)2nσn1exp{−2σ21(Y−Xw)T(Y−Xw)}(2π)2nσn1exp{−21(Y−Xw)Tσ−2(Y−Xw)}(2π)2nσn1exp{−21(Y−Xw)Tσ−2I(Y−Xw)}
其中 I \mathbb{I} I是一个单位矩阵,之所以要写入一个单位矩阵,就是因为 σ − 2 \sigma^{-2} σ−2是一个一维实数。而我们需要的是矩阵形式。
不难看到,这就是一个多维高斯分布的概率密度函数,所以直接就可以得到
P ( Y ∣ w , X ) ∼ N ( X w , ( σ − 2 I ) − 1 ) P(Y|w,X)\sim \mathcal{N}(Xw,(\sigma^{-2}\mathbb{I})^{-1}) P(Y∣w,X)∼N(Xw,(σ−2I)−1)
3.3、求解后验
结合 P ( w ∣ X ) ∼ N ( w ∣ 0 , Σ g ) P(w|X)\sim \mathcal{N}(w|0,\Sigma_g) P(w∣X)∼N(w∣0,Σg),得到
P ( w ∣ X , Y ) ∝ P ( Y ∣ w , X ) P ( w ∣ X ) = 1 ( 2 π ) n 2 σ n exp { − 1 2 ( Y − X w ) T σ − 2 I ( Y − X w ) } 1 ( 2 π ) p 2 ∣ Σ p ∣ 1 2 exp { − 1 2 ( w − μ p ) T Σ p − 1 ( w − μ p ) } = 1 ( 2 π ) n + p 2 σ n ∣ Σ p ∣ 1 2 exp { − 1 2 σ 2 ( Y − X w ) T ( Y − X w ) − 1 2 ( w − μ p ) T Σ p − 1 ( w − μ p ) } (4) \begin{equation}\begin{aligned} P(w|X,Y)\propto& P(Y|w,X)P(w|X) \\=&\frac{1}{(2\pi)^{\frac{n}{2}}\sigma^n}\exp\left\{-\frac{1}{2}(Y-Xw)^T\sigma^{-2}\mathbb{I}(Y-Xw)\right\}\frac{1}{(2\pi)^{\frac{p}{2}}|\Sigma_p|^{\frac{1}{2}}}\exp\left\{-\frac{1}{2}(w-\mu_p)^T\Sigma_p^{-1}(w-\mu_p)\right\} \\=&\frac{1}{(2\pi)^{\frac{n+p}{2}}\sigma^n|\Sigma_p|^{\frac{1}{2}}}\exp\left\{-\frac{1}{2\sigma^{2}}(Y-Xw)^T(Y-Xw)-\frac{1}{2}(w-\mu_p)^T\Sigma_p^{-1}(w-\mu_p)\right\} \nonumber\end{aligned}\end{equation}\tag{4} P(w∣X,Y)∝==P(Y∣w,X)P(w∣X)(2π)2nσn1exp{−21(Y−Xw)Tσ−2I(Y−Xw)}(2π)2p∣Σp∣211exp{−21(w−μp)TΣp−1(w−μp)}(2π)2n+pσn∣Σp∣211exp{−2σ21(Y−Xw)T(Y−Xw)−21(w−μp)TΣp−1(w−μp)}(4)
由于直接配成多维高斯分布比较困难,我们不如反过来推,假设多维高斯分布P(x),我们有
P ( x ) = 1 ( 2 π ) p 2 ∣ Σ ∣ 1 2 exp { − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) } = 1 ( 2 π ) p 2 ∣ Σ ∣ 1 2 exp { − 1 2 ( x T Σ − 1 x − μ T Σ − 1 x − x T Σ − 1 μ + μ Σ − 1 μ ) } = 1 ( 2 π ) p 2 ∣ Σ ∣ 1 2 exp { − 1 2 ( x T Σ − 1 x − 2 μ T Σ − 1 x + μ Σ − 1 μ ) } \begin{equation}\begin{aligned} P(x)=&\frac{1}{(2\pi)^{\frac{p}{2}}|\Sigma|^{\frac{1}{2}}}\exp\left\{-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\right\} \\=&\frac{1}{(2\pi)^{\frac{p}{2}}|\Sigma|^{\frac{1}{2}}}\exp\left\{-\frac{1}{2}(x^T\Sigma^{-1}x-\mu^T\Sigma^{-1}x-x^T\Sigma^{-1}\mu+\mu\Sigma^{-1}\mu)\right\} \\=&\frac{1}{(2\pi)^{\frac{p}{2}}|\Sigma|^{\frac{1}{2}}}\exp\left\{-\frac{1}{2}(x^T\Sigma^{-1}x-2\mu^T\Sigma^{-1}x+\mu\Sigma^{-1}\mu)\right\} \nonumber\end{aligned}\end{equation} P(x)===(2π)2p∣Σ∣211exp{−21(x−μ)TΣ−1(x−μ)}(2π)2p∣Σ∣211exp{−21(xTΣ−1x−μTΣ−1x−xTΣ−1μ+μΣ−1μ)}(2π)2p∣Σ∣211exp{−21(xTΣ−1x−2μTΣ−1x+μΣ−1μ)}
对于随机变量x,里面有关的只有 x T Σ − 1 x x^T\Sigma^{-1}x xTΣ−1x和 2 μ T Σ − 1 x 2\mu^T\Sigma^{-1}x 2μTΣ−1x。其中第一项有两个x,为二次项。第二项有一个x,为一次项。那么我们也同样可以在 P ( w ∣ X , Y ) P(w|X,Y) P(w∣X,Y)中,找出对应 w w w的一次项和二次项。
我们将(式4)继续拆开,并且只保留与 w w w相关的项
P ( w ∣ X , Y ) = 1 ( 2 π ) n + p 2 σ n ∣ Σ p ∣ 1 2 exp { 1 2 σ 2 ( w T X T X w + 2 Y T X w ) − 1 2 ( w − μ p ) T Σ p − 1 ( w − μ p ) } = 1 ( 2 π ) n + p 2 σ n ∣ Σ p ∣ 1 2 exp { 1 2 [ w T ( X T X σ − 2 − Σ p − 1 ) w + ( 2 σ − 2 Y T X + 2 μ p T Σ p − 1 ) w ] } \begin{equation}\begin{aligned} P(w|X,Y)=&\frac{1}{(2\pi)^{\frac{n+p}{2}}\sigma^n|\Sigma_p|^{\frac{1}{2}}}\exp\left\{\frac{1}{2\sigma^{2}}(w^TX^TXw+2Y^TXw)-\frac{1}{2}(w-\mu_p)^T\Sigma_p^{-1}(w-\mu_p)\right\} \\=&\frac{1}{(2\pi)^{\frac{n+p}{2}}\sigma^n|\Sigma_p|^{\frac{1}{2}}}\exp\left\{\frac{1}{2}\left[w^T(X^TX\sigma^{-2}-\Sigma_p^{-1})w+(2\sigma^{-2}Y^TX+2\mu_p^T\Sigma_p^{-1})w\right]\right\} \nonumber\end{aligned}\end{equation} P(w∣X,Y)==(2π)2n+pσn∣Σp∣211exp{2σ21(wTXTXw+2YTXw)−21(w−μp)TΣp−1(w−μp)}(2π)2n+pσn∣Σp∣211exp{21[wT(XTXσ−2−Σp−1)w+(2σ−2YTX+2μpTΣp−1)w]}
由里面的二次项得 P ( w ∣ X , Y ) P(w|X,Y) P(w∣X,Y)协方差矩阵为
Σ k − 1 = X T X σ − 2 − Σ p − 1 \Sigma_k^{-1}=X^TX\sigma^{-2}-\Sigma_p^{-1} Σk−1=XTXσ−2−Σp−1
再看一次项
σ − 2 Y T X + μ p T Σ p − 1 = μ k T Σ k − 1 → μ k = σ − 2 Σ k T X T Y + Σ k Σ p − 1 μ p \sigma^{-2}Y^TX+\mu_p^T\Sigma_p^{-1}=\mu_k^T\Sigma_k^{-1} \rightarrow \mu_k=\sigma^{-2}\Sigma_k^TX^TY+\Sigma_k\Sigma_p^{-1}\mu_p σ−2YTX+μpTΣp−1=μkTΣk−1→μk=σ−2ΣkTXTY+ΣkΣp−1μp
至此,我们终于求出了
P ( w ∣ X , Y ) ∼ N ( w ∣ μ k , Σ k ) P(w|X,Y)\sim\mathcal{N}(w|\mu_k,\Sigma_k) P(w∣X,Y)∼N(w∣μk,Σk)
其中 μ k = σ − 2 Σ k T X T Y + Σ k Σ p − 1 μ p \mu_k=\sigma^{-2}\Sigma_k^TX^TY+\Sigma_k\Sigma_p^{-1}\mu_p μk=σ−2ΣkTXTY+ΣkΣp−1μp, Σ k − 1 = X T X σ − 2 − Σ p − 1 \Sigma_k^{-1}=X^TX\sigma^{-2}-\Sigma_p^{-1} Σk−1=XTXσ−2−Σp−1
4、预测
得到了随机变量w的参数。接下来我们由 y = w T x + ϵ = x T w + ϵ y=w^Tx+\epsilon=x^Tw+\epsilon y=wTx+ϵ=xTw+ϵ,来求出随机变量的 y ∣ X , Y , x ∗ y|X,Y,x^* y∣X,Y,x∗的参数,也就是给定 x ∗ x^* x∗,去求出 y ∗ y^* y∗
P ( y ∗ ∣ X , Y , x ∗ ) = ∫ w P ( y ∗ ∣ w , X , Y , x ∗ ) P ( w ∣ X , Y , x ∗ ) d w = ∫ w P ( y ∗ ∣ w , x ∗ ) P ( w ∣ X , Y ) d w P(y^*|X,Y,x^*)=\int_wP(y^*|w,X,Y,x^*)P(w|X,Y,x^*)dw=\int_wP(y^*|w,x^*)P(w|X,Y)dw P(y∗∣X,Y,x∗)=∫wP(y∗∣w,X,Y,x∗)P(w∣X,Y,x∗)dw=∫wP(y∗∣w,x∗)P(w∣X,Y)dw
后面一个等号第一个概率是因为 w w w已经是 X , Y X,Y X,Y的充分统计量,能充分代表数据了,所以可以忽略掉 X , Y X,Y X,Y。第二个概率是因为 w w w仅仅依赖于训练数据 X , Y X,Y X,Y,所以忽略掉 x ∗ x^* x∗
不难看出实际上两个随机变量之间是存在一个线性关系。那么依据线性动态系统中的概率求解,我们很容易得到它的概率分布
y ∗ ∣ X , Y , x ∗ ∼ N ( x ∗ T μ k , x ∗ T Σ k x ∗ + σ 2 ) y^*|X,Y,x^*\sim N(x^{*T}\mu_k,x^{*T}\Sigma_kx^*+\sigma^2) y∗∣X,Y,x∗∼N(x∗Tμk,x∗TΣkx∗+σ2)
5、结束
以上就是线性回归用贝叶斯派的角度去推导的结果。如有问题,还望指出。阿里嘎多。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)