全连接条件随机场_条件随机场CRF简介
編譯:ronghuaiyang
導讀
一個簡單明了的對條件隨機場的說明,給大家一個非常直觀的印象,CRF到底是個什么東西,能干什么用。條件隨機場是一種用于序列預測的判別模型。它們使用來自以前標簽的上下文信息,從而增加了模型做出良好預測的信息量。在這篇文章中,我將討論一些介紹CRFs的主題。先給大家過一遍:
什么是判別分類器
機器學習模型有兩種常見的類別:生成模型和判別模型。條件隨機場是一種判別分類器,它對不同類別之間的決策邊界進行建模。另一方面,生成模型是對數據如何生成進行建模,這些模型在學習之后可以用來進行分類。舉個簡單的例子,樸素貝葉斯是一種非常簡單和流行的概率分類器,是一種生成模型,而邏輯回歸是一種基于最大似然估計的分類器,是一種判別模型。讓我們看看這些模型如何用來計算標簽預測:
樸素貝葉斯分類器是基于樸素貝葉斯算法的分類器,它的描述如下:
樸素貝葉斯算法
我們可以把分類器做出的預測表示為一個條件概率,我們使用樸素貝葉斯算法進行分解:
樸素貝葉斯算法的推導
Logistic回歸分類器是基于Logistic函數,即:
Logistic函數
為了在Logistic回歸中學習兩個類之間的決策邊界,分類器學習與每個數據點相關的權值(Theta值),表示為:
Logistic回歸分類器的推導
利用Logistic回歸分類器,我們可以看到我們在最大化條件概率,利用貝葉斯規則,我們可以得到樸素貝葉斯分類器所使用的生成分類器。
將P(y | x)代入貝葉斯方程:
把貝葉斯法則用到Logistic回歸分類器中
把它等價于先驗和似然性的乘積,因為在argmax中,分母P(x)不提供任何信息。
該結果是較早得到的樸素貝葉斯算法生成分類器。
我們進一步可以看到P(x | y) * P(y)等于P(x, y),這是x和y的聯合分布,這一觀察結果支持了生成模型的早期定義。通過對類與類之間的聯合概率分布建模,生成模型可以得到給定標簽Y和聯合概率分布并“生成”輸入點X。同樣,判別模型通過學習條件概率分布,學習了數據點之間的決策邊界。所以,給定一個輸入點,它可以使用條件概率分布來計算它的類。
這些定義如何應用于條件隨機場?條件隨機場是一種判別模型,其基本原理是對序列輸入應用邏輯回歸。如果你熟悉隱馬爾可夫模型,你會發現它們與CRFs有一些相似之處,其中之一是它們也用于序列輸入。HMMs利用過渡矩陣和輸入向量來學習發射矩陣,在概念上與樸素貝葉斯相似。HMMs是一個生成模型。
條件隨機場的數學介紹
在討論了上述定義之后,我們現在將討論條件隨機場,以及如何使用它們來學習序列數據。
如前一節所示,我們對條件分布建模如下:
條件分布
在CRFs中,我們的輸入數據是順序的,在對數據點進行預測時,必須考慮前面的上下文。為了對這種行為進行建模,我們將使用特征函數,它將有多個輸入值,為:
我們將特征函數定義為:
特征函數
特征函數的目的是表示數據點所表示的序列的某種特征。例如,如果我們將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值),算法將學習這些權重:
條件隨機場的概率分布
為了估計參數(lambda),我們使用最大似然估計。為了應用該技術,我們首先對分布取負對數,使偏導數更容易計算:
條件隨機分布的負對數似然
要對負對數函數應用最大似然,我們將使用argmin(因為最小化負函數將產生最大似然性)。為了求最小值,我們可以求導,得到:
對lamda求偏導
我們把求偏導數作為梯度下降的一個步驟。梯度下降迭代更新參數值,每次一小步,直到值收斂。CRF的最終梯度下降更新方程為:
CRF的梯度下降更新方程
總結一下,我們使用條件隨機場,首先定義所需的特征函數,初始化隨機值的權重,然后迭代地應用梯度下降,直到參數值(在本例中是lambda)收斂。我們可以看到CRFs類似于Logistic回歸,因為它們使用條件概率分布,但是我們通過將特征函數作為序列輸入來擴展算法。
CRFs和HMM有什么不同?
從前面幾節中,條件隨機場與隱馬爾可夫模型的區別是顯而易見的。雖然這兩種方法都用于對順序數據建模,但它們是不同的算法。
隱馬爾可夫模型具有生成性,通過對聯合概率分布建模給出了輸出。另一方面,條件隨機場具有判別性,并對條件概率分布進行了建模。CRFs不依賴于獨立假設(即標簽彼此獨立),并且避免了標簽偏差。一種理解它的方法是隱馬爾可夫模型是條件隨機場的一個非常特殊的例子,轉移概率使用了常數。HMMs基于樸素貝葉斯,我們說它可以從邏輯回歸得到,CRFs就是從邏輯回歸得到的。
條件隨機場的應用
由于CRFs具有對順序數據建模的能力,因此通常會在自然語言處理中使用CRFs,并且在該領域有許多應用。我們討論的其中一個應用是詞性標記。句子的詞性依靠以前的單詞,并利用特征函數,利用這一點,我們可以學習如何區分句子中的哪個單詞對應哪個POS。另一個類似的應用是命名實體識別,或從句子中提取專有名詞。條件隨機場可以用來預測任意序列中多個變量相互依賴的情況。其他應用包括圖像中的局部區域識別和基因預測。
英文原文:https://medium.com/ml2vec/overview-of-conditional-random-fields-68a2a20fa541
請長按或掃描二維碼關注本公眾號
總結
以上是生活随笔為你收集整理的全连接条件随机场_条件随机场CRF简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python相关函数_python列表相
- 下一篇: python语音转文字软件_python