偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

機器學習中的 Shapley 值怎么理解?

人工智能 機器學習
我第一次聽說 Shapley 值是在學習模型可解釋性的時候。我知道了 SHAP,它是一個框架,可以更好地理解為什么機器學習模型會那樣運行。

[[282454]]

我第一次聽說 Shapley 值是在學習模型可解釋性的時候。我知道了 SHAP,它是一個框架,可以更好地理解為什么機器學習模型會那樣運行。事實證明,Shapley 值已經(jīng)存在了一段時間,它們最早起源于 1953 年的博弈論領域,目的是解決以下情況:

  • 一群擁有不同技能的參與者為了集體獎勵而相互合作。那么,如何在小組中公平分配獎勵?

當一個「舊」概念被應用到另一個領域,如機器學習,關于它是如何獲得新的應用是非常有趣的。在機器學習中,參與者是你輸入的特征,而集體支出是模型預測。在這種情況中,Shapley 值用于計算每個單獨的特征對模型輸出的貢獻。

如何計算 Shapley 值?大多數(shù)時候,你傾向于在文獻中看到這個等式:

機器學習中的 Shapley 值怎么理解?

讓我們把它分解一下。在一個聯(lián)盟游戲(前面描述的場景)中,我們有一組 N 個玩家。我們還有一個函數(shù) v,它給出了這些參與者的任何子集的值,也就是說,S 是 N 的子集,然后 v(S)給出了該子集的值。因此,對于一個聯(lián)合博弈(N,v),我們可以使用這個方程來計算玩家 i 的貢獻,即 Shapley 值。

現(xiàn)在我不知道你會怎么想,但當我第一次遇到這個等式時,我的第一反應如下圖:

[[282456]]

我很難理解為什么它看起來是這樣的。我花了一些時間研究之后,終于開始有了一些理解。所以,我們開始吧!

好吧,我們要做的第一件事是重寫初始方程:

機器學習中的 Shapley 值怎么理解?

乍一看,這個公式似乎并沒有變容易,但請不要著急。很快,我將分解方程的不同部分,以便理解它們,但我們也可以定義一個具體的場景,我們可以使用它來讓所有部分都不那么抽象。

假設我們經(jīng)營一家生產(chǎn)磚塊的工廠。我們的一個生產(chǎn)團隊由四個人組成:Amanda、Ben、Claire 和 Don(從現(xiàn)在起,我將以他們名字中的第一個字母來稱呼他們)。每周他們一起設法生產(chǎn)出 X 塊磚。由于我們工廠運轉良好,我們有一筆獎金要發(fā)給隊員們。但是,為了讓我們以公平的方式做到這一點,我們需要弄清楚每個人對每周生產(chǎn) X 數(shù)量的磚塊貢獻了多少。

最困難的是,我們有好幾個因素都會影響團隊可以生產(chǎn)的磚塊數(shù)量。其中之一是團隊規(guī)模,因為團隊規(guī)模越大,生產(chǎn)的磚塊就越多。另一個可能是團隊成員之間的合作程度。問題是,我們無法以有意義的方式量化這些影響,但幸運的是,我們可以使用 Shapley 值來回避這個問題。

我們現(xiàn)在已經(jīng)定義了我們的玩家(A、B、C 和 D)以及他們參與的游戲(生產(chǎn)磚塊)。讓我們從計算生產(chǎn)的 X 磚中有多少可以歸于 Don 開始,即計算 D 的 Shapley 值。如果我們把它與 Shapley 值公式的參數(shù)聯(lián)系起來,我們就得到:

機器學習中的 Shapley 值怎么理解?

所以 D 是我們的球員 i,整個 N 組由所有四個隊員 A,B,C 和 D 組成,我們先看一下 Shapley 值公式的這一部分:

機器學習中的 Shapley 值怎么理解?

也就是說,我們需要把我們的團隊成員排除在我們現(xiàn)在關注的人之外。然后,我們需要考慮所有可能形成的子集。所以如果我們從組中排除 D,我們就只剩下 {A,B,C}。從這個剩余的組中,我們可以形成以下子集:

機器學習中的 Shapley 值怎么理解?

機器學習中的 Shapley 值怎么理解?

我們總共可以構造出其余團隊成員的 8 個不同子集。其中一個子集是空集,即它沒有任何成員。現(xiàn)在讓我們把注意力轉移到這個部分:

機器學習中的 Shapley 值怎么理解?

這是我們 Shapley 值的一個基本概念的應用:在游戲中增加玩家 i 的邊際價值。所以對于任何給定的子集,我們要比較它的值和當包括玩家 i 的時候它的值。通過這樣做,我們得到了將玩家 i 添加到該子集的邊際值。

我們把它和我們的例子聯(lián)系起來,想看看如果我們把 D 加到 8 個子集中的每一個子集上,每周生產(chǎn)的磚塊數(shù)量有什么不同。我們可以將這 8 個邊緣值直觀地表示為:

機器學習中的 Shapley 值怎么理解?

你可以將每種情況都視為我們需要觀察的不同場景,以便公平地評估 D 對整個生產(chǎn)的貢獻程度。這意味著,我們需要觀察如果沒有人工作(即空集合)會產(chǎn)生多少磚塊,并將其與只有 D 工作時的情況進行比較。我們還需要觀察 AB 產(chǎn)生的磚塊數(shù)量,并將其與 AB 產(chǎn)生的磚塊數(shù)量以及所有 8 個集合中 D 可以產(chǎn)生的磚塊數(shù)量進行比較。

