因果模型理論所揭示的一個有用看法是根據每一個類可以回答的問題類型對因果信息進行分類。這種分類造成了三層式的結構,只有當層級 j(j >= i)的信息可用時才能回答層級 i(i = 1,2,3)的問題。算法
最低(第一)層被叫做關聯(Association),它涉及由裸數據定義的純統計關係。大多數機器學習系統運行在這一層上。app
第二層被叫做干預(Intervention),不只涉及到能看到什麼,還涉及你可能採起的行動(干預措施)有哪些影響。我認爲加強學習系統是運行在這個層上(例如,「若是我把騎士移到這個方格會怎樣?」)。加強學習系統傾向於在定義良好的環境中運行,而干預層也包含了更多的開放性挑戰。做爲例子,Pearl 提了一個問題:「若是咱們將價格翻倍,將會發生什麼?」框架
這些問題沒法單獨從銷售數據中獲得解答,由於它們涉及客戶行爲的變化(對新的價格做出反應)。機器學習
我我的認爲,若是銷售數據能夠顯示出先前價格上漲所帶來的影響,那麼極可能能夠基於銷售數據構建一個預測模型。Pearl 的反駁論點是,除非咱們可以準確地複製以前價格達到當前價格兩倍時的市場條件,不然咱們沒法真正知道客戶會作出怎樣的反應。ide
最上面一層被稱爲反事實(Counterfactual),解決的是「若是……會怎樣」問題。當規模很小時,序列到序列生成模型就可以解決問題。咱們能夠「重放」序列的開頭,修改下一個數據值,而後查看輸出會發生什麼變化。工具
這些層構成了層次結構,介入性問題沒法從純粹的觀察性信息中獲得回答,而反事實性問題沒法從純粹的介入性信息中獲得回答(例如,咱們沒法對已經接受了藥物的受試者從新進行實驗,以便知道若是不爲受試者提供藥物會怎樣)。在層級 j 回答問題的能力意味着咱們也能夠回答層級 i(<=j)的問題。學習
這種層次結構及其所包含的形式限制解釋了爲何基於關聯的機器學習系統沒法推理動做、實驗和因果解釋。測試
結構因果模型編碼
結構因果模型(SCM)結合了圖形建模、結構方程、反事實和介入邏輯。url
咱們可使用這些工具正式表達因果問題,以圖解和代數形式編纂咱們現有的知識,而後利用數據來估計答案。此外,當現有知識狀態或現有數據不足以回答咱們的問題時,這個理論會警告咱們,而後建議其餘知識或數據來源,讓問題變得可回答。
SCM「推理引擎」將假設(以圖形模型的形式)、數據和查詢做爲輸入。
例如,下圖顯示 X(例如服用藥物)對 Y 具備因果效應(例如恢復),第三變量 Z(例如性別)影響 X 和 Y。
這讓我想起了我在貝葉斯決策方面看到的模型。
有三個輸出:
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 確定也是這麼認爲的!
鑑於因果模型對社會科學和醫學科學產生的變革性影響,咱們很天然會期待機器學習技術也會發生相似的變革。我期待這種共生產生的系統可以使用原生因果語言與用戶溝通,而且藉助這種能力成爲下一代 AI 的主導。