25[NLP训练营]Model Estimation
Posted oldmao_2001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了25[NLP训练营]Model Estimation相关的知识,希望对你有一定的参考价值。
公式输入请参考: 在线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′以上是关于25[NLP训练营]Model Estimation的主要内容,如果未能解决你的问题,请参考以下文章
训练模型以识别文本中的情绪 3 NLP 零到英雄 Training a model to recognize sentiment in text
使用 scikit-learn 为 NER 训练 NLP 对数线性模型