丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給AI研習(xí)社-譯站
發(fā)送

0

可解釋的機(jī)器學(xué)習(xí)

本文作者: AI研習(xí)社-譯站 2019-07-02 14:46
導(dǎo)語(yǔ):是時(shí)候擺脫黑盒模型,構(gòu)建起對(duì)機(jī)器學(xué)習(xí)的信任了!

可解釋的機(jī)器學(xué)習(xí)

原文標(biāo)題 | Interpretable Machine Learning

作者 | Parul Pandey

譯者 | intelLigenJ(算法工程師)、鳶尾   

編輯 | 王立魚(yú)

原文鏈接:

https://towardsdatascience.com/interpretable-machine-learning-1dec0f2f3e6b

可解釋的機(jī)器學(xué)習(xí)

圖源Pexels的Pixabay

是時(shí)候擺脫黑盒模型,構(gòu)建起對(duì)機(jī)器學(xué)習(xí)的信任了!

想象你是一個(gè)數(shù)據(jù)科學(xué)家,你想要在業(yè)余時(shí)間根據(jù)你朋友在facebook和twitter上發(fā)布的信息,來(lái)預(yù)估你朋友假期要去度假的地方。如果你預(yù)測(cè)對(duì)了,你朋友一定嘆為觀止,覺(jué)得你是錦鯉附身。如果你猜錯(cuò)了也沒(méi)啥,只不過(guò)有點(diǎn)影響身為數(shù)據(jù)科學(xué)家的口碑而已。但如果你和其他人打了賭,就賭這個(gè)朋友暑假會(huì)去哪里,這時(shí)候預(yù)測(cè)錯(cuò)誤的成本就有點(diǎn)高了。也就是說(shuō),當(dāng)模型對(duì)錯(cuò)本身不造成很大影響的時(shí)候,解釋性并不算是很重要的要素。不過(guò)當(dāng)預(yù)測(cè)模型用于金融、公共事務(wù)等重大影響決策時(shí),解釋性就顯得尤為重要了。

  可解釋的機(jī)器學(xué)習(xí)

理解(interpret)表示用可被認(rèn)知(understandable)的說(shuō)法去解釋(explain)或呈現(xiàn)(present)。在機(jī)器學(xué)習(xí)的場(chǎng)景中,可解釋性(interpretability)就表示模型能夠使用人類可認(rèn)知的說(shuō)法進(jìn)行解釋和呈現(xiàn)。[Finale Doshi-Velez]

可解釋的機(jī)器學(xué)習(xí)

來(lái)自:可解釋的機(jī)器學(xué)習(xí)

機(jī)器學(xué)習(xí)模型被許多人稱為“黑盒”。這意味著雖然我們可以從中獲得準(zhǔn)確的預(yù)測(cè),但我們無(wú)法清楚地解釋或識(shí)別這些預(yù)測(cè)背后的邏輯。但是我們?nèi)绾螐哪P椭刑崛≈匾囊?jiàn)解呢?要記住哪些事項(xiàng)以及我們需要實(shí)現(xiàn)哪些功能或工具?這些是在提出模型可解釋性問(wèn)題時(shí)會(huì)想到的重要問(wèn)題。

可解釋性的重要性

總有人會(huì)問(wèn),為什么模型給出預(yù)測(cè)結(jié)果了還不滿意,還要這么執(zhí)意于知道模型是如何做出預(yù)測(cè)的?這和模型在真實(shí)世界中產(chǎn)生的影響有很大關(guān)系。對(duì)于僅僅被用來(lái)做電影推薦的模型而言,其影響性相較于做藥物效果預(yù)估所使用的模型要小得多。

問(wèn)題在于一個(gè)單一指標(biāo),就好比分類準(zhǔn)確率,是不足以刻畫(huà)真實(shí)世界中的大部分問(wèn)題的。(Doshi-Velez and Kim 2017)

