1. 程式人生 > >【人工智慧】普通程式設計師想投身 AI 行業的機遇與挑戰

【人工智慧】普通程式設計師想投身 AI 行業的機遇與挑戰

雷鋒網 AI 研習社按:據 LinkedIn 釋出的「全球 AI 領域人才報告」顯示,2011 年深度學習技術爆發,人工智慧領域有了飛躍式的發展,但核心人才資源的短缺限制了國內人工智慧相關行業的發展速度,尤其是在軟體、演算法、機器學習等基礎層領域,有著更加明顯的人才需求缺口。與此同時,為了招攬更多優秀的人才,科技公司給 AI 工程師開出的福利待遇也遠遠高於其他 IT 領域開發者的薪資。

在市場的強烈需求以及高額薪資的雙重誘惑下,不少開發者計劃轉型 AI 開發,投身於 AI 的浪潮中。不過,普通開發者如何基於現有的開發經歷順利過渡到 AI 行業?人工智慧開發者如何構建自己的技能體系?未來工業界需要怎樣的人工智慧開發人才?這些都是非 AI 領域程式設計師不得不面對的問題。帶著這些疑問,雷鋒網 AI 研習社採訪了知乎大 V 阿薩姆,他將結合自身的學習與工作經驗為開發者解讀轉型 AI 所要面對的困難和挑戰。

嘉賓簡介:阿薩姆(現知乎 ID 為「微調」),普華永道高階資料科學家,負責統計學習模型開發。有豐富的工業及學術經驗,擅長將理論知識應用於實踐中。曾以第一作者發表過多篇不同領域的學術文章,如人機互動、智慧系統等。研究興趣包括異常檢測、整合學習、跨領域機器學習。以筆名“阿薩姆”在知乎上創作了多篇機器學習相關的文章,曾數次被知乎及知乎日報收錄。樂於技術分享,近期正在進行機器學習實踐書籍創作。阿薩姆曾在雷鋒網 AI 慕課學院舉辦主題為「機器學習實踐經驗分享」的公開課,回顧連結:http://www.mooc.ai/open/course/375。

以下是 AI 研習社對阿薩姆的採訪:

1. 一個合格的機器學習開發者應該需要怎樣的技能?或者說怎樣的知識體系?

我覺得分為很多方面,和公司的規模有很大關係。如果單從開發角度來看,最基本的要求是需要大致瞭解各個模型的優缺點,清楚在什麼情況下選擇怎樣的模型。

公司有規模大小之分,但對於機器學習工程師這一崗位,很多公司也提出了基本的技能要求。這些基本要求不過分強調深度,但追求廣度,屬於一個“合格”工程師應該掌握的基本技能。簡單概括包括如下幾點:

1. 業務能力

  • 理解問題的痛點,明白如何用機器學習方法看待商業問題;

  • 懂得資料需求,能收集重要的資料和必備的資訊;

  • 具備從模型中攫取價值的能力,明白模型的最終目的是產生商業價值。

2. 資料能力

  • 資料整合能力:能夠將不同渠道的資料整合(資料庫、excel、JSON等),合併、去重等;

  • 資料處理能力:缺失值處理(發現與補全)、資料格式轉換、資料壓縮、過取樣欠取樣等;

  • 資料視覺化:能夠使用基本的資料視覺化工具來分析資料,不管是 R 的 ggplot2 還是 Python 的 Matlibplot,或者 tableau 和 Qlik 等。

3. 模型與演算法理解

  • 理解基本的機器學習演算法,明白不同場景下的經典解決方案,不迷信演算法。(比如小資料集的簡單問題用線性模型就夠了)

  • 具備基本的統計概率知識,知道如何避免資料中的陷阱;

  • 理解經典模型的基本調參,可以解釋分析模型的輸出結果。

4. 程式設計能力

  • 熟練操作如 Python、R 等語言,知道特定演算法的工具包,如 Sklearn;

  • 熟練不同語言下的資料結構,知道如何高效地處理資料,如 pandas。

  • 懂得分散式運算會有所幫助,明白如何在線上部署機器學習模型,也是一個加分項。

詳細資訊請參照我的知乎回答:

https://www.zhihu.com/question/63881785/answer/243635446。

2. 國內外不少巨頭都在打造AI開發者平臺,有的甚至開放了自家的演算法供大家參考,對於目前幾個大的AI開發者平臺,工程師們應該怎樣選擇呢?

現在還處於百家爭鳴的階段,一般都是跟著公司/團隊的需求走。更常見的選擇是跟著巨頭走,比如深度學習的話 TensorFlow(雖然被不少用 pytorch 和 caffe 的人詬病)背靠谷歌好乘涼。跟著巨頭走的主要好處在於程式碼會持續更新,不會慢慢變得無人維護。其次就是和程式語言有關係,如果用 python 的話,通用機器學習庫基本主要是 sklearn,如果用 java 有 weka。但最重要的是,不要把自己繫結到某一語言或者平臺上,要花時間在程式語言和平臺背後的模型上去。工程師們最好具備的是“T字型技能”,即深入掌握某個語言/平臺,但對其他平臺有粗略的瞭解。

3. 資料對於 AI 來講非常重要,對於想轉行做 AI 的工程師來講,如何快速掌握大資料相關知識,培養良好的資料思維?

這個問題我就不強答了,因為我對大資料的瞭解比較有限。有一個值得關注的就是,現階段很多的 ML 模型還用不到大資料,往往資料只有幾個 GB 而已,甚至幾 MB。因此,不要拘泥於大資料知識,如果有條件的話,優先掌握機器學習模型還是比較重要。

同時,工程師也是有分工的,如果有可能掌握更多技能當然最好不過,但時間有限的情況下做到精通機器學習也可以讓你成為不可多得的人才。至於資料思維,機器學習本身學習的就是資料關聯或者特性,把自己當做一個模型,試著培養對資料間關係的敏感度。

4. 您曾經在文章中說過,從廣義角度來說,學術界比較超前,但不會將工業界遠遠甩在身後,而是一套生態系統中的不同環節。對於已經投身於業界並打算轉型 AI 的工程師來講,如何抓住學界最新的研究方向,並將最新的理論應用於自己所在的領域?

雖然這句話聽起來像一句雞湯,但我覺得興趣導向是最重要的。我的工作中遇到了很多欺詐檢測的專案,於是我開始瞭解相關的知識,從看書拓展到研究相關的論文。在學習和研究了這個方向的知識一年左右,我有了一些對於異常檢測的模型改進思路。最近我們投的論文就是提出了一種新的異常檢測方法,而年初剛被 IEEE Intelligent Systems 接受的另一篇論文也是將工作內容轉化為學術成果的產物。因此,如果能從工作中找到樂趣,以及想解決的問題,那麼讀論文、做研究、寫論文是很順理成章的事情。

另外,一開始有新思路的時候我並沒有計劃把這個演算法寫成論文,而僅僅是放到了 GitHub 上計劃開源,但很快發現的確比較實用,因此才拓展成了論文。所以,最重要的是多想、多動手,剩下的事情就是水到渠成。當然,前期積累是很重要的,不然難免閉門造車。

另一個要警惕的是不要追逐熱點,每天新發表的論文太多了,還是要以自己的工作領域為主。書籍作為框架,而論文作為突破方向。

5. 特徵的選擇會直接影響模型實現的結果,但是很多剛轉入 AI 領域的開發者在學習和訓練中很難選出合適的特徵資料集,請問在機器學習中如何選擇特徵資料集?特徵是否越多越好?

特徵不是越多越好,無效特徵會對最終模型施加負面影響。有效的選擇特徵並不容易,一般來說有兩個方法:

  • 人工選擇+大量的手工特徵工程;

  • 利用深度學習等方法抽取有效的資料表示。

展開了說是非常繁複的,可以參考我的文章(https://www.zhihu.com/question/264417928/answer/283087276 )。一般來說,資料量夠的話深度學習自動抽取的特徵表示能力更好,小資料集上人工特徵工程效果更好。不幸的是,特徵工程沒太多竅門,唯手熟爾。

6. 如今機器學習已經延伸至各行各業,變得越來越重要,在這種情況下AI 工程師會面臨什麼樣的機會和挑戰?

最大的挑戰來自於工作流程化、模組平臺化的趨勢。換句話說,入門級機器學習工程師的重要性已經越來越低了,很多自動化平臺實現了半自動調參,比新手工程師的效果還好。有趣的討論可以參看:https://www.zhihu.com/question/265761632/answer/298995665。

至於機會的話,主要來自於各行各業的AI化。不僅僅是網際網路公司需要AI,傳統行業也需要。最適合在傳統行業推行AI的,反而是出身於這些行業的人,是以為機會。

7. 在 AI 熱之前,開發者也用線性迴歸等去擬合、預測資料或者是聚類、關聯規則挖掘資料,只不過那時沒有冠以「機器學習」的名號。您覺得現在機器學習浪潮會不會有些虛熱?目前人工智慧技術的落地和應用還有哪些困難?

一個 AI 方向的笑話是,“內行都覺得現在的AI模型弱爆了,而外行都覺得現在的AI太強了而擔心毀滅人類”。現在AI的火熱主要取決於資料、演算法、算力三方面的共同發展。虛熱肯定是有的,泡沫是不可避免的。但現在即使用邏輯迴歸,和以前的方法也有了變化,因為要處理的資料量有了變化。同時算力上升使得更多模型變得可能。可以認為現在的機器學習是以前的應用統計的升級實用版,並融入了更多的電腦科學。

8. 您在知乎上的每個回答和每篇文章都有很多人評贊,您平時是怎樣經營你的知乎號?如何在工作和知乎之間平衡的呢?

我似乎沒有特別經營知乎,也沒有什麼特別的訴求。我採用“阿薩姆”筆名的原因就是奔著好玩的目的去的。同時我一般的回答和文章都儘量希望:

  • 嚴肅回答,儘量詳實有料,杜絕抖機靈;

  • 不懂不答,不強答。不回答情感、八卦、政治這類問題;

  • 不隨便點贊,不汙染關注者的時間線。

我給大家的建議也是不管有沒有人看,先寫了再說。在合適的時候,會有人發掘到你的文章。其次就是得失心不必太重,社交平臺當個業餘樂趣即可。至於平衡工作和知乎的話,我的工作比較清閒,偏研究性質,所以只要有空的時候把最近的思考順道寫出來就好了。

9. 您有沒有計劃開拓微信、微博平臺,或者像資料科學圈網紅「愛可可愛生活」老師那樣做個直播,將AI知識變現呢?

愛可可愛生活老師是我輩楷模,每天關注那麼多工作。我暫時還沒有類似的打算,原因如下:

自身能力有限,擔心誤人子弟,還屬於知識積累期。

現在的工作收入尚可,知識變現對我來說反而太奢侈了。當然,時不時的做一些免費分享是很好的。

有很多的研究問題還沒有解決,一直有新的思路冒出來。在靈感枯竭時或許更適合系統的輸出,比如製作一門課程。

一直有朋友想要合作做一個公眾微訊號,但我因為時間問題沒敢接。至於微博,我的確接到了新浪工作人員的聯絡,我的認證賬號是“阿薩姆談AI”,會時不時的發一些短而精的東西,歡迎關注。就像剛才說的,社交平臺對我而言只是樂趣和生活調劑,不想因為“業績壓力”而負重。同時,我的確和電子工業出版社有合作在準備一本機器學習相關的書籍,但因為一直在趕論文,進展有限,出版時間還需要打個問號。

在我心裡一直都是學術第一,別的事情都可以往後排。而且如果一件事情如果無法做好,我一般選擇再積累一段時間,以後再做打算。

10. 對於想轉行做 AI 開發的工程師們,你還有哪些建議給他們?

開個玩笑的話,我想說:“富貴險中求。”但嚴肅的說,我覺得轉行一直有兩個需要特別注意的問題:

  • 不要期望一步到位,儘量尋求中間地帶,也就是你現在行業與AI的交叉點。這樣不僅可以轉行,還可以降低風險,並提高自身價值。

  • 對行業有更深刻的認識,其實中高階的機器學習/深度學習沒有那麼大的需求,而入門級的其實薪水也不大誘人。因此要根據自身條件慢一點轉,有可能再拿個相關學位也是很好的選擇。做軟體工程也很好,開發手機app對社會也有貢獻,做網路安全的前景也很廣闊。CS的子領域不只有AI,還有很多穩妥、待遇好、有意義的方向。

最後想說,這個行業、時代壓力都很大。雖然工作很重要,但個人身體健康、心理健康更加重要。我有不少同行包括我自己,都或多或少有一些健康問題,比如頸椎或者慢性胃病。因此身體真的是本錢,有些事情得過且過即可。祝大家有個好身體吧。

【深度好文】人工智慧與經濟學:關於近期文獻的一個綜述

      小編導讀

“人工智慧” 革命是一場重要的技術變革,它不僅波及到了生產生活的各個方面,也影響到了經濟學研究。最近幾年來,人工智慧不僅成為了經濟學研究的重要工具,也成為了 經濟學研究的重要議題,產生了大量的文獻。本文對最近關於人工智慧的經濟學文獻進行了 梳理,對這一領域的重要研究進行了比較詳細的介紹。希望這項整理工作可以為進一步的研 究有所幫助。全文共計1萬8千字,閱讀需要25-36分鐘。

人工智慧技術的突飛猛進,對經濟社會的各個領域都產生了重大影響,這種影響當然也波及到了經濟學。很多一線經濟學家紛紛加入了對人工智慧的研究,不少知名學術機構還組織了專門的學術研討會,組織學者對人工智慧時代的經濟學問題進行專門的探討。

事實上,經濟學家並不是最近才開始關注人工智慧的。在理論層面,經濟學對決策問題的探討與人工智慧所研究的問題有很多不謀而合之處,這決定了兩門學科在研究上存在著很多交叉之處。從歷史上看,經濟學家對人工智慧的理論關注至少有過三次高潮:第一次高潮是上世紀五六十年代,人工智慧這門學科的奠基之初。當時,有不少經濟學家參與了這一學科的建設。例如,諾貝爾經濟學獎得主Herbert Simon就是人工智慧學科的創始人之一,也是“符號學派”的開創者。在他看來,經濟學和人工智慧有不少共通之處,它們都是“人的決策過程和問題求解過程”,因此在進行人工智慧研究的過程中,他融入了不少經濟學的思想。第二次高潮是在本世紀初。當時,經濟學在博弈論、機制設計、行為經濟等領域都取得了不少的進展,這些理論進展被頻繁地應用在人工智慧領域。最近經濟學家對人工智慧問題的關注是第三次高潮。這次高潮主要是在以深度學習為代表的技術突破的推動下發生的,由於深度學習技術強烈依賴於大資料,因此在這輪高潮中的不少討論集中在了與資料相關的問題上,而在對人工智慧進行建模時也重點體現出了規模經濟、資料密集等相關的性質。

至於應用層面,經濟學和人工智慧這兩個領域的互動更為頻繁。目前,在金融經濟學、管理經濟學、市場設計等領域都可以看到人工智慧的應用。

從總體上看,最近有關人工智慧的經濟學大致可以分為三類:

第一類研究是將人工智慧視為分析工具。一方面,人工智慧的一些技術可以與傳統的計量經濟學相結合,從而克服傳統計量經濟學在應對大資料方面的困難。應用這些新的計量技術,經濟學家可以探索和構建新的經濟理論。另一方面,人工智慧的發展也為採集新的資料提供了便利。藉助人工智慧,諸如語音、影象等資訊都可以較為容易地整理為資料,這些都為經濟學研究提供了重要的分析材料。

第二類研究是將人工智慧作為分析物件。從經濟學角度看,人工智慧具有十分鮮明的性質。首先,人工智慧是一種“通用目的技術”(General Purpose Technology,簡稱GPT),可以被應用到各個領域,其對經濟活動帶來的影響是廣泛和深遠的。現在,在分析經濟增長、收入分配、市場競爭、創新問題、就業問題,甚至是國際貿易等問題時,都很難迴避人工智慧所造成的影響。其次,人工智慧是一種強化的自動化,它會對勞動力產生替代,並造成偏向型的收入分配結果。再次,當前的人工智慧技術發展強烈依賴與大資料的應用,這就決定了它具有很強的規模經濟和範圍經濟,這兩個特徵對產業組織、競爭政策、國際貿易等問題都會產生重要影響。以上的所有這些特徵共同決定了分析和評估人工智慧對現實經濟造成的影響應當成為經濟學研究的一個重要話題。

第三類研究是將人工智慧作為思想實驗。作為一門學科,經濟學是建立在理想化的假設基礎之上的。在現實中,很多假設並不成立,因此經濟學的預言就和現實存在著一定的差距。而人工智慧的出現,從某種意義上來講是為經濟學家提供了一個可能的、符合經濟學假設的環境。這同時也為檢驗經濟理論的正確性提供了一個場所。

在本文中,筆者將對最近幾年來有關人工智慧的經濟學文獻進行梳理,對相關的重要文獻進行介紹。考慮到在上述三類研究中,第三類的科幻性較強,而科學性相對不足,因此本文將暫時不涉及這類研究,對此感興趣的讀者可以自行參考Hanson(2016)等代表性文獻。

1人工智慧的相關概念簡介

在正式展開對人工智慧經濟學的討論之前,我們需要先對文獻中經常提及的幾個概念——“人工智慧”、“機器學習”和“深度學習”進行一下解釋。初略來講,人工智慧的概念是最大的,機器學習是其的一個分支學科,而深度學習又是機器學習的一個分支(如圖1)。

圖1:人工智慧、機器學習和深度學習的關係

在最廣的意義上,人工智慧是“讓智慧體(agent)在複雜環境下達成目標的能力”。關於智慧體應該怎樣達成目標,不同的學者有不同的理解。早期的學者認為,人工智慧應當模仿人類的思考和行動,其目的在於創造出能和人類一樣思考的機器。而較近的一些學者則認為,人類的思維方式只是一種特定的演算法,人工智慧並不一定要模仿人類,而應該在更廣的範圍上讓智慧體合理地思考和行動。以LeCun、 Tagmark為代表的一些學者甚至認為一味模仿人腦只會限制人工智慧的發展。人工智慧包括很多分支學科,例如機器學習、專家系統、機器人學、搜尋、邏輯推理與概率推理、語音識別與自然語言處理等。

機器學習(Machine Learning)是人工智慧的一個分支學科,是實現人工智慧的一種方法。它使用演算法來解析資料,從中學習,然後對真實世界中的事件做出決策和預測。和傳統的為解決特定任務而專門進行程式設計的思路不同,機器學習“讓計算機擁有在沒有明確程式設計的條件下擁有學習的能力”,並通過對大量資料的學習找出完成任務的方法。

根據學習的特徵,機器學習可以分為三類:有監督學習(Supervised Learning)、無監督學習(Unsupervised Learning)和強化學習(Reinforcement Learning)。

有監督學習是通過對有標籤的資料樣本(a sample of labelled data)進行學習,從而找出對輸入和輸出之間的一般性法則。例如,對於房地產企業來說,他們擁有大量房屋屬性,以及房價資訊的資料,如果他們希望對這些資料進行學習,通過建模找出房價和各類房屋屬性之間的關係,那麼這個過程就是有監督學習。進行有監督學習的演算法主要有兩類,一類是迴歸(Regression)演算法,另一類是分類(Classification)演算法。

無監督學習所面對的資料樣本則是沒有標識的,其任務在於通過學習這些資料從而找出資料中隱藏的潛在規律。例如,藝術鑑賞家經常需要對名畫的流派進行鑑定。顯然,在任何一張畫上都不會存在任何明確標識的特徵資訊,因此鑑賞家們只能通過大量欣賞畫作去增加主觀體驗。久而久之,他們會發現某些畫家會固定使用一些作畫技巧,通過對這些技巧的識別,他們就能對畫作的流派進行鑑定。在這個過程中,鑑賞家們的學習就是無監督學習。聚類(Clustering)演算法進行無監督學習的主要演算法。

強化學習是在動態環境中進行的學習,學習者通過不斷試錯,從而使得獎勵訊號最大化。例如,學生通過做習題來溫習功課,每次做完習題後,老師都會批改習題,讓他們知道哪些題做對了,哪些題做錯了。學生根據老師的批改,找出錯誤、糾正錯誤,讓正確率不斷提高,這個過程就是強化學習。

近年來備受關注的深度學習(Deep Learning)是機器學習的一個研究分支。它利用多層神經網路進行學習,通過組合低層特徵形成更加抽象的高層表示屬性類別或特徵,以發現數據的分散式特徵表示。在傳統的條件下,由於可供學習的資料過少,深度學習很容易產生“過度擬合”等問題,因而影響其效果。但隨著大資料的興起,深度學習的力量就開始體現出來。今年來人工技術的迅速發展,很大程度上是由深度學習的發展推動的。

2作為研究工具的人工智慧

人工智慧是經濟學研究的有力工具。一方面,人工智慧中的機器學習目前已開始逐步融入計量經濟學,在經濟學研究中有了較多應用。另一方面,語音識別、文字處理等技術也為經濟學研究的素材收集提供了便利。在本節中,我們不對人工智慧在素材蒐集上的應用進行探討,只集中討論機器學習在經濟學中的應用。由於這個原因,在本節中“人工智慧”和“機器學習”可以被視為是同義詞。

(一)人工智慧對計量經濟學的影響

1、計量經濟學與機器學習:從孤立到融合

統計學關注的問題有四個:(1)預測(Prediction),(2)總結(summarization),(3)估計(estimation),以及(4)假設檢驗。計量經濟學是統計學的一個子學科,因此以上四個問題同樣也是其關心的主題。但作為一門為經濟學研究服務的統計學,計量經濟學對於因果關係的關注是更為突出的,因此它更強調總結、估計和假設檢驗,而對於預測的關注則相對較少。由於強調對因果問題的解釋,所以計量經濟學對估計結果的無偏性和一致性予以了特別的關注,將大量精力投入到了解決“內生性”等可能干擾估計結果一致性的問題上。

相比於統計學和計量經濟學,機器學習是一門更為應用性的學科。它所關注的問題更多是預測,而不是對因果關係的探究。因為這個原因,決策樹(Decision Tree)、支援向量機(SVM)等分類模型,以及在計量經濟學中很少被用到的嶺迴歸(Ridge Regression)、套索演算法(LASSO)等,都在機器學習中被大量使用。

由於關注的焦點不同,傳統上計量經濟學和機器學習之間的交集很小,在某些情況下,兩者甚至存在著一定的矛盾。Athey(2018)曾給出過一個例子:假設我們手頭有一批旅館的入住率和價格的資料。如果我們要利用價格來預入住率,那麼得到的模型通常顯示入住率和價格之間存在著正向關係。理由很簡單,當旅館發現自己的更受歡迎時,會傾向於擡高自己的價格。但如果我們考慮的問題是當企業降價時會有什麼後果,那涉及到的就是因果推斷問題。此時,根據需求定律,如果我們的設定沒有出錯,那麼所得到的模型通常會顯示入住率和價格之間存在著負向關係。

但隨著大資料時代的到來,這兩個學科之間的交集開始逐漸增大。

一方面,在大資料條件下機器學習的方法逐漸展現出了其應用價值。傳統計量經濟學關注的都是樣本較小、維度較低的資料,對於這樣的“小資料”,傳統計量方法是可以較好應付的。但是當資料的數量和維度極具擴大後,這些方法就開始變得捉襟見肘了。例如,在計量分析時,研究者會很習慣於將大量的被解釋變數都加入到模型,然後對其進行估計。這在資料量較小時能行之有效,但當資料量極為龐大時,其對於運算能力的要求將是驚人的。這就要求研究者必須先對模型進行“降維”,找出最關鍵的那些解釋變數,此時機器學習的一些演算法,例如LASSO就會起到作用。

另一方面,機器學習可以為尋找因果關係提供啟發。因果推斷的方法通常是針對一個定義良好(well-defined)的模型採用的,而在現實中,研究者事實上甚至不瞭解應該選擇怎樣的模型。此時,機器學習的方法就有了用武之地。Varian(2014)曾經舉過一個泰坦尼克號乘客年齡與倖存概率的例子。他利用了兩種方法對這一問題進行了分析,其中一種是在尋求因果關係時常用的Logit模型,而另一種則是機器學習中常用的決策樹方法。根據Logit模型,乘客年齡和倖存率之間的關係並沒有顯著的關係。而決策樹模型則顯示,兒童和60歲以上的老年人會擁有更高的生存概率,這是因為在泰坦尼克號沉沒之前,老人和孩子被允許優先逃離。很顯然,在這個例子中,決策樹能夠為我們帶來更多的有價值資訊,有了這些資訊,研究者就可以構建進一步的模型來進行因果推斷。

這裡值得說明的是,如果訓練集很小,那麼機器學習的演算法很容易會導致過度擬合(overfit)的問題,此時其優勢很難體現出來。而在大資料條件下,過度擬合問題的影響大大減小,其價值也就顯露了出來。

2、機器學習在因果推斷中的應用

前微軟首席經濟學家、斯坦福大學教授Susan Athey曾在Science上發文討論了機器學習在因果推斷和政策評估中的作用。她指出,過去更多被用於預測的機器學習在因果推斷領域有很強的應用前景,未來的計量經濟學家應當更多將機器學習的技術與現有的計量經濟理論相結合。

機器學習在因果推斷中的第一個應用是將用來取代常規方法中一些不涉及因果關係的步驟。例如,在因果推斷分析中,傾向性得分匹配法(Propensity Score Matching)是經常被用到的。使用這一方法的第一步是要依賴於核估計等方法計算出傾向性得分,而這些估計在協變數眾多的情況下是難以進行的。為了在眾多的協變數中篩選出有用的部分,一些研究者就提出了將LASSO、Booting、隨機森林等常用於機器學習的演算法應用到協變數篩選的過程中去,然後再用得到的結果按照傳統的步驟進行匹配。

機器學習在因果推斷中的第二個應用是對異質性處理效應的估計。過去的因果關係推斷,主要是在平均意義上展開的,其關注的焦點是平均處理效應(Average Treatment Effect,簡稱ATE)。這樣的分析固然有重要的價值,但在不少情況下它並不能滿足實際應用的需要。舉例來說,當醫生決定是否要對一位癌症病人採用某項療法時,如果他僅知道平均來看這種療法可以讓病人的存活時間增加一年,這顯然是不夠的。由於同一療法對於不同病人的效果區別很大,因此在決定是否採用該療法時,醫生就需要進一步知道不同特質的病人在採用這種療法時會有怎樣的症狀。換言之,除了ATE外,他還需要關注異質性的處理效應(Heterogeneous Treatment Effect)。

Athey and Imbens(2015)將機器學習中常用的分類迴歸樹(Classification and Regression Trees)引入到了傳統的因果識別框架,用它們來考察異質性處理效應。他們比較了四種不同的分類迴歸樹演算法——單樹法(Single Tree)、雙樹法(Two Trees)、轉化結果樹法(Transformed Outcomes Tree)以及因果樹法(Causal Tree),並特別強調了因果樹法的作用。Wager and Athey(2015)推廣了因果樹方法,討論瞭如何用隨機森林(Random Forest)來處理異質性處理效應。Hill(2011)、Green and Kern(2012)則採用了另一種思路——貝葉斯可加性迴歸樹(Bayesian Additive Regression Tree,簡稱BART)來考察異質性處理效應,這種方法在某種意義上可以被視為是貝葉斯版的隨機森林方法。不過,BART方法的大樣本性質目前仍然是不清楚的,因此其應用還存在著一定的侷限。

關於機器學習在因果推斷中的應用的更多介紹,可以參考Athey and Imbens(2016)的綜述。這裡有兩點需要強調。首先,因果推斷理論和機器學習理論的交叉並不是單向的。以圖靈獎得主Judea Pearl為代表的一些人工智慧專家認為,現在強人工智慧技術不能得到突破的原因就在於現有的機器學習理論沒有考慮因果性。如果沒有因果性,就不能進行反事實分析(Counterfactual Analysis),智慧體就無法應對紛繁複雜的現實情況。因此,這些學者建議,未來的機器學習應當考慮吸納因果推斷理論的成果,為實現自動化推理奠定基礎。其次,在機器學習領域發展最快的深度學習到目前為止並沒有在經濟學研究中發揮作用。這可能是因為深度學習的學習過程本身是一個黑箱,不適合被用來作為因果識別的工具所致。

相關推薦

人工智慧普通程式設計師投身 AI 行業機遇挑戰

雷鋒網 AI 研習社按:據 LinkedIn 釋出的「全球 AI 領域人才報告」顯示,2011

普通程式設計師人工智慧?別了!

我的上一篇博文 《程式設計師,你焦慮嗎?》發表以後,不少程式設計師朋友聯絡我說他們確實很焦慮,但是不知道怎麼辦。其中一大部分人都打算轉大資料、人工智慧。 我幹了六年.net,轉過java,又轉python進入了公司人工智慧部門。現在我在部門內做外圍開發工作。我以前也想轉人工智慧,現在不那麼想轉了,因為我的背景

連載優秀程式設計師的45個習慣之42——允許大家自己辦法

允許大家自己想辦法 —— 高效程式設計師的 45 個習慣之習慣42 “你這麼聰明,直接把乾淨利落的解決方案告訴團隊其他人就好了。不用浪費時間告訴他們為什麼這樣做。” “授人以魚,三餐之需;授人以漁,終生之用。”告訴團隊成員解決問題的方法,也要讓他們知道如何解決問題的思路,這也是成

收藏關於程式設計師的搞笑但卻真實無比的程式設計語錄

收集了很多程式設計語錄,基本上都跟程式設計師的生活有關。這些語錄涉及軟體開發,程式碼維護,除錯糾錯,軟體bug,系統設計、文件,程式碼質量,測試和軟體開發團隊管理等方面。下面的這59條語錄雖然很搞笑,但卻真實無比。只有程式設計師才能理解這些程式設計語句裡的真正內涵。閒言少敘,開始吧… 程

面試每個程式設計師都會遇到的面試問題:談談程序和執行緒的區別

當你剛入職場時,無論你是用C++還是Java甚至只是應聘運維崗位,相信你都會遇到這個問題。 這是一個很基礎的問題,但又是一個很考驗人水平的問題。 說基礎是因為每個學計算機的人都應該懂,程序執行緒是計算機的基礎概念,是每個程式設計師時時刻刻都要接觸的東西。 但這又是一個充

轉載@Python 程式設計師,如何實現狂拽酷炫的 3D 程式設計技術?

今天給大家介紹一位美麗的姑娘。她的名字叫Pyecharts,打從我第一眼見到她後,就深深地被她迷住,並且愛上了她。 簡單說一下她的來歷:Pyecharts是一款強大的視覺化工具。百度開發了一款基於JS強大的視覺化庫Echarts,可我們在繪圖時,通常並不使用前端的技術來整理資料,而轉換資料結構又

LanceToBigData記錄程式設計師的進化之路

專欄達人 授予成功建立個人部落格專欄

fearlazy一個程式設計師的自我修煉

專欄達人 授予成功建立個人部落格專欄

連載優秀程式設計師的 45 個習慣之習慣35

對問題各個擊破 ——  高效程式設計師的 45 個習慣之習慣35 “逐行檢查程式碼庫中的程式碼確實很令人恐懼。但是要除錯一個明顯的錯誤,只有去檢視整個系統的程式碼,而且要全部過一遍。畢竟你不知道問題可能發生在什麼地方,這樣做是找到它的唯一方式。”    

連載優秀程式設計師的45個習慣之45——及時通報進展問題

好訊息: 本書今天互動網有貨,噹噹網、卓越網也會陸續有貨。 及時通報進展與問題 —— 高效程式設計師的 45 個習慣之習慣45 “管理層、專案團隊以及業務所有方,都仰仗你來完成任務。如果他們想知道進展狀況,會主動找你要的。還是埋頭繼續做事吧。”    接受一個任務,

Spring每個程式設計師都使用Spring(四)——Aop+自定義註解做日誌攔截

一、前言       上一篇部落格向大家介紹了Aop的概念,對切面=切點+通知 、連線點、織入、目標物件、代理(jdk動態代理和CGLIB代理)有所瞭解了。理論很強,實用就在這篇部落格介紹。       這篇部落格中,小編向大家介紹springAop很常見的

專欄 - 一個程式設計師的進化史

一個程式設計師的進化史 受《那些年啊,那些事---一個程式設計師的奮鬥史》專欄的影響很深,決定記錄自己作為程式設計師一路上的學習歷程以及感悟,但和那個專欄並不同,我這個不是小說,就打算寫自己的一些實際的心得體會,學習方法等,望批准

面試JAVA程式設計師麵霸之初級知識

該系列文章也是來自於一篇CSDN的gitchat,將其中的答案補全,本篇是最簡單的初級知識。 1,面向物件和麵向過程的區別和聯絡。     網上有個蓋澆飯和蛋炒飯的例子比較好。     面向過程是蛋炒飯,混在一起,一個一個炒。     面向物件是蓋澆飯,飯和菜分開,想要換掉

python對於程式設計師來說,2018刑偵科推理試卷是問題麼?

最近網上很火的2018刑偵科推理試卷,題目確實很考驗人邏輯思維能力。 可是對於程式設計師來說,這根本不是問題。寫個程式用窮舉法計算一遍即可,太簡單。 import itertools class Solution(object): answer = [] def check3(self):

Delphi程式設計師如何找到高薪的工作?

我想現在沒有什麼比做一個軟體工程師更能賺錢的了,當然了,明星除外。在美國,一個優秀的軟體工程師,就算在一個平凡的崗位上,也能得到年薪50萬(美元)以上的待遇。這絕對不是開玩笑,在北美曾有統計表明,一年內發放給軟體工程師的工資以及各種福利,佔去了全美淨收入的2.4%,這是一個

優秀程式設計師不得不知道的20個位運算技巧

———————————————————————————————————————————— 一提起位運算,人們往往想到它的高效性,無論是嵌入式程式設計還是優化系統的核心程式碼,適當的運用位運算總是一種迷人的手段,或者當您求職的時候,在程式碼中寫入適當的位運算

JAVA程式設計師必看的15本書-JAVA自學書籍推薦

作為Java程式設計師來說,最痛苦的事情莫過於可以選擇的範圍太廣,可以讀的書太多,往往容易無所適從。我想就我自己讀過的技術書籍中挑選出來一些,按照學習的先後順序,推薦給大家,特別是那些想不斷提高自己技術水平的Java程式設計師們。此外,大家可以加入457036818交流群,互

轉載PHP程式設計師的技術成長規劃

PHP程式設計師的技術成長規劃 作者:黑夜路人(2014/10/15) 按照了解的很多PHP/LNMP程式設計師的發展軌跡,結合個人經驗體會,抽象出很多程式設計師對未來的迷漫,特別對技術學習的盲目和慌亂,簡單梳理了這個每個階段PHP程式設計師的技術要求,來幫助很多

隨筆跳出程式設計師思維看世界

作為程式設計師,我真的有時候特別想 debug 這個世界。看看這個世界究竟是怎麼執行的。因為經常會遇到她的輸出跟我斷言的不一樣,或者我覺得正常的輸入,卻被她判定為非法。 先分享兩件事吧。 第一件事,記得去年考駕照的時候,應該是在練科目三。教練帶著我練車,當開到一個地方時,讓我停車。然後跟我說:『這裡是一個

普通程式設計師如何轉向AI方向

一、AI領域簡介 AI,也就是人工智慧,並不僅僅包括機器學習。曾經,符號與邏輯被認為是人工智慧實現的關鍵,而如今則是基於統計的機器學習佔據了主導地位。最近火熱的深度學習正是機器學習中的一個子項。目前可以說,學習AI主要的是學習機器學習。 但是,人工智慧並不等同於機