機器學習可解釋性系列 - 是什麼&爲何&怎麼作

機器學習可解釋性分析

可解釋性一般是指使用人類能夠理解的方式,基於當前的業務,針對模型的結果進行總結分析算法

通常來講,計算機一般沒法解釋它自身的預測結果,此時就須要必定的人工參與來完成可解釋性工做;安全

目錄:網絡

  • 是什麼:什麼叫可解釋性;
  • 爲何:爲何要對模型結果進行解釋;
  • 怎麼作:如何有效的進行可解釋性工做;

是什麼

機器學習

介紹可解釋性以前,咱們先來簡單看看什麼是機器學習,此處咱們主要討論有監督機器學習,對於無監督、強化學習等不作主要分析;機器學習

機器學習是計算機基於數據作出的和改進預測行爲的一套方法,舉例說明:函數

  • 房屋價格預測:基於歷史房屋的價格以及其餘屬性信息,訓練迴歸模型,並針對的房屋進行價格預測
  • 信用卡詐騙檢測:基於信用卡歷史消費記錄等信息,訓練分類模型,並針對的刷卡行爲進行異常檢測

有監督學習的目標是學習一個預測模型,將數據特徵(建設年份、大小、樓層、地段等)映射到輸出(房價),模型算法經過估計參數(權重,好比線性迴歸)或者學習結構(樹型,好比決策樹)來學習,過程由一個最小化分數或者損失函數指導,例如在房屋價格預測,則是最小化預測與真實的價格差;性能

機器學習算法運行在計算機上,從不少方面看是表現是優於人類的,好比速度、穩定性、可複製性等等,即使性能上略遜於人類,可是瑕不掩瑜,可是模型也有它的劣勢,那就是計算機一般沒法有效的解釋模型的預測行爲,這裏的解釋指的是說給人類聽,一個深度神經網絡可能由幾百層網絡百萬個參數組成,一個隨機森林可能由幾百棵決策樹組成,不論是在比賽中,仍是實際工做中,表現最好的模型每每是複雜的集成模型,這就使得對他們的解釋愈發困難,超多的參數、複雜的結構、特徵的組合等等都阻擋了咱們對結果的直觀理解,這在必定程度上傷害着咱們對結果的信心;學習

所以,不論是從對業務擴展可信度結果分享中的哪一個角度考慮,可解釋性都是機器學習中重要且有必要的一環;測試

可解釋性

可解釋性的一個特殊點在於它的衡量沒有一個量化的數學方法,主觀的定義是可解釋性是人們可以理解模型決策緣由的程度,這種理解是基於實際數據和業務下的理解,假設一個線性模型作房屋預測,模型中房屋大小房價影響最大,那麼這個結果是很容易理解的,也符合咱們的主觀認知,若是換成深度神經網絡來作預測,或者先對數據作了PCA等處理後再作預測,結果每每是人類無法直接理解的,那麼從解釋性上看,明顯第一個模型的解釋性更好;代理

爲何

進行可解釋性的緣由:文檔

  • 知其然更要知其因此然:人類的好奇心驅使下,問爲何是很正常的一種思惟,若是不能解釋預測結果,那麼就沒法讓人們徹底信任這個結果(現代醫學中西醫的接受度要高於中醫,除了科學帶來的普適性以外,西醫的可解釋性明顯要優於中醫,給人感受更放心);
  • 從實際業務上考慮,假設咱們的模型預測不給某人發放信用卡,那也應該提供一個不能發放的緣由給到辦理業務的人員,另外針對某些特殊場景,好比癌症檢測自動駕駛等涉及人身安全的問題上,可解釋性提供了後續問題覆盤的基礎;

可解釋性讓咱們更容易檢查如下性質:公平性隱私可靠性因果關係信任

怎麼作

可解釋性方法分類

針對不一樣類型的模型可使用不能的可解釋性方法:

  • 本質的:本質上可解釋模型(好比短決策樹、簡單線性模型等),這一類模型因爲自身的簡單性,能夠針對其結果、迴歸權重等直接進行解釋;
  • 模型無關的:對於更廣泛的狀況,即複雜模型的解釋,須要使用模型無關方法,好比個體條件指望、特徵交互、累計局部效應圖等;

