【NLP】前戲:一起走進條件隨機場(一)


前戲:一起走進條件隨機場

作者:白寧超

2016年8月2日13:59:46

【摘要】:條件隨機場用於序列標注,數據分割等自然語言處理中,表現出很好的效果。在中文分詞、中文人名識別和歧義消解等任務中都有應用。本文源於筆者做語句識別序列標注過程中,對條件隨機場的了解,逐步研究基於自然語言處理方面的應用。成文主要源於自然語言處理、機器學習、統計學習方法和部分網上資料對CRF介紹的相關的相關,最后進行大量研究整理匯總成體系知識。文章布局如下:第一節介紹CRF相關的基礎統計知識;第二節介紹基於自然語言角度的CRF介紹;第三節基於機器學習角度對CRF介紹,第四節基於統計學習角度對相關知識介紹;第五節對統計學習深度介紹CRF,可以作為了解內容。(本文原創,轉載請注明出處漫步條件隨機場系列文章。)

目錄


【自然語言處理:漫步條件隨機場系列文章(一)】:前戲:一起走進條件隨機場

【自然語言處理:漫步條件隨機場系列文章(二)】:基於自然語言處理角度談談CRF

【自然語言處理:漫步條件隨機場系列文章(三)】:基於機器學習角度談談CRF

【自然語言處理:漫步條件隨機場系列文章(四)】:基於統計學習角度談談CRF

【自然語言處理:漫步條件隨機場系列文章(五)】:條件隨機場知識擴展

1 機器學習中的生產模型與判別模型


生產式模型與判別式模型簡述,條件隨機場是哪種模型?

有監督機器學習方法可以分為生成方法和判別方法:

1)生產式模型:直接對聯合分布進行建模,如:混合高斯模型、隱馬爾科夫模型、馬爾科夫隨機場等

2)判別式模型:對條件分布進行建模,如:條件隨機場、支持向量機、邏輯回歸等。

生成模型優缺點介紹:
優點:

1)生成給出的是聯合分布,不僅能夠由聯合分布計算條件分布(反之則不行),還可以給出其他信息。如果一個輸入樣本的邊緣分布很小的話,那么可以認為學習出的這個模型可能不太適合對這個樣本進行分類,分類效果可能會不好

2)生成模型收斂速度比較快,即當樣本數量較多時,生成模型能更快地收斂於真實模型。
3)生成模型能夠應付存在隱變量的情況,比如混合高斯模型就是含有隱變量的生成方法。
缺點:
1)天下沒有免費午餐,聯合分布是能提供更多的信息,但也需要更多的樣本和更多計算,尤其是為了更准確估計類別條件分布,需要增加樣本的數目,而且類別條件概率的許多信息是我們做分類用不到,因而如果我們只需要做分類任務,就浪費了計算資源。
2)另外,實踐中多數情況下判別模型效果更好。
判別模型優缺點介紹:
優點:
1)與生成模型缺點對應,首先是節省計算資源,另外,需要的樣本數量也少於生成模型。
2)准確率往往較生成模型高。
3)由於直接學習,而不需要求解類別條件概率,所以允許我們對輸入進行抽象(比如降維、構造等),從而能夠簡化學習問題。
缺點:
1)是沒有生成模型的上述優點。

2 簡單易懂的解釋條件隨機場


線性鏈的條件隨機場跟線性鏈的隱馬爾科夫模型一樣,一般推斷用的都是維特比算法。這個算法是一個最簡單的動態規划。
首先我們推斷的目標是給定一個X,找到使P(Y|X)最大的那個Y嘛。然后這個Z(X),一個X就對應一個Z,所以X固定的話這個項是常量,優化跟他沒關系(Y的取值不影響Z)。然后exp也是單調遞增的,也不帶他,直接優化exp里面。所以最后優化目標就變成了里面那個線性和的形式,就是對每個位置的每個特征加權求和。比如說兩個狀態的話,它對應的概率就是從開始轉移到第一個狀態的概率加上從第一個轉移到第二個狀態的概率,這里概率是只exp里面的加權和。那么這種關系下就可以用維特比了,首先你算出第一個狀態取每個標簽的概率,然后你再計算到第二個狀態取每個標簽得概率的最大值,這個最大值是指從狀態一哪個標簽轉移到這個標簽的概率最大,值是多 少,並且記住這個轉移(也就是上一個標簽是啥)。然后你再計算第三個取哪個標簽概率最大,取最大的話上一個標簽應該是哪個。以此類推。整條鏈計算完之后, 你就知道最后一個詞去哪個標簽最可能,以及去這個標簽的話上一個狀態的標簽是什么、取上一個標簽的話上上個狀態的標簽是什么,醬。這里我說的概率都是 exp里面的加權和,因為兩個概率相乘其實就對應着兩個加權和相加,其他部分都沒有變。
學習
這是一個典型的無條件優化問題,基本上所有我知道的優化方法都是優化似然函數。典型的就是梯度下降及其升級版(牛頓、擬牛頓、BFGS、L-BFGS),這里版本最高的就是L-BFGS了吧,所以一般都用L-BFGS。除此之外EM算法也可以優化這個問題。

