線性鏈條件隨機場-tutorial(一)

1. 導讀

這是一篇面向有一定機器學習基礎讀者的教程,文中不會涉及太多概率圖模型的內容。該教程主要介紹了條件隨機場(Conditional random fields)的定義。

首先讓我們從一張流傳甚廣的模型關係圖開始,如下圖中所示,隱馬爾可夫模型與線性鏈條件隨機場是一對 “生成-判別對”(generative-discriminative pair)。可以理解爲它們是一對近親,模型非常相似。但究竟是哪裏相似,圖中的“條件化”(conditional)又是何意?本篇教程將會爲你解答。

 

這篇教程主要由以下幾個部分組成:

  1. 首先簡單介紹圖模型(Graphic Model)的概念;
  2. 從隱馬爾可夫模型(Hidden Markov Model)的圖模型形式定義出發,通過引入假設並進行推導,最終得到線性鏈條件隨機場(linear-chain CRF)的模型定義;
  3. 在得到模型定義的基礎上,我們將介紹條件隨機場的概率計算方法、學習算法和預測算法。

學習這份教程,你需要了解隱馬爾可夫模型,並對特徵函數的概念有一定的瞭解。當然,貝葉斯法則也是必不可少的。學習CRF的預測算法時,使用了經典的維特比算法(Viterbi algorithm),因此有一定的算法基礎也會更易於理解。

 

2. 線性鏈條件隨機場的定義

2.1 圖模型

對於多變量概率分佈,圖模型擁有強大的表示和推導能力。通常有很多個變量的分佈是難以直接統計刻畫的,因爲其十分耗費資源,例如個二值變量的聯合分佈需要 個浮點數空間。

而圖模型建模方式的優點是:多變量分佈通常可以表示爲一些局部函數local functions)的乘積,而每個局部函數依賴於更小的變量子集。通過因子化(factorization)和條件獨立性(conditional independence),使得複雜的多變量分佈可以用少得多的參數進行刻畫。

圖模型一般分爲無向圖模型(undirected models)和有向圖模型(directed models)。下面將分別簡單介紹其定義。

 

這一部分的內容較爲枯燥,但是帶着這句話去理解兩種圖模型也許會有所幫助:

有向圖模型是一系列概率的連乘形式,無向圖模型則是一系列函數的連乘形式

這也是有向圖模型一般用於表示生成式模型,而無向圖模型一般表示判別式模型的原因之一。

而模型中的概率或函數是如何得到或定義的,則是非常有意思的地方,有時甚至也能通過巧妙的定義將有向圖模型與無向圖模型相互轉換。

 

2.1.1 無向圖模型

考慮一組隨機變量的概率分佈,爲每個隨機變量設置一個整數下標 ,每個變量 的具體值取自集合 ,可以是離散或連續值。通常 的一組可能取值記爲 ,對於其中某一個變量 ,記 是其在這個可能取值 中的值。

假設概率分佈 可以表示成形爲 的因子的乘積,其中 是一個用於標記因子的整數,每一個因子 都只依賴於一個隨機變量子集 。使用因子化的方式讓我們可以更高效地表示分佈 ,因爲 可能遠遠小於整個隨機變量的集合 。

舉個例子,如上圖所示,根據無向圖模型的定義,有三個隨機變量的分佈可以寫成:

 

其中 是一個常數,可以看到分佈變成了三個因子和一個常數的乘積。

再從另一個無向圖例子中瞭解無向圖模型,如下圖所示無向圖模型描述了一個由5個隨機變量構成的分佈。

根據圖中的節點關係,我們可以給出該模型的聯合概率分佈爲:

 

可以看到,根據該無向圖模型的圖結構,5個隨機變量的聯合分佈變爲了5組函數的乘積形式,而各個函數又因爲在圖中與不同的節點連接而有了不同的參數。


因爲無向圖模型的基本形式爲:給定一組子集 ,無向圖模型可以寫成如下形式:

 

 

其中,常數 被稱爲歸一化因子;對於任意的因子集合 都要保證 。因子也被稱爲局部函數或兼容性函數。上述形式的無向圖模型通常也被稱爲隨機場(random field)。

這時,我們可以給出無向圖模型的定義:

給定一個因子圖 ,其中結點集 是隨機變量的標記集, 是因子的集合,而圖中的邊則代表着不同的局部函數。令 表示圖中標記爲 的局部函數邊上連接的結點,則無向圖的定義爲:

定義2.1 如果存在一組局部函數 ,分佈 根據因子圖G進行因子化,則 可以寫成:

 

因子圖的含義,其實就是圖中的任意一個變量結點 都與一個局部函數結點 相連,且 作爲的一個參數。於是因子圖可以直觀地描述一個分佈如何被分解成一組局部函數的積。

(上面的部分其實可以不用閱讀,至式(2.2)應該已經大概瞭解無向圖模型的基本形式。)

 

2.1.2 有向圖模型

在無向圖模型中,局部函數看起來並不是概率,也沒有直觀的概率解釋,整個圖模型更像是一頓函數計算後的結果。而有向圖模型卻是描述了一個分佈是如何被因子化爲局部條件分佈local conditional distributions)的。

令 爲一個有向不循環圖(directed acyclic graph), 爲 在圖中的父結點,則有向圖模型是一系列具有如下形式的分佈:

 

我們稱分佈 爲局部條件分佈。注意,對於那些沒有父結點的變量 可能爲空,這時應該理解成 。

有向圖常被用來表示生成式模型。

 

2.1.3 有輸入輸出的圖模型

機器學習問題中,數據常常有輸入變量 和輸出變量 兩個部分。假設 已知,我們要做的是對 進行預測,例如 可能表示句子中出現的每個詞而組成的變量序列,而 則是每個詞對應的詞性標註。

如果我們想要對 的分佈進行建模,可以對之前的定義進行擴展,例如一個 和 上的無向圖模型可以寫作:

 

此時,局部特徵函數 依賴於兩個子集, 和 。歸一化常數也變爲了:

 

這時,該無向圖模型就是對聯合分佈進行建模的模型了。

 

2.2 序列模型

一般的分類器只能對單變量進行預測,而圖模型真正強大的能力是其可以對互相依賴的多個變量進行建模。序列模型(Sequence Model)可能是變量間依賴最簡單的模型了,模型的輸出變量成一個序列排列。舉一個最常見的例子,應用於命名實體識別(NER)的模型就是一種序列模型。

命名實體識別是將文本中的名字性的實體識別出來的任務,常見的實體包括人名、地名、機構名。通常給定一個句子,NER的目的是分割出句子中的實體,並判斷其屬於哪一類實體。

2.2.1 隱馬爾可夫模型

隱馬爾可夫模型(HMM)是一種常見的用於進行NER的模型,模型對可觀測序列 和其對應的隱含狀態序列 建模。假設 爲有限的隱含狀態集, 爲有限的觀測狀態集。HMM對聯合概率 進行建模,並且假設當前時刻的隱含狀態 僅依賴於前一個時刻的隱含狀態 ,而與其他任意時刻的隱含狀態無關。於是,HMM可以寫成:

 

概率計算由兩部分組成,分別是轉移概率 和發射概率 。式(2.7)其實就是一個有向圖模型,可以畫成如下形式的有向圖:

借鑑無向圖模型定義,讓我們將HMM改寫成無向圖模型:

 

其中,

 

通過巧妙地定義局部函數,式(2.8)就成爲了HMM的無向圖模型定義。

 

2.2.2 線性鏈條件隨機場

導讀中,我們給出了下圖,指出了HMM和線性鏈條件隨機場之間的成對關係。但如何通過HMM得到一個線性鏈條件隨機場呢?

 

首先爲了使HMM模型的表示更加簡潔,引入特徵函數(feature function)來進一步改寫式(2.8)。 第一步,令 表示參數,定義特徵函數形式如 。顯然,爲了完全復現式(2.8)的功能,我們需要兩種特徵函數,分別爲:

  1. 轉移特徵:
  2. 狀態特徵:

我們將上訴兩種特徵函數統一記爲 ,包含了所有的轉移特徵和發射特徵。於是,HMM可以擁有如下形式:

 

接着,根據式(2.9),我們可以寫出條件分佈的定義:

 

式(2.10)就是一種特別的線性鏈條件隨機場,特徵函數僅使用當前詞作爲參數,稱爲類HMM線性鏈條件隨機場(HMM-like linear chain CRF)。但是其他許多類型的線性鏈條件隨機場在輸入上有豐富的特徵,例如詞的前綴、後綴、周圍詞等等。這些擴展需要對特徵函數進行適當的改動,以獲得更豐富的特徵。

下面我們給出更一般的線性鏈條件隨機場的定義:

定義 2.2 令 爲隨機變量, 爲參數向量, 是一組實值特徵函數。線性鏈條件隨機場即爲如下形式的條件分佈:

 

其中, 是和輸入相關的歸一化函數:

 

根據上述定義,我們不難畫出一般線性鏈條件隨機場的無向圖:

但實際上,根據特徵函數的不同,線性鏈條件隨機場往往有各式各樣的圖結構。

上圖是典型的類HMM線性鏈條件隨機場模型的圖結構。

上圖是當前 依賴於 的線性鏈條件隨機場。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章