【干貨】貝葉斯之父Judea Pearl推薦:機器學習因果推理的7個有用工具
人工智能先驅、貝葉斯網絡之父、美國計算機科學家 Judea Pearl 在最近的一篇論文中解釋了基于數據統計的機器學習系統的一些局限性。要理解“為什么”,并回答“如果……會怎樣”之類的問題,我們需要某種因果模型。在社會科學領域,尤其是流行病學中,一種名為“結構因果模型”(SCM)的革命性數學框架已經被廣泛采用。Pearl 介紹了這種模型可以處理的七個任務,雖然這些任務對于關聯機器學習系統來說有些遙不可及。
三層式因果模型層級
因果模型理論所揭示的一個有用見解是根據每個類能夠回答的問題類型對因果信息進行分類。這種分類形成了三層式的結構,只有當層級 j(j >= i)的信息可用時才能回答層級 i(i = 1,2,3)的問題。
低(第一)層被叫作關聯(Association),它涉及由裸數據定義的純統計關系。大多數機器學習系統運行在這一層上。
第二層被叫作干預(Intervention),不僅涉及到能看到什么,還涉及你可能采取的行動(干預措施)有哪些影響。我認為增強學習系統是運行在這個層上(例如,“如果我把騎士移到這個方格會怎樣?”)。增強學習系統傾向于在定義良好的環境中運行,而干預層也包含了更多的開放性挑戰。作為例子,Pearl 提了一個問題:“如果我們將價格翻倍,將會發生什么?”
這些問題無法單獨從銷售數據中得到解答,因為它們涉及客戶行為的變化(對新的價格作出反應)。
我個人認為,如果銷售數據可以顯示出先前價格上漲所帶來的影響,那么很可能可以基于銷售數據構建一個預測模型。Pearl 的反駁論點是,除非我們能夠準確地復制之前價格達到當前價格兩倍時的市場條件,否則我們無法真正知道客戶會做出怎樣的反應。
最上面一層被稱為反事實(Counterfactual),解決的是“如果……會怎樣”問題。當規模很小時,序列到序列生成模型就能夠解決問題。我們可以“重放”序列的開頭,修改下一個數據值,然后查看輸出會發生什么變化。
這些層構成了層次結構,介入性問題無法從純粹的觀察性信息中得到回答,而反事實性問題無法從純粹的介入性信息中得到回答(例如,我們無法對已經接受了藥物的受試者重新進行實驗,以便知道如果不為受試者提供藥物會怎樣)。在層級 j 回答問題的能力意味著我們也可以回答層級 i(<=j)的問題。
這種層次結構及其所包含的形式限制解釋了為什么基于關聯的機器學習系統無法推理動作、實驗和因果解釋。
結構因果模型
結構因果模型(SCM)結合了圖形建模、結構方程、反事實和介入邏輯。
我們可以使用這些工具正式表達因果問題,以圖解和代數形式編纂我們現有的知識,然后利用數據來估計答案。此外,當現有知識狀態或現有數據不足以回答我們的問題時,這個理論會警告我們,然后建議其他知識或數據來源,讓問題變得可回答。
SCM“推理引擎”將假設(以圖形模型的形式)、數據和查詢作為輸入。
有三個輸出:
Estimand 是一個數學公式,根據假設提供從任何可用假設數據中回答查詢的方法。
Estimate 是查詢的答案,以及置信度的統計估計。
一組擬合指數(Fit Indices)用于衡量數據與假設的兼容程度。如果編碼的假設沒有任何可測試的含義,則該集合為空。
如果在給定模型假設的情況下無法回答查詢,則將其聲明為“無法識別”。
所幸的是,我們已經開發出有效且完整的算法來確定可識別性,并為各種反事實查詢和各種數據類型生成估計。
SCM 可以為我們做些什么?
Pearl 并沒有深入研究 SCM 的運作細節,而是列舉了 SCM 框架提供的七種因果推理工具。
1. 透明度和可測試性
透明度讓分析師能夠辨別出編碼假設是否合理,并且源于緊湊的圖形表示。
可測試性是通過一個叫作 d-separation 的圖形標準來增強的,這個標準提供了原因和概率之間的基本連接。它告訴我們,對于模型中任意給定的路徑模式,我們應該期望在數據中找到哪些依賴模式。
2. do-calculus 和混淆控制
這里的混淆似乎是指潛在變量的存在,潛在變量是兩個或多個已觀察到的變量的未知成因。如何選擇協變量來控制混淆早在 1993 年就已有定論,后來的 do-calculus 在可行的情況下預測政策干預的效果,并在假設不允許預測時退出。
3. 反事實
現代因果關系研究的最大成就之一就是通過圖形表示形式化反事實推理。每個結構方程模型都確定了每個反事實句子的真實性。因此,如果句子的概率是從實驗或觀察研究或二者的組合估計出來的,那么我們就可以基于分析做出決策。
4. 調解分析
調解分析涉及發現中間機制,通過這些中間機制可以將原因傳給結果。我們可以發起諸如“X 對 Y 的影響的哪些部分是由變量 Z 調節的”之類的查詢。
5. 適應性、外部有效性和樣本選擇偏差
健壯性問題需要環境的因果模型,并且不能在 Association 層面處理… do-calculus 提供了一種完整的方法用于克服由于環境變化而引起的偏差。它既可用于重新調整學習策略以規避環境變化,也可用于控制由非代表性樣本引起的偏差。
6. 從不完整的數據中恢復
通過使用 SCM 因果模型,我們有可能對條件進行正規化。在這些條件下,可以從不完整的數據中恢復因果關系和概率關系,并且只要滿足條件,就可以為所需關系生成一致的估計。
7. 因果發現
d-separation 標準讓我們能夠檢測并列舉給定模型的可測試含義。我們還可以推斷出與數據兼容的模型集。還有一些方法用于發現因果方向性。
結 論
一方面,這篇文章看起來像是在推廣 SCM:“關聯機器學習”方法與層次結構中的關聯層緊密聯系。另一方面,豐富的因果推理理論似乎可以為傳統的機器學習方法提供很多補充。Pearl 肯定也是這么認為的!