特征选择方法之信息增益
前文提到過,除了開方檢驗(CHI)以外,信息增益(IG,Information Gain)也是非常有效的特征選擇方法。但凡是特征選擇,總是在將特征的重要程度量化之后再進(jìn)行選擇,而怎樣量化特征的重要性,就成了各種方法間最大的不同。開方檢驗中使用特征與類別間的關(guān)聯(lián)性來進(jìn)行這個量化,關(guān)聯(lián)性越強(qiáng),特征得分越高,該特征越應(yīng)該被保留。
在信息增益中,重要性的衡量標(biāo)準(zhǔn)就是看特征可以為分類系統(tǒng)帶來多少信息,帶來的信息越多,該特征越重要。
因此先回顧一下信息論中有關(guān)信息量(就是“熵”)的定義。說有這么一個變量X,它可能的取值有n多種,各自是x1,x2,……,xn,每一種取到的概率各自是P1,P2,……,Pn,那么X的熵就定義為:
意思就是一個變量可能的變化越多(反而跟變量詳細(xì)的取值沒有不論什么關(guān)系,僅僅和值的種類多少以及發(fā)生概率有關(guān)),它攜帶的信息量就越大(因此我一直認(rèn)為我們的政策法規(guī)信息量非常大,由于它變化非常多,基本朝令夕改,笑)。
對分類系統(tǒng)來說,類別C是變量,它可能的取值是C1,C2,……,Cn,而每個類別出現(xiàn)的概率是P(C1),P(C2),……,P(Cn),因此n就是類別的總數(shù)。此時分類系統(tǒng)的熵就能夠表示為:
有同學(xué)說不好理解呀,這樣想就好了,文本分類系統(tǒng)的作用就是輸出一個表示文本屬于哪個類別的值,而這個值可能是C1,C2,……,Cn,因此這個值所攜帶的信息量就是上式中的這么多。
信息增益是針對一個一個的特征而言的,就是看一個特征t,系統(tǒng)有它和沒它的時候信息量各是多少,兩者的差值就是這個特征給系統(tǒng)帶來的信息量,即增益。系統(tǒng)含有特征t的時候信息量非常好計算,就是剛才的式子,它表示的是包括全部特征時系統(tǒng)的信息量。
問題是當(dāng)系統(tǒng)不包括t時,信息量如何計算?我們換個角度想問題,把系統(tǒng)要做的事情想象成這樣:說教室里有非常多座位,學(xué)生們每次上課進(jìn)來的時候能夠隨便坐,因而變化是非常大的(無數(shù)種可能的座次情況);可是如今有一個座位,看黑板非常清楚,聽老師講也非常清楚,于是校長的小舅子的姐姐的女兒托關(guān)系(真輾轉(zhuǎn)啊),把這個座位定下來了,每次僅僅能給她坐,別人不行,此時情況如何?對于座次的可能情況來說,我們非常easy看出下面兩種情況是等價的:(1)教室里沒有這個座位;(2)教室里盡管有這個座位,但其它人不能坐(由于反正它也不能參與到變化中來,它是不變的)。
相應(yīng)到我們的系統(tǒng)中,就是以下的等價:(1)系統(tǒng)不包括特征t;(2)系統(tǒng)盡管包括特征t,可是t已經(jīng)固定了,不能變化。
我們計算分類系統(tǒng)不包括特征t的時候,就使用情況(2)來取代,就是計算當(dāng)一個特征t不能變化時,系統(tǒng)的信息量是多少。這個信息量事實上也有專門的名稱,就叫做“條件熵”,條件嘛,自然就是指“t已經(jīng)固定“這個條件。
可是問題接踵而至,比如一個特征X,它可能的取值有n多種(x1,x2,……,xn),當(dāng)計算條件熵而須要把它固定的時候,要把它固定在哪一個值上呢?答案是每一種可能都要固定一下,計算n個值,然后取均值才是條件熵。而取均值也不是簡單的加一加然后除以n,而是要用每一個值出現(xiàn)的概率來算平均(簡單理解,就是一個值出現(xiàn)的可能性比較大,固定在它上面時算出來的信息量占的比重就要多一些)。
因此有這樣兩個條件熵的表達(dá)式:
這是指特征X被固定為值xi時的條件熵,
這是指特征X被固定時的條件熵,注意與上式在意義上的差別。從剛才計算均值的討論能夠看出來,第二個式子與第一個式子的關(guān)系就是:
詳細(xì)到我們文本分類系統(tǒng)中的特征t,t有幾個可能的值呢?注意t是指一個固定的特征,比方他就是指關(guān)鍵詞“經(jīng)濟(jì)”或者“體育”,當(dāng)我們說特征“經(jīng)濟(jì)”可能的取值時,實際上僅僅有兩個,“經(jīng)濟(jì)”要么出現(xiàn),要么不出現(xiàn)。一般的,t的取值僅僅有t(代表t出現(xiàn))和(代表t不出現(xiàn)),注意系統(tǒng)包括t但t 不出現(xiàn)與系統(tǒng)根本不包括t但是兩回事。
因此固定t時系統(tǒng)的條件熵就有了,為了差別t出現(xiàn)時的符號與特征t本身的符號,我們用T代表特征,而用t代表T出現(xiàn),那么:
與剛才的式子對比一下,含義非常清楚對吧,P(t)就是T出現(xiàn)的概率,就是T不出現(xiàn)的概率。這個式子能夠進(jìn)一步展開,當(dāng)中的
還有一半就能夠展開為:
因此特征T給系統(tǒng)帶來的信息增益就能夠?qū)懗上到y(tǒng)原本的熵與固定特征T后的條件熵之差:
公式中的東西看上去非常多,事實上也都非常好計算。比方P(Ci),表示類別Ci出現(xiàn)的概率,事實上僅僅要用1除以類別總數(shù)就得到了(這是說你平等的看待每一個類別而忽略它們的大小時這樣算,假設(shè)考慮了大小就要把大小的影響加進(jìn)去)。再比方P(t),就是特征T出現(xiàn)的概率,僅僅要用出現(xiàn)過T的文檔數(shù)除以總文檔數(shù)就能夠了,再比方P(Ci|t)表示出現(xiàn)T的時候,類別Ci出現(xiàn)的概率,僅僅要用出現(xiàn)了T而且屬于類別Ci的文檔數(shù)除以出現(xiàn)了T的文檔數(shù)就能夠了。
從以上討論中能夠看出,信息增益也是考慮了特征出現(xiàn)和不出現(xiàn)兩種情況,與開方檢驗一樣,是比較全面的,因而效果不錯。但信息增益最大的問題還在于它僅僅能考察特征對整個系統(tǒng)的貢獻(xiàn),而不能詳細(xì)到某個類別上,這就使得它僅僅適合用來做所謂“全局”的特征選擇(指全部的類都使用同樣的特征集合),而無法做“本地”的特征選擇(每一個類別有自己的特征集合,由于有的詞,對這個類別非常有區(qū)分度,對還有一個類別則無足輕重)。
看看,導(dǎo)出的過程事實上非常easy,沒有什么神奇的對不正確。可有的學(xué)術(shù)論文里就喜歡把這樣的本來非常直白的東西寫得非常晦澀,仿佛僅僅有讀者看不懂才是作者的真正成功。
咱們是新一代的學(xué)者,咱們沒有知識不怕被別人看出來,咱們有知識也不怕教給別人。所以咱都把事情說簡單點,說明確點,大家好,才是真的好。
轉(zhuǎn)載于:https://www.cnblogs.com/mengfanrong/p/4063141.html
總結(jié)
以上是生活随笔為你收集整理的特征选择方法之信息增益的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS配合css实现slide文字框缩放伸
- 下一篇: 《SQL Server企业级平台管理实践