數據科學、機器學習、人工智能的區別究竟是什麼?

本文由 「AI前線」原創,原文連接: 數據科學、機器學習、人工智能的區別究竟是什麼?
做者| David Robinson
編譯 | 嚴子怡
編輯|Emily

AI 前線導讀:」當我向別人介紹我是一個數據科學家的時候,我經常聽到這樣的疑問:「這和機器學習有什麼區別?」或是「這是否是意味着你在作人工智能?」。我已經回答過太屢次這樣的問題。我回答的次數已經達到我事不過三的原則。」算法


David Robinson 的推文:機器學習

當你把相同的代碼寫了三遍時,請寫一個函數。當你面對面的給過了 3 次徹底相同的建議時,請寫一篇博文。分佈式

這些領域之間的確有很大程度上的重合。而且,這其中的每個領域都存在大量的炒做,以致於選擇使用哪個詞這件事好像是一個跟營銷有關的問題。可是,它們並非能夠隨意互換的。 即便很難用語言表達出來,大多數這些領域裏的專家都能憑直覺地理解哪些工做屬於數據科學,哪些工做屬於機器學習或者人工智能。函數

所以,在這篇文章中,我提出了一個很是簡單的關於這三個領域之間區別的定義:工具

  • 數據科學產生洞見
  • 機器學習產生預測
  • 人工智能產生行動

要澄清的是,這不是一個充分條件:不是全部符合某個定義的東西就屬於這個領域。(算命先生也產生預測,但咱們毫不會認爲它們在作機器學習!)這些定義也不是很好的肯定一我的的角色和工做的方式(「我是一個數據科學家嗎?」),這樣的問題是與我的關注的方向和經歷有關的。(這對於任何一個關於工做的描述都是對的:個人工做的一部分是寫做但我不是一個專業的做家)。性能

可是,我認爲這些定義在用於區分這三種類型的工做時是很是有用的。而且當你談起這些知識時,這些定義可讓你避免本身聽起來很蠢。值得注意的是,我採起的是描述主義而不是規定主義的方法:我感興趣的並非這些術語「應該是什麼意思」,而是這個領域的人一般是如何使用它們的。學習


數據科學產生洞見測試

數據科學與其餘兩個領域的區別在於它的目標實際上是人的目標:得到洞見和理解。Jeff Leek 對數據科學能達到的哪些類型的洞見有一個很是好的定義 ,包括描述性(「普通客戶有 70%的可能去續費」),探索性(「不一樣的銷售人員有不一樣的續費率」)和因果關係(「隨機化的實驗代表分配給 Alice 的客戶比分配給 Bob 的客戶更有可能續費」)。大數據

再次強調,並不是全部產生洞見的都被認爲是數據科學(數據科學的經典定義是,它是統計學、軟件工程和領域專業知識的組合)。可是咱們能夠用這個定義把它與機器學習和 AI 區分開來。主要的區別在於,在數據科學的工做流程中,老是存在一我的:這我的正在理解這些洞見,觀察圖表,或者從結論中受益。因此,咱們不能說「咱們的象棋算法使用數據科學來選擇下一步怎麼走」或「Google 地圖使用數據科學來推薦行車路線」。優化

所以,這個關於數據科學的定義強調:

  • 統計推斷
  • 數據可視化
  • 實驗設計
  • 領域知識
  • 溝通

數據科學家可能會使用簡單的工具:他們能夠報告百分比,並根據 SQL 查詢製做線圖。他們還可使用很是複雜的方法:他們可能會使用分佈式數據存儲來分析數以萬億計的記錄,開發尖端的統計技術,並構建交互式可視化。不管他們使用什麼,他們的目標是更好地瞭解他們的數據。


機器學習產生預測

我認爲機器學習是一個關於預測的領域:「給定某個具備特定特徵的實例 X,預測 Y」。這些預測多是關於將來(「預測這個病人是否會患敗血症」),可是它們也多是一些計算機不容易理解的特質(「預測這個圖像是否有鳥 」)。幾乎全部的 Kaggle 比賽都是機器學習問題:他們提供一些訓練數據,而後看看參賽選手是否可以對新的例子作出準確的預測。

數據科學和機器學習之間有不少重疊。例如,邏輯迴歸能夠用來獲取有關關係的洞見(「用戶越有錢,他們購買咱們的產品的可能性越大,因此咱們應該改變咱們的營銷策略」),並作出預測(「這個用戶有 53%的可能性購買咱們的產品,因此咱們應該把這個產品推薦給他「)。

像隨機森林這樣的模型可解釋性稍差。所以,它更像是屬於機器學習和深度學習等難以解釋的方法。若是你的目標是提取洞見而不是作出預測,這些方法可能會阻礙你的工做。所以,咱們能夠想象一個包含數據科學和機器學習的「光譜」,在其之上,易於解釋的模型偏向於數據科學這邊,而「黑盒」的模型在機器學習那一邊。

大多數從業者可以很是溫馨地在兩個任務之間來回切換。我在工做中同時使用了機器學習和數據科學:我可能會使用 Stack Overflow 的流量數據訓練出來的模型來肯定哪些用戶可能正在尋找工做(這是機器學習),可是也會構建歸納性描述和可視化來檢查爲何模型可以正確工做(這是數據科學)。這項工做是發現你的模型中的缺陷,並與算法誤差做鬥爭的一個重要途徑。這是爲何數據科學家常常負責開發產品的機器學習組件。


