機器學習可解釋性01--shap

摘要

本文介紹shap原理萎津,并給出一個簡單的示例揭示shap值得計算過程致盟;
然后介紹如何將shap值轉化為我們更容易理解的概率犀斋。

什么是shap

image.png

讓機器學習獲得可解釋性润努,能夠計算出每個特征對結果的一個貢獻度。
shap的論文
github鏈接
參考blog

shap的理論是什么

博弈論和機器學習

SHAP值基于Shapley值鱼冀,Shapley值是博弈論中的一個概念报破。但博弈論至少需要兩樣東西:一個游戲和一些玩家悠就。這如何應用于機器學習的可解釋性?假設我們有一個預測模型充易,然后:

“游戲”是復現(xiàn)模型的結果

“玩家”是模型中包含的特征

Shapley所做的是量化每個玩家對游戲的貢獻梗脾。SHAP所做的是量化每個特征對模型所做預測的貢獻。

需要強調的是盹靴,我們所謂的“游戲”只涉及單一的觀察樣本炸茧。一個游戲:一個觀察樣本。實際上稿静,SHAP是關于預測模型的局部可解釋性的梭冠。

冪集

特征的power set(冪集)
舉個例子,我們可以想象一個機器學習模型(假設是線性回歸改备,但也可以是其他任何機器學習算法)控漠,知道這個人的年齡、性別和工作悬钳,它可以預測一個人的收入盐捷。

Shapley值是基于這樣一種想法,即應該考慮每個玩家可能的組合的結果來決定單個玩家的重要性默勾。在我們的例子中碉渡,這對應于f特征的每個可能組合(f從0到F, F是所有可用特征的數(shù)量)母剥。

在數(shù)學中滞诺,這被稱為“power set”,可以用有向無環(huán)圖表示

示例

通過年齡环疼、工作习霹、性別來預測收入的模型

  • 第一步:對特征構建冪集如下:


    image.png
  • 第二步:根據(jù)構建的冪集分別構建模型
  • 第三步:計算一個樣本的關于年齡的shap值如下
    將該樣本輸入模型得到不同的結果如下:


    image.png

先計算年齡的貢獻度


image.png

通過GAG計算權值


image.png

最后得到年齡的shap值


image.png

分別計算各個特征的shap值如下:
SHAP_Age(x?) = -11.33k $

SHAP_Gender(x?) = -2.33k $

SHAP_Job(x?) = +46.66k $

給出計算shap值得公式如下:

image.png
  • 通常情況下對于單個樣本得到的shap值可以表示如下:


    image.png

    或者如下:


    image.png

    或者以表格的形式出現(xiàn)
    image.png

如何將shap值以概率的形式進行展示

參考博文
示例:將shap值進行概率轉換,然后計算差值炫隶,看該特征是否增加了生存的概率

image.png

讓我們以一個個體為例序愚。假設已知除年齡外的所有變量,其SHAP和為0〉认蓿現(xiàn)在假設年齡的SHAP值是2爸吮。

我們只要知道f()函數(shù)就可以量化年齡對預測的生存概率的影響:它就是f(2)-f(0)。在我們的例子中望门,f(2)-f(0) = 80%-36% = 44%

毫無疑問形娇,生存的概率比SHAP值更容易被理解。
概率計算公式:


image.png

最終得出每個樣本的各個特征的shap值


image.png

為什么同樣特征下不同樣本的概率不一樣筹误?

擁有一張三等艙的票會降低第一個乘客的生存概率-4.48%(相當于-0.36 SHAP)桐早。請注意,3號乘客和5號乘客也在三等艙。由于與其他特征的相互作用哄酝,它們對概率的影響(分別為-16.65%和-5.17%)是不同的友存。

將多個樣本的單個特征列出進行分析:年齡對生存的影響


image.png

將多個樣本的雙個特征列出進行分析:乘客票價與客艙等級對生存的影響


image.png

可以得出的結論:
我們可以用概率來量化效果,而不是用SHAP值陶衅。例如屡立,我們可以說,平均來說搀军,60-70歲的人比0-10歲的人(從+14%到-13%)的存活率下降了27%

我們可以可視化非線性效應膨俐。例如,看看乘客票價罩句,生存的可能性上升到一個點焚刺,然后略有下降

我們可以表示相互作用。例如门烂,乘客票價與客艙等級乳愉。如果這兩個變量之間沒有相互作用,這三條線就是平行的屯远。相反匾委,他們表現(xiàn)出不同的行為。藍線(頭等艙乘客)的票價稍低氓润。特別有趣的是紅線(三等艙乘客)的趨勢:在兩個相同的人乘坐三等艙時,支付50 - 75英鎊的人比支付50英鎊的人更有可能生存下來(從-10%到+5%)薯鳍。

項目地址

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末咖气,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子挖滤,更是在濱河造成了極大的恐慌崩溪,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件斩松,死亡現(xiàn)場離奇詭異伶唯,居然都是意外死亡,警方通過查閱死者的電腦和手機惧盹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門乳幸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人钧椰,你說我怎么就攤上這事粹断。” “怎么了嫡霞?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵瓶埋,是天一觀的道長。 經(jīng)常有香客問我,道長养筒,這世上最難降的妖魔是什么曾撤? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮晕粪,結果婚禮上挤悉,老公的妹妹穿的比我還像新娘。我一直安慰自己兵多,他們只是感情好尖啡,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著剩膘,像睡著了一般衅斩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上怠褐,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天畏梆,我揣著相機與錄音,去河邊找鬼奈懒。 笑死奠涌,一個胖子當著我的面吹牛,可吹牛的內容都是我干的磷杏。 我是一名探鬼主播溜畅,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼极祸!你這毒婦竟也來了慈格?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤遥金,失蹤者是張志新(化名)和其女友劉穎浴捆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稿械,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡选泻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了美莫。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片页眯。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖厢呵,靈堂內的尸體忽然破棺而出餐茵,到底是詐尸還是另有隱情,我是刑警寧澤述吸,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布忿族,位于F島的核電站锣笨,受9級特大地震影響,放射性物質發(fā)生泄漏道批。R本人自食惡果不足惜错英,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望隆豹。 院中可真熱鬧椭岩,春花似錦、人聲如沸璃赡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽碉考。三九已至塌计,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間侯谁,已是汗流浹背锌仅。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留墙贱,地道東北人热芹。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像惨撇,于是被迫代替她去往敵國和親伊脓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內容