機器學習算法的空間、時間複雜度依賴于輸入資料的規模,次元規約(dimensionality reduction)則是一種被用于降低輸入資料維數的方法。次元規約可以分為兩類:
特征選擇(feature selection),從原始的d維空間中,選擇為我們提供資訊最多的k個維(這k個維屬于原始空間的子集)
特征提取(feature extraction),将原始的d維空間映射到k維空間中(新的k維空間不輸入原始空間的子集)
在文本挖掘與文本分類的有關問題中,常采用特征選擇方法。原因是文本的特征一般都是單詞(term),具有語義資訊,使用特征選擇找出的k維子集,仍然是單詞作為特征,保留了語義資訊,而特征提取則找k維新空間,将會喪失了語義資訊。
對于一個語料而言,我們可以統計的資訊包括文檔頻率和文檔類比例,所有的特征選擇方法均依賴于這兩個統計量,目前,文本的特征選擇方法主要有:df, mi, ig, chi,wllr,wfo六種。
為了友善描述,我們首先一些機率上的定義:
p(t):一篇文檔x包含特征詞t的機率。

:文檔x不屬于ci的機率。
p(ci|t):已知文檔x的包括某個特征詞t條件下,該文檔屬于ci的機率
: 已知文檔屬于ci 條件下,該文檔不包括特征詞t的機率
類似的其他的一些機率如p(ci),
,
等,有着類似的定義。
為了估計這些機率,我們需要通過統計訓練樣本的相關頻率資訊,如下表:
其中:
aij: 包含特征詞ti,并且類别屬于cj的文檔數量 bij: 包含特征詞ti,并且類别屬于不cj的文檔數量
cij:不包含特征詞ti,并且類别屬于cj的文檔數量 dij:不包含特征詞ti,并且類别屬于不cj的文檔數量
aij + bij: 包含特征詞ti的文檔數量 cij + dij:不包含特征詞ti的文檔數量
aij + cij:cj類的文檔數量資料 bij + dij:非cj類的文檔數量資料
aij + bij + cij + dij = n :語料中所有文檔數量。
有了這些統計量,有關機率的估算就變得容易,如:
p(ti) = (aij + bij) / n; p(cj) = (aij + cij) / n;
p(cj|tj) = aij / (aij + bij)
......類似的一些機率計算可以依照上表計算。
介紹了事情發展的前因,現在進入正題:常見的四種特征選擇方法如何計算。
1)df(document frequency)
df:統計特征詞出現的文檔數量,用來衡量某個特征詞的重要性,df的定義如下:
df的動機是,如果某些特征詞在文檔中經常出現,那麼這個詞就可能很重要。而對于在文檔中出現很少(如僅在語料中出現1次)特征詞,攜帶了很少的資訊量,甚至是"噪聲",這些特征詞,對分類器學習影響也是很小。
df特征選擇方法屬于無監督的學習算法(也有将其改成有監督的算法,但是大部分情況都作為無監督算法使用),僅考慮了頻率因素而沒有考慮類别因素,是以,df算法的将會引入一些沒有意義的詞。如中文的"的"、"是", "個"等,常常具有很高的df得分,但是,對分類并沒有多大的意義。
2)mi(mutual information)
互資訊法用于衡量特征詞與文檔類别直接的資訊量,互資訊法的定義如下:
繼續推導mi的定義公式:
從上面的公式上看出:如果某個特征詞的頻率很低,那麼互資訊得分就會很大,是以互資訊法傾向"低頻"的特征詞。相對的詞頻很高的詞,得分就會變低,如果這詞攜帶了很高的資訊量,互資訊法就會變得低效。
3)ig(information gain)
資訊增益法,通過某個特征詞的缺失與存在的兩種情況下,語料中前後資訊的增加,衡量某個特征詞的重要性。
資訊增益的定義如下:
依據ig的定義,每個特征詞ti的ig得分前面一部分:
計算值是一樣,可以省略。是以,ig的計算公式如下:
ig與mi存在關系:
是以,ig方式實際上就是互資訊
與互資訊
權重。
4)chi(chi-square)
chi特征選擇算法利用了統計學中的"假設檢驗"的基本思想:首先假設特征詞與類别直接是不相關的,如果利用chi分布計算出的檢驗值偏離門檻值越大,那麼更有信心否定原假設,接受原假設的備則假設:特征詞與類别有着很高的關聯度。chi的定義如下:
對于一個給定的語料而言,文檔的總數n以及cj類文檔的數量,非cj類文檔的數量,他們都是一個定值,是以chi的計算公式可以簡化為:
chi特征選擇方法,綜合考慮文檔頻率與類别比例兩個因素
5)wllr(weighted log likelihood ration)
wllr特征選擇方法的定義如下:
計算公式如下:
6)wfo(weighted frequency and odds)
最後一個介紹的算法,是由蘇大李壽山老師提出的算法。通過以上的五種算法的分析,李壽山老師認為,"好"的特征應該有以下特點:
好的特征應該有較高的文檔頻率
好的特征應該有較高的文檔類别比例
wfo的算法定義如下:
如果
:
否則:
不同的語料,一般來說文檔詞頻與文檔的類别比例起的作用應該是不一樣的,wfo方法可以通過調整參數
,找出一個較好的特征選擇依據。
-----------------------------------------分割線---------------------------------------------
筆者實作了三種特征選擇方法:ig,mi和wllr,看官如果對其他特征選擇方法感興趣,可以嘗試實作一下~ 好了,啥也不說了,上代碼,特征選擇子產品代碼:
在movie語料裡面比較着三種特征選擇方法,調用方法如下:
輸出的結果:
從上面的圖看出:分類的性能随着特征選擇的數量的增加,呈現“凸”形趨勢:1)在特征數量較少的情況下,不斷增加特征的數量,有利于提高分類器的性能,呈現“上升”趨勢;2)随着特征數量的不斷增加,将會引入一些不重要的特征,甚至是噪聲,是以,分類器的性能将會呈現“下降”的趨勢。這張“凸”形趨勢展現出了特征選擇的重要性:選擇出重要的特征,并降低噪聲,提高算法的泛化能力。
參數文獻:
1.y. yang and j. pedersen. 1997. a comparative study on feature selection in text categorization.
2.shoushan li, rui xia, chengqing zong and chu-ren huang.2009.a framework of feature selection methods for text categorization
3.老闆的課件