什麼使得一個預測模型可被解釋?

機器學習(Machine Learning)中的可解釋性(Interpretability)的確是一個非常有意思的問題。在Quora論壇中,有大量優秀的關於這個問題的涵蓋模型複雜度,可理解性和可視化等方面的討論。隨著對這些問題的反覆討論,這裡我有關於一些細微的差別之間的理解。

首先,根據定義,一個人是無法真正理解一個模型的。雖然這聽上去很讓人泄氣,但是事實是:如果人腦的思考能力能夠和一個優秀的機器學習模型並駕齊驅的話,那我們是完全可以理解這個模型的。但是根據定義,一個比人類更善於預測的模型則並不能真正的被人類理解。

在這裡,想問大家一個問題:你有沒有和一個數學家討論過數學或與一個非常聰明的人對話過?(這好像總發生在我身上)一些人或許能比別人更好的解釋某些問題,但是最終你卻並不能明白他們所領悟的東西,或者像他們那樣理解問題。就算我們認為自己真正的理解了這個問題,那所做出的解釋也往往是一個「並不很正確」的簡述。這套理論同樣適用於對於模型的理解。但這是決定論的說法。相對而言,我們或多或少都能夠理解這個模型是如何運作的。那就引出了我在這裡想要討論的細微差別:你到底是想要理解一個模型的具體原理,還是理解一個模型所做出的預測?這兩者之間毫無疑問存在著著顯著的區別。去理解的具體原理可以讓你獲得對建模過程更深入的理解。但是這有別於對一個具體預測做出解釋,特別當你想讓其它從業者們產生一個共同的預測的時候。

我常常與別人交流我的模型以及我對模型的理解,在與許多領域的業者的合作經歷中,我選擇過許多非常糟糕的模型,比如KNN模型。原因就是它不能「學習」,因為它並不能明確的告訴你一個維度或者一種特性比另一種更加重要。然而這卻是機器學習最重要的核心基礎:分析區別出什麼是最重要的,什麼是不重要的。KNN 不會「學習」,但是我們能非常容易理解它的預測原理,比如:你一定喜歡「特工佳麗」(Mrs Congeniality)這部電影,因為這些這些人喜歡的電影你也喜歡!因為他們喜歡,所以你就是會喜歡,你不能否認這個事實!其實從一個角度來說,這個方法其實非常有效,特別是與我們的主觀想法結合起來。這就是我們所學到的:當我們遇到一個與曾經非常相似或與之產生共鳴的環境,我們就能知道下一刻會發生什麼,就像我知道當我去觸碰火焰時我會受傷。

在「你肯定會喜歡這部電影」的問題上,邏輯回歸給得出一個0.9237的概率,事實上這是一個對於一組大量的,關於你對不同電影喜歡程度的指標量的線性組合的分對數變換。注意,在這個地方你完全可以用高中代數去充分「理解」這個模型,但這毫無意義,而且它忽略了我的上一個問題:為什麼在那個方程中我對「異形」的評分要乘以-0.348?

當KNN模型的預測如此的容易交流的同時,模型本身的缺陷制約了它對問題本質探究的能力。其實,這裡有非常多的東西需要通過邏輯回歸去學習和理解。如果你上一個例子中被某個人喜歡的電影的二元指標,其中的參數可能足夠去推斷這個人可能會喜歡「特工佳麗」。不過就這個例子來說,我願意用更簡單的理論來解釋,就是樸素貝葉斯理論(Naive Bayers)。在邏輯模型中log-odd可以混淆判斷,比如去考慮這裡的共線性會讓結果產生錯誤,事實上,像「終結者1」的電影可以對喜歡「終結者3」的概率結果有不好影響,就算已知條件「終結者2」在其中不是一個積極的影響。當這些細微的差別讓邏輯回歸產生比樸素貝葉斯更好的預測時,其中的參數總是呈現「反直覺狀態」的。所以我通常只是計算條件概率之間的比值去理解它們,而不是依仗自己的直覺。

決策樹狀圖的最終結果是能夠被解釋的,但一旦你有了足夠的數據,樹狀圖將會增大以至於不便於直觀分析。甚至在一些小的樹狀圖裡,你可以寫下預測標準,比如:因為你超過23歲,你會喜歡這部電影或這些電視劇。但你其實並沒有解釋什麼,你不知道為什麼樹狀圖是以這種方式呈現。事實上,這些樹狀圖會在演算法下會因為非常小的樣本改變有極端的變化,同時有非常多不同的樹狀圖也能夠呈現完全一樣的集合劃分。這說明了什麼?首先,我們應該問自己我們到底想解釋什麼。我們的大腦常常以為「理解」了一個模型,但是往往大腦的理解是錯誤的。進一步解釋,我們可以把一個模型當作一個黑匣子,其中通過不同的輸入得到這個模型對於輸入量微擾的敏感度。現在我讓這個模型來預測我是否比真實的我大10歲。這其實與IID抽樣理論不一致, 但我認為這至少是一個公平的測試。

有許多方法可以去用一個模型去理解一個領域甚至變數之間的關係,但是大多數其實就是利用數據分析歷史上最基本的法則。其實在觀測法領域(比如TMLE和其他robust estimators)工作有意思的是:我們其實不在意一個模型的解釋能力。一個普通的解釋通常都從模型預測中來,而不是它的具體構造。其實,魯棒性(robustness)保證中的一致性起因於模型中的一種,簡單來說也就是更少的解釋性。

推薦閱讀:

面試坑殺新人指南,第一篇:銷售波動
成為頂級的數據分析師,要花多少錢?
快訊 | 5月份新包推薦
計算廣告訓練與平滑思想(上)
2017年度15個最好的數據科學領域Python庫

TAG:数据 | 数据科学家 | 机器学习 |