3 概率無向圖與馬爾科夫隨機場前世今生


概率無向圖模型又稱為馬爾科夫隨機場,是一個可以由無向圖表示的聯合概率分布。

圖是由結點和連接結點的邊組成的集合,(這部分知識學過數據結構或者算法的同學都比較了解,不作為深入講解。)

注意:無向圖是指邊上沒有方向的圖,既然邊沒有方向,其權值是有方向的,諸如轉移概率中,“我”到“愛”的轉移概率0.5.

概率圖模型是由圖表示的概率分布,沒有聯合概率分布P(Y),Y∈{y}是一組隨機變量由無向圖G=<V,E>表示概率分布P(Y),即在圖G中,結點v∈V表示一個隨機變量 邊e∈E表示隨機變量之間的概率依賴關系,這點在第一章有詳細介紹。

給定一個聯合概率分布P(Y)和表示它的無向圖G,無向圖表示的隨機變量之間的成對馬爾科夫性,局部馬爾科夫性,全局馬爾科夫性的如何區別?

1) 成對馬爾科夫性表示

 

2)局部馬爾科夫性表示

 

3)全局馬爾科夫性表示

                

概率無向圖模型的定義

設有聯合概率分布P(Y),由無向圖G=<V,E>表示,在圖G中,結點表示隨機變量,邊表示隨機變量之間關系(加權概率),如果聯合概率分布P(Y)滿足成對/局部/全局馬爾科夫性,就稱此聯合為概率無向圖模型或者馬爾科夫隨機場。

4 計算聯合概率分布:概率無向圖模型的因子分解


對給定概率無向圖模型下,本質就是要求聯合概率可以將其改變成若干子聯合概率乘積的形式,也就是將聯合概率進行因子分解。首先介紹兩個概念:最大團

 

:無向圖G中任何兩個結點均有邊連接的節點子集成為團。

最大團:若C是無向圖G的一個團,並且不能再加進任何一個G的節點使其成為一個更大的團,則稱此C為最大團。

注意:{y1,y2,y3,y4}不是一個團,因為y1與y4無邊相連

概率無向圖模型的因子分解

將概率無向圖模型的聯合概率分布表示,其最大團上的隨機變量的函數的乘積形式的操作,即的聯合概率是 這樣不免太復雜,倘若為10000個結點以上呢?(每個結點是一個漢字,假設最大團以是篇章,本書假設10章,則是十個最大團之積。)

概率無向圖模型的聯合概率分布P(Y)的公式化表示:

給定概率無向圖模型,設其無向圖為G,C為G上的最大團,YC表示C對應的隨機變量。那么概率無向圖模型的聯合概率分布P(Y)可寫作圖中所有最大團C上的函數ΨC(YC)的乘積形式,即:

 其中, 為勢函數,C為最大團,Z是規范化因子

規范化因子保證P(Y)構成一個概率分布

因為要求勢函數ΨC(YC)是嚴格正的,於是通常定義為指數函數:

 

5 參考文獻


【1】 數學之美 吳軍 著

【2】 機器學習  周志華 著

【3】 統計自然語言處理 宗成慶 著(第二版)

【4】 統計學習方法(191---208) 李航

【5】 知乎 網絡資源

6 自然語言相關系列文章


【自然語言處理】:【NLP】揭秘馬爾可夫模型神秘面紗系列文章

【自然語言處理】:【NLP】大數據之行,始於足下:談談語料庫知多少

【自然語言處理】:【NLP】驀然回首:談談學習模型的評估系列文章

【自然語言處理】:【NLP】快速了解什么是自然語言處理

【自然語言處理】:【NLP】自然語言處理在現實生活中運用

聲明:關於此文各個篇章,本人采取梳理扼要,順暢通明的寫作手法。系統閱讀相關書目和資料總結梳理而成,旨在技術分享,知識沉淀。在此感謝原著無私的將其匯聚成書,才得以引薦學習之用。其次,本人水平有限,權作知識理解積累之用,難免主觀理解不當,造成讀者不便,基於此類情況,望讀者留言反饋,便於及時更正。本文原創,轉載請注明出處前戲:一起走進條件隨機場。 


免責聲明!

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



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