1. 程式人生 > >《Automatic Proofreading in Chinese: Detect and Correct Spelling Errors in Character-level》baseline實現

《Automatic Proofreading in Chinese: Detect and Correct Spelling Errors in Character-level》baseline實現

基礎知識&原理

對MEM正則化的解釋:
採用最大似然方法訓練出的最大熵模型能夠在訓練資料上表現良好,但是不一定在未知資料上具有好的推廣性。特別是出現在引數數量巨大而訓練資料又不是很充足的情況下。一種解決方案是設立一定數量的開發集,當在開發集上效能下降時停止訓練。但是這並不是一個很好的策略,因為可能暫時的下降之後還會上升。
另一種思路就是在優化目標上改變,可以增加關於引數的先驗知識,也被稱為一種“正則化”的策略。設定我們的引數集為w,訓練樣本集合為D,那麼根據貝葉斯公式有:
其中,成為給定D下引數w的後驗,成為w在D上的似然,稱為w的先驗。最大似然軌跡其實就是假設w的先驗為均勻分佈,直接最大化似然就可以了。
而我們可以通過假設一個先驗分佈,來防止有些權值被過訓練,一個常用的分佈就是高斯分佈。

相關程式碼實現: