條件隨機場CRF簡介

作者:Ravish Chawla
編譯:ronghuaiyang

導讀

一個簡單明瞭的對條件隨機場的說明,給大家一個非常直觀的印象,CRF到底是個什麼東西,能幹什麼用。
條件隨機場CRF簡介

條件隨機場是一種用於序列預測的判別模型。它們使用來自以前標籤的上下文信息,從而增加了模型做出良好預測的信息量。在這篇文章中,我將討論一些介紹CRFs的主題。先給大家過一遍:

  1. 什麼是判別分類器(以及它們與生成分類器的比較)
  2. 條件隨機場的數學概述
  3. 條件隨機場與隱馬爾可夫模型有何不同
  4. 條件隨機場的應用

什麼是判別分類器

機器學習模型有兩種常見的類別:生成模型和判別模型。條件隨機場是一種判別分類器,它對不同類別之間的決策邊界進行建模。另一方面,生成模型是對數據如何生成進行建模,這些模型在學習之後可以用來進行分類。舉個簡單的例子,樸素貝葉斯是一種非常簡單和流行的概率分類器,是一種生成模型,而邏輯迴歸是一種基於最大似然估計的分類器,是一種判別模型。讓我們看看這些模型如何用來計算標籤預測:

樸素貝葉斯分類器是基於樸素貝葉斯算法的分類器,它的描述如下:

條件隨機場CRF簡介

樸素貝葉斯算法

我們可以把分類器做出的預測表示為一個條件概率,我們使用樸素貝葉斯算法進行分解:

條件隨機場CRF簡介

樸素貝葉斯算法的推導

Logistic迴歸分類器是基於Logistic函數,即:

條件隨機場CRF簡介

Logistic函數

為了在Logistic迴歸中學習兩個類之間的決策邊界,分類器學習與每個數據點相關的權值(Theta值),表示為:

條件隨機場CRF簡介

Logistic迴歸分類器的推導

利用Logistic迴歸分類器,我們可以看到我們在最大化條件概率,利用貝葉斯規則,我們可以得到樸素貝葉斯分類器所使用的生成分類器。

將P(y | x)代入貝葉斯方程:

條件隨機場CRF簡介

把貝葉斯法則用到Logistic迴歸分類器中

把它等價於先驗和似然性的乘積,因為在argmax中,分母P(x)不提供任何信息。

該結果是較早得到的樸素貝葉斯算法生成分類器。

我們進一步可以看到P(x | y) * P(y)等於P(x, y),這是x和y的聯合分佈,這一觀察結果支持了生成模型的早期定義。通過對類與類之間的聯合概率分佈建模,生成模型可以得到給定標籤Y和聯合概率分佈並“生成”輸入點X。同樣,判別模型通過學習條件概率分佈,學習了數據點之間的決策邊界。所以,給定一個輸入點,它可以使用條件概率分佈來計算它的類。

這些定義如何應用於條件隨機場?條件隨機場是一種判別模型,其基本原理是對序列輸入應用邏輯迴歸。如果你熟悉隱馬爾可夫模型,你會發現它們與CRFs有一些相似之處,其中之一是它們也用於序列輸入。HMMs利用過渡矩陣和輸入向量來學習發射矩陣,在概念上與樸素貝葉斯相似。HMMs是一個生成模型。

條件隨機場的數學介紹

在討論了上述定義之後,我們現在將討論條件隨機場,以及如何使用它們來學習序列數據。

如前一節所示,我們對條件分佈建模如下:

條件隨機場CRF簡介

條件分佈

在CRFs中,我們的輸入數據是順序的,在對數據點進行預測時,必須考慮前面的上下文。為了對這種行為進行建模,我們將使用特徵函數,它將有多個輸入值,為:

  1. 輸入向量集合X
  2. 我們預測的數據點的位置i
  3. X中數據點i-1的標籤
  4. X中數據點i的標籤

我們將特徵函數定義為:

條件隨機場CRF簡介

特徵函數

特徵函數的目的是表示數據點所表示的序列的某種特徵。例如,如果我們將CRFs用於詞性標註,則:

f (X, i, L{i - 1}, L{i} ) = 1 如果 L{i - 1}是名詞並且 L{i} 是動詞. 0 其他。

同樣, f (X, i, L{i - 1}, L{i} ) = 1 如果 L{i - 1} 是動詞並且 L{i} 是副詞. 0 其他。

每個特徵函數都基於前一個單詞和當前單詞的標籤,並且要麼是0,要麼是1。為了構建條件場,我們接下來為每個特徵函數分配一組權重(lambda值),算法將學習這些權重:

條件隨機場CRF簡介

條件隨機場的概率分佈

為了估計參數(lambda),我們使用最大似然估計。為了應用該技術,我們首先對分佈取負對數,使偏導數更容易計算:

條件隨機場CRF簡介

條件隨機分佈的負對數似然

要對負對數函數應用最大似然,我們將使用argmin(因為最小化負函數將產生最大似然性)。為了求最小值,我們可以求導,得到:

條件隨機場CRF簡介

對lamda求偏導

我們把求偏導數作為梯度下降的一個步驟。梯度下降迭代更新參數值,每次一小步,直到值收斂。CRF的最終梯度下降更新方程為:

條件隨機場CRF簡介

CRF的梯度下降更新方程

總結一下,我們使用條件隨機場,首先定義所需的特徵函數,初始化隨機值的權重,然後迭代地應用梯度下降,直到參數值(在本例中是lambda)收斂。我們可以看到CRFs類似於Logistic迴歸,因為它們使用條件概率分佈,但是我們通過將特徵函數作為序列輸入來擴展算法。

CRFs和HMM有什麼不同?

從前面幾節中,條件隨機場與隱馬爾可夫模型的區別是顯而易見的。雖然這兩種方法都用於對順序數據建模,但它們是不同的算法。

隱馬爾可夫模型具有生成性,通過對聯合概率分佈建模給出了輸出。另一方面,條件隨機場具有判別性,並對條件概率分佈進行了建模。CRFs不依賴於獨立假設(即標籤彼此獨立),並且避免了標籤偏差。一種理解它的方法是隱馬爾可夫模型是條件隨機場的一個非常特殊的例子,轉移概率使用了常數。HMMs基於樸素貝葉斯,我們說它可以從邏輯迴歸得到,CRFs就是從邏輯迴歸得到的。

條件隨機場的應用

由於CRFs具有對順序數據建模的能力,因此通常會在自然語言處理中使用CRFs,並且在該領域有許多應用。我們討論的其中一個應用是詞性標記。句子的詞性依靠以前的單詞,並利用特徵函數,利用這一點,我們可以學習如何區分句子中的哪個單詞對應哪個POS。另一個類似的應用是命名實體識別,或從句子中提取專有名詞。條件隨機場可以用來預測任意序列中多個變量相互依賴的情況。其他應用包括圖像中的局部區域識別和基因預測。

英文原文:https://medium.com/ml2vec/overview-of-conditional-random-fields-68a2a20fa541

條件隨機場CRF簡介



分享到:


相關文章: