ReliefF 的原理


🌟 ReliefF 是什么?

ReliefF 是一種“基于鄰居差異”的特征選擇方法,用來評估每個特征對分類任務的貢獻大小。

它的核心問題是:

“我怎么知道某個特征是不是重要?是不是有能力把不同類別的數據區分開?”

而 ReliefF 的思路是:

“我拿一個樣本,看看它和同類樣本在特征上是否接近,和異類樣本是否遠離。如果某個特征能保持‘同類接近、異類遠離’,那這個特征就重要!”


? 用生活例子解釋一下

假如你想根據一堆人的特征(如身高、體重、發色、學歷等)來判斷他們是否是“運動員”,現在你想知道哪個特征最有用。

假設場景:

  • 你隨機選中一個人小張,他是個運動員;
  • 你找到一個離他最像的非運動員(比如小李),再找一個最像的運動員(小王);
  • 比較小張和小王、小李在每個特征上的差別:
    • 如果“身高”在小張和小王之間很接近、而和小李差很多,就說明“身高”可能是個好特征;
    • 如果“發色”在三人之間都差不多,那“發色”可能沒啥用。

🧠 原理分解(逐步詳解)

? 目標:

計算每個特征 A A A 的一個權重分數 W [ A ] W[A] W[A],表示該特征的區分能力。


? 基本流程:

假設你有 m m m 個樣本、 d d d 個特征:

  1. 初始化所有特征的權重為 0
  2. 重復 N N N 次(采樣 N N N 個樣本):
    1. 隨機選一個樣本 x i x_i xi?
    2. 找到:
      • 最近的同類樣本(Hit)
      • 最近的異類樣本(Miss)
    3. 對每個特征 A A A
      • 減去 x i x_i xi? 與 Hit 的特征差異(越像越好,差異越小越重要)
      • 加上 x i x_i xi? 與 Miss 的特征差異(越不像越好,差異越大越重要)

公式是這樣的(簡化寫法):
W [ A ] = W [ A ] ? diff ( A , x i , Hit ) + diff ( A , x i , Miss ) W[A] = W[A] - \text{diff}(A, x_i, \text{Hit}) + \text{diff}(A, x_i, \text{Miss}) W[A]=W[A]?diff(A,xi?,Hit)+diff(A,xi?,Miss)

最終, W [ A ] W[A] W[A] 越大的特征,越有能力幫助分類。


? diff 怎么算?

