導語: 理解條件隨機場CRF模型的原理,有些文章會從隱馬爾科夫模型HMM講起,再結合PGM的一些基本性質定理轉到CRF推導上來,這種講解方式需要讀者懂一些PGM的背景才好理解,否則中間會感到很突兀;另外一種講解方式是從Log-Linear模型開始,從模型架構,特徵函式,訓練最佳化方式到CRF與其的關係,我個人比較喜歡第二種方式,下面將會把我看過的相關內容整理成此篇筆記。
簡要背景-HMM&CRF
Log-Linear的基本內容
模型訓練
特徵函式
隱馬爾科夫模型HMM
CRF模型
總結
參考資料
簡要背景-HMM&CRF
在自然語言處理中,存在很多序列到序列的任務,比如機器翻譯,詞性標註,命名實體識別,都是需要對給定的輸入句子,輸出一個帶標籤的序列,如果按照PGM中對應的概念,我們會把輸入的句子中的字作為觀測序列
, 把我們比較關注的任務如詞性,實體類別等作為隱含狀態序列
。
我們常聽說的隱馬爾科夫模型HMM,就是去學習觀測序列與隱含狀態序列的聯合機率分佈
, 而條件隨機場模型CRF學習的是條件機率
,因此我們也常說CRF是一種判別模型。從掌握這兩個模型的難度上來講,HMM要容易得多,CRF的難度相對更大,CRF使用的場景也更多,如在命名實體的網路結構中,最後一層目前基本都是CRF為主,因此理解這個模型的原理還是很有必要的,從HMM到CRF之間,還有一個比較有名的模型是MEMM模型。
Log-Linear的基本內容
Log-Linear模型的身影經常出現很早的自然語言模型的語言模型中,用於描述一種條件機率,對於給定輸入序列
,以及模型引數
, 模型如下:
或者非矩陣相乘的形式:
其中
是整個模型的引數,是需要學習的,
被稱為
特徵函式
,其描述了觀測序列
和隱含狀態序列
的某種規則/關係,後續將會對其做舉例說明;
是歸一化因子,因為我們的輸出是條件機率,需要滿足取值在
之間,所以不能省略了該項,
有個專門的名詞
partition function
,其形式為:
看完上面的公式,需要注意的幾點是:
,
是序列,在訓練集中相當於一個個序列對,
,
,另外整個隱含狀態的個數是有限個數的,比如詞性的個數,一般是動詞,名詞,副詞等,命名實體中,實體的標籤可能為人名,地名,公司名等,而
也可能是從一個有限集合中抽取出來的,比如從3000個漢字中抽取出來的構成觀測序列;
特徵函式
的個數
,與定義的匹配模版有關;
表示的一個具體的隱含狀態序列,用於區別分子中的
,也可以用其他符號來表示;
特徵函式
的取值可以是實數值,一般的取值為
,即我們常說指示函式,
滿足某種條件輸出為1,否則為0,在後面有例子;
是模型的要學習的引數集合,引數個數跟
特徵函式的個數有關,這裡是
個,需要透過訓練資料進行引數的估計;
對公式的右半部分取
得到如下形式:
可以發現上述公式,右半部分中的第一項是關於
的線性組合(Linear),第二部分不依賴於標籤
, 當固定
後,就可以說
就是
後的關於特徵函式的線性組合,同時對於上述公式,我們可以得到幾個感性結論:
由於我們是需要使得似然函式(log似然函式)的取值最大,那麼就需要將等式右邊的第一部分取值越大越好,第二部分取值越小越好;
對於第一部分由於
是訓練集中的出現的觀測序列和隱含標籤狀態序列對,
是取值越大比較符合直覺;
對於第二部分,
不是訓練集中的樣本
取值越小符合直覺,由於有exp,所以取值接近於0,比較符合直覺;
模型訓練
回到我們的目標,或者說具體的任務,比如輸入一個句話進行命名實體識別,
觀測序列是文字,狀態序列
是定義好的實體類別的集合,而我們更關心的就是給定一個輸入
,模型能夠給我們一個與真實標籤更像的更一致的
,即
, 而不是
, 因此,我們的可以利用最大似然估計對Log-Linear模型引數估計。假設訓練集中有
個訓練樣本
, 似然函式(不帶正則化的)可以寫為:
利用最大似然估計出模型的引數
:
顯然,我們可以利用梯度上升最佳化演算法來求解引數
;結合似然函式和
後
展開形式,可以得到最終的似然函式為(注: 為了簡潔起見,將
的下標
去除了):
先對等式右邊的第一部分求導:
對第二部分進行求導:
對於上式的第一步到第二步,如果有點繞的話,可以想象如下的一個等式:
同時,我們還發現,根據Log-Linear模型的定義,得到了
; 綜上,最終對於
求導之後的公式為(注:加上了樣本編碼的下標
):
有了上述求導公式,可以對模型中的
個引數
依次求導,利用梯度上升(
由於我們是需要最大化似然函式
)最佳化演算法,依次迭代模型的引數:
心細的同學應該發現了,我們的公式中出現了一個不太好計算的
,會對這項的求解產生疑問,後面會專門對這個做一下解釋,現在姑且把這一項認為是已知的,很好求解,對於整個Log-Linear模型的求解形成了完整的認識。在第三篇內容中,我們會專門針對動態規劃演算法,前向演算法和後向演算法進行介紹,這樣來推匯出
會更好理解。
特徵函式
我們對於模型的特徵應該都是很熟悉了,比如年齡,性別都可以是一個特徵列,而對於特徵函式可能就不那麼熟悉了,特徵函式
的特點為:
輸出是實數,取值一般為0或者1,在自然語言處理中,經常可以看到類似onehot的編碼方式,所以輸出為0/1也是挺合情合理的;
設計
可以是隻跟
,或者只跟
有關,比如
,表示對於輸入的句子中,只要存在字母A開頭的單詞就輸出1,與其對應的標籤y序列無關;
由於
是序列對,
特徵函數理論上有無窮個規則模版的,但是在實際模型中,會做一些簡化處理,方便計算,如CRF模型中,只考慮相鄰狀態標籤,以及位置關係
想象一下一個更具體的例子,我們的n-gram語言模型,如2-gram,需要對語料庫中相鄰的兩個字進行切分,如果我們把第一字和第二字的具體取值生成一個特徵函式的話,即只要出現了語料庫中這樣的2-gram的詞,就輸出1,那麼我們就可以得到非常多的特徵函式;
隱馬爾科夫模型HMM
說到HMM,模型為觀測序列
和隱含標籤狀態序列
的聯合機率分佈,並且做了如下限制:
當前時刻的隱含狀態
只跟上一時刻的隱含狀態有關
,與其他時刻無關;
當前時刻的觀測
只與當前時刻的隱含狀態
有關
因此,HMM模型可以表示為:
在上式中,有兩部分機率連乘得到,即轉移機率
和發射機率
,在實際的HMM中,除了上述兩個轉移機率和發射機率,還有一個狀態初始機率分佈
。
對
取
得到:
由於在給定了HMM之後,我們就可以確定轉移機率和發射機率各個取值了,即上述形式,在結合Log-Linear中的特徵函式
以及模型引數
,我們可以做一下等價:
可以包含訓練語料中的前後相鄰兩個標籤,以及在給定標籤之後的觀測值
特徵函式的權重為機率的
取值
CRF模型
有了上述Log-Linear模型的鋪墊,我們發現只需要對特徵函式做一些限制,就可以得到我們要講的CRF模型(沒有特別說明指的是linear-chain CRF),先看CRF模型在特徵函式上做了什麼限制:
需要把整個
輸入,即考慮全部的輸入;
新增了一個
序列中的詞的位置編碼資訊
,即需要告訴特徵函式當前作用的位置是輸入序列
中的第幾個輸入;
當前詞/字的對應的標籤
;
上一個詞/字的標籤
;
因此,CRF模型的特徵函式可以表示為:
其中
表示序列的長度,一般把
叫做
low-level
特徵函式,low-level特徵函式會掃過整個輸入序列,最終求和之後匯聚到
上,這樣做的好處在於,我們模型中的特徵函式
的個數可以是固定的,同時我們的訓練樣本/測試樣本的長度是可變的,這樣做到一種相容。
由此,根據Log-Linear模型的形式,可以得到CRF模型的形式為:
上述公式是CRF的簡化形式,很多書籍會從PGM的一些概念開始,如
團與最大團
,
Hammersley-Clifford定理
,
勢函式
,最後根據馬爾科夫隨機場,條件隨機場定義等一步步推導到線性鏈條件CRF的引數化形式,總體上來說理解難度很更大點,這裡拋棄了這些概念,發現從Log-Linear更容易接受,下面部分內容可以和李航的統計機器學習的部分內容開始接上了,我們根據上述簡化的CRF公式,複雜化一下,將特徵函式拆分成兩部分(總的個數是一樣的):
轉移特徵函式
:
, 表示特徵函式依賴於當前和上一時刻的標籤,有
個;
狀態特徵函式
:
: 表示特徵函式只依賴於當前時刻的標籤,有
個;
最終,可以把上述公式等價為:
下面直接改編一下統計機器學習上的一個例子來直觀地展示一下CRF模型:假定輸入觀測序列
, 輸出標記(狀態序列)
,其中狀態的取值為
,即
的取值只能是red或者black,同時分別給定了5個轉移特徵函式
和3個狀態函式
:
轉移特徵函式為:
狀態特徵函式為:
對於給定的觀測序列
,求狀態序列
的非規範化的條件機率。直接根據上述CRF的公式,即可得到:
依次對上述公式進行展開:
同理:
最終:
總結
我們從Log-Linear的模型開始講起,涉及到了其中重要的概念
特徵函式
,特徵函式也是CRF模型中的重要組成部分,關於Log-Linear重要的是其引數最佳化過程,我們也得到了,只不過在梯度上升的公式中出現了一個不太好計算的東西,比較耗時,我們沒有去碰它,等下一篇文章講解完動態規劃相關內容在來解決這個問題。最後,根據CRF模型的特點,引入其特徵函式的構造方式,由於CRF就是一種Log-Linear模型,其最佳化方式是一致的,後面又引入了一個CRF的例子,讓大家對特徵函式加深一下映象,計算了一下非規範化的條件機率。
參考資料
李航的統計機器學習,新手慎入,講的太簡潔
周志華西瓜書,一上來就是勢函式,天吶,我的PGM全部忘光了
真香 Michael Collins,
http://www。
cs。columbia。edu/~mcolli
ns/loglinear。pdf
真香 ichael Collins,Log-Linear Models, MEMMs, and CRFs
真香 Log-linear models and conditional random fields
https://
cseweb。ucsd。edu/~elkan/
250Bwinter2012/loglinearCRFs。pdf
同名微信公眾號,內容檢索更方便,排版更友好,歡迎新增:一直學習一直爽