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(yx,θ)

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(yx,θ)

小结

无论是MLE还是MAP,都是设计一个目标函数,通过训练和学习,模型最后估算出一个最优解。

贝叶斯派

贝叶斯派不是想要求某一个最优解,而是考虑所有的参数 θ \\theta θ,如果参数 θ \\theta θ属于某个参数空间,那么贝叶斯派的预测过程可以写为:
∫ θ p ( y ′ ∣ x ′ , θ ) ⋅ p ( θ ∣ D ) d θ \\int_\\theta p(y'|x',\\theta)\\cdot p(\\theta|D)d\\theta θp(yx,θ)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(yx,θ)p(θD)dθS1s=1Sp(yx以上是关于25[NLP训练营]Model Estimation的主要内容,如果未能解决你的问题,请参考以下文章

训练模型以识别文本中的情绪 3 NLP 零到英雄 Training a model to recognize sentiment in text

NLP pretrained model

使用 scikit-learn 为 NER 训练 NLP 对数线性模型

NLP实战 | 使用《人民的名义》的小说原文训练一个word2vec模型

1.25-30号《虢海平NLP亲子导师班》:让爱流动

第一天:第5期《虢海平NLP亲子导师班》现场播报