NLP --- 條件隨機場CRF詳解 重點 特征函數 轉移矩陣


上一節我們介紹了CRF的背景,本節開始進入CRF的正式的定義,簡單來說條件隨機場就是定義在隱馬爾科夫過程的無向圖模型,外加可觀測符號X,這個X是整個可觀測向量。而我們前面學習的HMM算法,默認可觀測符號是獨立的,但是根據我們的實際語言來說,獨立性的假設太牽強,不符合我們的語言規則,因此在HMM的基礎上,我們把可觀測符號的獨立性假設去掉。同時我們知道HMM的解法是通過期望最大化進行求解,而CRF是通過最大熵模型進行求解,下面我們就從定義開始看看什么是CRF:

CRF定義
這里定義只講線性鏈隨機場,針對自然語言處理領域的處理進行設計,因此這里只提線性鏈隨機場定義:

線性鏈條件隨機場)設均為線性鏈表示的隨機變量序列,若在給定隨機變量序列的條件下,隨機變量序列Y的條件概率分布就構成條件隨機場,即滿足馬爾可夫性
                                               
則稱為線性鏈條件隨機場,在標注問題中,表示輸入觀測序列,表示對應的輸出標記序列或狀態序列,這里大家一定要切記什么是概率圖模型,什么是無向圖和團,上面的定義就是針對二元組,如下圖:

 

上面團就是,其他的Y不是這個團里的,那么對應的條件概率(這里以為例求解) 那么應該寫成如下:

                                               

也就是說決定的概率取決於輸入的序列以及和他相連的兩個輸出,,這正是體現了概率圖模型里面的思想(符合語言的規律即聯系上下文語意),不和其直接相連的可以看做條件獨立,這就解釋了下面為什么可以直接相乘,指數相加了,所以這里大家需要好好理解這里的深層含義,不要放過任何細節問題。下面我們給出參數化定義,上面的定義是我們語言模型最原始的出發點即知道輸入的語音我如何求出對應的概率,這里需要數學模型來建立他們的關系,如下(這里大家看看上一節的什么是勢函數,或者看李航的書):

這里把上一節的重要公式拿過來:

最大團C上的函數的乘積形式

                                                         

概率無向圖模型的聯合概率分布的可以表示為如下形式:
                                                        

                其中                                

定理 (線性鏈條件隨機煬的參數化形式)設為線性鏈條件隨機場,則在隨機變量取值為的條件下,隨機變量Y取值為的條件概率具有如下形式:

 

其中:

 

上面的定義其實就是根據勢函數和概率無向圖模型進行定義的,那么這些參數都代表什么意思呢?

大家這里可以把、看做權值,、看做特征函數,和我們最大熵模型里將的特征函數很類似可以說是一樣了,即滿足為1,反之為0,下面使用李航的書進行解釋:

上式是線性鏈條件隨機場模型的基本形式,表示給定輸入序列x,對輸出序列,預測的條件概率,是定義在邊上的特征函數,稱為轉移特征,依賴於當前和前一個位置,是定義在結點上的特征函數,稱為狀態特征,依賴於當前位置,和都依賴於位置,是局部特征函數,通常,特征函數和取值為1或0:當滿足特征條件時取值為1,否則為0.條件隨機場完全由特征函數和對應的、權值,確定.

我們知道了上面的和分別代表什么了,而對於當前的位置狀態只依賴於前一個狀態,那可不可以擴展其他的依賴狀態呢?例如依賴前兩個的位置狀態,答案是可行的,只是這里我們需要符合無向圖最大團的定義,即任意兩個都應該聯通,如下圖所示:

 

此時我們的就可以寫成這樣了:,這樣大家應該可以理解條件隨機場的工作方式的了,那么我們繼續來看看上式的定義和上圖,我們發現如果這樣做的話會有哪些問題呢?首先特征函數如何定義呢?這里的定義是根據特征模板生成的,可以是一個子、一個詞,或者一個短語等,這些特征不是人為划分而是通過計算機自動划分,這樣做確實節省了人力,但是帶來的問題是,無效特征也會急劇增加,例如“我愛中國”,這里面的特征可能包含‘我愛’,‘愛中’,‘中國’,其中‘愛中’就是無效特征,這樣的詞會很多,因此計算量就會很大,如何解這個問題,我們引入了權值即、,通過權值我們就可以計算有效特征和無效特征的權值,這樣權值會使的有效特征的權值很大,無效特征的權值幾乎為0,這就是引入權值的目的,但是計算量大怎么解決呢?這一點我們在后面的學習算法中在仔細的講,現在我們看看上式,我們發現他有兩個特征函數兩個權值,這樣處理不是很方便,能不能把他們合二為一呢?答案是可以的,下面我們就詳細的看看怎么做。

條件隨機場的簡化形式
條件隨機場還可以由簡化形式表示.注意到條件隨機場式中同一特征在各個位置都有定義,可以對同一個特征在各個位置求和,將局部特征函數轉化為一個全局特征函數,這樣就可以將條件隨機場寫成權值向量和特征向量的內積形式,即條件隨機場的簡化形式,
為簡便起見,首先將轉移特征和狀態特征及其權值用統一的符號表示.設有個轉移特征,個狀態特征,,記

 

我們來解釋一下為什么是可以合二為一,因為位置特征和狀態特征的不同之處是位置只和當前位置有關和其他無關,而轉移狀態不僅和當前狀態有關還和前一個狀態有關,那么如果位置特征和加上前一個位置的特征,這里我們讓前一個位置特征的權值為0就可以了,因此可以綜合在一起,這里大家應該可以理解的,下面我們繼續往下看:

 對轉移和位置狀態對i進行求和:

 