這里有一個(gè)可解釋機(jī)器學(xué)習(xí)的大框架。在某種程度上,我們通過(guò)從真實(shí)世界(World)中獲取一些原始數(shù)據(jù)(Data),并用這這些數(shù)據(jù)進(jìn)行更深入的預(yù)測(cè)分析(Black Box Model)。而模型的解釋性方法(Interpretability)只是在模型之上增加了一層,以便于人們(Humans)更好地理解預(yù)測(cè)過(guò)程。

可解釋的機(jī)器學(xué)習(xí)

可解釋機(jī)器學(xué)習(xí)的大框架

以下是一些由可解釋性帶來(lái)的好處:

  • 可靠性

  • 易于調(diào)試

  • 啟發(fā)特征工程思路

  • 指導(dǎo)后續(xù)數(shù)據(jù)搜集

  • 指導(dǎo)人為決策

  • 建立信任

  模型解釋的具體技術(shù)

實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。如果你想對(duì)這個(gè)領(lǐng)域有一個(gè)更真切的了解,你可以試試Kaggle上的機(jī)器學(xué)習(xí)解釋性crash課程。這里頭有足夠多的理論和代碼來(lái)幫助你將模型解釋性的概念應(yīng)用到真實(shí)世界的問(wèn)題中去。

點(diǎn)擊下面的連接來(lái)進(jìn)入課程頁(yè)面。不過(guò)如果你想先對(duì)課程內(nèi)容有一個(gè)簡(jiǎn)單的了解,你可以先繼續(xù)閱讀本文。

可解釋的機(jī)器學(xué)習(xí)

https://www.kaggle.com/learn/machine-learning-explainability

洞悉模型

想要理解一個(gè)模型,我們需要洞悉如下的內(nèi)容:

  • 模型中最重要的特征

  • 對(duì)于每一次預(yù)估決策,不同特征變量發(fā)揮的作用

  • 每個(gè)特征在使用大量數(shù)據(jù)進(jìn)行預(yù)估時(shí)發(fā)揮的作用

接下來(lái),我們會(huì)探討從模型中獲取上述信息所使用的具體技術(shù):

1. Permutation Importance

對(duì)于模型來(lái)說(shuō),哪一個(gè)特征才是最重要的?哪一個(gè)特征對(duì)于模型做決策有更大的影響?這個(gè)概念被稱為特征重要度,而Permutation Importance正是目前被廣泛采用計(jì)算特征重要度的方式。當(dāng)我們的模型預(yù)測(cè)出了難以理解的結(jié)果時(shí),我們可以通過(guò)這個(gè)指標(biāo)來(lái)知道到底發(fā)生了什么。當(dāng)然,如果我們需要向別人解釋自己模型的預(yù)測(cè)時(shí)也可以用這種方法。

Permutation Importance對(duì)很多scikit-learn中涉及到的預(yù)估模型都有用。其背后的思想很簡(jiǎn)單:隨機(jī)重排或打亂樣本中的特定一列數(shù)據(jù),其余列保持不變。如果模型的預(yù)測(cè)準(zhǔn)確率顯著下降,那就認(rèn)為這個(gè)特征很重要。與之對(duì)應(yīng),如果重排和打亂這一列特征對(duì)模型準(zhǔn)確率沒(méi)有影響的話,那就認(rèn)為這列對(duì)應(yīng)的特征沒(méi)有什么作用。

使用方法

試想我們現(xiàn)在做了一個(gè)預(yù)測(cè)足球隊(duì)里誰(shuí)會(huì)獲得“足球先生”稱號(hào)的模型,并且該模型并不是幾個(gè)簡(jiǎn)單參數(shù)就能刻畫(huà)的。當(dāng)然,只有表現(xiàn)最好的球員才能獲得此稱號(hào)。

Permutation Importance是在模型完成擬合之后才進(jìn)行計(jì)算的。所以,我們先用RandomForestClassifier在訓(xùn)練樣本上擬合出一個(gè)分類模型,我們不妨稱之為my_model。

我們使用ELI5庫(kù)可以進(jìn)行Permutation Importance的計(jì)算。ELI5是一個(gè)可以對(duì)各類機(jī)器學(xué)習(xí)模型進(jìn)行可視化和調(diào)試Python庫(kù),并且針對(duì)各類模型都有統(tǒng)一的調(diào)用接口。ELI5中原生支持了多種機(jī)器學(xué)習(xí)框架,并且也提供了解釋黑盒模型的方式。

通過(guò)eli5庫(kù)來(lái)計(jì)算并展示特征重要度:

可解釋的機(jī)器學(xué)習(xí)

點(diǎn)擊此處查看完整代碼

可解釋的機(jī)器學(xué)習(xí)

模型解釋

  • 最上面的特征是最重要的特征,最下面則是最不重要的特征。在這個(gè)case中,進(jìn)球數(shù)(Goal Scored)是最重要的特征。

  • ±后面的數(shù)字表示多次隨機(jī)重排之間的差異值

  • 有些特征重要度權(quán)重是負(fù)數(shù),表示隨機(jī)重排這些特征之后,模型的表現(xiàn)甚至更好了

練習(xí)

現(xiàn)在,我們可以用一個(gè)完整的例子來(lái)檢驗(yàn)一下你對(duì)該方法的理解,你可以點(diǎn)擊下面的連接來(lái)進(jìn)入Kaggle的頁(yè)面:

https://www.kaggle.com/dansbecker/permutation-importance

2. Partial Dependency Plots

Partial Dependency Plots(后續(xù)用PDP或PD簡(jiǎn)稱)會(huì)展示一個(gè)或兩個(gè)特征對(duì)于模型預(yù)測(cè)的邊際效益(J. H. Friedman 2001)。PDP可以展示一個(gè)特征是如何影響預(yù)測(cè)的。與此同時(shí),我們可以通過(guò)繪制特征和預(yù)測(cè)目標(biāo)之間的一維關(guān)系圖或二維關(guān)系圖來(lái)了解特征與目標(biāo)之間的關(guān)系。

使用方法

PDP也是在模型擬合完成之后開(kāi)始計(jì)算的。用剛剛足球球員的例子來(lái)說(shuō),模型使用了很多特征,類似傳球數(shù)、射門(mén)次數(shù)、進(jìn)球數(shù)等等。我們從中抽取一個(gè)樣本球員來(lái)進(jìn)行說(shuō)明,比如該球員占全隊(duì)50%的持球時(shí)長(zhǎng)、傳球過(guò)100次、射門(mén)10次并進(jìn)球1次。

我們先訓(xùn)練模型,然后用模型預(yù)測(cè)出該球員獲得“足球先生”的概率。然后我們選擇一個(gè)特征,并變換球員該特征值下的特征輸入。比如我們調(diào)整剛剛抽取的那名球員,將其進(jìn)球數(shù)分別設(shè)置成一次、兩次、三次,然后畫(huà)出預(yù)測(cè)概率隨著進(jìn)球數(shù)變化的走勢(shì)圖。

Python中使用partial dependence plot toolbox來(lái)畫(huà)PDP圖,該工具簡(jiǎn)稱PDPbox。

可解釋的機(jī)器學(xué)習(xí)

點(diǎn)擊此處查看完整代碼

可解釋的機(jī)器學(xué)習(xí)

模型解釋

  • Y軸表示預(yù)測(cè)相較于基準(zhǔn)線或最左值的增加值

  • 藍(lán)色區(qū)域表示置信區(qū)間

  • 從上圖針對(duì)進(jìn)球數(shù)的PDP分析看,隨著進(jìn)球數(shù)增多,球員獲得“足球先生”的概率也會(huì)逐步增加,但增加到一定程度之后就收斂了。

我們同樣可以使用二維圖上畫(huà)出針對(duì)兩個(gè)特征的PDP分析圖:

可解釋的機(jī)器學(xué)習(xí)

練習(xí)

可解釋的機(jī)器學(xué)習(xí)

https://www.kaggle.com/dansbecker/partial-plots

3. SHAP Values

SHAP(SHapley Additive exPlanation)有助于細(xì)分預(yù)測(cè)以顯示每個(gè)特征的影響。它基于Shapley values,這是一種用于博弈論的技術(shù),用于確定協(xié)作游戲中每個(gè)玩家促成其成功的貢獻(xiàn)有多少1。通常情況下,在準(zhǔn)確性和可解釋性之間取得正確的權(quán)衡可能是一個(gè)困難的平衡行為,但SHAP值可以同時(shí)提供這兩者。

操作

再一次,以足球?yàn)槔?,我們想要預(yù)測(cè)一個(gè)球隊(duì)有一名球員贏得“最佳球員”的概率。SHAP values解釋了給定特性具有特定值的影響,并與我們?cè)谠撎匦跃哂心承┗€值時(shí)所做的預(yù)測(cè)進(jìn)行比較。 

SHAP values 使用Shap庫(kù)進(jìn)行計(jì)算。從PyPI或conda安裝Shap 庫(kù)很簡(jiǎn)單.

Shap值顯示給定的特性對(duì)我們的預(yù)測(cè)有多大的改變(與我們?cè)谠撎匦缘哪硞€(gè)基線值上進(jìn)行預(yù)測(cè)相比)。假設(shè)我們想知道當(dāng)球隊(duì)進(jìn)了3個(gè)球而不是某個(gè)固定的底線時(shí)預(yù)測(cè)是什么。如果我們能夠解決這個(gè)問(wèn)題,我們可以對(duì)其他功能執(zhí)行相同的步驟如下:  

可解釋的機(jī)器學(xué)習(xí)

點(diǎn)擊此處查看完整代碼

因此,預(yù)測(cè)可以分解為如下圖:

可解釋的機(jī)器學(xué)習(xí)

這里是一個(gè)更大視圖的鏈接

解釋

上面的解釋顯示了推動(dòng)模型輸出從基本值(我們傳遞的訓(xùn)練數(shù)據(jù)集中的平均模型輸出)到模型輸出的每個(gè)特性。將預(yù)測(cè)推高的特征用紅色表示,將預(yù)測(cè)推低的特征用藍(lán)色表示。

  • 這里的base_value是0.4979,而我們的預(yù)測(cè)值是0.7。

  • 得分= 2對(duì)預(yù)測(cè)增加的影響最大,

  • 而控球率對(duì)預(yù)測(cè)減少的影響最大。  

練習(xí)

有一個(gè)比我在這里解釋的更深層次的SHAP values理論,你可通過(guò)下面的鏈接了解得更全面:

https://www.kaggle.com/dansbecker/shap-values

4. SHAP Values 的高級(jí)用法

聚合許多SHAP Values有助于更詳細(xì)的了解模型。  

  • SHAP 摘要圖繪制

為了了解模型中哪些特性最重要,我們可以為每個(gè)示例繪制每個(gè)特性的SHAP values 。摘要圖說(shuō)明哪些特性是最重要的,以及它們對(duì)數(shù)據(jù)集的影響范圍。

可解釋的機(jī)器學(xué)習(xí)

摘要圖

關(guān)于每個(gè)點(diǎn):

  • 垂直位置顯示了它所描述的特征  

  • 顏色顯示數(shù)據(jù)集中這一行的特征值是高還是低  

  • 水平位置顯示該值的影響是導(dǎo)致較高的預(yù)測(cè)還是較低的預(yù)測(cè)。

左上方的點(diǎn)是一個(gè)進(jìn)球很少的球隊(duì),預(yù)測(cè)降低了0.25。 

  • SHAP Dependence Contribution圖

雖然SHAP摘要圖給出了每個(gè)特性的一般概述,但是SHAP dependence圖顯示了模型輸出如何隨特性值而變化。SHAP dependence contribution圖提供了與PDP類似的見(jiàn)解,但添加了更多的細(xì)節(jié).

可解釋的機(jī)器學(xué)習(xí)

可解釋的機(jī)器學(xué)習(xí)

可解釋的機(jī)器學(xué)習(xí)

依賴貢獻(xiàn)細(xì)節(jié)

