資料科學,機器學習和人工智慧有什麼區別?
當我作為資料科學家介紹自己的時候,我經常會遇到像“資料科學和機器學習有什麼區別”或者“這是否意味著你在從事人工智慧研究?”這樣的問題,我已經回答了無數遍,這些回答已經符合了我的 “三次準則”:
- 當你寫相同的程式碼寫了三遍時,你就應該去寫一個函式
- 當你給出相同的個人建議三次時,你就應該將建議寫在部落格裡
這些領域確實有很多重疊之處,再加上三個領域都充斥著媒體的營銷炒作,導致人們很容易對他們產生混淆。 但是它們之間是不可混淆的:大多數這些領域的專業人員都能夠去直觀地理解一些特定的工作是如何被歸類為資料科學、機器學習或人工智慧的,即使這很難用語言去表達。
所以在這篇文章中,我提出了一個“這三個領域之間差異”的簡單定義:
-
資料科學產生見解
-
機器學習產生預測
-
人工智慧產生行為
要清楚的是,這個定義並不是絕對的權威的:並不是所有符合這些定義的事物都是這個領域的一部分。(算命先生每天都在預測,但是我們永遠不會說他們搞機器學習!),同樣這也不是一個確定某人角色或職位的好方法(“我是資料科學家嗎?”),定義只是偏重各自領域的重點和不同的經驗。(任何工作描述都是如此:寫作是我工作的一部分,但我不是一個專業的作家)。
但是我認為這個定義仍然是區分這三種概念的一個有效的方法,並且當你談論它們的時候不再會聽起來很愚蠢。值得注意的是,我採取的是描述的方法而不是隻對他們下定義:我感興趣的不是這些術語“應該是什麼意思”,而是這個領域的人們通常如何使用這些術語。
資料科學產生見解
資料科學與其他兩個領域是有顯著區別的,因為它的目標與人類的目標尤為契合:去獲取見解和理解力。傑夫·李克(Jeff Leek)對資料科學提供的見解的型別給出了一個很好的定義,他認為資料科學應包括描述性(“普通客戶有70%的可能再次續訂”),探索性(“不同的銷售人員有不同的續訂率”)和因果關係(“隨機實驗表明分配給Alice客戶的續訂率比分配給Bob客戶的續訂率更高”)。
同樣,並非所有可以產生見解的資料都有可以被認為是資料科學(資料科學的經典定義是它包含統計學,軟體工程和領域專業知識的結合)。但是我們可以用這個定義來將資料科學與機器學習和人工智慧區分開來。它們的主要的區別在於,在資料科學中,人是迴圈中不可缺少的一部分:演算法得出資料結果,人們通過資料得到見解,或從結論中受益。這使得我們說“圍棋演演算法是使用資料科學來選擇下一步”或“Google地圖是使用資料科學來推薦行車路線”變得毫無意義,因為圍棋演算法與google地圖推薦行車路線根本不需要人來幫助。
資料科學的定義強調的是:
-
統計推斷
-
資料視覺化
-
實驗設計
-
領域知識
-
溝通
資料科學家可能會使用一些簡單的工具:他們計算報告百分比,並根據SQL查詢製作線性圖。 他們也可以使用非常複雜的方法:使用分散式資料儲存來分析數以萬億計的資料記錄,開發尖端的統計技術,並構建互動式視覺化模型。 無論他們使用什麼,目標都是更好地解讀他們的資料。
機器學習產生預測
我認為機器學習是屬於預測領域的:“給定具有特定特徵的樣本X,預測它的Y值”。這些預測可能是關於未來(“預測這個病人是否會得敗血症”),但也可能是一些對計算機而言的弱勢領域(“例如預測這個影象中是否有鳥”)。幾乎Kaggle的所有比賽專案都可以被認為是機器學習問題:他們提供一些訓練資料,然後看看選手們能否使用自己的模型對新的示例做出準確的預測。
資料科學和機器學習之間有很多重疊之處。例如,邏輯迴歸可以用來獲取各種資料之間的關聯並做出預測(“使用者越富有,他們會購買我們的產品的可能性越大,因此我們應該相應的改變我們的營銷策略,如果這個使用者有53 %的可能性購買我們的產品,那我們就應該去向他推銷”)。
像隨機森林這樣的模型可解釋性稍差,而且更適合“機器學習”演算法去描述,而深度學習等方法則是十分難以解釋的。如果你的目標是獲取見解而不是做出預測,那麼機器學習並不適合你。因此,我們可以想象機器學習和資料科學之間有一個簡單的界限,更多可解釋的模型傾向於資料科學,更多的“黑盒”模型則在機器學習方面。
大多數從業者可以非常輕鬆地在這兩個領域之間來回切換。 我就會在工作中同時使用機器學習和資料科學:我可能會使用堆疊溢位流量資料建立一個模型來確定哪些使用者可能正在尋找工作(機器學習),但與此同時我也需要就模型為什麼能起作用給出總結並進行視覺化測試(資料科學)。這是發現你模型中的缺陷,並與演算法偏差作鬥爭的重要途徑。 這是資料科學家經常負責開發產品的機器學習元件的原因之一。人工智慧產生行動
人工智慧是迄今為止這三個領域中中最古老也是最社會認可度最高的,因此定義它最具有挑戰性。 人工智慧被大量的炒作所包圍,這要“歸功於”研究人員,記者以及一些尋求金錢或者關注的創業公司。
物極必反,這導致我對它感到很悲觀,因為這意味著一些本應被稱為人工智慧的工作卻無法得到它應有的描述。一些研究人員甚至抱怨AI效應:“AI是我們現在根本無法實現的事情”。那麼我們可以把哪些工作恰當的描述為AI呢?
諸多“人工智慧”定義中的一個共同點是:一個模擬人類智慧的智慧體代理,它能自主執行任務,並能根據行為作出反饋。(Poole,Mackworth和Goebel 1998,Russell and Norvig 2003)。 一些我認為應該描述為人工智慧的系統包括:
-
遊戲演演算法(Deep Blue,AlphaGo)
-
機器人和控制理論(運動規劃,雙足走路機器人)
-
優化(Google地圖選擇駕駛路線)
-
自然語言處理
-
強化學習
同樣,我們也可以看到人工智慧與其他兩領域有很多重疊的部分。深度學習在機器學習和人工智慧上表現出來的跨界成就。典型的用法示例是對資料進行訓練,然後進行預測,但在AlphaGo等遊戲演算法中卻顯示出巨大的成功。 (這與之前的遊戲系統形成了鮮明的對比,比如Deep Blue,它更專注於探索和優化未來的解決方案空間)。
但人工智慧也有很多區別。 如果我分析一些銷售資料,發現特定行業的客戶比其他行業的客戶續訂率更高,那麼我會輸出一些數字和圖表,而不是採取特定的行動。(主管人員可能會用這些結論來改變我們的銷售策略,但這種行為並不是自主的),這意味著我應將我的工作形容為資料科學:如果說我正在使用AI來提高我們的銷售額,這會是令人氣憤的。”
Dave Gershgorn:
“拜託!”
“拜託!“
”拜託千萬不要寫一個訓練演算法的人是利用了AI的力量”
人工智慧和機器學習之間的區別是十分微妙的,歷史上機器學習經常被認為是人工智慧的一個子領域(特別是計算機視覺是一個經典的AI問題)。 但是我認為機器學習領域在很大程度上已經從AI中剝離出來了,部分原因在於上面所說的反感:大多數從事機器學習的人不喜歡把自己形容為AI研究人員。 (許多重要的機器學習突破都源於統計學)。 這意味著如果你可以把一個問題描述為“從Y預測X”,我建議避免使用AI這個術語。
Amy Hoy:
“根據今天的定義,y=mx+b都可以成為一個人工智慧機器人,因為它可以告訴你函式線會往哪走。”
案例研究:三者如何一起使用?
假設我們正在建造一輛無人駕駛的汽車,並正在研究車可自動停靠在有停車標識位置這個特定的問題。 我們需要從這三個領域分別提取我們所需的知識技能。
-
機器學習:汽車必須使用攝像頭識別停車標誌。我們構建了包含數百萬個街景標識影象的資料集,並且訓練一個演算法來預測哪裡會有停車標識。
-
人工智慧:一旦我們的車可以識別停車標誌,它就需要決定何時採取剎車這個行為。過早或過晚剎車都是很危險的,並且我們需要它可以處理不同的道路狀況(例如,識別一條光滑道路,它並不能很快減速),這是一個控制理論問題。
-
資料科學:在街道測試中,我們發現汽車的表現並不足夠好,停車標識出現了不少導致錯誤的消極因素。在分析街道測試資料之後,我們得到的結論是漏判率取決於時間:在日出之前或日落之後,更有可能錯過停車標誌。我們意識到,我們的大部分訓練資料僅包含白天時的物件,因此我們構建了包含夜間影象的更好的資料集,並返回到機器學習步驟。
原文連結:《資料科學,機器學習和人工智慧有什麼區別?》
BigQuant 人工智慧量化投資平臺 涵蓋眾多機器學習深度續學習優質資源帖,集成了眾多深度學習/機器學習開源框架,是一站式的python+機器學習+量化投資平臺,更多內容可以前往BigQuant進一步檢視