當前位置:
首頁 > 知識 > 數據科學、機器學習、人工智慧,都有哪些區別?

數據科學、機器學習、人工智慧,都有哪些區別?

本文為雷鋒字幕組編譯的技術博客,原標題 What"s the difference between data science, machine learning, and artificial intelligence?,作者為 David Robinson。

翻譯 | 劉春雷 楊恕權 整理 | 凡江

當我向別人介紹我是數據科學家時,我常常被問到「數據科學和機器學習有什麼區別」或者「這是否意味著你在從事人工智慧工作?」類似問題我已經回答過很多次,答案可以總結成「三原則」:

這些領域確實有很多重合,而且各自都有各自的說法,選擇哪一個看起來更像是一個市場問題。但是他們不可互換:這個領域的大部分專業人士,對如何把特定的工作分成數據科學、機器學習、人工智慧,都有自己的一套直覺,儘管它很難用語言描述出來。

所以在這篇文章中,我提出了一個關於相當簡化的定義:

數據科學產生見解

機器學習做出預測

人工智慧創造行為

需要明確的是,這不是一個充分的定義:不是所有符合定義的都屬於這個領域。(算命師做決策,但我們永遠不會說他們在做機器學習!)同樣也,這也不是決定一個人的角色或者工作頭銜的好方法(「我是一個數據科學家嗎?」),這是一個關注點和經驗的問題。(任何工作都可以這樣描述:寫作是我工作的一部分,但我不是一個專業的作家)。

但我認為這個定義是一種有效的方式,它可以來幫助你區別這三種類型的工作,這樣談論起來時不會讓人覺得很傻。值得注意的是,我在討論成為一個描述主義者而不是規範主義者的方法:我感興趣的是這個領域的人如何使用這些術語而非術語本身。


數據科學產生見解

數據科學和其它兩個領域有所區別,是因為它的目標是基於人類:能夠獲得洞察力和理解。Jeff Leek對數據科學可以實現的洞察類型有很好的定義,包括:描述性(「普通客戶有70%的更新機會」),探索性(「不同的銷售人員有不同的更新率」)和因果關係(「一個隨機實驗表明分配給Alice的客戶比分配給Bob的客戶更有可能更新)。

不是所有產生洞察力的科學都是數據科學(數據科學的經典定義是統計學、軟體工程和領域專業知識的組合)。 但是我們可以用這個定義來區分ML和AI。 主要區別在於,數據科學中總有人工介入:有人正在理解、洞察,看到數字,或者從結論中受益。 「我們的象棋遊戲演算法使用數據科學來決定下一步棋」或者「Google地圖使用數據科學來推薦駕駛方向」是毫無意義的。

數據科學的定義因此強調:

統計推斷

數據可視化

實驗設計

領域知識

交流

數據科學家可能會使用簡單的工具:他們可以報告百分比並根據SQL查詢製作線圖;也可以使用非常複雜的方法:他們可能會使用分散式數據存儲來分析數萬億條記錄,開發尖端的統計技術並構建互動式可視化。 無論他們使用什麼,目標都是為了更好地理解他們的數據。


機器學習做出預測

我認為機器學習是關於預測的領域:「給定具有特定特徵的實例X,預測Y」。 這些預測可能是關於未來的(「預測這個病人是否會得敗血症」),但它們也可能是對於計算機不明顯的特性(「預測這個圖像是否有鳥)」。 幾乎所有的Kaggle比賽都可以被認定為機器學習問題:他們提供一些訓練數據,然後查看參賽者是否可以對新例子做出準確的預測。

數據科學和機器學習之間有很多重疊。 例如,邏輯回歸可以用來獲取關於關係的見解(「用戶越富有,他們購買我們產品的可能性越大,所以我們應該改變我們的營銷策略」)並做出預測(「這個用戶有53 %購買我們產品的可能性,所以我們應該向他推薦我們的產品「)。

像隨機森林這樣的模型可解釋性稍差,而且更適合「機器學習」的描述,深度學習等方法是眾所周知的難解釋。 如果你的目標是獲得見解而不是做出預測,這可能會阻礙你。 因此,我們可以想像一個數據科學和機器學習的「譜」,其中可解釋模型傾向於數據科學,更多「黑盒子」模型則傾向於機器學習這一邊[source](https://xkcd.com/1838/)

大多數從業者可以在這兩個任務之間非常舒適地來回切換。我在工作中同時使用到機器學習和數據科學:我可以通過機器學習的方法,在Stack Overflow的業務資料上匹配一個模型來判定哪些用戶更有可能是在尋找一份工作,然後用數據科學來構築結論和可視化結果來驗證為什麼這個模型有效。這是非常重要的方法來發現你模型中的缺點以及解決演算法偏見。這也是數據科學經常將機器學習發展為一個產品的原因。

人工智慧創造行為

人工智慧是目前為止這三個類中最古老和最廣為承認的,但結果也是最具挑戰性來定義的。由於尋求資金和關注的學者、記者和創業者,人工智慧也得到了大肆宣傳。

因為這也意味著一些本應該被稱為人工智慧的工作卻並不是按照這樣進行描述的,這也引起了我的強烈反對。一些學者也在抱怨人工智慧的作用:「人工智慧是我們現在還無法做到的」。所以什麼工作可以讓我們合理地描述人工智慧?

一個定義「人工智慧」的通用思路是一種自發代理行為執行或者推薦行為行為 (e.g.Poole, Mackworth and Goebel 1998,Russell and Norvig 2003)。我認為也屬於人工智慧的系統包括:

人機博弈演算法 (Deep Blue,AlphaGo)

機器人學和控制理論 (運動規劃, 兩足機器人的步行行為)

優化選擇 (谷歌地圖路徑選擇)

自然語言處理 (機器人2)

強化學習

此外,人工智慧與其他領域也有很多交疊。深度學習因為橫跨機器學習和人工智慧兩個領域,所以特別有趣。典型應用例子就是訓練數據然後作出預測,這已經在人人機博弈演算法中表現出巨大的成功,比如Alphago(與更早之前的人機博弈系統,如深藍相比,Alphago更聚焦於探索和優化未知的解決方案空間)。

但這之間也有區別。如果我分析一些銷售數據,會發現來自特定行業的客戶比其他更多 (提取出一些調查結果), 輸出結果是一些數字和圖表,不是特定行為。(管理者可能會根據這些結論改變銷售策略,但這個行為不是自發性的) 這意味著我會將我的工作描述為數據科學: 如果將提高銷售額的方法歸結於人工智慧將會是很尷尬的說法。

請不要將經受過演算法訓練的人都寫作具有人工智慧能力的人

——Dave Gershgorn @davegershgorn 3:17 AM - Sep 19, 2017

人工智慧與機器學習的差異更加微妙,從發展歷史來說,機器學習通常被認為人工智慧的一個子領域 (計算機視覺尤其是一個經典人工智慧問題)。但我認為機器學習領域已經與人工智慧有較大割離,一定程度上是由於上面所提及的衝擊:大多數研究預測問題的人都不喜歡把自己描述成人工智慧研究人員。 (很多重要的機器學習所取得的突破來自於數據分析,而這些數據在AI領域的其他領域很少出現。) 這意味著,如果你能把一個問題描述為「從Y中預測X」,我建議你完全避免使用「人工智慧」這個詞。


案例研究:怎樣將這三者一起使用

假設我們正在開發一輛自動駕駛汽車,並且正在研究將車停靠在停車標誌處的特定問題。我們需要從這三個領域中獲得的技能。

機器學習: 汽車必須使用它的攝像頭識別停車標誌。我們構造一個包含數百萬街邊對象的照片數據集,然後訓練一個演算法來判斷那些照片中有停車標註。

人工智慧:一旦我們的汽車識別出停車標誌,它就需要決定什麼時候採取剎車動作。太早或太晚應用它們是危險的,我們需要它來處理不同的路況 (例如,需要識別一條光滑道路,並不足以較快地將速度降下來識到它的速度不夠快), 這就是控制理論範疇。

數學科學:在街頭測試中我們發現車的性能並不是足夠好,通過停車標誌來驅動停車還是會有一些疏漏。在分析街邊測試數據後,我們再次洞察到漏判率與每天的時間有關:在日出之前或日落之後更容易出現漏判 停車標誌。我們意識到我們大多數訓練數據僅都是大白天下的停車標誌,所以我們構建了一個更好的數據集,包括夜間圖片然後在返回去進行機器學習步驟。

通常將人工智慧與能夠在不同的領域執行任務的通用人工智慧或者超過人類智力的超人工智慧混為一談並沒有任何幫助。這對任何被描述為「人工智慧」的系統都有不切實際的期望。

此處我提及到「機器人」是指用於解釋自然語言並以同樣方式回復的系統。這可以與用於提取數據的文本挖掘和用於分類文檔的文本分類相區分。

博客原址http://varianceexplained.org/r/ds-ml-ai/

更多文章,關注雷鋒網(公眾號:雷鋒網),添加雷鋒字幕組微信號(leiphonefansub)為好友

備註「我要加入」,To be a AI Volunteer !

NLP 工程師入門實踐班:基於深度學習的自然語言處理

三大模塊,五大應用,手把手快速入門 NLP

海外博士講師,豐富項目經驗

演算法 + 實踐,搭配典型行業應用

隨到隨學,專業社群,講師在線答疑

新人福利

關注 AI 研習社(okweiwu),回復1領取

【超過 1000G 神經網路 / AI / 大數據,教程,論文】

一張圖看懂數據科學家、數據工程師和軟體工程師之間的區別

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

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


請您繼續閱讀更多來自 AI研習社 的精彩文章:

NumPy 將停止支持 Python 2,這裡有一份給數據科學家的 Python 3 使用指導
如何對非結構化文本數據進行特徵工程操作?這裡有妙招!

TAG:AI研習社 |