Interpretability 與 Explainability 機器學習

「AI秘籍」系列課程:

  • 人工智能應用數學基礎
  • 人工智能Python基礎
  • 人工智能基礎核心知識
  • 人工智能BI核心知識
  • 人工智能CV核心知識

Interpretability 模型和 Explainability 模型之間的區別以及為什么它可能不那么重要

img

當你第一次深入可解釋機器學習領域時,你會注意到類似的術語隨處可見。Interpretability 與Explainability。解釋與說明。我們甚至無法決定該領域的名稱——是可解釋機器學習 (interpretable machine learning - IML) 還是可解釋人工智能 (explainable AI - XAI)?

我們將討論一個定義,并希望澄清一些事情。這就是 Interpretability 模型和 Explainability 模型之間的區別。不過,我們應該警告你……

沒有共性!

部分問題在于 IML 是一個新領域。定義仍在提出和爭論中。機器學習研究人員也很快為已經存在的概念創造新術語。因此,我們將重點關注一個潛在的定義 1

Interpretability 與機器學習模型將原因和結果練習起來的準確性有關,指在機器學習中可以觀察到系統中因果關系(先驗推導)的程度。

Explainability 與隱藏在深層網絡中的參數證明結果的能力有關,是指機器學習的內部機制可以用人類語言解釋(后驗解釋)的程度。

具體來說,我們將:

  • 了解如何將模型分類為 interpretable 或者 explainable
  • 討論 interpretability 的概念及其與此定義的關系
  • 了解該定義的問題以及為什么可能沒有必要使用它來對模型進行分類

Interpretable 機器學習

如果某事物能夠被理解,我們就說它是可解釋的。考慮到這一點,如果一個模型能夠被人類自己理解,我們就說它是可解釋的。我們可以查看模型參數或模型摘要,并準確了解預測是如何做出的。這類模型的另一個術語是intrinsically interpretable model(本質上可解釋的模型)2

Interpretable 模型可以被人類理解,無需任何其他輔助/技術。

決策樹是此類模型的一個很好的例子。圖 1給出了一棵經過訓練的樹,用于預測某人是否會拖欠(是)或不會拖欠(否)汽車貸款。要了解如何做出預測,我們只需遍歷樹的節點即可。

例如,假設一名29 歲、月收入3000 美元的女子提出申請。我們想了解為什么她會通過基于此模型的自動承保系統獲得貸款。此人超過25 歲,所以我們直接進入第一個節點。然后,她的收入≥2000,所以我們再次直接進入 “No” 葉節點。換句話說,該模型預測該學生不會違約,貸款將獲得批準。

在這里插入圖片描述

假設我們還想要一個模型來預測一個人的最大貸款額度(Y)。我們使用一個人的年齡和收入作為特征。使用線性回歸,我們得到以下等式:

Y = 100 × a g e + 10 × i n c o m e + 200 Y = 100 \times age + 10 \times income + 200 Y=100×age+10×income+200

我們可以很容易地看出為什么上述學生的預計最高貸款額為33,100 美元。也就是說,貸款額增加了:

  • 每增加一歲,需支付 100 美元
  • 每增加 1 美元收入就增加 10 美元

因此,就像決策樹一樣,我們可以查看該模型的參數并了解它如何進行預測。這是因為這些模型相對簡單。決策樹有幾個節點,線性回歸模型有 3 個參數。隨著模型變得越來越復雜,我們不再能以這種方式理解它們。

Explainable 機器學習

您可以將 ML 模型視為一個函數。模型特征是輸入,預測是輸出。Explainable 模型是一種人類無法理解的復雜函數。這種模型的另一個名稱是黑盒模型。我們需要一種額外的方法/技術才能窺視黑盒并了解模型的工作原理。

Explainable 模型需要額外的技術才能被人類理解

這種模型的一個例子是隨機森林。隨機森林由許多決策樹組成。在做出最終預測時,會考慮所有單個樹的預測。要了解隨機森林的工作原理,我們必須同時了解所有單個樹的工作原理。即使只有少量的樹,人類也做不到這一點。

在這里插入圖片描述

圖片來源:Satya Mallick & Sunita Nayak

當我們開始研究神經網絡等算法時,事情變得更加復雜。具體來說,用于圖像識別的卷積神經網絡 AlexNet362,378,344 個參數 4。相比之下,我們上面的回歸模型只有3 個參數。人類不可能僅通過查看參數權重來理解 AlexNet 之類的模型的工作原理。

用于理解 explainable 模型的技術

因此,我們需要一些額外的技術來理解這些算法的工作原理。這些包括為特定模型創建的方法。例如,DeepLIFT: https://github.com/kundajelab/deeplift 就是為解釋神經網絡而創建的。它們還包括可應用于任何模型的模型無關方法。這些方法包括 LIME:https://github.com/marcotcr/lime、SHAP: https://github.com/slundberg/shap、PDPs 和 ICE Plots。

在這里插入圖片描述

請記住,即使有了這些技術,我們也無法像使用i nterpretable 模型那樣確定模型的工作原理。這些技術只能提供模型如何進行預測的近似值。它們都有自己的假設和局限性。

這意味著在使用任何技術得出結論時都應保持一定程度的謹慎。如果可能,應結合使用多種技術。還應使用數據可視化和領域知識來驗證結論。

Interpretability

到目前為止,我們已經討論了模型是 interpretable 還是 explainable。然而,應用這個二元標志可能并不總是有意義的。模型的 Interpretability 是一個范圍。如果一個模型比另一個模型更容易讓人理解它的預測方式,那么這個模型就比另一個模型更容易解釋。

Interpretability 是指模型能被人類理解的程度2

圖 2給出了可解釋性頻譜。卷積神經網絡的可解釋性不如隨機森林,而隨機森林的可解釋性又不如決策樹。大多數模型通常可以歸類為可解釋或可解釋的。然而,存在一個灰色區域,人們對此的分類意見不一。

在這里插入圖片描述

定義問題

這個灰色區域是我們發現這個定義的第一個問題。我們可能同意,一個有 2 棵樹的隨機森林是可解釋的。然而,一個有 100 棵樹的隨機森林是不可解釋的。在什么時候(即有多少棵樹),模型從 interpretable 變為 explainable ?即使是具有許多節點的決策樹或具有許多參數的回歸,如果沒有額外的技術,也可能變得過于復雜,人類無法理解。

問題是我們試圖根據人類的理解能力對模型進行分類。沒有正式的方法來衡量這一點。你理解模型的能力取決于你的技術技能和專業經驗。即使在專業人士中,也會有分歧。

另一個問題是我們定義什么為附加技術。為了理解哪怕是最簡單的模型,我們也會尋求其他方法的幫助。例如,在解釋線性回歸的權重時,通常使用相關矩陣。這是否意味著回歸現在是一個 explainable 模型?

顯示高度相關特征的相關熱圖

這就引出了一個問題:我們真的需要這個定義嗎?IML 的目標是理解和解釋我們的模型。我們不需要將它們歸類為 interpretable 或 explainable。我們選擇的方法最終將取決于模型的類型和我們尋求回答的具體問題。

參考


  1. C. Rudin, Stop explaining black-box machine learning models for high stakes decisions and use interpretable models instead (2019), https://arxiv.org/abs/1811.10154 ??

  2. C. Molnar, Interpretable Machine Learning: A Guide for Making Black Box Models Explainable (2023), Chapter 3: Interpretability, https://christophm.github.io/interpretable-ml-book/taxonomy-of-interpretability-methods.html ?? ??

  3. AlexNet, https://en.wikipedia.org/wiki/AlexNet ??

  4. S. Mallick & S. Nayak, Number of Parameters and Tensor Sizes in a Convolutional Neural Network (CNN) (2018), https://www.learnopencv.com/number-of-parameters-and-tensor-sizes-in-convolutional-neural-network/ ??

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

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

相關文章

Zabbix配置文件中Server和ServerActive參數講解

目錄 參數總結 實例: Zabbix Server 配置 (zabbix_server.conf) Zabbix Agent 配置 (zabbix_agentd.conf) 配置文件解析 實際應用 Zabbix Server 配置文件 (zabbix_server.conf) 對代理端的影響 1. Server 參數 2. ServerActive 參數 Zabbix Agent 配置文…

ubuntu 22 安裝 lua 環境 編譯lua cjson 模塊

在 windows 下使用 cygwin 編譯 lua 和 cjson 簡直就是災難,最后還是到 ubuntu 下完成了。 1、下載lua源碼(我下載的 5.1 版本,后面還有一個小插曲), 直接解壓編譯,遇到一個 readline.h not found 的問題,需要安裝 re…

python使用langchain整合通義千文

首先pip安裝langchain和dashscope pip install langchain pip install langchain_community pip install dashscope --upgrade然后測試一下運行效果 from langchain_community.chat_models.tongyi import ChatTongyi from langchain.schema import HumanMessage #api_key可以…

如何使用C++中的內聯函數和編譯器優化

在C中,內聯函數(inline functions)是一種請求編譯器嘗試在調用點將函數體展開,而不是按照常規函數調用的方式(即產生調用指令、保存寄存器、棧幀操作等)來執行的特殊函數。內聯函數主要用于小的、頻繁調用的…

CentOS命令格式及常用命令

在CentOS中,系統目錄結構遵循了標準的Linux文件系統層次結構(Filesystem Hierarchy Standard,FHS)。下面是CentOS系統中一些重要的目錄及其用途的介紹: 1. /(根目錄):整個文件系統的…

207 課程表

題目 你這個學期必須選修 numCourses 門課程,記為 0 到 numCourses - 1 。 在選修某些課程之前需要一些先修課程。 先修課程按數組 prerequisites 給出,其中 prerequisites[i] [ai, bi] ,表示如果要學習課程 ai 則 必須 先學習課程 bi 。 …

ArcGIS Pro SDK (七)編輯 13 注解

ArcGIS Pro SDK (七)編輯 13 注解 文章目錄 ArcGIS Pro SDK (七)編輯 13 注解1 注釋構建工具2 以編程方式啟動編輯批注3 更新批注文本4 修改批注形狀5 修改批注文本圖形6 接地到網格 環境:Visual Studio 2022 .NET6 …

在 PostgreSQL 中,如何處理數據的版本控制?

文章目錄 一、使用時間戳字段進行版本控制二、使用版本號字段進行版本控制三、使用歷史表進行版本控制四、使用 RETURNING 子句獲取更新前后的版本五、使用數據庫觸發器進行版本控制 在 PostgreSQL 中,處理數據的版本控制可以通過多種方式實現,每種方式都…

ensorFlow是由Google開發的

TensorFlow是由Google開發的一個開源的深度學習框架。它提供了一種靈活且高效的方法來構建、訓練和部署各種機器學習模型。 TensorFlow的基本概念是計算圖(computational graph)。在TensorFlow中,用戶通過定義計算圖來描述模型的結構和計算流…

JVM(Java虛擬機)詳解(JVM 內存模型、堆、GC、直接內存、性能調優)

JVM(Java虛擬機) JVM 內存模型 結構圖 jdk1.8 結構圖(極簡) jdk1.8 結構圖(簡單) JVM(Java虛擬機): 是一個抽象的計算模型。如同一臺真實的機器,它有自己…

思維導圖插件--jsMind的使用

