基础知识&原理

MEM(MaximumEntropy Method),即最大熵模型

平滑算法解释:平滑算法具体分差值(Interpolation) 和回退(backoff)这两个思想

Katz smoothing实现

对MEM正则化的解释:
采用最大似然方法训练出的最大熵模型能够在训练数据上表现良好,但是不一定在未知数据上具有好的推广性。特别是出现在参数数量巨大而训练数据又不是很充足的情况下。一种解决方案是设立一定数量的开发集,当在开发集上性能下降时停止训练。但是这并不是一个很好的策略,因为可能暂时的下降之后还会上升。
另一种思路就是在优化目标上改变,可以增加关于参数的先验知识,也被称为一种“正则化”的策略。设定我们的参数集为w,训练样本集合为D,那么根据贝叶斯公式有:
其中,成为给定D下参数w的后验,成为w在D上的似然,称为w的先验。最大似然轨迹其实就是假设w的先验为均匀分布,直接最大化似然就可以了。
而我们可以通过假设一个先验分布,来防止有些权值被过训练,一个常用的分布就是高斯分布。

相关代码实现:

  1. trigram & katz smoothing
  2. KneserNey smoothing
  3. model language实现细节
  4. The Dynamic Alpha Model参考

更多推荐

《Automatic Proofreading in Chinese: Detect and Correct Spelling Errors in Charac