公式输入请参考: 在线Latex公式
前言
Model Estimation实际上是属于Bayesion model的范畴,所涉及到具体算法或者模型有:LDA、MMSB、Bayesion MF、Bayesion NN/LSTM/Bert/Transformer。
大概有两个流派,一些更具体的推导看这里:
频率派
MLE
要从训练数据D中估计出最好的参数
θ
∗
\theta^*
θ∗,最大化likelihood:
θ
∗
=
a
r
g
max
θ
p
(
D
∣
θ
)
\theta^*=arg\underset{\theta}{\max}p(D|\theta)
θ∗=argθmaxp(D∣θ)
然后用求到的参数
θ
∗
\theta^*
θ∗和新样本
x
′
x'
x′来预测新的
y
′
y'
y′
p
(
y
′
∣
x
′
,
θ
∗
)
p(y'|x',\theta^*)
p(y′∣x′,θ∗)
MAP
也是要估计估计出最好的参数
θ
∗
\theta^*
θ∗,但是和MLE不一样的是MAP是要最大化后验概率:
θ
∗
=
a
r
g
max
θ
p
(
θ
∣
D
)
=
a
r
g
max
θ
p
(
D
∣
θ
)
p
(
θ
)
\begin{aligned}\theta^*&=arg\underset{\theta}{\max}p(\theta|D)\\ &=arg\underset{\theta}{\max}p(D|\theta)p(\theta)\end{aligned}
θ∗=argθmaxp(θ∣D)=argθmaxp(D∣θ)p(θ)
从上面的推导我们可以看到,MAP既考虑了likelihood,又考虑了先验概率
p
(
θ
)
p(\theta)
p(θ)
然后用求到的参数
θ
∗
\theta^*
θ∗和新样本
x
′
x'
x′来预测新的
y
′
y'
y′
p
(
y
′
∣
x
′
,
θ
∗
)
p(y'|x',\theta^*)
p(y′∣x′,θ∗)
小结
无论是MLE还是MAP,都是设计一个目标函数,通过训练和学习,模型最后估算出一个最优解。
贝叶斯派
贝叶斯派不是想要求某一个最优解,而是考虑所有的参数
θ
\theta
θ,如果参数
θ
\theta
θ属于某个参数空间,那么贝叶斯派的预测过程可以写为:
∫
θ
p
(
y
′
∣
x
′
,
θ
)
⋅
p
(
θ
∣
D
)
d
θ
\int_\theta p(y'|x',\theta)\cdot p(\theta|D)d\theta
∫θp(y′∣x′,θ)⋅p(θ∣D)dθ
上式中,预测值和参数:
x
′
,
θ
x',\theta
x′,θ都是已知的,求的是所有可能的
θ
\theta
θ的情况。对于训练集
D
D
D,参数
θ
\theta
θ的分布表示为
p
(
θ
∣
D
)
p(\theta|D)
p(θ∣D),这个相当于模型的参数
w
w
w,不同的参数分布不一样,
w
w
w也不一样,
w
w
w也就是不同参数对应的权值,然后积分起来(离散情况下就是加权累加)。整个模型不是去学习
θ
\theta
θ具体的值,而是学习
p
(
θ
∣
D
)
p(\theta|D)
p(θ∣D)这个概率。
由于
θ
\theta
θ属于某个参数空间,是有无穷多个的,因此我们经常采用采样的方式选取一部分出现概率最高的
θ
\theta
θ来进行积分。
计算 p ( θ ∣ D ) p(\theta|D) p(θ∣D)
上面的预测过程就是要计算
p
(
θ
∣
D
)
p(\theta|D)
p(θ∣D),展开:
p
(
θ
∣
D
)
=
p
(
D
∣
θ
⋅
p
(
θ
)
)
p
(
D
)
=
p
(
D
∣
θ
⋅
p
(
θ
)
)
∫
θ
p
(
D
,
θ
)
d
θ
=
p
(
D
∣
θ
⋅
p
(
θ
)
)
∫
θ
1
∫
θ
2
∫
θ
3
⋯
∫
θ
n
p
(
D
,
θ
)
d
θ
\begin{aligned}p(\theta|D)&=\cfrac{p(D|\theta\cdot p(\theta))}{p(D)}\\ &=\cfrac{p(D|\theta\cdot p(\theta))}{\int _\theta p(D,\theta )d\theta}\\ &=\cfrac{p(D|\theta\cdot p(\theta))}{\int _{\theta_1}\int _{\theta_2}\int _{\theta_3}\cdots\int _{\theta_n} p(D,\theta )d\theta }\end{aligned}
p(θ∣D)=p(D)p(D∣θ⋅p(θ))=∫θp(D,θ)dθp(D∣θ⋅p(θ))=∫θ1∫θ2∫θ3⋯∫θnp(D,θ)dθp(D∣θ⋅p(θ))
上式中n为
θ
\theta
θ的维度,第二个等号用的边缘化公式。最后一个式子的分母非常难计算(exact inference),因此要采用近似的计算方法(approximate inference)。
近似计算用到了蒙特卡罗采样的原理,由于
θ
\theta
θ属于某个参数空间,是有无穷多个的值,因此我们对这个空间进行采样(可以重复采),用样本来近似计算。
∫
θ
p
(
y
′
∣
x
′
,
θ
)
⋅
p
(
θ
∣
D
)
d
θ
≈
1
S
∑
s
=
1
S
p
(
y
′
∣
x
′
,
θ
s
)
,
θ
s
∼
p
(
θ
∣
D
)
\int_\theta p(y'|x',\theta)\cdot p(\theta|D)d\theta\\ \approx \cfrac{1}{S}\sum_{s=1}^Sp(y'|x',\theta^s),\theta^s\sim p(\theta|D)
∫θp(y′∣x′,θ)⋅p(θ∣D)dθ≈S1s=1∑Sp(y′∣x′,θs),θs∼p(θ∣D)
可以看到,采样后进行的是平均的操作,而不是加权平均的操作,加权平均操作已经在采样过程中近似的做了,因为权重大的被采样的概率越大。
每次在
θ
\theta
θ空间中进行采样,采样
S
S
S次,每次采样都是互相独立的(蒙特卡罗采样)。
这样的采样效率比较低,当我们采样到比较好的样本的时候,我们可以在该样本的附件继续采样,也会得到较好的样本(locality性质),这样连续的采样不是独立采样,因为第二次采样是根据第一次采样结果来进行的,就变成了一个序列的采样,称为:马尔科夫链蒙特卡罗采样(MCMC: Markov Chain Monte Carlo),这个方法有很多种具体的采样算法:Gibbs sampling(后面讲),Importance sampling,Rejection sampling,Metropolis-Hastings等等。
贝叶斯模型可以看做是集成模型,它考虑了多个
θ
\theta
θ的可能性。