上述依賴性貢獻(xiàn)表明,擁有球會(huì)增加球隊(duì)讓球員贏得獎(jiǎng)勵(lì)的機(jī)會(huì)。但如果他們只得到一個(gè)進(jìn)球,那么這個(gè)趨勢(shì)就會(huì)逆轉(zhuǎn)而且如果他們得分那么少,那么裁判可能會(huì)因?yàn)榈梅侄鴳土P他們。雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)

練習(xí)

https://www.kaggle.com/dansbecker/advanced-uses-of-shap-values

  總結(jié)

機(jī)器學(xué)習(xí)不再是黑盒了。如果我們無(wú)法向其他人解釋結(jié)果,那么怎樣使用才是好模型??山忉屝耘c創(chuàng)建模型同樣重要。為了在人群中獲得更廣泛的認(rèn)可,機(jī)器學(xué)習(xí)系統(tǒng)能夠?yàn)槠錄Q策提供令人滿意的解釋至關(guān)重要。

正如阿爾伯特·愛(ài)因斯坦所說(shuō):“如果你不能簡(jiǎn)單地解釋它,你就不能很好地理解它?!?/span>

參考文獻(xiàn):

可解釋的機(jī)器學(xué)習(xí):制作黑盒模型的指南可解釋.Christoph Molnar

機(jī)器學(xué)習(xí)可解釋性微課程:Kaggle

想要繼續(xù)查看該篇文章相關(guān)鏈接和參考文獻(xiàn)?

點(diǎn)擊【可解釋的機(jī)器學(xué)習(xí)】即可訪問(wèn)!

今日資源推薦:Machine Learning Mastery 實(shí)戰(zhàn)機(jī)器學(xué)習(xí) - 從入門(mén)到精通 7 本教材打包(含代碼)

Jason Brownlee 博士是機(jī)器學(xué)習(xí)圈子里著名的實(shí)踐者。他不僅有多個(gè)人工智能相關(guān)的高等學(xué)位,自己長(zhǎng)期專注于機(jī)器學(xué)習(xí)知識(shí)、技術(shù)思考以及實(shí)戰(zhàn)經(jīng)驗(yàn)的分享;他創(chuàng)辦的交流社區(qū) Machine Learning Mastery 也是知名的機(jī)器學(xué)習(xí)學(xué)生、研究員、程序員棲息地。Jason Brownlee 自己編著了一系列偏重于實(shí)踐的機(jī)器學(xué)習(xí)教程,我們分享的這 7 本包括:
《機(jī)器學(xué)習(xí)中的線性代數(shù)基礎(chǔ) - Python 中的數(shù)據(jù)數(shù)學(xué)語(yǔ)言》、
《Python 深度學(xué)習(xí) - 用 Theano 和 Keras 開(kāi)發(fā)深度學(xué)習(xí)模型》、
《Python LSTM 網(wǎng)絡(luò) - 開(kāi)發(fā)深度學(xué)習(xí)序列預(yù)測(cè)模型》、
《從零學(xué)習(xí)機(jī)器學(xué)習(xí)算法》、
《精通 Python 機(jī)器學(xué)習(xí) - 理解你的數(shù)據(jù),創(chuàng)建準(zhǔn)確的模型,嘗試端到端項(xiàng)目》、
《精通 R 機(jī)器學(xué)習(xí) - 開(kāi)始,創(chuàng)建準(zhǔn)確的模型,嘗試一步步打通項(xiàng)目》、
《精通機(jī)器學(xué)習(xí)算法 - 從零開(kāi)始學(xué)習(xí)它們?nèi)绾芜\(yùn)行、如何實(shí)現(xiàn)》。并且?guī)в胁糠猪?xiàng)目代碼供參考。

點(diǎn)擊鏈接獲取資源:https://ai.yanxishe.com/page/resourceDetail/634



雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

可解釋的機(jī)器學(xué)習(xí)

分享:
相關(guān)文章

知情人士

AI研習(xí)社(yanxishe.com)譯站頻道,傳播前沿人工智能知識(shí),讓語(yǔ)言不再成為學(xué)習(xí)知識(shí)的門(mén)檻。(原雷鋒字幕組)
當(dāng)月熱門(mén)文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)