Relief 特徵選擇演算法簡單介紹

這孩子誰懂哈發表於2018-08-08

relief演算法

Relief演算法最早由Kira提出,最初侷限於兩類資料的分類問題。Relief演算法是一種特徵權重演算法(Feature weighting algorithms),根據各個特徵和類別的相關性賦予特徵不同的權重,權重小於某個閾值的特徵將被移除。Relief演算法中特徵和類別的相關性是基於特徵對近距離樣本的區分能力。演算法從訓練集D中隨機選擇一個樣本R,然後從和R同類的樣本中尋找最近鄰樣本H,稱為Near Hit,從和R不同類的樣本中尋找最近鄰樣本M,稱為NearMiss,然後根據以下規則更新每個特徵的權重:如果R和Near Hit在某個特徵上的距離小於R和Near Miss上的距離,則說明該特徵對區分同類和不同類的最近鄰是有益的,則增加該特徵的權重;反之,如果R和Near Hit在某個特徵的距離大於R和Near Miss上的距離,說明該特徵對區分同類和不同類的最近鄰起負面作用,則降低該特徵的權重。以上過程重複m次,最後得到各特徵的平均權重。特徵的權重越大,表示該特徵的分類能力越強,反之,表示該特徵分類能力越弱。Relief演算法的執行時間隨著樣本的抽樣次數m和原始特徵個數N的增加線性增加,因而執行效率非常高。

ReliefF演算法

由於Relief演算法比較簡單,但執行效率高,並且結果也比較令人滿意,因此得到廣泛應用,但是其侷限性在於只能處理兩類別資料,因此1994年Kononeill對其進行了擴充套件,得到了ReliefF作演算法,可以處理多類別問題。該演算法用於處理目標屬性為連續值的迴歸問題。ReliefF演算法在處理多類問題時,每次從訓練樣本集中隨機取出一個樣本R,然後從和R同類的樣本集中找出R的k個近鄰樣本(near Hits),從每個R的不同類的樣本集中均找出k個近鄰樣本(near Misses),然後更新每個特徵的權重

相關文章