特征选择relief算法介绍
特征選擇relief算法介紹
特征選擇的基礎了解:(可以參考:一篇關于特征選擇的博客)
特征選擇過程一般包括:特征子集產生過程,評價函數,停止準則,驗證過程。
1 特征子集選擇過程:
根據搜索過程的方法的不同,可以將特征選擇分為窮舉、啟發式、隨機幾種方法。以上幾種方法不改變特征的原始屬性,而有些方法通過對特征進行空間變換,去除相關性。比如PCA、傅立葉變換、小波變換等。
2 每種評價函數各有優劣,所以需要根據實際情況進行選擇。根據不同的評價準則,可以分為:過濾器(Filter)模型、封裝器(wrapper)模型以及混合模型。過濾器模型是將特征選擇作為一個預處理過程,利用數據的內在特性對選取的特征子集進行評價,獨立于學習算法。而封裝器模型則將后續學習算法的結果作為特征評價準則的一部分根據評價函數的不同(與采用的分類方法是否關聯),可以將特征選擇分為獨立性準則、關聯性度量。
當數據預處理完成后,我們需要選擇有意義的特征輸入機器學習的算法和模型進行訓練。通常來說,從兩個方面考慮來選擇特征:
特征是否發散:如果一個特征不發散,例如方差接近于0,也就是說樣本在這個特征上基本上沒有差異,這個特征對于樣本的區分并沒有什么用。
特征與目標的相關性:這點比較顯見,與目標相關性高的特征,應當優選選擇。除方差法外,本文介紹的其他方法均從相關性考慮。
根據特征選擇的形式又可以將特征選擇方法分為3種:
Filter:過濾法,按照發散性或者相關性對各個特征進行評分,設定閾值或者待選擇閾值的個數,選擇特征。
Wrapper:包裝法,根據目標函數(通常是預測效果評分),每次選擇若干特征,或者排除若干特征。
Embedded:嵌入法,先使用某些機器學習的算法和模型進行訓練,得到各個特征的權值系數,根據系數從大到小選擇特征。類似于Filter方法,但是是通過訓練來確定特征的優劣。
3 停止準則是與評價函數相關的,當評價函數值達到某個閾值后就可停止搜索。比如對于獨立性準則,可以選擇樣本間平均間距最大;對于關聯性度量,可以選擇使得分類器的準確召回最高作為準則。
4 度量測試數據集上驗證選出來的特征子集的有效性。最好采取與前期選擇方法不相關的度量方法,這樣可以減少其間的耦合。
Relief為一系列算法,它包括最早提出的Relief以及后來拓展的ReliefF和RReliefF,其中RReliefF算法是針對目標屬性為連續值的回歸問題提出的,下面僅介紹一下針對分類問題的Relief和ReliefF算法。
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的增加線性增加,因而運行效率非常高。具體算法如下所示:
由于Relief算法比較簡單,但運行效率高,并且結果也比較令人滿意,因此得到廣泛應用,但是其局限性在于只能處理兩類別數據,因此1994年Kononeill對其進行了擴展,得到了Relief-F作算法,可以處理多類別問題。該算法用于處理目標屬性為連續值的回歸問題。ReliefF算法在處理多類問題時,每次從訓練樣本集中隨機取出一個樣本R,然后從和R同類的樣本集中找出R的k個近鄰樣本(near Hits),從每個R的不同類的樣本集中均找出k個近鄰樣本(near Misses),然后更新每個特征的權重,如下式所示:
Relief系列算法運行效率高,對數據類型沒有限制,屬于一種特征權重算法,算法會賦予所有和類別相關性高的特征較高的權重,所以算法的局限性在于不能有效的去除冗余特征。
總結
以上是生活随笔為你收集整理的特征选择relief算法介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面试题整理(答案从网上找到后整理的)
- 下一篇: 其他对象的表单