好吧,我們現(xiàn)在已經(jīng)知道我們需要計算 8 個不同的邊緣值。Shapley 值方程告訴我們,我們需要把它們加在一起。然而,在我們做這些之前,我們還需要調整每一個邊際值,從等式的這一部分可以看出:

 

機器學習中的 Shapley 值怎么理解?

它計算出除玩家 i 以外的所有剩余團隊成員的子集的排列可以有多少個。或者換句話說:如果你有| N |-1 個玩家,你能用它們組成多少個| S |大小的組?然后我們用這個數(shù)字除以玩家 i 對所有大小為| S |的群體的邊際貢獻。

在我們的場景中,| N |-1=3,也就是說,當我們計算 D 的 Shapley 值時,這些是剩下的團隊成員數(shù)量。在我們的例子中,我們將使用等式的那一部分來計算我們可以形成多少個 0、1、2 和 3 大小的組,因為這些只是我們可以用剩下的成員構造的組大小。因此,例如,如果有| S |=2,那么我們可以構造 3 個不同的大小為 2 的組:AB、BC 和 CA。這意味著我們應該對 8 個邊緣值中的每一個應用以下比例因子:

機器學習中的 Shapley 值怎么理解?

讓我們思考一下為什么要這樣做。我們想知道 D 對團隊總產(chǎn)出的貢獻有多大。為了做到這一點,我們計算了他對我們所能形成的團隊中每個集合的貢獻。通過添加這個比例因子,我們平均了其他團隊成員對每個子集大小的影響。這意味著,當我們將 D 加入到一個 0,1,2 和 3 大小的團隊中時,我們能夠捕獲這些團隊的平均邊際貢獻。

好了,我們差不多結束了,我們只有 Shapley 值方程的最后一部分要分解,這一點也應該很容易理解。

機器學習中的 Shapley 值怎么理解?

我們需要應用到所有的邊際值,然后才能求和。我們必須把它們和總隊員數(shù)分開。

我們?yōu)槭裁匆@么做?好吧,如果我們看看磚廠的例子,我們已經(jīng)平均出了其他團隊成員對每個子集大小的影響,這樣我們就可以算出 D 對 0、1、2 和 3 大小的組的貢獻。最后一塊拼圖是平均小組規(guī)模的影響,也就是說,D 貢獻了多少與小組規(guī)模無關。

我們現(xiàn)在終于可以計算出 D 的 Shapley 值了,我們觀察到他對團隊中所有不同的子集的貢獻是多少。我們還對團隊成員組成和團隊規(guī)模的影響進行了平均,這最終允許我們計算:

機器學習中的 Shapley 值怎么理解?

數(shù)學符號更多的是一個圖形化的說明,而不是一個數(shù)學的說明(這是我在腦海中想象它的方式)

在這里,我們得到了 D 的 Shapley 值。在我們?yōu)閳F隊的其他成員完成這項工作之后,我們將知道每個人對每周生產(chǎn)的 X 塊磚的貢獻,這樣我們就可以在所有團隊成員中公平地分配獎金。

機器學習中的 Shapley 值怎么理解?

在這一點上,我希望你對 Shapley 的價值觀有了更好的理解。很酷的是,我們不需要知道任何關于值函數(shù) v 內部工作原理,只需要觀察它為不同子集提供的值,我們可以從參與游戲的玩家中得到這些值。

這才是 Shapley 值背后真正的力量和吸引力。然而,這是有代價的。對于一組參與游戲的 n 個玩家,你將需要分析 2^n 個子集才能計算 Shapley 值。

有一些方法可以使計算更加實際可行,在引言中我提到了 SHAP 框架,它的主要優(yōu)點是,當將 Shapley 值應用于機器學習時,它能夠更有效地計算 Shapley 值。

本文轉自雷鋒網(wǎng),如需轉載請至雷鋒網(wǎng)官網(wǎng)申請授權。

責任編輯:未麗燕 來源: 雷鋒網(wǎng)
相關推薦

2020-07-27 08:00:01

機器學習技術人工智能

2024-08-07 08:24:57

2024-11-04 14:33:04

機器學習SHAP黑盒模型

2024-03-21 08:00:00

機器學習人工智能

2020-10-31 17:16:31

機器學習數(shù)據(jù)缺失數(shù)據(jù)科學

2020-11-02 10:54:18

機器學習技術人工智能

2021-02-03 09:21:59

SQL機器學習ML

2020-10-13 14:38:50

機器學習數(shù)據(jù)

2015-08-12 15:31:18

人工智能深度學習Fackbook

2014-08-22 10:06:46

機器學習

2017-03-22 12:25:29

機器學習梯度下降法

2017-05-09 08:18:11

機器學習損失函數(shù)正則化

2017-10-20 23:41:51

區(qū)塊鏈機器學習神經(jīng)網(wǎng)絡

2014-07-15 09:36:55

機器學習

2014-07-04 10:05:57

機器學習

2017-09-23 15:28:32

JavaOptional方法

2018-08-05 06:48:34

2024-08-26 14:23:56

2021-11-30 22:51:36

機器學習大數(shù)據(jù)技術

2022-09-06 15:00:09

機器學習集成數(shù)據(jù)集
點贊
收藏

51CTO技術棧公眾號