實際工做中上述兩類方法都會使用,我通常的流程是先易後難,先從最簡單的方法開始進行可解釋性工做;

可解釋性評估

目前針對機器學習的可解釋性沒有統一的達成共識的標準,可是也有了一些初步的評估方法:

  • 應用級評估:由最終產品的使用用戶來評估其解釋性的好壞;
  • 人員級評估:相似應用級評估,區別是由測試人員代替最終用戶,優勢是更廉價,缺點是效果與最終用戶會有差別,尤爲是在某些專業領域,好比醫學等方面的機器學習產品;
  • 功能級評估:代理型解釋,例如咱們用SVM訓練模型並預測房屋價格,使用局部代理方法(好比決策樹)來解釋SVM的預測結果,也就是複雜模型作業務,簡單模型解釋其結果;

PS:在咱們的乘客聚類項目中,一部分解釋性工做就相似代理型解釋,KMeans作聚類,隨機森林邏輯迴歸解釋結果;

解釋方法的性質

性質是用於判斷解釋方法自身好壞的方法,目前一個最大的難點在於大多數性質都無法量化:

  • 表達能力:表達能力越好的解釋方法越能解釋複雜模型的預測結果,目前來看最好的表達能力是對深度神經網絡的解釋,這一點也是不少大佬們的研究方向;
  • 半透明度:依賴於被解釋算法模型的程度,例如對於本質上可解釋的模型的解釋方法就是高度透明的,而那些模型無關的算法則半透明度基本爲0,高透明度的優勢是能夠基於模型更多信息來解釋,而低透明度優勢在於移植性好;
  • 可移植性:與解釋方法與被解釋模型的依賴程度成反比,所以模型無關的解釋方法的可移植性是最好的;
  • 算法複雜度:解釋方法自身算法的計算複雜度;

單個解釋的性質:準確性保真度一致性穩定性可理解性肯定性重要程度新穎性表明性

人性化的解釋

對外輸出結果時,什麼叫作好的解釋,人文科學研究表示:人類更喜歡較短的解釋,將正反兩面進行對比,異常狀況單獨進行說明;

  1. 解釋具備對比性:人們關心的一般不是某個房屋爲何被預測爲100w,而是兩個狀況相似的房屋,爲何一個比另外一個貴10w,所以解釋的重點在於說明兩個例子的差別,造成對比,這種強烈的對比感是人們容易接受的;
  2. 選擇性的解釋:針對真實狀況,只選擇其中有表明性的幾個緣由組成解釋,使得解釋更簡短;
  3. 解釋是社會性的:針對不一樣的被解釋人羣進行區分對待,對於專業人員,能夠更多從模型算法出發,對於其餘崗位同事能夠更多從業務等領域出發;
  4. 異常要重點解釋:異常雖然在指標上沒有突出的體現(過於關注指標的表現會忽略藏在其中的異常例子),可是異常很吸引人們的注意力,所以對於異常例子的重點解釋是很重要的;
  5. 解釋是真實的:對於某些例子的解釋應該一樣適用於其餘例子,至少是相似的例子上;
  6. 好的解釋與被解釋着的先驗知識是一致的:人類因爲認知誤差會更相信本身知道的,好比咱們都認爲房子越大價錢越貴,那麼若是模型在某一類房屋上給出了面積越大,價錢便宜這樣一個解釋,這是很難被人們接收的,可是事實上模型爲了更好的性能,可能進行了複雜的特徵交互、組合得出的結果,結果是對的,可是它的解釋卻很難被接受;
  7. 好的解釋是廣泛性極可能的:好比房子越大價錢越貴,這就是一個廣泛性很高的解釋,也確實極可能;

後續

後續會繼續出可解釋性相關文檔,預計包括自身可解釋模型(線性迴歸、邏輯迴歸、決策樹等)、模型無關的解釋方法、工做中的真實項目中的解釋性工做;

最後

本文基於《可解釋性的機器學習》,做者 Christoph Molnar,譯者 朱明超;

相關文章
相關標籤/搜索