LIME解读
Motivation
對于機器學習和深度學習而言,模型很多情況下是非常復雜的。深度學習利用許多非線性的疊加提升了模型的泛化能力,其代價是模型內部的決策過程變得非常復雜,往往只能視作為黑盒子。在很多重要的任務中,模型必須是值得人們信賴的,人們才會去使用它。這種信賴分為兩種:信賴一個預測和信賴模型本身。對于一個預測實例(instance),讓人們相信這個預測是對的就是要提供對這個實例的人類能理解的解釋,例如,一些重要的特征,一個人打噴嚏和頭痛會讓模型預測他得了流感。對于一個實例的解釋是一種局部的解釋(local explanation),而對于模型整體決策過程的解釋,是全局的解釋(global explanation)。全局的解釋能讓人們理解模型內部的決策過程,從而信賴這個模型本身。
這篇文章提出了LIME(Local Interpretable Model-agnostic Explanations),是一個對于實例而言尋找解釋的解釋器。LIME是一種基于代理模型的解釋器。因為復雜的模型往往被視為黑盒子,而線性模型等簡單模型人們是容易理解的,線性模型權重也代表了特征的重要程度。因此,使用一些簡單的模型如線性回歸模型,在一個實例的局部進行采樣,使用這個簡單的代理模型在實例局部尋找解釋。因為LIME是基于代理模型的,所以他能解釋任何的模型。
什么是解釋?
對于一個實例的解釋,就是提供一個具有語義或者視覺信息的人們能夠理解的解釋,能夠讓人們理解模型為什么做出了該預測,因為人們都有一些先驗知識,能夠理解現實世界中結果的真正原因,所以能夠判斷給出的解釋是否是合理的,從而決定是否該相信這個模型。例如,現實數據集中可能存在很多偽關聯,例如病人的ID和患病情況,此時模型訓練的準確率可能很高,但是如果找出ID是一個解釋,人們就不再會相信這個預測模型。
一個好的解釋應該具備兩個特征:interpretable和local fidelity。Interpretability是指,這個解釋是人們能夠理解的,且可以反應輸入變量和預測結果之間的關系。Local fidelity是指,解釋對模型是忠誠的,也就是指這些解釋應該在模型決策過程中起作用的。值得注意的是,在模型決策過程中,很可能絕大部分的特征都參與到模型的決策過程中,也就是說,找出的解釋是非常稠密的,而稠密的解釋會讓人們難以理解。因此,interpretability和local fidelity相互制約,而一個好的解釋應是二者的平衡。
方法
使用代理模型作為實例局部的解釋,其中是潛在代理模型的集合。使用來度量解釋代理模型的復雜性,也就是度量interpretability的程度,越小,解釋就越容易被人們理解。使用來表示模型和代理模型之間的局部距離,其中是原模型。???????越小,local fidelity就越高。尋找解釋的過程如下:
??????????
其中為采樣后樣本到原實例的距離,作為權重。為了訓練代理模型,需要在實例局部進行采樣,獲得樣本集合。在文章中,對非零的特征進行擾動,進行隨機的均勻分布擾動,采樣得到的樣本標簽為。
本文使用稀疏的線性模型作為代理模型,,如K-LASSO。模型的local fidelity的損失項為:
其中,???????是一個指數核作為距離權重,D是距離函數,通常來說,文本使用cosine距離,圖像使用L2距離。
原文:"Why Should I Trust You?": Explaining the Predictions of Any Classifier???????
總結
- 上一篇: Swift-字符串和字符
- 下一篇: GO语言编码转换