vue引入jsmind(右鍵菜單)_jsmind.menu.js-CSDN博客 第一版 vue-JsMind思維導圖實現(包含鼠標右鍵自定義菜單)_jsmind 右鍵菜單-CSDN博客 // 新增節點addNode() {console.log(this.get_selected_nodeid());this.get_selected_…

Vue的學習之數據與方法

前段期間&#xff0c;由于入職原因沒有學習&#xff0c;現在已經正式入職啦&#xff0c;接下來繼續加油學習。 一、數據與方法 文字備注已經在代碼中&#xff0c;方便自己學習和理解 <!DOCTYPE html> <html><head><meta charset"utf-8">&l…

如何使用HippoRAG增強LLM的記憶

大型語言模型&#xff08;LLM&#xff09;已經證明是一種非常寶貴的思考工具。經過大量文本、代碼和其他媒體數據集的訓練&#xff0c;它們能夠創作出接近人類水平的文章、翻譯語言、生成圖像&#xff0c;還能以信息豐富的方式回答人們提出的問題&#xff0c;甚至可以編寫不同類…

SQLite 附加數據庫

SQLite 附加數據庫 SQLite 是一種輕量級的數據庫管理系統,因其小巧、快速和易于使用而廣受歡迎。在 SQLite 中,可以將多個數據庫文件附加到單個數據庫連接中,從而允許用戶在不同的數據庫之間輕松切換和操作數據。本文將詳細介紹如何在 SQLite 中附加數據庫,并探討其使用場…

CANopen協議開發梳理總結筆記教程

0、提醒 CANOpen使用時&#xff0c;需要清楚什么是大端和小端&#xff0c;這對于CANOpen數據發送及解析時&#xff0c;有很大的幫助。且學習開發CANOpen時&#xff0c;需要具備一定的CAN基礎。 1、CANOpen協議介紹 ①、什么是CANOpen協議 CANOpen協議是一種架構在控制局域網絡…

基于CLIP特征的多模態大模型中的視覺短板問題

【論文極速讀】 基于CLIP特征的多模態大模型中的視覺短板問題 FesianXu 20240706 at Tencent WeChat search team 前言 今天讀到篇CVPR 24’的論文 [1]&#xff0c;討論了常見的多模態大模型&#xff08;大多都基于CLIP語義特征&#xff0c;以下簡稱為MLLM&#xff09;中的視覺…

若依 / ruoyi-ui:執行yarn dev 報錯 esnext.set.difference.v2.js in ./src/utils/index.js

一、報錯信息 These dependencies were not found: * core-js/modules/esnext.set.difference.v2.js in ./src/utils/index.js * core-js/modules/esnext.set.intersection.v2.js in ./src/utils/index.js * core-js/modules/esnext.set.is-disjoint-from.v2.js in ./src/utils…

Python處理表格數據常用的 N+個操作

Python作為一種強大且易用的編程語言&#xff0c;其在數據處理方面表現尤為出色。特別是當我們面對大量的表格數據時&#xff0c;Python的各類庫和工具可以極大地提高我們的工作效率。以下&#xff0c;我將詳細介紹Python處理表格數據常用的操作。 首先&#xff0c;我們需要安…

2024.7.5總結

今晚的總結是在圖書館前的梯子上寫的&#xff0c;我多次輾轉&#xff0c;可能是我最后一次看看這個學校了&#xff0c;明天就要踏上回家的旅途了。還有半個月入職&#xff0c;干脆回家看看&#xff0c;畢竟&#xff0c;工作以后機會不多了。 下午的時候&#xff0c;用順豐寄了…

復現YOLO_ORB_SLAM3_with_pointcloud_map項目記錄

文章目錄 1.環境問題2.遇到的問題2.1編譯問題1 monotonic_clock2.2 associate.py2.3 associate.py問題 3.運行問題 1.環境問題 首先環境大家就按照github上的指定環境安裝即可 環境怎么安裝網上大把的資源&#xff0c;自己去找。 2.遇到的問題 2.1編譯問題1 monotonic_cloc…