特徵選擇算法-Relief

    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的增長線性增長,於是運行效率很是高。具體算法以下所示:算法

https://images0.cnblogs.com/blog/79603/201308/29173431-34ed1713754f42e9a875eaa2e4049f8e.jpg

    因爲Relief算法比較簡單,但運行效率高,而且結果也比較使人滿意,所以獲得普遍應用,可是其侷限性在於只能處理兩類別數據,所以1994年Kononeill對其進行了擴展,獲得了ReliefF做算法,能夠處理多類別問題。該算法用於處理目標屬性爲連續值的迴歸問題。ReliefF算法在處理多類問題時,每次從訓練樣本集中隨機取出一個樣本R,而後從和R同類的樣本集中找出R的k個近鄰樣本(near Hits),從每一個R的不一樣類的樣本集中均找出k個近鄰樣本(near Misses),而後更新每一個特徵的權重,以下式所示:3d

https://images0.cnblogs.com/blog/79603/201308/29173617-b9db490cd1b84472a5583ac52d3df72b.jpg

https://images0.cnblogs.com/blog/79603/201308/29173649-320dfe76b46e4c1097edb518dacea888.jpg

相關文章
相關標籤/搜索