人工智能產生行動

人工智能是迄今爲止這三個領域中最古老也是最廣爲人知的,所以定義它是最具挑戰性的。這個詞語被大量的炒做所包圍,這要緣於研究人員,記者以及尋求金錢或關注的創業公司。

Baron Schwartz 的推文:

當你在融資時,它是 AI;當你在招聘時,它是機器學習;當你在寫代碼時,它是線性迴歸;當你在調 bug 時,它是 printf()

這讓我心裏產生了很不幸的抗拒情緒。由於這意味着一些應該被稱爲 AI 的工做沒有被看成 AI。一些研究人員甚至抱怨 AI 的效應:「AI 是咱們如今還沒法作到的」【腳註 1】。那麼咱們能夠把什麼工做稱做 AI?

「人工智能」定義中的一個共同點是自主行動主體執行或推薦行動(例如 Poole,Mackworth 和 Goebel 1998,Russell and Norvig 2003)。一些我認爲應該描述爲 AI 的系統包括:

  • 遊戲算法(深藍,AlphaGo)
  • 機器人和控制理論(運動規劃,行走雙足機器人)
  • 優化算法(Google 地圖選擇路線)
  • 天然語言處理(機器人【腳註 2】)
  • 強化學習

同時,咱們能夠看到人工智能有不少與其餘領域重疊的部分。深度學習在實現機器學習到 AI 的跨越這一方面特別引人注意。典型的用例是對數據進行訓練,而後進行預測,但它卻在 AlphaGo 等遊戲算法中得到了巨大的成功。(這與以前的遊戲系統造成了鮮明的對比,好比深藍,它更專一於探索和優化後續的解空間)。

但他們之間也有區別。若是我分析一些銷售數據,發現某一行業的客戶比其餘行業的客戶續費的更多(提取洞見),個人輸出是一些數字和圖表,而不是一個特定的行動。(主管人員可能會用這些結論來改變咱們的銷售策略,但這種行動不是自主的)這意味着我將會把個人工做形容爲數據科學。若是我說:我正在「使用 AI 來改善咱們的銷售狀況」,那將是很是尷尬的。

Dave Gershgorn 的推文:

請不要看到一個只是訓練過模型的人就說他掌握了 AI 的力量。

人工智能和機器學習之間的區別有點微妙,歷史上機器學習常常被認爲是 AI 的一個子領域(尤爲是計算機視覺被視做一個經典的 AI 問題)。可是我認爲機器學習領域在很大程度上已經從 AI 脫離開來了,部分緣由在於上面所說的抗拒情緒:大多數從事預測問題的人不喜歡把本身形容爲 AI 研究人員。(有助於實現許多重要的機器學習領域突破的知識,大都來自統計學。而統計學在 AI 領域的其餘部分的出現則不多)。這意味着,若是你能夠把一個問題描述爲「從 Y 預測 X」,我建議避免使用 AI 這個術語。

Amy Hoy 的推文:

按照如今的定義,y=mx+b 是一個能夠告訴你一條直線該往哪兒延伸的 AI 機器人。


案例學習:三者如何一塊兒使用?

假設咱們正在建造一輛自動駕駛汽車,而且咱們正在研究如何停在標誌停車旁這樣一個具體的問題。咱們須要分別在這三個領域中使用如下技能。

  • 機器學習:汽車必須使用攝像頭識別停車標誌。咱們構建了包含數百萬個街邊物體照片的數據集,而且訓練一個算法來預測其中哪個有停車標誌。
  • 人工智能:一旦咱們的車能識別停車標誌,就須要決定什麼時候採起剎車的動做。過早或過晚地剎車都是很危險的,咱們須要算法可以處理不一樣的道路條件(例如,在一條光滑的道路上,它能認識到它如今不能足夠快地減速),這是一個控制理論問題。
  • 數據科學:在街頭測試中,咱們發現汽車的性能不夠好,出現了一些本應該正確地停在停車標誌旁的假陰性結果。分析街上的測試數據後,咱們得到的洞見是假陰性所佔的比率取決於測試在一天的什麼時間進行:自動駕駛車極可能在日出前或日落後錯過中止標誌。咱們意識到,咱們的大部分訓練數據僅包含日光充足環境下的對象。所以咱們構建了包含夜間圖像的數據集並再次從機器學習那一步開始作起。

腳註:

  • 不能否認如今不少人把人工智能一般與可以跨越多個不一樣領域執行任務的通用人工智能相混淆,甚至與超越人類智能的超人工智能相混淆。這對任何如今稱爲「AI」的系統都提出了不切實際的指望。
  • 這裏所說的「機器人」是指一個可以解釋天然語言,而後以某種方式迴應的系統。它不一樣於文本挖掘,其目標是從中獲取洞見(數據科學),也不一樣於文本分類,其目標是對文檔進行分類(機器學習)。

查看英文原文:

varianceexplained.org/r/ds-ml-ai/

更多幹貨內容,可關注AI前線,ID:ai-front,後臺回覆「AI」、「TF」、「大數據」可得到《AI前線》系列PDF迷你書和技能圖譜。

相關文章
相關標籤/搜索