特征選擇常用算法綜述


特征選擇的一般過程:

1.生成子集:搜索特征子集,為評價函數提供特征子集

2.評價函數:評價特征子集的好壞

3.停止准則:與評價函數相關,一般是閾值,評價函數達到一定標准后就可停止搜索

4.驗證過程:在驗證數據集上驗證選出來的特征子集的有效性

 

1.生成子集

搜索算法有 完全搜索、啟發式搜索、隨機搜索 三大類。

(1)完全搜索

<1>寬搜(Breadth First Search):時間復雜度高,不實用

<2>分支界限搜索(Branch and Bound):其實就是寬搜加上深度的限制

<3>定向搜索(Beam Search):其實算是啟發式的一種,對寬搜加上每次展開結點數的限制以節省時間空間,對於展開那幾個結點由啟發式函數確定

<4>最優優先算法(Best First Search):也是有啟發式函數,對寬搜取最優結點進行展開

(2)啟發式搜索

<1>序列前向選擇(SFS , Sequential Forward Selection

特征子集X從空集開始,每次選擇能使得評價函數J(X)最優的一個特征x加入,其實就是貪心算法,缺點是只加不減

<2>序列后向選擇(SBS , Sequential Backward Selection)

和SFS相反,從特征全集開始,每次選擇使評價函數J(X)最優的特征x剔除,也是貪心,缺點是只減不增

<3>雙向搜索(BDS , Bidirectional Search)

SFS和SBS同時開始,當兩者搜索到同一個特征子集時停止。

<4>增L去R選擇算法(LRS , Plus-l Minus-R Selection)

形式一:從空集開始,每次加L個特征,去除R個特征,使得J最優

形式二:從全集開始,每次去除R個特征,加入L個特征,使J最優。

<5>序列浮動選擇(Sequential Floating Selection)

該算法由增L去R發展,不同之處在於L和R是會變化的,它結合了序列前后向選擇、增L去R的特點並彌補了缺點。

①序列浮動前向選擇(SFFS , Sequential Floating Forward Selection)

從空集開始,每輪選擇子集x加入使得J最優,再選擇子集z剔除使得J最優。

②序列浮動后向選擇(SFBS , Sequential Floating Backward Selection)

與①相反,從全集開始,先剔除再加入。

<6>決策樹(Decision Tree Method , DTM)

一般使用信息增益作為評價函數,待決策樹生長后再進行剪枝,最后留下的葉子就是特征子集。

(3)隨機算法

<1>隨機產生序列選擇算法(RGSS, Random Generation plus Sequential Selection)

隨機產生特征子集,然后執行SFS或SBS,可作為SFS和SBS的補充,用於跳出局部最優解。

<2>模擬退火算法( SA, Simulated Annealing )

模擬退火可在一定程度上避免陷入局部最優,但是可能難以求解。

<3>遺傳算法(GA, Genetic Algorithms)

首先隨機產生一批特征子集,並用評價函數給這些特征子集評分,然后通過交叉、突變等操作繁殖出下一代的特征子集,並且評分越高的特征子集被選中參加繁殖的概率越高。這樣經過N代的繁殖和優勝劣汰后,種群中就可能產生了評價函數值最高的特征子集。

 

2.評價函數

用於評價特征子集的好壞,主要分為Filter和Wrapper

(1)Filter

其實就是預處理,利用訓練集自身的特點篩選出特征子集后再送入分類器進行學習,與分類器的選擇無關。

(2)Wrapper

封裝器用選取的特征子集對訓練集進行分類,分類的精度作為衡量特征子集好壞的標准。

 

常見的評價函數有:

(1)相關性

基於假設:好的特征子集所包含的特征應該是與分類的相關度較高,而特征之間相關度較低

線性相關系數 

 

(2)距離/相似度

基於假設:好的特征子集應該使得屬於同一類的樣本距離盡可能小,屬於不同類的樣本之間的距離盡可能遠

常用相似度計算

(3)信息增益

之前講過了,信息增益體現特征子集的出現對系統信息量的增加。

(4)一致性

若樣本1與樣本2屬於不同的分類,但在特征A、 B上的取值完全一樣,那么特征子集{A,B}不應該選作最終的特征集。

(5)分類器錯誤率

用分類的精度作為評判標准。

 

 

對於文本分類的文本特征提取,大都采用Filter方法進行特征提取,無論是基於詞頻的VSM方法還是基於語義的方法,大都是通過計算公式對每個特征項進行打分,

最后選擇得分最高的k項形成特征子集。Wrapper方法用的很少,我自己認為是文本特征項數量巨大,對於上述不斷生成特征子集再去評價實在太慢了,wrapper方法

也是因為效率不高而被舍棄。

 

 

注:上述特征選擇常用算法綜述摘自博客 http://www.cnblogs.com/heaad/archive/2011/01/02/1924088.html

 


免責聲明!

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



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