HMM,MEMM,CRF模型的比較

本文參考自:http://blog.csdn.net/happyzhouxiaopei/article/details/7960876react

這三個模型均可以用來作序列標註模型。可是其各自有自身的特色,HMM模型是對轉移機率和表現機率直接建模,統計共現機率。而MEMM模型是對轉移 機率和表現機率創建聯合機率,統計時統計的是條件機率。MEMM容易陷入局部最優,是由於MEMM只在局部作歸一化,而CRF模型中,統計了全局機率,在 作歸一化時,考慮了數據在全局的分佈,而不是僅僅在局部歸一化,這樣就解決了MEMM中的標記偏置的問題。算法

舉個例子,對於一個標註任務,「我愛北京天安門「,網絡

                                  標註爲" s s  b  e b c e"app

對於HMM的話,其判斷這個標註成立的機率爲 P= P(s轉移到s)*P('我'表現爲s)* P(s轉移到b)*P('愛'表現爲s)* ...*P().訓練時,要統計狀態轉移機率矩陣和表現矩陣。dom

對於MEMM的話,其判斷這個標註成立的機率爲 P= P(s轉移到s|'我'表現爲s)*P('我'表現爲s)* P(s轉移到b|'愛'表現爲s)*P('愛'表現爲s)*..訓練時,要統計條件狀態轉移機率矩陣和表現矩陣。分佈式

對於CRF的話,其判斷這個標註成立的機率爲 P= F(s轉移到s,'我'表現爲s)....F爲一個函數,是在全局範圍統計歸一化的機率而不是像MEMM在局部統計歸一化的機率。函數

優勢:oop

(1)CRF沒有HMM那樣嚴格的獨立性假設條件,於是能夠容納任意的上下文信息。特徵設計靈活(與ME同樣) ————與HMM比較性能

(2)同時,因爲CRF計算全局最優輸出節點的條件機率,它還克服了最大熵馬爾可夫模型標記偏置(Label-bias)的缺點。 ­­————與MEMM比較學習

(3)CRF是在給定須要標記的觀察序列的條件下,計算整個標記序列的聯合機率分佈,而不是在給定當前狀態條件下,定義下一個狀態的狀態分佈。————與ME比較

缺點:訓練代價大、複雜度高

 

HMM模型中存在兩個假設:一是輸出觀察值之間嚴格獨立,二是狀態的轉移過程當中當前狀態只與前一狀態有關(一階馬爾可夫模型)。

MEMM模型克服了觀察值之間嚴格獨立產生的問題,可是因爲狀態之間的假設理論,使得該模型存在標註偏置問題。

