機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?

2021-02-27    分類: 網(wǎng)站建設(shè)

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

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

當(dāng)一個(gè)「舊」概念被應(yīng)用到另一個(gè)領(lǐng)域,如機(jī)器學(xué)習(xí),關(guān)于它是如何獲得新的應(yīng)用是非常有趣的。在機(jī)器學(xué)習(xí)中,參與者是你輸入的特征,而集體支出是模型預(yù)測(cè)。在這種情況中,Shapley 值用于計(jì)算每個(gè)單獨(dú)的特征對(duì)模型輸出的貢獻(xiàn)。

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

乍一看,這個(gè)公式似乎并沒有變?nèi)菀?,但?qǐng)不要著急。很快,我將分解方程的不同部分,以便理解它們,但我們也可以定義一個(gè)具體的場(chǎng)景,我們可以使用它來讓所有部分都不那么抽象。

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

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

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

機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?

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

機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?

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

機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?

機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?

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

機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?

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

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

機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?

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

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

機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?

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

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

機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?

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

好了,我們差不多結(jié)束了,我們只有 Shapley 值方程的最后一部分要分解,這一點(diǎn)也應(yīng)該很容易理解。

機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?

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

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

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

機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?

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

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

機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?

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

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

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

名稱欄目:機(jī)器學(xué)習(xí)中的 Shapley 值怎么理解?
網(wǎng)址分享:http://www.muchs.cn/news49/103299.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站排名電子商務(wù)、全網(wǎng)營(yíng)銷推廣、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)