文本特征属性选择
今天,來(lái)學(xué)習(xí)文本的特征屬性選擇,在機(jī)器學(xué)習(xí)中,特征屬性的選擇通常關(guān)系到訓(xùn)練結(jié)果的可靠性,一個(gè)好的
特征屬性通常能起到滿意的分類(lèi)效果。凡是特征選擇,總是在將特征的重要程度量化后再進(jìn)行選擇,而如何量
化特征的重要性,就成了各種方法間最大的不同。接下來(lái)就介紹如何有效地進(jìn)行文本的特征屬性選擇。
?
Contents
?
???1. TF-IDF與特征屬性選擇
?? 2. 信息增益與特征屬性選擇
?? 3. 卡方檢驗(yàn)與特征屬性選擇
?? 4. 互信息與特征屬性選擇
?
?
文本分類(lèi)作為一種有效的信息檢索和信息過(guò)濾的關(guān)鍵技術(shù),能按預(yù)定義的類(lèi)別將待分類(lèi)的文本進(jìn)行歸類(lèi)。文本
分類(lèi)中常用到向量空間模型(VSM),然而高維的向量空間模型嚴(yán)重影響了計(jì)算機(jī)的處理速度,因此需要對(duì)文
本的向量進(jìn)行降維,那么就需要對(duì)文本進(jìn)行特征屬性選擇。
?
目前在文本分類(lèi)領(lǐng)域中常用的文本特征屬性選擇算法有:TF-IDF,信息增益,卡方檢驗(yàn),互信息等。
?
?
1. TF-IDF與特征屬性選擇
?
?? TF即詞頻(Term Frequency),表示詞條在某個(gè)文檔d中出現(xiàn)的頻率。
?? IDF即逆向文件頻率(Inverse Document Frequency),如果包含詞條t的文檔越少,那么IDF值
?? 越大,則說(shuō)明詞條t具有很好的類(lèi)別區(qū)分能力。
?
???TF-IDF算法的主要思想是:如果某個(gè)詞或短語(yǔ)在某一篇文章中的出現(xiàn)頻率TF越高,而且在其它文章中很
?? 少出現(xiàn),那么認(rèn)為此詞或者短語(yǔ)具有很好的類(lèi)別區(qū)分能力,適合用來(lái)分類(lèi)。舉個(gè)例子
?
???假設(shè)某篇文檔的總詞語(yǔ)數(shù)為100個(gè),而“蜜蜂”出現(xiàn)了5次,那么“蜜蜂”的詞頻就是0.05。如果“蜜蜂”這個(gè)
?? 詞在100份文檔中出現(xiàn),而文檔總數(shù)為1000000,那么逆向文件頻率就是log10(1000000/100)=4。最
?? 后TF-IDF的值為0.05 * 4 = 0.2。具體公式如下
?
???
?
???當(dāng)然在統(tǒng)計(jì)之前必須要過(guò)濾掉文檔中的停用詞。當(dāng)然TF-IDF的精確度有時(shí)候可能不太高,它仍有不足之處,
?? 單純地認(rèn)為文本頻率越小的單詞就越重要,而文本頻率越大的單詞就越無(wú)用,顯然這并不完全正確。
?
?? 接下來(lái)就可以用上面所學(xué)的TF-IDF來(lái)對(duì)文本進(jìn)行特征屬性選擇了。計(jì)算出文檔中每個(gè)詞的TF-IDF的值,然
?? 后按照降序排列,取前面的幾個(gè)詞作為特征屬性。這里由于只取前K大的,有比較優(yōu)秀的算法。
?
?? 在文本分類(lèi)中單純地用TF-IDF來(lái)判斷一個(gè)特征屬性是否具有區(qū)分度是不夠的,原因主要有如下兩個(gè)
?
??(1)沒(méi)有考慮特征詞在類(lèi)間的分布
?
????? 如果一個(gè)特征詞在各個(gè)類(lèi)之間分布都比較均勻,那么這樣的詞對(duì)分類(lèi)沒(méi)有任何貢獻(xiàn);而如果一個(gè)特征
????? 詞集中分布在某個(gè)類(lèi)中,在其它類(lèi)中都出現(xiàn)但是出現(xiàn)的頻率很小很小,那么這個(gè)詞能很好地代表這個(gè)
????? 類(lèi)的特征屬性,但是TF-IDF不能很好地區(qū)別這兩種情況。
?
??(2)沒(méi)有考慮特征詞在類(lèi)內(nèi)部文檔中的分布
?
????? 在類(lèi)內(nèi)部文檔中,如果特征詞均勻分布在其中,那么這個(gè)特征詞能夠很好地代表這個(gè)類(lèi)的特征,如果
????? 只在幾篇文檔中出現(xiàn),那么不能夠代表這個(gè)類(lèi)的特征。
?
?
2. 信息增益與特征屬性選擇
?
?? 關(guān)于信息增益的概念,在之前的《決策樹(shù)之ID3算法》中已經(jīng)說(shuō)過(guò)。在信息增益中,重要的衡量標(biāo)準(zhǔn)就是
?? 看這個(gè)特征能夠?yàn)榉诸?lèi)系統(tǒng)帶來(lái)多少信息,帶來(lái)的信息越多,那么該特征就越重要。
?
???通過(guò)信息增益選擇的特征屬性只能考察一個(gè)特征對(duì)整個(gè)系統(tǒng)的貢獻(xiàn),而不能具體到某個(gè)類(lèi)別上,這就使得
???它只能做全局特征選擇,即所有的類(lèi)使用相同的特征集合。
?
?
3. 卡方檢驗(yàn)與特征屬性選擇
?
???卡方檢驗(yàn)是數(shù)理統(tǒng)計(jì)中一種常用的檢驗(yàn)兩個(gè)變量是否獨(dú)立的方法。在卡方檢驗(yàn)中使用特征與類(lèi)別間的關(guān)聯(lián)
???性來(lái)進(jìn)行量化,關(guān)聯(lián)性越強(qiáng),特征屬性得分就越高,該特征越應(yīng)該被保留。
?
?? 卡方檢驗(yàn)最基本的思想是觀察實(shí)際值和理論值的偏差來(lái)確定理論的正確性。通常先假設(shè)兩個(gè)變量確實(shí)是獨(dú)
?? 立的,然后觀察實(shí)際值與理論值的偏差程度,如果偏差足夠小,那么就認(rèn)為這兩個(gè)變量確實(shí)是獨(dú)立的,否
?? 則偏差很大,那么就認(rèn)為這兩個(gè)變量是相關(guān)的。
?
?? 在文本特征屬性選擇階段,一般用“詞t與類(lèi)別c不相關(guān)”作出假設(shè),計(jì)算出的卡方值越大,說(shuō)明假設(shè)偏離就
?? 越大,假設(shè)越不正確。文本特征屬性選擇過(guò)程為:計(jì)算每個(gè)詞與類(lèi)別c的卡方值,然后排序取前K大的即可。
?
?? 接下來(lái),就來(lái)學(xué)習(xí)如何計(jì)算卡方值。
?
???假設(shè)個(gè)樣本的觀測(cè)值分別為,它們的均值(期望)為,那么卡方值計(jì)算如下
?
??????????
?
???如果計(jì)算出的值與事先設(shè)定的閥值進(jìn)行比較,如果小于閥值,則原假設(shè)成立,否則原假設(shè)不成立。
?
?? 在文本特征選擇階段,我們關(guān)心的是一個(gè)詞t與一個(gè)類(lèi)別c之間是否獨(dú)立,如果獨(dú)立,則詞t對(duì)類(lèi)別c完全
?? 沒(méi)有表征作用。下面以一個(gè)例子來(lái)推導(dǎo)文本特征選擇中卡方值得計(jì)算公式
?
?? 假設(shè)現(xiàn)在有N篇文檔,其中有M篇是關(guān)于體育的,我們想知道詞“籃球”與類(lèi)別“體育”的相關(guān)性。接下來(lái)設(shè)
?
?????? 包含“籃球”且屬于“體育”類(lèi)別的文檔數(shù)為A
?????? 包含“籃球”但不屬于“體育”類(lèi)別的文檔數(shù)為B
?????? 不包含“籃球”但屬于“體育”類(lèi)別的文檔數(shù)為C
?????? 不包含“籃球”也不屬于“體育”類(lèi)別的文檔數(shù)為D
?
???即得到如下表格
?
???????
?
???那么,很明顯有A + B + C + D = N,A + C = M。假設(shè)詞“籃球”與“體育”不相關(guān),那么“籃球”這
?? 個(gè)詞在所有的文檔中以等概率的形式出現(xiàn),這個(gè)概率值接近
?
????????
?
???而屬于“體育”類(lèi)的文章數(shù)為A + C,在這些文檔中,應(yīng)該有
?
????????
?
???篇文章包含“籃球”這個(gè)詞,這是假設(shè)條件下的理論值,而實(shí)際值從表格中可以看出是A,那么偏差為
?
????????
?
???同理,可以計(jì)算出
?
????????
?
???那么繼續(xù)得到
?
???
?
?
???而對(duì)于同一類(lèi)別文檔中的所有詞來(lái)說(shuō),N = A + B + C + D,M = A + C,N - M = B + D這
?? 三個(gè)值不變,那么只需要計(jì)算如下值,然后從大到小取前K大的就行了。
?
?????????
?
???卡方檢驗(yàn)也有缺陷,因?yàn)?strong>A和B在統(tǒng)計(jì)詞t在文章中出沒(méi)出現(xiàn)過(guò),卻不管詞t在文檔中出現(xiàn)了幾次,這
?? 樣的話會(huì)對(duì)低頻詞有所偏袒,甚至?xí)霈F(xiàn)有些情況,一個(gè)詞在一類(lèi)文章的每篇文檔中都只出現(xiàn)了一次,
?? 其卡方值卻大過(guò)了在該類(lèi)文章99%的文檔中出現(xiàn)了10次的詞,其實(shí)后面的詞才是更具代表性的,但只
?? 因?yàn)樗霈F(xiàn)的文檔數(shù)比前面的詞少了“1”,特征選擇的時(shí)候就可能篩掉后面的詞而保留了前者。這就
?? 是開(kāi)方檢驗(yàn)著名的“低頻詞缺陷“。因此開(kāi)方檢驗(yàn)也經(jīng)常同其他因素如詞頻綜合考慮來(lái)?yè)P(yáng)長(zhǎng)避短。
?
?
4. 互信息與特征屬性選擇
?
???接下來(lái),開(kāi)始學(xué)習(xí)互信息與特征選擇,其實(shí)互信息相比前面幾種特征屬性選擇方法來(lái)說(shuō),效果是最差
?? 的。互信息是事件A和事件B發(fā)生相關(guān)聯(lián)而提供的信息量,在處理分類(lèi)問(wèn)題提取特征的時(shí)候就可以用互
?? 信息來(lái)衡量某個(gè)特征和特定類(lèi)別的相關(guān)性,如果信息量越大,那么特征和這個(gè)類(lèi)別的相關(guān)性越大。反
???之也是成立的。計(jì)算方法如下
?
???
?
???低詞頻對(duì)于互信息的影響還是蠻大的,一個(gè)詞如果頻次不夠多,但是又主要出現(xiàn)在某個(gè)類(lèi)別里,那么就
?? 會(huì)出現(xiàn)較高的互信息,從而給篩選帶來(lái)噪音。所以為了避免出現(xiàn)這種情況可以采用先對(duì)詞按照詞頻排序
?? 取然后按照互信息大小進(jìn)行排序,然后再選擇自己想要的詞,這樣就能比較好的解決這個(gè)問(wèn)題。
??
?
推薦文章:http://blog.csdn.net/chl033/article/details/2731701
搜狗語(yǔ)料庫(kù):http://www.sogou.com/labs/dl/c.html
?
總結(jié)