文本分類特征選擇方法


轉載自:

http://blog.sina.com.cn/s/blog_6622f5c30101datu.html

https://www.cnblogs.com/june0507/p/7601001.html

0x01 TF-IDF的誤區

TF-IDF可以有效評估一字詞對於一個文件集或一個語料庫中的其中一份文件的重要程度。因為它綜合表征了該詞在文檔中的重要程度和文檔區分度。但在文本分類中單純使用TF-IDF來判斷一個特征是否有區分度是不夠的。

(1)它沒有考慮特征詞在類間的分布。也就是說該選擇的特征應該在某類出現多,而其它類出現少,即考察各類的文檔頻率的差異。如果一個特征詞,在各個類間分布比較均勻,這樣的詞對分類基本沒有貢獻;但是如果一個特征詞比較集中的分布在某個類中,而在其它類中幾乎不出現,這樣的詞卻能夠很好代表這個類的特征,而TF-IDF不能區分這兩種情況。

(2)沒有考慮特征詞在類內部文檔中的分布情況。在類內部的文檔中,如果特征詞均勻分布在其中,則這個特征詞能夠很好的代表這個類的特征,如果只在幾篇文檔中出現,而在此類的其它文檔中不出現,顯然這樣的特征詞不能夠代表這個類的特征。

特征提取的目的在於降維。即使隨機選取一部分詞,分類效果也不會差到驚人的地步。采用了TF-IDF方法的分類效果當然也能有不錯的效果。當然,TF-IDF用於向量空間模型,進行文檔相似度計算是相當有效的。

0x02 特征選取方法

文本中能觀察到的量其實只有兩個:詞頻和文檔頻率,所有的方法一律以這兩個量為計算基礎。簡單綜合這兩者的TF-IDF選擇出來的特征不具有類別區分度。以文檔頻率為基礎的特征選擇算法有文檔頻次方法(直接依據文檔頻率大小排序的方法)、卡方檢驗、信息增益、互信息等。

針對英文純文本的實驗結果表明:作為特征選擇方法時,卡方檢驗和信息增益的效果最佳(相同的分類算法,使用不同的特征選擇算法來得到比較結果);文檔頻率方法的性能同前兩者大體相當,術語強度方法性能一般;互信息方法的性能最差。

0x03 卡方檢驗(Chi-square)

卡方檢驗最基本的思想就是通過觀察實際值與理論值的偏差來確定理論的正確與否。具體做的時候常常先假設兩個變量確實是獨立的(“原假設”),然后觀察實際值(觀察值)與理論值(這個理論值是指“如果兩者確實獨立”的情況下應該有的值)的偏差程度,如果偏差足夠小,我們就認為誤差是很自然的樣本誤差,是測量手段不夠精確導致或者偶然發生的,兩者確確實實是獨立的,此時就接受原假設;如果偏差大到一定程度,使得這樣的誤差不太可能是偶然產生或者測量不精確所致,我們就認為兩者實際上是相關的,即否定原假設,而接受備擇假設。

理論值為E,實際值為x,偏差程度的計算公式為:

這個式子就是卡檢驗使用的差值衡量公式。當提供了數個樣本的觀察值x1,x2,……xi,……xn之后,代入到式中就可以求得卡方值,用這個值與事先設定的閾值比較,如果大於閾值(即偏差很大),就認為原假設不成立,反之則認為原假設成立。

在文本分類的特征選擇階段,一般使用“詞t與類別c不相關”來做原假設,計算出的卡方值越大,說明對原假設的偏離越大,我們越傾向於認為原假設的反面情況是正確的。選擇的過程為每個詞計算它與類別c的卡方值,從大到小排個序(此時卡方值越大越相關),取前k個就可以。

例如,N篇文檔,分類有體育和非體育,考察特征詞“籃球”與類別“體育”的相關性。

特征選擇

1.屬於“體育”

2.不屬於“體育”

總 計

1.包含“籃球”

A

B

A+B

2.不包含“籃球”

C

D

C+D

       總 數 

       A+C

      B+D

       N

根據原假設,“體育”類別中包含“籃球”的文檔比例應與所有文檔中包含“籃球”的文檔比例相同。故,A的理論值應為:

差值:

同樣計算剩下三種情況的差值D12,D21,D22。最后計算“籃球”與“體育”類文章的卡值:

進一步化簡,注意如果給定了一個文檔集合(例如我們的訓練集)和一個類別,則N,M,N-M(即A+C和B+D)對同一類別文檔中的所有詞來說都是一樣的,而我們只關心一堆詞對某個類別的卡方值的大小順序,而並不關心具體的值,因此把它們去掉是完全可以的,故實際計算的時候我們都使用

