關(guān)于機器學習模型的可解釋性算法!
點擊上方“小白學視覺”,選擇加"星標"或“置頂”
重磅干貨,第一時間送達 ![]()
模型可解釋性匯總
目前很多機器學習模型可以做出非常好的預(yù)測,但是它們并不能很好地解釋他們是如何進行預(yù)測的,很多數(shù)據(jù)科學家都很難知曉為什么該算法會得到這樣的預(yù)測結(jié)果。這是非常致命的,因為如果我們無法知道某個算法是如何進行預(yù)測,那么我們將很難將其前一道其它的問題中,很難進行算法的debug。
本文介紹目前常見的幾種可以提高機器學習模型的可解釋性的技術(shù),包括它們的相對優(yōu)點和缺點。我們將其分為下面幾種:
-
Partial Dependence Plot (PDP); -
Individual Conditional Expectation (ICE) -
Permuted Feature Importance -
Global Surrogate -
Local Surrogate (LIME) -
Shapley Value (SHAP)
Partial Dependence Plot (PDP)
PDP是十幾年之前發(fā)明的,它可以顯示一個或兩個特征對機器學習模型的預(yù)測結(jié)果的邊際效應(yīng)。它可以幫助研究人員確定當大量特征調(diào)整時,模型預(yù)測會發(fā)生什么樣的變化。

上面圖中, 軸表示特征 的值, 軸表示預(yù)測值。陰影區(qū)域中的實線顯示了平均預(yù)測如何隨著 值的變化而變化。PDP能很直觀地顯示平均邊際效應(yīng),因此可能會隱藏異質(zhì)效應(yīng)。
-
例如,一個特征可能與一半數(shù)據(jù)的預(yù)測正相關(guān),與另一半數(shù)據(jù)負相關(guān)。那么PDP圖將只是一條水平線。
Individual Conditional Expectation (ICE)
ICE和PDP非常相似,但和PDP不同之處在于,PDP繪制的是平均情況,但是ICE會顯示每個實例的情況。ICE可以幫助我們解釋一個特定的特征改變時,模型的預(yù)測會怎么變化。

如上圖所示,與PDP不同,ICE曲線可以揭示異質(zhì)關(guān)系。但其最大的問題在于:它不能像PDP那樣容易看到平均效果,所以可以考慮將二者結(jié)合起來一起使用。
Permuted Feature Importance
Permuted Feature Importance的特征重要性是通過特征值打亂后模型預(yù)測誤差的變化得到的。換句話說,Permuted Feature Importance有助于定義模型中的特征對最終預(yù)測做出貢獻的大小。

如上圖所示,特征f2在特征的最上面,對模型的誤差影響是最大的,f1在shuffle之后對模型卻幾乎沒什么影響,生息的特征則對于模型是負面的貢獻。
Global Surrogate
Global Surrogate方法采用不同的方法。它通過訓練一個可解釋的模型來近似黑盒模型的預(yù)測。
-
首先,我們使用經(jīng)過訓練的黑盒模型對數(shù)據(jù)集進行預(yù)測; -
然后我們在該數(shù)據(jù)集和預(yù)測上訓練可解釋的模型。
訓練好的可解釋模型可以近似原始模型,我們需要做的就是解釋該模型。
-
注:代理模型可以是任何可解釋的模型:線性模型、決策樹、人類定義的規(guī)則等。

使用可解釋的模型來近似黑盒模型會引入額外的誤差,但額外的誤差可以通過R平方來衡量。
-
由于代理模型僅根據(jù)黑盒模型的預(yù)測而不是真實結(jié)果進行訓練,因此全局代理模型只能解釋黑盒模型,而不能解釋數(shù)據(jù)。
Local Surrogate (LIME)
LIME(Local Interpretable Model-agnostic Explanations)和global surrogate是不同的,因為它不嘗試解釋整個模型。相反,它訓練可解釋的模型來近似單個預(yù)測。LIME試圖了解當我們擾亂數(shù)據(jù)樣本時預(yù)測是如何變化的。

上面左邊的圖像被分成可解釋的部分。然后,LIME 通過“關(guān)閉”一些可解釋的組件(在這種情況下,使它們變灰)來生成擾動實例的數(shù)據(jù)集。對于每個擾動實例,可以使用經(jīng)過訓練的模型來獲取圖像中存在樹蛙的概率,然后在該數(shù)據(jù)集上學習局部加權(quán)線性模型。最后,使用具有最高正向權(quán)重的成分來作為解釋。
Shapley Value (SHAP)
Shapley Value的概念來自博弈論。我們可以通過假設(shè)實例的每個特征值是游戲中的“玩家”來解釋預(yù)測。每個玩家的貢獻是通過在其余玩家的所有子集中添加和刪除玩家來衡量的。一名球員的Shapley Value是其所有貢獻的加權(quán)總和。Shapley 值是可加的,局部準確的。如果將所有特征的Shapley值加起來,再加上基值,即預(yù)測平均值,您將得到準確的預(yù)測值。這是許多其他方法所沒有的功能。

該圖顯示了每個特征的Shapley值,表示將模型結(jié)果從基礎(chǔ)值推到最終預(yù)測的貢獻。紅色表示正面貢獻,藍色表示負面貢獻。
機器學習模型的可解釋性是機器學習中一個非?;钴S而且重要的研究領(lǐng)域。本文中我們介紹了6種常用的用于理解機器學習模型的算法。大家可以依據(jù)自己的實踐場景進行使用。
https://www.twosigma.com/articles/interpretability-methods-in-machine-learning-a-brief-survey/
下載1:OpenCV-Contrib擴展模塊中文版教程
在「小白學視覺」公眾號后臺回復:擴展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。
下載2:Python視覺實戰(zhàn)項目52講 在「小白學視覺」公眾號后臺回復:Python視覺實戰(zhàn)項目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學校計算機視覺。
下載3:OpenCV實戰(zhàn)項目20講 在「小白學視覺」公眾號后臺回復:OpenCV實戰(zhàn)項目20講,即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學習進階。
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~
