【公眾號回復 「1024」,免費領取程序員賺錢實操經驗】

大家好,我是章魚貓,今天的文章來自讀者(九章雲極 DataCanvas)投稿。
圖靈獎得主 Judea Pearl 曾表示,現有的機器學習模型不過是對數據的精確曲線擬合,只是在上⼀代的基礎上提升了性能,在基本的思想方面沒有任何進步。根據福布斯的統計數據,全球範圍只有 13% 左右的機器學習項目能夠真正上線運行,失敗的項目其中很重要的一個原因就是模型的泛化能力不足,在真實數據上的表現完全達不到訓練數據上的效果。隨着機器學習建模越來越多的應用,企業對人工智能的要求也在進一步提高。近幾年提及的「數智化」核心是智能決策,以數據驅動的方式實現自動化決策來提高整體運營效率。用戶的需求的重心從預測性分析向指導性分析升級轉移,預測性分析是告訴企業未來可能會發生什麼,指導性分析也叫處方性分析,是告訴企業我們如果想要實現一個目標需要如何做,這是典型的智能決策問題。機器學習主要用在預測性分析上,基本上沒有能力解決指導性分析這樣的決策問題,因此,因果學習正被學界和業界逐漸重視起來,其可以補充機器學習的一些短板,也滿足了智能決策這類問題的需求。因果推斷的重要性逐漸顯示,被認為是人工智能領域的一次範式革命。
YLearn:全球首款一站式處理因果學習完整流程的開源算法工具包
第一,數據中的因果結構應當首先被學習和發現,用作這一任務的手段通常被稱為因果發現(causal discovery)。這些被發現的因果關係會被表示為因果結構公式(structural causal models, SCM)或因果圖(一種有向無環圖,directed acyclic graphs, DAG)。
第二,我們需要將我們感興趣的因果問題中的量用因果變量(causal estimand)表示,其中一個例子是平均治療效應(average treatment effect, ATE)。這些因果變量接下來會通過因果效應識別轉化為統計變量(statistical estimand),這是因為因果變量無法從數據中直接估計,只有識別後的因果變量才可以從數據中被估計出來。
最後,我們需要選擇合適的因果估計模型從數據中去學些這些被識別後的因果變量。完成這些事情之後,諸如策略估計問題和反事實問題等因果問題也可以被解決了。
YLearn 因果學習開源項目實現了最近文獻中多個因果推斷相關算法,並且致力於在機器學習的幫助下支持因果推斷流程中從因果發現到因果效應估計等各方各面的相關內容,尤其是當有很多觀測得到的數據時,這一目的會更有前景。YLearn因果學習開源項目,是全球首款一站式處理因果學習完整流程的開源算法工具包,率先同時解決了因果學習中「因果發現、因果量識別、因果效應估計、反事實推斷和策略學習」五大關鍵問題,具有一站式、新而全、用途廣等特點,將「決策者」使用門檻降到最低,助力政府和企業自動化「決策」能力的有效提升。
GitHub 開源地址:https://github.com/DataCanvasIO/YLearn
YLearn 有 5 個主要的因果推斷相關概念,如下所示:CausalDiscovery. 發現數據集中線性和非線性的因果關係並用因果圖表示。CausalModel. 確定感興趣的因果量之後,識別因果圖中的工具變量,操作因果圖,識別因果效應(Causal Effect)的估計表達式,也可判斷給定集合是否可以作為後門調整集合,前門調整集合等。EstimatorModel. 給定因過量的估計表達式與訓練數據集,從訓練數據集中訓練多種估計模型,使用訓練好的估計模型在新的測試數據集上估計因果效應。Policy. 給定感興趣的因果效應和數據集,尋找一種最佳方案以提升因果效應,獲取理想收益。Interpreter. 解釋估計模型(EstimatorModel)所預測的因果效應,解釋策略模型(Policy)所給出的最佳方案。這些不同的部分通過組合,可以完成一個完整的因果學習相關流程,為了方便使用,YLearn 也將它們一起封裝在 Why 這個統一的 API 接口中。
使用 CausalDiscovery 去發現數據中的因果關係和因果結構,它們會以 CausalGraph 的形式表示和存在。這些因果圖接下來會被輸入進 CausalModel, 在這裡用戶感興趣的因果變量會通過因果效應識別轉化為相應的可被估計的統計變量(也叫識別後的因果變量)。一個特定的 EstimatorModel 此時會在訓練集中訓練,得到訓練好的估計模型,用來從數據中估計識別後的因果變量。這個(些)訓練好的 EstimatorModel 就可以被用來在測試數據集上估計各類不同的因果效應,同時也可以被用來作因果效應解釋或策略方案的制定。從普遍意義上講,只要是需要決策支持的這類任務都可以使用 YLearn 來完成,彈性定價、客戶挽留、產品推薦、廣告等等,前提條件和機器學習一樣就是要準備好符合要求的數據就可以。因果學習其中有一個重要的應用就是 Uplift 建模,直接字面理解就是提升建模,提升的是什麼可以認為提升 ROI(投入產出比),非常適合用在精準營銷上面。提升建模的核心是把目標用戶分到 4 個象限里。在向一些用戶推薦去購買一個產品,比如說一個理財或者是線上的訂閱服務,那麼現實中用戶會有 4 類:確定會購買的用戶,不管我是否推薦這類用戶都會購買(鐵粉) ;我的推薦會提高用戶購買轉化的,如果不推薦他不會購買(路轉粉) ;是一些靜默用戶本來已經訂閱了我們的服務,一旦收到我們的推薦提醒反而取消了訂閱(粉轉黑)。對 1、2 類用戶,鐵粉、黑粉我們都不需要干預他,因為這個投入成本的收益幾乎是 0,可以節省營銷成本,第 4 類用戶更是堅決不要去觸達他,避免產生副作用。我們重點需要觸達的就是第 3 類用戶,促進購買行為。那麼機器學習模型是沒辦法完成這個任務,我們需要通過因果學習裡面的異質化因果效應評估也就是 CATE 來完成,而且還可以更進一步,路轉粉的用戶用哪種手段收益更高,優惠卷、打折、還是什麼都不用給打個電話就可以了,這個也是可以學習出來,不同的用戶可以有不同的策略,最後我們可以綜合性的提高總體投入產出比了。這是一個很典型的 YLearn 的應用場景。
更多項目詳情請查看 GitHub 開源地址:https://github.com/DataCanvasIO/YLearn最近,章魚貓建了一個「GitHub 精選交流群」,歡迎大家一起交流優秀開源項目,也可以宣傳自己的開源項目,在 「GitHub 黑板報」公眾號後台回復【加群】邀請你入群。
---特別推薦---
特別推薦:一個新的優質的專注分享各種瀏覽器插件、黑科技教程、各種你想不到的高效率軟件及工具的公眾號,「程序員掘金」,專注挖掘好東西,非常值得大家關注。點擊下方公眾號卡片,直接關注。