使用代替 、:

 

因此條件隨機場的可以簡化寫成如下:

 

 若表示權值向量,則可以寫成如下:

 

使用表示全局特征向量:

                                 

 

 條件隨機場可以寫成向量的乘積的形式,如下:

 

其中:

 

條件隨機場的矩陣形式 
 根據(1)式我們可以寫成矩陣的形式,對觀測序列的每個位置,定義一個m階矩陣,:

                                    

上式可能不好理解,下面就好好解釋一下這個矩陣的含義:

 

這里我們先假設即Y只要三種狀態可以選擇,那么從的轉移有對應的轉移矩陣即:

 

這里的轉移矩陣和馬爾科夫的轉移矩陣很類似,但是這里不同的是,里面的數據是非歸一化的概率,即他是一個數,不是概率,因為我們只是為了比較大小,只需計算出數就可以參與比較了,沒必要計算出概率,這樣計算量就會降低,這里大家需要理解,另外就是馬爾科夫的轉移矩陣是不變的,以下沒特別說明的都是非歸范化的矩陣。但是這里的 的矩陣是隨着i的變化而變化,因為影響的不僅僅和當前狀態有關還和這個輸入序列x以及前一個狀態有關,還和特征函數有關,因此這里的會有很多,這樣大家就應該好理解了吧,大家在看下式就很簡單了:

                                                                                

那么我們把(1)式逐漸使用矩陣來替換得到如下:

 

上式的帶下標的x和y代表的是一個數即具體的值,不帶的說明是一個向量

 這樣給定觀測序列x,標記序列y的非規范化概率可以通過n+1個矩陣的乘積進行表示,於是條件概率是:

 

 下面給出一個實際的例子,這個例子就是李航的數上的例子。如果大家明白上面的意思了,下面的例子很簡單,這里為了大家方便直接拿過來了:

 

 

 這里稍微解釋一下,因為每個狀態y都可以去取兩個值,而且有三個狀態,因此總共有條路徑,其中上圖的紅色標記是第一條路徑即y=(1,1,1),藍色是y=(2,2,2).其他的感覺就沒什么難度了。

這里為什么需要使用矩陣形式的表達呢?下面我們的學習算法需要使用到。這里我們看看他的參數是如何求解的,其實很簡單就是最大熵模型的求解過程,因為這里的目標函數是最大熵模型的指數族是一致的,因此完全可以使用最大熵模型進行求解,本來不想在啰嗦,但是還是解釋一下把,為什么可以使用最大熵模型進行求解。

在最大熵模型的求解過程中我給大家推薦了一篇文章即《A Simple Introduction to Maximum Entropy Models for Natural Language Processing》,里面有幾個推理我們需要看看:

 

這里需要先和大家回顧一下符號所代表的意思,其中P是約束條件或者說是期望,Q是求解的最大熵指數族函數,他們有兩個推理,其實這兩個推理在李航的書也給出了證明,不知道大家是否理解。我們一起來看看:

 

這個推理是什么意思呢?就是說在滿足約束條件同時又是指數族函數的分布情況下,此時的熵是最大的 ,這是上面的定理告訴我們的,我們在看下一個:

 

這個推理告訴我們如果所求分布既滿足約束條件又滿足指數族函數的分布,那么所求的分布一定是最大釋然的那個分布,上面的兩個定理告訴我們什么呢?

其實就是說如果我們對滿足條件又是指數族函數的分布根據最大釋然估計出的分布就是符合最大熵的分布 ,不知道大家有沒有留意,李航的書中證明了這一點,大家應該好好體會這個特點,以后我們遇到類似的情況是不是也可以這樣做呢?

而我們的目標式就是上面的(1)式他就是符合上面兩個定理的,約束條件其實就是特征含數了,指數族也是符合的,因此我們可以很好的解決解決CRF的權值的問題,通過改進的迭代法即IIS進行求解,如下,這里還是帶大家推一邊吧。

CRF的學習算法即IIS
己知訓練數據集,由此可知經驗概率分布為,可以通過極大化訓練數據的對數似然函數來求模型參數,訓練數據的對數似然函數為

 

最大釋然函數大家有沒有疑問的呢?例如 為什么是的指數?這里我給大家解釋一下:     

**************************************************************************************************************************************              

 

其實第一眼之所以不理解,因為這是最大似然函數的另外一種形式。一般書上描述的最大似然函數的一般形式是各個樣本集XX中各個樣本的聯合概率: 

 

其實這個公式和上式是等價的。是樣本具體觀測值。隨機變量是離散的,所以它的取值范圍是一個集合,假設樣本集的大小為n,的取值有個,分別是。用表示在觀測值中樣本出現的頻數。所以可以表示為

 

 對等式兩邊同時開n次方,可得

 

 因為就是經驗概率,因此可以使用代替即:

 

很明顯對 求最大值和對 求最大值的優化的結果是一樣的。整理上式所以最終的最大似然函數可以表示為: 

 

****************************************************************************************************************************************** 

到這里大家就清楚了吧,然后就是化簡了,如下:

 

 再往下大家看李航的書吧,和最大熵模型求解是一樣的,這里大家應該把李航的書的章節的公式多推兩邊,我推了三遍,才深入理解的,大家別偷懶啊,你只有邊推邊思考才能體會數學的魅力所在,這里就不廢話了。本節到此結束。下一節我們看看李航的書中的求期望問題,為什么要求期望呢?下一節詳細介紹。
---------------------
作者:zsffuture
來源:CSDN
原文:https://blog.csdn.net/weixin_42398658/article/details/85156721
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM