LIME:模型預測結果是否值得信任?


花了一天時間對LIME論文:http://arxiv.org/pdf/1602.04938v1.pdf 仔細閱讀和代碼閱讀,實驗,大體理解了作者的設計思路。

背景:

我們在建立模型的時候,經常會思考我們的模型是不是夠穩定,會不會出現樣本偏差效應, p>>N時候會不會過擬合? 我們檢查模型穩定,我們進行一些cross-validation來看看各項評估指標方差大不大。 可是如果樣本一開始因爲採樣偏差導致樣本有偏,導致模型和實際情況有差異,這個就不太好評估了。同樣,p>>N也會有類似的問題,尤其在文本挖掘領域。一般情況,如果特徵不是很多的話,尤其像logistic regression這樣的model,我們會把模型權重給打印出來看看,看看訓練出的模型結果,是否和人的經驗吻合。下面是lime 文章中提到一個文本分類的case,預測一段文本是無神論相關的,還是基督徒相關的。文中分類器預測結果這篇文本是無神論相關的,可是主要區分特徵卻與人的經驗十分不吻合的,這樣的模型是不能讓人信服的,當我們把這幾個特徵刪除後,預測結果又反向了。我們可以通過人工構建一些由這些特徵組成的文本來加入到預測實驗中,會大大降低模型性能。





LIME解釋原理:

LIME是Local Interpretable Model-Agnostic Explanations的縮寫。LIME的目的是試圖解釋模型在預測樣本上的行爲,這種解釋是可被理解的,並且這種解釋是模型無關的,不需要深入到模型內部。作者提出的方法一種局部方法,非全局的,在每個預測樣本附近隨機採樣產生一些樣本,就像下圖所,紅色“x”是預測樣本,周邊‘*’和圓形樣本都是採樣得到的。

採樣的機制是隨機替換掉原始樣本中若干個特徵。如文本a="我女朋友非常喜歡看奇葩說",生成的樣本可以是“我非常喜歡看奇葩說”,“我女朋友看奇葩說”等等。每個生成樣本和原始樣本都有個權重,權重的計算方式: w=exp(-d^2/theta^2), d是距離,文本中我們可以採用cosine 距離來表徵文本樣本間的距離。

下面是lime_text.py 中__data_labels_distances函數的代碼,針對是文本文本分類的解釋,下面代碼的主要作用如何給預測樣本生成近鄰採樣樣本,以及相應權重,採樣樣本在當前分類器的預測概率。
生成的樣本表徵方式是bag of word: [0,1,0,0,1]。注意這時候採樣樣本特徵不是高維的,最大長度只是預測樣本的長度。

        

有了採樣樣本,以及採樣樣本的權重,預測概率。有了這些東西,我們下面該幹什麼呢?記住我們的目的是要解釋我們分類器在該預測樣本中如何起作用的?  簡單的說是在該預測樣本,分類器都是哪些特徵起到作用?我們可以事先設定個數值K,我們只看前K個起作用的特徵(太多了,人無法查看)
既然是特徵選擇問題,那我們可以用這些採樣樣本做個加權迴歸模型。做迴歸模型前,先選取k個重要特種,如何選取? 方法是可以是根據迴歸模型訓練結果中最大的權重,或者是前向搜索方法(每次選取使迴歸模型R^2值最大的特徵加入到集合中。),或者採用lasso_path的方法。注意樣本的權重是不一樣的。
具體可以看下面代碼:





選取K個特徵後,我們就可以在採樣的樣本,以及這K個特徵上,做個加權迴歸模型。迴歸模型輸出的K個特徵以及權重,就是分類器對預測樣本的解釋。下面是explain_instance_with_data函數代碼:



上面的方法總體可以用paper上的描述來概括:


總結:
        上面主要圍繞文本分類解釋展開的,並且主要是基於文本bag of word方式。其實基於文本嵌入表徵方式也是可行的,文本中詞的替換機制一樣,只是在預測採樣樣本分類概率前需要把採樣樣本變成向量方式。
        其實可以拓展到很多其他領域,比如風控徵信等。預測一個行爲是否有風險,當我們的模型預測到該行爲是有風險的,我們需要給我們分析師,客服解釋這個行爲爲什麼有風險,模型識別風險行爲特徵是什麼。
        拓展時候預測樣本的近鄰採樣機制可能要優化設計下。更多場景很多特徵不是離散或者二值的,而是連續的,尤其像Random Forest等樹模型其實更適合處理連續的這種變量。針對這種情況,如何處理? 採樣怎麼做? 一種簡單的方法是把連續特徵進行離散化,one-hot編碼,這樣就和lime對文本分類模型的解釋中採樣機制是一樣的啦。一種就是完全和文本一樣,對特徵進行置0採樣,不管是否是連續變量。
       總體上來說,LIME對模型的解釋方法比較簡單,論文描述略顯複雜(本來很簡單的東西爲啥寫的這麼複雜呢?),論文更多是從實驗角度來分析LIME方法的有效性,沒有太多理論分析,讓人感覺不是很放心(想想這個方法有哪些坑),畢竟實驗是根據樣本有關的,在一些複雜的場景是否有效? 還有實驗更多用的文本和圖像場景,其他領域是否奏效?  爲什麼在預測樣本的採樣樣本中做加權迴歸分析,迴歸模型結果特徵權重大小能代表原始模型在預測樣本的表現呢?
       









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章