卡方檢驗的缺點是:它只統計文檔是否出現詞,而不管出現了幾次。這會使得他對低頻詞有所偏袒(因為它誇大了低頻詞的作用)。甚至會出現有些情況,一個詞在一類文章的每篇文檔中都只出現了一次,其卡方值卻大過了在該類文章99%的文檔中出現了10次的詞,其實后面的詞才是更具代表性的,但只因為它出現的文檔數比前面的詞少了“1”,特征選擇的時候就可能篩掉后面的詞而保留了前者。這就是卡方檢驗著名的“低頻詞缺陷”。因此卡方檢驗也經常同其他因素如詞頻綜合考慮來揚長避短。

0x04 信息增益(IG,Information Gain)

信息熵(信息量)(系統的)

意思就是一個變量可能的變化越多(反而跟變量具體的取值沒有任何關系,只和值的種類多少以及發生概率有關),它攜帶的信息量就越大。

一個系統一個特征t,系統有它和沒它的時候信息量各是多少,兩者的差值就是這個特征給系統帶來的信息量統越是有序,信息熵就越低;反之,一個系統越亂,信息熵就越高。所以,信息熵也可以說是系統有序化程度的一個衡量。

信息增益(特征的)

是指期望信息或者信息熵的有效減少量。

對於一個特征t,系統有它和沒它的時候信息量各是多少,兩者的差值就是這個特征給系統帶來的信息量。有它即信息熵,無它則是條件熵。

條件熵:計算當一個特征t不能變化時,系統的信息量是多少。

對於一個特征X,它可能的取值有n多種(x1,x2,……,xn),計算每個值的條件熵,再取平均值。

在文本分類中,特征詞t的取值只有t(代表t出現)和clip_image006(代表t不出現)。那么

最后,信息增益

但信息增益最大的問題還在於它只能考察特征對整個系統的貢獻,而不能具體到某個類別上,這就使得它只適合用來做所謂“全局”的特征選擇(指所有的類都使用相同的特征集合),而無法做“本地”的特征選擇(每個類別有自己的特征集合,因為有的詞,對這個類別很有區分度,對另一個類別則無足輕重)。

 

0x05 附:特征提取步驟

附:特征提取步驟

1. 卡方檢驗

1.1  統計樣本集中文檔總數(N)。

1.2  統計每個詞的正文檔出現頻率(A)、負文檔出現頻率(B)、正文檔不出現頻率)、負文檔不出現頻率。

1.3 計算每個詞的卡方值,公式如下:

1.4  將每個詞按卡方值從大到小排序,選取前k個詞作為特征,k即特征維數。

2. 信息增益

2.1  統計正負分類的文檔數:N1、N2。

2.2  統計每個詞的正文檔出現頻率(A)、負文檔出現頻率(B)、正文檔不出現頻率)、負文檔不出現頻率。

2.3  計算信息熵

2.4  計算每個詞的信息增益


2.5  將每個詞按信息增益值從大到小排序,選取前k個詞作為特征,k即特征維數。

 

3、

互信息(mutual information)是用來評價一個事件的出現對於另一個事件的出現所貢獻的信息量

 

 
互信息公式

在對文本進行特征選擇的時候,X表示某個詞,Y表示類別,xi表示這個詞的取值,在這里只有兩種情況,出現和不出現,yi表示某一類,可能兩類可能多類。

xi 和yi同時出現在整個數據集中的概率:

 
聯合概率

xi在 整個數據集中出現的概率:

 
詞概率

yi在這個數據集中出現的概率:

 
類概率

 

對文本特征提取xi的取值只能是出現和不出現兩種情況

使用互信息理論進行特征抽取是基於如下假設:在某個特定類別出現頻率高,但在其他類別出現頻率比較低的詞條與該類的互信息比較大。通常用互信息作為特征詞和類別之問的測度,如果特征詞屬於該類的話,它們的互信息量最大。由於該方法不需要對特征詞和類別之問關系的性質作任何假設,因此非常適合於文本分類的特征和類別的配准工作。

特征項和類別的互信息體現了特征項與類別的相關程度,是一種廣泛用於建立詞關聯統計模型的標准。互信息與期望交叉熵的不同在於沒有考慮特征出現的頻率,這樣導致互信息評估函數不選擇高頻的有用詞而有可能選擇稀有詞作為文本的最佳特征。因為對於每一主題來講,特征t的互信息越大,說明它與該主題的共現概率越大,因此,以互信息作為提取特征的評價時應選互信息最大的若干個特征。

互信息計算的時間復雜度類似於信息增益,互信息的平均值就是信息增益。互信息的不足之處在於得分非常受詞條邊緣概率的影響。

參考:https://www.jianshu.com/p/ea48441d44a5

 


免責聲明!

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



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