文本分類中的特徵選取方法–卡方檢驗和資訊增益

來源:互聯網
上載者:User

-1. TF-IDF的誤區

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

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

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

0. 特徵選取方法

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

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

1. 卡方檢驗(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”,特徵選取的時候就可能篩掉後面的詞而保留了前者。這就是開方檢驗著名的“低頻詞缺陷”。因此開方檢驗也經常同其他因素如詞頻綜合考慮來揚長避短。

2. 資訊增益(IG,Information Gain)

資訊熵(資訊量)(系統的)


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

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

資訊增益(特徵的)

是指期望資訊或者資訊熵的有效減少量。

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

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

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

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

最後,資訊增益

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

附:特徵提取步驟

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即特徵維數。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.