複雜模型可解釋性方法——LIME

  • 2019 年 10 月 17 日
  • 筆記

一、模型可解釋性

    近年來,機器學習(深度學習)取得了一系列驕人戰績,但是其模型的深度和複雜度遠遠超出了人類理解的範疇,或者稱之為黑盒(機器是否同樣不能理解?),當一個機器學習模型泛化性能很好時,我們可以通過交叉驗證驗證其準確性,並將其應用在生產環境中,但是很難去解釋這個模型為什麼會做出此種預測,是基於什麼樣的考慮?作為機器學習從業者很容易想清楚為什麼有些模型存在性別歧視、種族歧視和民族仇恨言論(訓練樣本的問題),但是很多場景下我們需要向模型使用方作出解釋,讓其清楚模型為什麼要做出此種預測,如模型替代醫生判斷病情,給出病人合理的解釋至關重要,在商業場景中,模型為公司做出決策,需要給出令管理層信服的解釋。另外,給出解釋也可以幫助我們進一步改善模型,優化特徵,提高泛化性。

    本文就LIME( Local Interpretable Model-Agnostic Explanations, LIME)方法如何解釋黑盒模型作出簡要的介紹和公式推導,介紹其優缺點,文末附上自己的一些簡單思考

二、 LIME

    LIME的主要思想是利用可解釋性模型(如線性模型,決策樹)局部近似目標黑盒模型的預測,此方法不深入模型內部,通過對輸入進行輕微的擾動,探測黑盒模型的輸出發生何種變化,根據這種變化在興趣點(原始輸入)訓練一個可解釋性模型。值得注意的是,可解釋性模型是黑盒模型的局部近似,而不是全局近似,這也是其名字的由來。

    LIME的數學表示如下:

[ explanation(x)=argmin_{gin G}L(f,g,pi_x)+Omega(g) ]

    對於實例(x)的解釋模型(g),我們通過最小化損失函數來比較模型(g)和原模型(f)的近似性,其中,(Omega (g))代表了解釋模型(g)的模型複雜度,(G)表示所有可能的解釋模型(例如我們想用線性模型解釋,則(G)表示所有的線性模型),(pi_{x}) 定義了(x)的鄰域。我們通過最小化(L)使得模型(f)變得可解釋。其中,模型(g),鄰域範圍大小,模型複雜度均需要定義。

    下面對於結構化數據類型,簡要說明LIME的工作流程。

    對於結構化數據,首先確定可解釋性模型,興趣點x,鄰域的範圍。LIME首先在全局進行採樣,然後對於所有採樣點,選出興趣點x的鄰域,然後利用興趣點的鄰域範圍擬合可解釋性模型。如下圖(^1)

img

其中,背景灰色為負例,背景藍色為正例,黃色為興趣點,小粒度黑色點為採樣點,大粒度黑點為鄰域範圍,右下圖為LIME的結果。

    LIME的優點我們很容易就可以看到,原理簡單,適用範圍廣,可解釋任何黑箱模型。但是在實際應用中,存在幾個問題:

  • 需要確定鄰域範圍;鄰域範圍不同,得到的局部可解釋性模型可能會有很大的差別,如下圖

img

    對於x=1.6,不同的鄰域範圍(0.1,0.75,2)對應的可解釋性模型是完全不同的,甚至相悖。

  • 採樣是全樣本集採樣,採樣是利用高斯分佈進行採樣,忽略了特徵之間的關係,這可能導致一些不大可能出現的樣本點來解釋模型。

  • 解釋模型的複雜度需要提前定義。

  • 解釋的不穩定性。利用相同參數相同方法進行的重複解釋,得到的結果可能完全不同.(^5)

三、總結

    模型可解釋性作為目前機器學習領域研究的熱門,LIME的成果是很有啟發性的,通過對黑盒模型某局部點的無限次探測,擬合出一個局部可解釋性的簡單模型。但是其缺點同樣明顯,這些缺點也導致了LIME方法難以大規模應用。

    後續將介紹基於Shapley值的SHAP方法(現在在研讀,就是有點看不懂。看懂了再寫)

參考鏈接:

  1. https://christophm.github.io/interpretable-ml-book/lime.html
  2. https://blog.csdn.net/a358463121/article/details/52313585
  3. https://cloud.tencent.com/developer/article/1096716
  4. 論文地址:https://arxiv.org/pdf/1602.04938v1.pdf
  5. Alvarez-Melis, David, and Tommi S. Jaakkola. 「On the robustness of interpretability methods.」 arXiv preprint arXiv:1806.08049 (2018).)

    本文由飛劍客原創,如需轉載,請聯繫私信聯繫知乎:@AndyChanCD