當前位置:
首頁 > 知識 > 為機器學習插上因果推理的翅膀:這是一本系統的因果推理開源書

為機器學習插上因果推理的翅膀:這是一本系統的因果推理開源書

機器之心整理

參與:曉坤、思源

因果推理一直被視為深度學習中缺失的部分,除了「執果索因」的貝葉斯定理,我們很少有方法能對因果關係進行建模。在這一本開源書籍中,作者對因果推理做了一個連續且系統的介紹,這和以往我們只能找到離散的資料完全不同。除此之外,這本書用大量的案例與比喻幫助我們理解因果推理的概念與建模方法,且章節由簡到難非常適合自學。

書籍開源地址:https://www.hsph.harvard.edu/miguel-hernan/causal-inference-book/

哈佛大學生物統計學和流行病學教授 Miguel Hernan 和 Jamie Robins 最近一直在寫一本書,並希望為因果推理的概念和方法提供一個連貫性的介紹。他們表示目前因果推理相關的材料大部分都分散在多個學科的期刊上,或者存在各種技術文章中。他們希望這本書能幫助各種對因果推斷感興趣的讀者,不論是流行病學家、統計學家、社會科學學家還是計算機科學家。這本書主要分為三部分,它們的難度依次遞增:不帶模型的因果推理、帶模型的因果推理、複雜長跨度數據的因果推理。

在書籍的主頁上,作者提供了整本書的學習資源,它們目前是最新的草稿。如果有更新,作者同樣會更新這些資源,因此讀者需要確保下載的是最新的。如果讀者發現了一些錯誤或建議,也可以在主頁上提交你們的看法。下面是一些書籍與對應的代碼資源:

第一部分(1-10 章):https://cdn1.sph.harvard.edu/wp-content/uploads/sites/1268/2018/12/hernanrobins_v1.10.37.pdf

第二部分(11-17 章):https://cdn1.sph.harvard.edu/wp-content/uploads/sites/1268/2019/01/hernanrobins_v2.17.19.pdf

第三部分(19-21 章):https://cdn1.sph.harvard.edu/wp-content/uploads/sites/1268/2018/11/hernanrobins_v3.21.5.pdf

其中第一部分最後的更新為 2018 年 12 月 24 號,第二部分最後的更新時間為 12 月 31 號,第三部分為 11 月 25 號。

第二部分的 Python 代碼:https://cdn1.sph.harvard.edu/wp-content/uploads/sites/1268/2015/08/R_part2.zip

第二部分的 R 代碼:https://github.com/jrfiedler/causal_inference_python_code

如果你希望閱讀這本書,那麼你可能對因果推理非常感興趣。但是作為一個正常人類,我們其實已經掌握了因果推斷的基本概念。我們當然已經知道什麼是因果效應,也清楚地明白聯繫和因果之間的區別,甚至我們一生都在不斷地使用這些知識。

我們知道不吃午飯就會餓、不喝水就會渴,我們同樣也能區分春天和發芽的因果關係、春天和季節的相關性關係,這些都是很自然的感受與理解。但是在這本書中,作者會由最基本的概念出發,逐步形式化我們對因果關係的理解,並採用科學的方法對這些關係建模。

本書使用的語言風格非常形象,每一個形式化概念的解釋都以具體的醫療案例展開,適合各種學科領域的人入門。我們來看看第一章的部分內容簡介。

宙斯接受了心臟移植,然後死了。赫拉也接受了心臟移植,然後活下來了。從這些數據中可以得出心臟移植 A 和存活 Y 這兩個變數之間的因果關係嗎?當然,是不行的。

具體而言,即使赫拉是沒有接受心臟移植,然後活下來了,也不能判斷是心臟移植導致了死亡。

這裡首先需要考慮到宙斯和赫拉之間的差異,會不會引進新的變數。例如,有可能是因為他們性別不同導致了心臟移植的成敗。

其次,在這個案例中是無法獲得一個個體的全部自變數樣本的,宙斯或赫拉要麼接受要麼不接受心臟移植,不可能兩者皆有,因為因變數是死亡或者存活。這引出了一個非常重要的概念,即因果關係和相關關係之間的區別。

如下表所示,這裡假設自變數 A 是可以完全採樣的,分別為 a=0(不服用阿司匹林)和 a=1(服用阿司匹林),因變數 Y 是感冒,即 Y=0(不感冒),Y=1(感冒)。根據表中數據的統計,在 20 個被試中,服用阿司匹林時,感冒的人數為 10,不感冒的人數為 10;不服用阿司匹林時的情況也是一樣。所以,我們並沒有發現服用阿司匹林對感冒概率的降低影響,從數據得出的結論是 A 和 Y 之間無因果關係。

再看看下一個表,每個人都只試驗了一個條件,要麼服用阿司匹林,要麼不服用。這裡包含的數據屬於上表的一部分。其中 7 個人沒有服用阿司匹林,13 個人服用了。然後,沒有服用阿司匹林的人之中,有 3 個人感冒了,概率為 3/7;服用了阿司匹林的人之中,有 7 個人感冒了,概率為 7/13。7/13 大於 3/7,所以服用阿司匹林會導致感冒?當然不是,這隻能表明兩者之間存在相關關係,而不是因果關係。

最後,兩個案例肯定是不夠的。無論對於因果關係還是相關關係,足夠的樣本數都是最基本的。簡言之,在少樣本的情況下,任意截取部分數據都能得出很不同的統計分布。

於是,我們可以總結出,可信的因果關係的推斷需要滿足如下三點:

自變數的隨機化,避免引進新的隱藏變數;

試驗全部自變數採樣;

具備足夠樣本數。

所以,通常而言,識別個體樣本的因果關係是不可行的。以上這些內容是根據書中的第一章的部分總結,原書闡述具體得多,感覺就是統計學專業畢業然後當了多年醫生的大學教授寫出來的。

此外,因果關係還有一個很重要的性質是方向性,也就是分清楚什麼是因什麼是果。兩個相關的變數 A 和 B 可能存在四種因果關係:A 導致 B、B 導致 A、C 導致 A 和 B、無關(純屬偶然的相關性)。在深度學習的監督學習範式中,輸入和輸出屬於這四種關係的哪一種呢?僅靠深度學習本身是無法確定的,這也是因果推理作為深度學習補充的必要之處。關於這方面的更多討論,感興趣的讀者可以參見:因果推理和監督學習的統一概念框架:兩者並不是對立的。

最後,全書的目錄如下所示:

本文為機器之心整理,轉載請聯繫本公眾號獲得授權。

------------------------------------------------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

還原論方法無法解開意識之謎,理解意識需要整體考慮
從硬體到框架,30+巨頭參與的AI基準競爭結果公布

TAG:機器之心 |