CRF模型解決了標註偏置問題,去除了HMM中兩個不合理的假設。固然,模型相應得也變複雜了。

 

  HMM模型將標註看做馬爾可夫鏈,一階馬爾可夫鏈式針對相鄰標註的關係進行建模,其中每一個標記對應一個機率函數。HMM是一種產生式模型,定義了聯合機率分佈 ,

  其中x和y分別表示觀察序列和相對應的標註序列的隨機變量。爲了可以定義這種聯合機率分佈,產生式模型須要枚舉出全部可能的觀察序列,這在實際運算過程當中很困難,

  由於咱們須要將觀察序列的元素看作是彼此孤立的個體即假設每一個元素彼此獨立,任什麼時候刻的觀察結果只依賴於該時刻的狀態

     HMM模型的這個假設前提在比較小的數據集上是合適的,但實際上在大量真實語料中觀察序列更多的是以一種多重的交互特徵形式表現,觀察元素之間普遍存在長程相關性。

  在命名實體識別的任務中,因爲實體自己結構所具備的複雜性,利用簡單的特徵函數每每沒法涵蓋全部的特性,這時HMM的假設前提使得它沒法使用複雜特徵(它沒法使用多於一個標記的特徵。

  最大熵模型可使用任意的複雜相關特徵,在性能上最大熵分類器超過了Byaes分類器。可是,做爲一種分類器模型,這兩種方法有一個共同的缺點:

  每一個詞都是單獨進行分類的,標記之間的關係沒法獲得充分利用,具備馬爾可夫鏈的HMM模型能夠創建標記之間的馬爾可夫關聯性,這是最大熵模型所沒有的。 

  最大熵模型的優勢:首先,最大熵統計模型得到的是全部知足約束條件的模型中信息熵極大的模型;

  其次,最大熵統計模型能夠靈活地設置約束條件,經過約束條件的多少能夠調節模型對未知數據的適應度和對已知數據的擬合程度;

  再次,它還能天然地解決了統計模型中參數平滑的問題。 

  最大熵模型的不足:首先,最大熵統計模型中二值化特徵只是記錄特徵的出現是否,而文本分類須要知道特徵的強度,所以,它在分類方法中不是最優的;

  其次,因爲算法收斂的速度較慢,因此致使最大熵統計模型它的計算代價較大時空開銷大;再次,數據稀疏問題比較嚴重。 

  最大熵馬爾科夫模型把HMM模型和maximum-entropy模型的優勢集合成一個產生式模型,這個模型容許狀態轉移機率依賴於序列中彼此之間非獨立的特徵上,

  從而將上下文信息引入到模型的學習和識別過程當中,提升了識別的精確度,召回率也大大的提升,有實驗證實,這個新的模型在序列標註任務上表現的比HMM和無狀態的最大熵模型要好得多。

 

    CRF模型的特色:首先,CRF在給定了觀察序列的狀況下,對整個的序列的聯合機率有一個統一的指數模型。一個比較吸引人的特性是其 損失函數 的凸面性

    其次,條件隨機域模型相比較改進的隱馬爾可夫模型能夠更好更多的利用待識別文本中所提供的上下文信息以得更好的實驗結果

    條件隨機域在中文組塊識別方面有效,並避免了嚴格的獨立性假設和數據概括偏置問題。

    條件隨機域(CRF)模型應用到了中文名實體識別中,而且根據中文的特色,定義了多種特徵模板。而且有測試結果代表:在採用相同特徵集合的條件下,條件隨機域模型較其餘機率模型有更好的性能表現。

 

    再次,詞性標註主要面臨兼類詞消歧以及未知詞標註的難題,傳統隱馬爾科夫方法不易融合新特徵,而最大熵馬爾科夫模型存在標註偏置等問題。

    論文引入條件隨機域創建詞性標註模型,易於融合新的特徵,並能解決標註偏置的問題。

 

  CRFs具備很強的推理能力,而且可以使用複雜、有重疊性和非獨立的特徵進行訓練和推理,可以充分地利用上下文信息做爲特徵,還能夠任意地添加其餘外部特徵,

  使得模型可以獲取的信息很是豐富。同時,CRFs解決了最大熵模型中的「label bias」問題。

  CRFs與最大熵模型的本質區別是:最大熵模型在每一個狀態都有一個機率模型,在每一個狀態轉移時都要進行歸一化。若是某個狀態只有一個後續狀態,那麼該狀態到後續狀態的跳轉機率即爲1。這樣,無論輸入爲任何內容,它都向該後續狀態跳轉。而CRFs是在全部的狀態上創建一個統一的機率模型,這樣在進行歸一化時,即便某個狀態只有一個後續狀態,它到該後續狀態的跳轉機率也不會爲1,從而解決了「labelbias」問題。所以,從理論上講,CRFs很是適用於中文的詞性標註。

 

  CRF模型的優勢:首先,CRF模型因爲其自身在結合多種特徵方面的優點避免了標記偏置問題。其次,CRF的性能更好,CRF對特徵的融合能力比較強

  對於實例較小的時間類ME來講,CRF的識別效果明顯高於ME的識別結果。

  CRF模型的不足:首先,經過對基於CRF的結合多種特徵的方法識別英語命名實體的分析,發如今使用CRF方法的過程當中,特徵的選擇和優化是影響結果的關鍵因素,

  特徵選擇問題的好與壞,直接決定了系統性能的高低。其次,訓練模型的時間比ME更長,且得到的模型很大,在通常的PC機上沒法運行。

------------------------------------------------------------------我是華麗麗的分割線---------------------------------------------------------------------------------------------------------

一部分區別在於機率歸一化的時候。CRF的歸一化在模型上更加合理(可是在計算的時候可能致使計算量增長),而HMM的歸一化會致使label bias問題

 

正文:
通常能夠從兩個方面來理解CRF模型:
一個從通常的graphical model來的(能夠當作logistic迴歸的擴展)。
另外一個方面是linear chain CRF與HMM有相似的結構,而分別是discriminative model和generative model。
直接扔出CRF的公式會給人一種wtf的感受,我閱讀的材料都是從無向圖模型開始提及,從這個模型開始呢,能夠理解公式怎麼來的,那咱們就從這個模型提及吧。

- 機率無向圖模型(probabilistic undirected graphical model)
首先咱們有無向圖G=(V,E),V是節點,E是邊, 圖G中每一個節點v上都有一個隨機變量y,這樣全部的節點上的隨機變量就構成一組隨機變量Y,圖G上有聯合機率分佈P(Y)。
邊e表示相鄰節點的變量存在某種神祕的聯繫。
圖G上的隨機變量Y知足馬爾科夫性,即兩個不相鄰的節點上的隨機變量yi,yj條件獨立。
這個模型的定義就這麼簡單,它又叫馬爾科夫隨機場(MRF),這個名字貌似響亮一些。
再稍微介紹一下最大團(maximal clique) 以下圖

圖中{Y1,Y2,Y3}和{Y3,Y2,Y4}是最大團,包含的任何節點都兩兩相連被稱做團。最大團就是不能再添加節點。

而後呢,有個定理叫Hammersley-Clifford定理,給出了無向圖模型P(Y)的公式。
- Hammersley-Clifford定理
機率無向圖模型的聯合機率分佈P(Y)能夠表示爲以下形式:

- 條件隨機場(conditional random field)
定義:(和上面的模型比較就是多了一個X。)
設X與Y是隨機變量,P(Y|X)是給定條件X的條件下Y的條件機率分佈,若隨機變量Y構成一個由無向圖G=(V,E)表示的馬爾科夫隨機場。則稱條件機率分佈P(X|Y)爲條件隨機場。
雖然定義裏面沒有要求,咱們仍是默認X和Y結構一致,這是general CRF,而後看看linear chain CRF,
線性鏈就是X和Y都是一串序列,線性鏈裏面呢, 最大團就是相鄰的兩項,y_i和y_i+1。
由Hammersley-Clifford定理寫出linear chain CRF的公式。

勢函數取 對數線性,就獲得了第一次見讓本學渣雲裏霧裏的公式。(懶得輸了貼個圖)

再詳細點:

就是linear chain CRF常見的兩種特徵函數指數和的形式。
注意點!!!高潮來了!!若是咱們把上式中的特徵函數t_{k}去掉,獲得就是自變量X關於Y的logistic迴歸(加上一個normalizer函數Z(x)),每一個Y和X之間對數線性關係。

本學渣看到這裏的時候真是amazing了一下。

好了,那麼是否是能夠說linear chain CRF是logistic迴歸,再加上了有關相鄰項某種神祕聯繫的參數呢?看起來是這樣的,我也不敢肯定= =、、
以後呢,再從HMM的角度看。

- HMM和linear chain CRF
HMM的機率分佈能夠寫成這樣的形式:

右邊取對數變成和的形式,再加上歸一化的Z(x) 獲得

嗯,這樣一看就和前面的CRF長的很像了,就是一個是條件機率,一個是聯合機率,
這也是discriminative model和generative model的區別。
注意Z(x)是遍歷全部y的全局歸一化,寫在乘積符號裏面的是local歸一化,獲得的是MEMM。
其實generative和discriminative的差異是很大的,由於假設不同,結果和參數訓練的方法都不一樣,
線性的CRF不須要EM算法,稍微簡單一些,最大似然訓練集以後,梯度降低加上vertebi算法就能夠了。

 


嗯,因此說咱們就是從這兩條路走到了線性的CRF,general的CRF也是從MRF來的,公式是最大團的乘積形式,計算上麻煩一些,會用到loopy belief propagation。

------------------------------------------------------------------我是華麗麗的分割線---------------------------------------------------------------------------------------------------------

來來來,這兩天正好在複習CRF,我從頭給你說。。。

模型
------

首先什麼是隨機場呢,一組隨機變量,他們樣本空間同樣,那麼就是隨機場。當這些隨機變量之間有依賴關係的時候,對咱們來講纔是有意義的。

咱們利用這些隨機變量之間的關係建模實際問題中的相關關係,實際問題中咱們可能只知道這兩個變量之間有相關關係,但並不知道具體是多少,咱們想知道這些依賴關係具體是什麼樣的,因而就把相關關係圖畫出來,而後經過實際數據訓練去把具體的相關關係訓練出來嵌入到圖裏,而後用獲得的這個圖去進行預測、去進行reference等不少事情。

那麼爲了簡化某些爲問題來講,也爲了這個圖畫出來能用,咱們會在畫圖的時候要遵循一些假設和規則,好比馬爾科夫獨立性假設。按照這個假設和規則來畫圖,畫出來的圖會知足一系列方便的性質便於使用。

馬爾可夫獨立性假設是說:對一個節點,在給定他所鏈接的全部節點的前提下,他與外接是獨立的。就是說若是你觀測到了這個節點直接鏈接的那些節點的值的話,那他跟那些不直接鏈接他的點就是獨立的。形式上,咱們是想把他設計成這個樣子的,邊能夠傳遞信息,點與點之間經過邊相互影響,若是觀測到一個節點的取值或者這個節點的取值是常量,那麼別的節點就沒法經過這個節點來影響其餘節點。因此對一個節點來講,若是用來鏈接外界的全部節點都被鎖住了,那他跟外界就沒法傳遞信息,就獨立了。這比貝葉斯網絡就直觀多了,貝葉斯網絡要判斷兩點之間獨立還要看有沒有v-structure,還要看邊的指向。

吶,知足馬爾可夫獨立性的隨機場,就叫馬爾可夫隨機場。它不只具備我剛纔說的那些性質,除此以外,還等價于吉布斯分佈。

這些邊具體是如何建模的呢,以什麼形式記錄這些機率信息的?貝葉斯網絡每一條邊是一個條件機率分佈,P(X|Y),條件是父節點、結果是子節點。他有一個問題,就是當我知道A、B、C三個變量之間有相關關係,可是不知道具體是誰依賴誰,或者 我不想先假設誰依賴誰,這個時候貝葉斯就畫不出來圖了。由於 貝葉斯網絡是經過變量之間的條件分佈來建模整個網絡的,相關關係是經過依賴關係(條件分佈)來表達的。而馬爾可夫隨機場是這樣, 我不想知道這三個變量間究竟是誰依賴誰、誰是條件誰是結果,我只想用聯合分佈直接表達這三個變量之間的關係。好比說兩個變量A、B,這兩個變量的聯合分佈是:
|     A, B     | P(A, B) |
|--------------+---------|
| A = 0, B = 0 |   100   |
| A = 0, B = 1 |    10   |
| A = 1, B = 0 |    20   |
| A = 1, B = 1 |   200   |

這個分佈表示,這條邊的功能是使它鏈接的兩點(A和B)趨同,當A = 0的時候B更可能等於0不太可能等於1,當A = 1的時候B更可能等於1不太可能等於0。這樣一來你知道了三個變量之間的聯合分佈,那他們兩兩之間的條件分佈天然而然就在裏面。

這樣出來的圖是等價于吉布斯分佈的,就是說,你能夠只在每一個最大子團上定義一個聯合分佈(而不須要對每一個邊定義一個聯合分佈)整個圖的聯合機率分佈就是這些最大子團的聯合機率分佈的乘積。固然這裏最大子團的聯合機率並非標準的聯合機率形式,是沒歸一化的聯合機率,叫factor(因子),整個圖的聯合機率乘完以後下面再除一個歸一化因子和就歸一化了,最終是一個聯合機率,每一個子團記載的都是因子,是沒歸一化的機率,嚴格大於零,能夠大於一。但關鍵是依賴關係、這些相關關係已經encode在裏面了。

這是馬爾科夫隨機場。

條件隨機場是指這個圖裏面一些點我已經觀測到了,求,在我觀測到這些點的前提下,整張圖的分佈是怎樣的。就是given觀測點,你去map inference也好你去作之類的事情,你可能不求具體的分佈式什麼。這裏還要注意的是,馬爾科夫隨機場跟貝葉斯網絡同樣都是產生式模型,條件隨機場纔是判別式模型。

這是條件隨機場,NER(命名實體識別)這個任務用到的是線性鏈條件隨機場。

線性鏈條件隨機場的形式是這樣的,觀測點是你要標註的這些詞自己和他們對應的特徵,例如說詞性是否是專有名詞、語義角色是否是主語之類的。隱節點,是這些詞的標籤,好比說是否是人名結尾,是否是地名的開頭這樣。這些隱節點(就是這些標籤),依次排開,相鄰的節點中間有條邊,跨節點沒有邊(線性鏈、二階)。而後全部觀測節點(特徵)同時做用於全部這些隱節點(標籤)。至於觀測節點之間有沒有依賴關係,這些已經不重要了,由於他們已經被觀測到了,是固定的。

這是線性鏈條件隨機場的形式。

吶,這些特徵是怎麼表達的呢?是這樣,他有兩種特徵,一種是轉移特徵,就是涉及到兩個狀態之間的特徵。另外一種就是簡單的狀態特徵,就是隻涉及到當前狀態的特徵。特徵表達形式比較簡單,就是你是否知足我特徵所說的這個配置,是就是1,不是就是。好比說,上一個狀態是地名的中間,且當前詞是'國'(假設他把中國分詞 拆成兩個了),且當前詞的詞性是專有名詞、且上一個詞的詞性也是專有名詞,若是知足這個配置、輸出就是一、不知足就輸出0。而後這些特徵每一個都有一個權 重,咱們最後要學的就是這些權重。特徵跟權重乘起來再求和,外面在套個exp,出來就是這個factor的形式。這是一個典型的對數線性模型的表達方式。這種表達方式很是常見,有不少好處,好比爲何要套一個exp呢?一方面,要保證每個factor是正的,factor能夠大於一也能夠不歸一化,但必定要是正的。另外一方面,咱們最後要經過最大似然函數優化的,似然值是這些 factor的累乘,對每個最大子團累乘。這麼多項相乘沒有人直接去優化的,都是取log變成對數似然,而後這些累乘變成累加了嘛,而後優化這個累加。不管是算梯度用梯度降低,仍是另導數爲零求解析解都很方便了(這個表達形態下的目標函數是凸的)。你套上exp以後,再取對數,那麼每一個因子就變成一堆特徵乘權重的累積,而後整個對數似然就是三級累積,對每一個樣本、每一個團、每一個特徵累積。這個形式就頗有利了,你是求導仍是求梯度仍是怎樣,你面對的就是一堆項的和,每一個和是一個1或者一個0乘以一個 權重。固然後面還要減一個log(Z),不過對於map inference來講,給定Z以後log(Z)是常量,優化能夠不帶這一項。

推斷
------

線性鏈的條件隨機場跟線性鏈的隱馬爾科夫模型同樣,通常推斷用的都是維特比算法。這個算法是一個最簡單的動態規劃。

首先咱們推斷的目標是給定一個X,找到使P(Y|X)最大的那個Y嘛。而後這個Z(X),一個X就對應一個Z,因此X固定的話這個項是常量,優化跟他不要緊(Y的取值不影響Z)。而後 exp也是單調遞增的,也不帶他,直接優化exp裏面。因此最後優化目標就變成了裏面那個線性和的形式,就是對每一個位置的每一個特徵加權求和。好比說兩個狀態的話,它對應的機率就是從開始轉移到第一個狀態的機率加上從第一個轉移到第二個狀態的機率,這裏機率是隻exp裏面的加權和。那麼這種關係下就能夠用維特比了,首先你算出第一個狀態取每一個標籤的機率,而後你再計算到第二個狀態取每一個標籤得機率的最大值,這個最大值是指從狀態一哪一個標籤轉移到這個標籤的機率最大,值是多 少,而且記住這個轉移(也就是上一個標籤是啥)。而後你再計算第三個取哪一個標籤機率最大,取最大的話上一個標籤應該是哪一個。以此類推。整條鏈計算完以後, 你就知道最後一個詞去哪一個標籤最可能,以及去這個標籤的話上一個狀態的標籤是什麼、取上一個標籤的話上上個狀態的標籤是什麼,醬。這裏我說的機率都是 exp裏面的加權和,由於兩個機率相乘其實就對應着兩個加權和相加,其餘部分都沒有變。

學習
------

這是一個典型的無條件優化問題,基本上全部我知道的優化方法都是優化似然函數典型的就是梯度降低及其升級版(牛頓、擬牛頓、BFGS、L-BFGS)

這裏版本最高的就是L-BFGS了吧,因此通常都用L-BFGS。除此以外EM算法也能夠優化這個問題


 

------------------------------------------------------------------我是華麗麗的分割線---------------------------------------------------------------------------------------------------------

基本符號:Y是序列的標註,X是序列的特徵

二者的建模方式不一樣:
  • 對於CRF,直接用最大熵準則建模p(Y|X)的機率。
  • 而HMM,是在作了markov假設下去建模p(Y,X)(即一切觀察量的聯合機率分佈)。
這裏借用 @li Eta
同窗答案裏的公式,我把i變成t,要注意:
  1. CRF是用最大熵準則建模p(Y|X),從而獲得一個指數歸一化的函數形式,可是分子上應該是exp(sum_i{w_i*f_i(Y,X)}) 而不是f_i(yt,yt+1,X). 把f(Y,X)變到f(yt,yt+1,X)實際上是作了一個markov假設的CRF,而不是General形式的CRF. 固然實際應用中,咱們甚至把特徵簡化爲只能是f(yt,X)和f(yt,yt+1)(注意此時f裏面沒X了),進一步減少特徵數和加快訓練和推斷速度。這種叫linear chain CRF。
  2. HMM是生成模型,而 同窗貼的其實是MEMM(最大熵馬爾科夫模型),它建模的也是p(Y|X), 而不是通常咱們講的用來建模p(Y,X)的HMM生成模型。HMM生成模型,求和號裏是p(yt|yt-1)p(xt|yt)而不是p(yt|yt-1,X).此時p(yt|yt-1)通常就是個多項分佈,而p(xt|yt)則能夠是任意你用來建模世界的分佈。把 同窗裏面的MEMM的X到Y的箭頭倒過來指(變成Y指向X),纔是HMM.

CRF: 最大熵準則建模條件機率
HMM:假設出變量間的機率分佈,建模全部觀察到的變量的聯合分佈。在Y變量間作了markov假設。

再次注意CRF跟markov不要緊!linear chain CRF才和markov有關。

而linear chain CRF和MEMM的分母在求和號裏面外面的區別,並非CRF和HMM的區別。
至於CRF和HMM,要先把CRF約束成linear chain CRF,而後linear chain CRF和HMM的區別:是判別式模型和生成模型的區別,是函數擬合和機率模型的區別。


這裏再多說點,HMM叫hidden markov model, markov上面已經說了,而hidden是什麼意思呢?在上面的例子裏,Y是序列的標註,是可見的觀察量。可是HMM的標準介紹裏面,Y是未知量,HMM建模的是p(X) = sum_Y P(Y,X) 而不是 P(Y,X),注意要對Y求和的。搞語音識別的同窗通常接觸的是這個HMM,這個是帶有hidden的真身,而搞天然語言處理的同窗接觸的可能是Y是可見量的那個HMM,但實際上是閹割版的HMM,由於根本沒有hidden的變量啊,沒有了hidden變量的hmm就不須要EM來訓練,很很差玩的。學hmm的時候不學EM,很惋惜,EM是ML領域最神奇的算法。


CRF叫condition random field,爲啥這麼叫呢,我猜呢,是通常無向圖模型你們就叫markov random field,CRF呢是個二部圖,一部分是Y一部分是X,最後建模的是P(Y|X)是個條件機率,因此叫condition random field. 我就這麼一猜,確實有點不負責任,這個名字的來源我一直麼研究過,這段要是說錯了請見諒。

------------------------------------------------------------------我是華麗麗的分割線---------------------------------------------------------------------------------------------------------

 

貝葉斯是生成模型, 而且假設變量之間相互獨立。那麼對於像NLP中NER這樣的任務是確定不行的。
HMM的出現,拓展了貝葉斯的圖關係,model了觀測變量的markov性,可是,始終表達能力不夠, 沒有context。
CRF不model輸出與單個變量之間的關係了,而是與LR相似, model y 與 全部的向量x1,x2,x3,x4.....xn之間的關係,
加上圖的local function的表達能力使得context信息和feature擴展能力變強。因而CRF獲得了很不錯的應用。

 

以前學習過隱馬爾可夫模型的話,咱們知道它是一個時間序列模型。起初對這個【時間】不覺得然,隱馬爾可夫模型中的節點,不就是一個個狀態麼,何須叫時間序列模型,還不如改名爲狀態序列模型。
學到條件隨機場,發現了HMM和CRF的一個顯著區別,即節點與節點之間的邊, HMM是有向的,而CRF是無向的。
而時間序列,能很好的表達 當前狀態與以前狀態有關而和後續狀態無關這一特性,即在圖中的有向性,所以時間序列模型相比狀態模型更合適。
而CRF則能夠成爲一個HMM的擴展,稱爲狀態序列模型更合適,從【有向邊】升級到【無向邊】。


CRF只須要考慮當前觀測狀態的特性,不像HMM有嚴格的獨立性的要求。
從圖的角度來看,就是觀測序列的元素之間並不存在圖結構。
從創建模型的角度來看, CRF只考慮觀測序列X總體,而HMM是將 每個時刻的狀態都考慮在內,而且對 觀測序列作出了馬爾科夫獨立性假設
正是由於 CRF不作獨立性假設,這就是「條件隨機」的含義。
相關文章
相關標籤/搜索