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