CRF總結


條件隨機場理解

  1. 隨機場理解
    先從隨機變量說起。
    對於一個時間集合T內,每一個時間點t點,X(t)的數值都是隨機的,那么X(t)稱為隨機過程。x(t)是依賴於時間的一組隨機變量。它的分布函數叫做x(t)的一維概率分布函數。
    如果有一個變量,依賴於兩個時間t1,t2,就稱為二維隨機變量,有二維概率分布函數。-。。。。。到n維概率分布函數
    兩個隨機過程之間的數字特征有:方差,期望,均值,協方差函數,互相關函數,自相關函數。
  2. 隨機場的概念
    隨機場就是隨機過程在空間上的推廣。隨機過程的基本參數是時間變量,而隨機場的變量是位置向量u(x,y,z).所以隨機場就是定義在一個場域參數集合上的隨機變量系。對於場域內的任一點,都有隨機變量與它對應。
    所以,馬爾科夫隨機場,MRF就是空間上的馬爾科夫鏈,認為一個事件的狀態只與它的直接原因有關,與其他狀態原因無關。
    3 .CRF條件隨機場
  • 條件隨機場,是給定隨機變量X條件下,隨機變量Y的馬爾科夫隨機場。
    在條件概率模型中P(Y/X)中,Y是輸出變量,表示標記序列,x是輸入變量,表示觀測序列。訓練時候利用訓練數據庫,通過極大似然估計得到條件概率模型,然后使用該模型預測。
    線性條件隨機場:
    enter description here
    如上,X和Y是隨機變量序列,給定X條件下,Y的條件概率分布構成條件隨機場。
    CRF是一個無向圖的概率模型,頂點代表變量,頂點之間的邊代表兩個變量之間依賴關系。常用的是鏈式CRF結構,如此可以表達長距離依賴性,和交疊特征的能力。所有特征可以進行全局歸一化,得到全局最優解。(因為同一特征在各個位置都有表示,可以將同一個特征在不同位置求和,將局部特征轉化為全局特征,從而得到全局最優解。)
    enter description here
    注意,HMM是生成時模型,用到EM算法。CRF是判別式模型,一般方法是最大似然估計,結合梯度下降,viterbi算法訓練模型。
    4.CRF在NLP中的應用
    加例子
    句子是一個單詞序列,觀測序列就是單詞本身以及一系列特征(例如詞性,詞長等),隱藏序列就是詞的標記,例如分詞的詞邊界等。
    詞性標記就是給每個單詞打標簽。。CRF學習的過程就是描述一些特征配置:當前詞語是xx,上個詞xx,滿足這種配置的,特征函數輸出就是1,不然是0。每個詞都有同樣多的特征函數判斷,所以是全局優化值。預測的過程就是利用每種特征配置給標簽打分,然后打分結果加權求和,打分最高的標簽,就是預測結果。

5.模型原理理解
特征表達方式:有兩種,轉移特征,兩個狀態之間的。另一種是狀態特征。CRF學習的過程就是描述一些特征配置:當前詞語是xx,上個詞xx,滿足這種配置的,特征函數輸出就是1,不然是0.然后這些特征每個都有一個權重,要學習的就是這些權重。

比如為什么要套一個exp呢?一方面,要保證每一個factor是正的,factor可以大於一也可以不歸一化,但一定要是正的。另一方面,我們最后要通過最大似然函數優化的,似然值是這些
factor的累乘,對每一個最大子團累乘。這么多項相乘沒有人直接去優化的,都是取log變成對數似然,然后這些累乘變成累加了嘛,然后優化這個累加。無論是算梯度用梯度下降,還是另導數為零求解析解都很方便了(這個表達形態下的目標函數是凸的)。你套上exp之后,再取對數,那么每個因子就變成一堆特征乘權重的累積,然后整個對數似然就是三級累積,對每個樣本、每個團、每個特征累積。這個形式就很有利了,你是求導還是求梯度還是怎樣,你面對的就是一堆項的和,每個和是一個1或者一個0乘以一個

6.模型訓練方法
-線性鏈的條件隨機場跟線性鏈的隱馬爾科夫模型一樣,一般推斷用的都是維特比算法。這個算法是一個最簡單的動態規划。首先我們推斷的目標是給定一個X,找到使P(Y|X)最大的那個Y嘛。然后這個Z(X),一個X就對應一個Z,所以X固定的話這個項是常量,優化跟他沒關系(Y的取值不影響Z)。然后
exp也是單調遞增的,也不帶他,直接優化exp里面。所以最后優化目標就變成了里面那個線性和的形式,就是對每個位置的每個特征加權求和。比如說兩個狀態的話,它對應的概率就是從開始轉移到第一個狀態的概率加上從第一個轉移到第二個狀態的概率,這里概率是只exp里面的加權和。那么這種關系下就可以用維特比了。

  • 維特比原理
    首先你算出第一個狀態取每個標簽的概率,然后你再計算到第二個狀態取每個標簽得概率的最大值,這個最大值是指從狀態一哪個標簽轉移到這個標簽的概率最大,值是多
    少,並且記住這個轉移(也就是上一個標簽是啥)。然后你再計算第三個取哪個標簽概率最大,取最大的話上一個標簽應該是哪個。以此類推。整條鏈計算完之后,
    你就知道最后一個詞去哪個標簽最可能,以及去這個標簽的話上一個狀態的標簽是什么、取上一個標簽的話上上個狀態的標簽是什么,醬。這里我說的概率都是
    exp里面的加權和,因為兩個概率相乘其實就對應着兩個加權和相加,其他部分都沒有變。
  1. 與HMM區別
    1)HMM是假定滿足HMM獨立假設。CRF沒有,所以CRF能容納更多上下文信息。
    2)CRF計算的是全局最優解,不是局部最優值。
    3)CRF是給定觀察序列的條件下,計算整個標記序列的聯合概率。而HMM是給定當前狀態,計算下一個狀態。
    4)CRF比較依賴特征的選擇和特征函數的格式,並且訓練計算量大

8.解碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM