人工智慧學習筆記(四):對n元字元模型更詳細的數學模型描述

熟悉Brian的人都知道我是物理出身。我非常喜歡,用數學模型的觀點去衡量許多問題。從政治,到生活,再到經濟投資。物理是一門非常高維的學科,降為打擊非常厲害。類似的是數學和計算機,電子工程其實也算。但很遺憾,材料,化學和生物都不是。其實區分標準很簡單,看是以實驗為導向還是以理論為導向即可。青年人選擇專業也可以在這方面進行考慮。

其實前一段時間Brian老師成功的避開比特幣的狂跌就是我的一位,我十分信賴的畢業於北大物理系的朋友發現了一個可以用於做空比特幣的金融工具。之後我便聽取了他的建議,沒有購入比特幣。

好,我們接著來討論關於N元字元模型的一個更詳細的數學描述。其實這也是一種思維的方式:嘗試用數學的觀念分析和思考問題。這一點在計算機科學上非常有用。其實把數學上的工作做透,再加代碼,往往是可以事半功倍的。

我們在這裡對n元字元模型及其深層處理給出一個更詳細的描述。相關內容您可以從任何一本關於NLP的教材,或者說是Norvig&Stuart的書的第22章了解到。或者您可以閱讀吳軍博士的數學之美。吳軍博士的寫作思路和Norvig的思路恰好相反。吳軍博士是從HMM過渡到Bayes Network,而Norvig則是從Bayes Network引入HMM。我個人比較習慣後一種思路。當然,各位結合自己情況。

一。N元字元模型的訓練

這一部分實際上已經在前面提到過了。請參考第三篇筆記。

二。N元字元模型的平滑(Smoothing)與拉普拉斯平滑法(Laplace smoothing【1】)

比如我們做NLP的統計。the這個單詞,毫無疑問,經常會出現。但是,比如我們舉個例子。ht這種組合,出現的概率可能是非常低的。再比如,一個更長的組合:hldhasgsh。這樣的一個單詞,根本不會出現;那麼,如果我們用純概率去描述的話,就好比我們的計算系統里,出現了若干個概率為零的項。我們在這個基礎上再去計算條件概率的話,結果很容易就是零了。(條件概率,如果想不來的話用手推導一下即可。用全概率公式+Bayes公式推。反正我用腦子都可以搞定,也就懶得打公式了。你們可以用筆推算一下,也順便作為一個練習)

所以怎麼辦呢?科學家設計出了一個方法:叫Laplace smoothing。這個方法最早是由大數學家,拿破崙的好基友以及拿破崙政府的內閣部長,雖然只幹了六個星期就被人趕走了的Laplace【2】所設計。其實最早Laplace smoothing是用來解決統計學問題的。

Laplace smoothing的想法其實非常簡單。假設一個事件出現的概率為0,那麼我們就給他+1. 這樣的話他就不會存在以0除以其他項的情況了。之後,我們對所有求解的算式的分母加上一個大V。這個大V你可以隨便定義。比如,全部的字元的種類數目,字元的種類的數目乘以一個係數等等。之後,就不會出現,做條件概率的等式右邊存在零項的情況了。

三。N元字元模型的平滑與回退模型(backoff model)

這種演算法的思想很接近著名的線性回歸演算法(其實這也是統計學的一個理論,也是四大數據挖掘演算法之一,線性回歸。一般在統計系會有一門課研究這個。比如UIUC的stat 420)。

回退模型的定義:首先,進行N元統計。假如其中某一項的係數很低,那麼我們可以刪除這一項。以此類推。如果你做過Linear Regression的話,對於這個思想你一定不會陌生。

而另外,有一個升級版本的回退模型:線性插值模型。

λ1+λ2+...+λn=1

其中,λi是i元字元模型前面的係數。我們也可以將這個問題轉化為一個優化問題。確定其中每一個λ的係數(其中可能存在零),並且找到最優解。

這就需要,使用EM演算法來訓練這些模型了。

【1】有一些地方是Laplacian smoothing,比如UIUC的ppt。

【2】可以參考數學家Laplace的傳奇人生經歷。另外,法國有一點與中國不一樣。法國有數學家和科學家從政的傳統。有點像中國的文人從政。許多數學家都會從事政治。他們認為數學培養的理性思維對於政治有巨大的好處。


推薦閱讀:

AI+互聯網金融--入職半年總結
Neural Machine Translation with Word Predictions 閱讀筆記
TextGAN 代碼閱讀筆記
016【NLP】word2vec新手項目
python學習之文章數據分析

TAG:機器學習 | 自然語言處理 |