豬豬的機器學習筆記(十八)條件隨機場


條件隨機場

 

作者:櫻花豬

 

摘要:

本文為七月算法(julyedu.com12月機器學習第十八次課在線筆記。條件隨機場是一種判別式概率模型,是隨機場的一種,常用於標注或分析序列資料,如自然語言文字或是生物序列。

 

引言:

   “條件隨機場”被用於中文分詞和詞性標注等詞法分析工作,一般序列分類模型常常采用隱馬爾科夫模型(HMM),像基於類的中文分詞。但隱馬爾可夫模型中存在兩個假設:輸出獨立性假設和馬爾可夫性假設。其中,輸出獨立性假設要求序列數據嚴格相互獨立才能保證推導的正確性,而事實上大多數序列數據不能被表示成一系列獨立事件。而條件隨機場則使用一種概率圖模型,具有表達長距離依賴性和交疊性特征的能力,能夠較好地解決標注(分類)偏置等問題的優點,而且所有特征可以進行全局歸一化,能夠求得全局的最優解。

    隱馬爾科夫模型可以用於分詞,而條件隨機場則是可以用於詞性的判斷。

 

預備知識:

最大熵模型,隱馬爾科夫模型、Logistic回歸

 

一、概述

1、幾種網絡模型的比較

HMM

 

MEMM

 

CRF

 

RVM

 

 

2、對數線性模型

   x為某樣本,yx的可能標記,將Logistic/Softmax回歸的特征記做Fj(x,y),則對數線性模型的一般形式:

 

其中,歸一化因子:

 

給定x的預測標記為:

 

3、特征函數的選擇

特征函數幾乎可任意選擇,甚至特征函數間重疊;

以自然語言處理為例:

假定觀測x是單詞,則下列都是合理可行的特征:

x以大寫字母開頭xJ開頭x的長度為7x中包含兩個大寫字母

NLP中常用的特征:前綴、后綴、詞典位置、前置/后置標點

 

4、詞性標注的特征函數

   詞性標注是指將每個單詞標記為名詞/動詞/形容詞/介詞等。

   詞性:POSPart Of Speech

o記w為句子s的某個單詞,則特征函數可以是:

  • w在句首/句尾(位置相關)
  • w的前綴是anti-/co-/dis-/inter-(單詞本身)
  • w的后綴是-able/-ation/-er/-ing(單詞本身)
  • w前面的單詞是a/could/SALUTATION(單詞間)
  • w后面的單詞是am/is/are/(單詞間)

w前面兩個單詞是Wouldlike/Therebe(單詞和句子)

高精度的POS會使用超過10萬個特征。

  • 每個特征只和當前詞性有關,最多只和相鄰詞的詞性有關;
  • 但特征可以和所有詞有關。

 

5、詞性標注

   詞性標注被稱為“結構化預測”,該任務與標准的類別學習任務存在巨大不同:

  • 如果每個單詞分別預測,將丟失眾多信息;
  • 相鄰單詞的標記是相互影響的,非獨立。
  • 不同的句子有不同長度;
  • 這導致不方便將所有句子統一成同長度向量。
  • 標記序列解集與句子長度呈指數級增長。
  • 這使得窮舉計算幾乎無法實用。

 

二、線性條件隨機場

線性條件隨機場可以使用對數線性模型。

使用表示n個詞的序列;表示相應的詞性

定義:

 

    

    次特征:

定義句子的第j個特征是由若干次特征組合而成的,這里的依賴或部分依賴於當前整個句子、當前詞的標記、前一個詞的標記、當前詞在句子中的位置i

 

將每一個位置i上的次特征相加,即得到特征,從而解決訓練樣本變長的問題。

 

參數訓練:

給定一組訓練樣本(x,y),找出權向量w,使得下式成立:

 

滿足上式的w,即為最終的推斷參數。

 

二、條件隨機場

     X=(X1,X2Xn)Y=(Y1,Y2Ym)都是聯合隨機變量,若隨機變量Y構成一個無向圖G=(V,E)表示的馬爾科夫隨機場(MRF),則條件概率分布P(Y|X)稱為條件隨機場(Conditional Random Field,CRF)

  • X稱為輸入變量、觀測序列
  • Y稱為輸出序列、標記序列、狀態序列

  一般而言,MRF是關於隱變量(狀態變量、標記變量)的圖模型,而給定觀測變量后考察隱變量的條件概率,即為CRF但這種混用,類似較真總理和周恩來的區別。混用的原因:在計算P(Y|X)時需要將X也納入MRF中一起考慮

 

三、線性鏈條件隨機場

X=(X1,X2Xn)Y=(Y1,Y2Ym)都是聯合隨機變量,若隨機變量Y構成一個無向圖G=(V,E)表示的馬爾科夫隨機場(MRF),則條件概率分布P(Y|X)稱為條件隨機場(Conditional Random Field,CRF)

即:

其中,表示與結點v相連的所有結點wo一種重要而特殊的CRF是線性鏈條件隨機場(Linear Chain Conditional Random Field),可用於標注等問題。這時,條件概率P(Y|X)中,Y表示標記序列(或稱狀態序列)X是需要標注的觀測序列。

 

線性條件隨機場的定義:

X=(X1,X2Xn)Y=(Y1,Y2Yn)均為線性鏈表示的隨機變量序列,若在給定隨機變量序列X的條件下,隨機變量序列Y的條件概率分布P(Y|X)構成條件隨機場,即滿足馬爾科夫性

 

則稱P(Y|X)為線性鏈條件隨機場。在標注問題中,X表示輸入序列或稱觀測序列,Y表述對應的輸出標記序列或稱狀態序列。

 

四、CRF總結

條件隨機場可以使用對數線性模型表達。不嚴格的說,線性鏈條件隨機場可看成是隱馬爾科夫模型的推廣,隱馬爾科夫模型可看成是線性鏈條件隨機場的特殊情況。

  • 概率計算使用前向-后向算法;
  • 參數學習使用梯度上升算法(IIS)
  • 應用於標注/分類,在給定參數和觀測序列(樣本)的前提下,使用Viterbi算法進行標記的預測。
  • 標記序列y要求鏈狀,但x無要求,除了一維的詞性標注、中文分詞,還可以用於離散數據(如用戶信息),或二維數據(如圖像),用途廣泛。

缺點:有監督學習計算參數、參數估計的速度慢。






免責聲明!

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



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