對于一個特征 A A A 和兩個樣本 x i x_i xi?, x j x_j xj?

  • 如果 A A A 是連續型特征:
    diff ( A , x i , x j ) = ∣ x i [ A ] ? x j [ A ] ∣ max ( A ) ? min ( A ) \text{diff}(A, x_i, x_j) = \frac{|x_i[A] - x_j[A]|}{\text{max}(A) - \text{min}(A)} diff(A,xi?,xj?)=max(A)?min(A)xi?[A]?xj?[A]?
  • 如果 A A A 是離散型特征:
    diff ( A , x i , x j ) = { 1 , 若? x i [ A ] ≠ x j [ A ] 0 , 若? x i [ A ] = x j [ A ] \text{diff}(A, x_i, x_j) = \begin{cases} 1, & \text{若 } x_i[A] \ne x_j[A] \\ 0, & \text{若 } x_i[A] = x_j[A] \end{cases} diff(A,xi?,xj?)={1,0,??xi?[A]=xj?[A]?xi?[A]=xj?[A]?

🧠 那 ReliefF 比原版 Relief 好在哪?

ReliefF 是對原始 Relief 的擴展,它有幾個改進點:

原版 ReliefReliefF 改進點
只能處理二分類問題支持多分類
只找一個 Hit 和 Miss可以找多個(k 個)Hit 和 Miss,平均效果更穩定
對噪聲敏感多鄰居平均后更魯棒
不能處理缺失值ReliefF 支持缺失值插補

? 總結一句話:

ReliefF 本質上是用“鄰居之間的特征差異”來衡量一個特征的重要性:
如果同類越像、異類越不像,就說明這個特征越有區分能力,權重越高。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/76738.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/76738.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/76738.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

?asm匯編源代碼之-漢字點陣字庫顯示程序源代碼下載?

漢字點陣字庫顯示程序 源代碼下載 文本模式下顯示16x16點陣漢字庫內容的程序(標準16x16字庫需要使用CHGHZK轉換過后才能使用本程序正常顯示) 本程序需要調用file.asm和string.asm中的子程序,所以連接時需要把它們連接進來,如下 C:\> tlink showhzk file string 調用參…

【已更新完畢】2025泰迪杯數據挖掘競賽B題數學建模思路代碼文章教學:基于穿戴裝備的身體活動監測

基于穿戴裝備的身體活動監測 摘要 本研究基于加速度計采集的活動數據,旨在分析和統計100名志愿者在不同身體活動類別下的時長分布。通過對加速度數據的處理,活動被劃分為睡眠、靜態活動、低強度、中等強度和高強度五類,進而計算每個志愿者在…

Ubuntu24.04裝機安裝指南

文章目錄 Ubuntu24.04裝機安裝指南一、分區說明二、基礎軟件三、使用fcitx5配置中文輸入法四、安裝搜狗輸入法【**不推薦**】1. 安裝fcitx2. 安裝輸入法 五、禁用/home目錄下自動生成文件夾六、更新軟件源1. 針對**新配置方式**的清華源替換方法2. 針對**老配置方式**的清華源替…

互聯網三高-數據庫高并發之分庫分表ShardingJDBC

1 ShardingJDBC介紹 1.1 常見概念術語 ① 數據節點Node:數據分片的最小單元,由數據源名稱和數據表組成 如:ds0.product_order_0 ② 真實表:再分片的數據庫中真實存在的物理表 如:product_order_0 ③ 邏輯表&#xff1a…

BM25、BGE以及text2vec-base-chinese的區別

BM25、BGE以及text2vec-base-chinese的區別 BM25 原理:BM25(Best Matching 25)是一種基于概率檢索模型的算法,它通過考慮查詢詞與文檔之間的匹配程度、文檔的長度等因素,來計算文檔對于查詢的相關性得分。具體來說,它會給包含查詢詞次數較多、文檔長度適中的文檔更高的分…

Python中try用法、內置異常類型與自定義異常類型拓展

目錄 try介紹與語法格式try具體使用案例except的異常類型簡介案例內置的常見異常類型自定義異常類型繼承關系用途 注意事項 try介紹與語法格式 在 Python 里,try 語句主要用于異常處理,其作用是捕獲并處理代碼運行期間可能出現的異常,避免程…

【第41節】windows的中斷與異常及異常處理方式

目錄 一、中斷與異常處理 1.1 中斷與異常 1.2 IDT 1.3 異常的概念 1.4 異常分類 二、windows異常處理方式 2.1 概述 2.2 結構化異常處理 2.3 向量化異常處理之VEH 2.4 向量化異常處理之VCH 2.5 默認的異常處理函數 2.6 如何手動安裝 SEH 節點 2.7 異常處理的優先級…

分布式日志治理:Log4j2自定義Appender寫日志到RocketMQ

🧑 博主簡介:CSDN博客專家,歷代文學網(PC端可以訪問:https://literature.sinhy.com/#/?__c1000,移動端可微信小程序搜索“歷代文學”)總架構師,15年工作經驗,精通Java編…

【HTML】html文件

HTML文件全解析:搭建網頁的基石 在互聯網的廣袤世界里,每一個絢麗多彩、功能各異的網頁背后,都離不開HTML文件的默默支撐。HTML,即超文本標記語言(HyperText Markup Language),作為網頁創建的基…

oracle命令上下左右鍵無法使用如何解決?

1、問題如圖 2、解決辦法 (1) 安裝readline yum -y install readline* (2)安裝 rlwrap ##下載 wget http://files.cnblogs.com/files/killkill/rlwrap-0.30.tar.gz.zip ##解壓 tar -xzvf rlwrap-0.30.tar.gz.zip ##編譯安裝 ./configure make &&…

vue事假機制都有哪些

Vue 的事件機制主要包含以下幾種類型和方式,可以分為組件內部事件、父子組件通信事件、原生 DOM 事件封裝、修飾符增強等,下面詳細分類介紹: 一、DOM 事件綁定(最基礎的事件) 使用 v-on(或簡寫 &#xff0…

系統編程2(消息隊列)

? 消息隊列概念 Linux系統中消息隊列(Message Queue)是進程間通信的一種方式,這種通信機制的好處是可以傳輸指定類型(用戶可以自行定義)的數據,相同類型的數據根據到達順序在隊列中進行排隊。 當然,不同類型的數據不…

Pytorch深度學習框架60天進階學習計劃 - 第41天:生成對抗網絡進階(二)

Pytorch深度學習框架60天進階學習計劃 - 第41天:生成對抗網絡進階(二) 7. 實現條件WGAN-GP # 訓練條件WGAN-GP def train_conditional_wgan_gp():# 用于記錄損失d_losses []g_losses []# 用于記錄生成樣本的多樣性(通過類別分…

python 微博爬蟲 01

起因, 目的: ?下載單個視頻,完成。? 獲取某用戶的視頻列表,完成。剩下的就是, 根據視頻列表,逐個下載視頻,我沒做,沒意思。獲取視頻的評論,以后再說。 關鍵點記錄: 1. 對一個視…

Servlet、HTTP與Spring Boot Web全面解析與整合指南

目錄 第一部分:HTTP協議與Servlet基礎 1. HTTP協議核心知識 2. Servlet核心機制 第二部分:Spring Boot Web深度整合 1. Spring Boot Web架構 2. 創建Spring Boot Web應用 3. 控制器開發實踐 4. 請求與響應處理 第三部分:高級特性與最…

vue中根據html動態渲染內容2.0

上次使用的是p標簽用的contenteditable代替的可編輯的input,最后實現還是選擇了用el-input的textarea方式。 一開始考慮的是需要根據用戶輸入自動撐開輸入框,所以選擇了p標簽可編輯。 最后發現還是el-input會更好一點,只不過需要處理輸入框撐…

CentOS 系統磁盤擴容并掛載到根目錄(/)的詳細步驟

在使用 CentOS 系統時,經常會遇到需要擴展磁盤空間的情況。例如,當虛擬機的磁盤空間不足時,可以通過增加磁盤容量并將其掛載到根目錄(/)來解決。以下是一個完整的操作流程,詳細介紹了如何將新增的 10G 磁盤…

LINUX基礎 [二] - Linux常見指令

目錄 💻前言 💻指令 🎮ls指令 🎮pwd指令 🎮whoami指令 🎮cd指令 🎮clear指令 🎮touch指令 🎮mkdir指令 🎮rmdir指令 🎮rm指令 &#…

基于php的成績分析和預警與預測網站(源碼+lw+部署文檔+講解),源碼可白嫖!

摘要 人類現已邁入二十一世紀,科學技術日新月異,經濟、資訊等各方面都有了非常大的進步,尤其是資訊與網絡技術的飛速發展,對政治、經濟、軍事、文化、教育等各方面都有了極大的影響。 利用電腦網絡的這些便利,發展一套…

《從底層邏輯剖析:分布式軟總線與傳統計算機硬件總線的深度對話》

在科技飛速發展的當下,我們正見證著計算機技術領域的深刻變革。計算機總線作為信息傳輸的關鍵樞紐,其發展歷程承載著技術演進的脈絡。從傳統計算機硬件總線到如今備受矚目的分布式軟總線,每一次的變革都為計算機系統性能與應用拓展帶來了質的…