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、结束
以上就是线性回归用贝叶斯派的角度去推导的结果。如有问题,还望指出。阿里嘎多。