一文讀懂機器學習、數(shù)據(jù)科學、人工智能、深度學習和統(tǒng)計學之間的區(qū)別
在這篇文章中,數(shù)據(jù)科學家與分析師 Vincent Granville 明晰了數(shù)據(jù)科學家所具有的不同角色,以及數(shù)據(jù)科學與機器學習、深度學習、人工智能、統(tǒng)計學、物聯(lián)網(wǎng)、運籌學和應用數(shù)學等相關領域的比較和重疊。Granville 介紹說,由于數(shù)據(jù)科學是一個范圍很廣的學科,所以他首先介紹了在業(yè)務環(huán)境中可能會遇到的數(shù)據(jù)科學家的類型:你甚至可能會發(fā)現(xiàn)你自己原來也是某種數(shù)據(jù)科學家。和其它任何科學學科一樣,數(shù)據(jù)科學也可能會從其它相關學科借用技術;當然,我們也已經(jīng)開發(fā)出了自己的技術庫,尤其是讓我們可以以自動化的方式(甚至完全無需人類干預)處理非常大規(guī)模的非結構化數(shù)據(jù)集的技術和算法,進而實時執(zhí)行交易或進行預測。
1. 數(shù)據(jù)科學家具有哪些不同類型?
要更詳細地了解數(shù)據(jù)科學家的類型,可參閱文章:http://suo.im/28rlX1 和 http://suo.im/3NNUpd。更多有用的信息可參閱:
- 數(shù)據(jù)科學家與數(shù)據(jù)架構師:http://suo.im/4bRkRG
- 數(shù)據(jù)科學家與數(shù)據(jù)工程師:http://suo.im/3mpo6E
- 數(shù)據(jù)科學家與統(tǒng)計學家:http://suo.im/2GGtfG
- 數(shù)據(jù)科學家與業(yè)務分析師:http://suo.im/3h0hkX
而在最近,數(shù)據(jù)科學家 Ajit Jaokar 則又討論了 A 型數(shù)據(jù)科學家(分析師)和 B 型數(shù)據(jù)科學家(建造者)之間的區(qū)別:
A 型數(shù)據(jù)科學家能夠很好地編寫操作數(shù)據(jù)的代碼,但并不一定是一個專家。A 型數(shù)據(jù)科學家可能是一個實驗設計、預測、建模、統(tǒng)計推理或統(tǒng)計學方面的事情的專家。然而總體而言,一個數(shù)據(jù)科學家的工作產(chǎn)品并不是「P 值和置信區(qū)間」——就像學術界的統(tǒng)計學有時候建議的那樣(而且這常常是為傳統(tǒng)的制藥等等行業(yè)工作的)。在谷歌,A 型數(shù)據(jù)科學家被稱為統(tǒng)計學家、定量分析師、決策支持工程開發(fā)分析師,也有一些被稱為數(shù)據(jù)科學家。
B 型數(shù)據(jù)科學家:這里的 B 是指 Building。B 型數(shù)據(jù)科學家和 A 型數(shù)據(jù)科學家具有相同的背景,但他們還是很強的程序員、甚至經(jīng)驗豐富的軟件工程師。B 型數(shù)據(jù)科學家主要關注在生產(chǎn)環(huán)境中使用數(shù)據(jù)。他們構建能與用戶進行交互的模型,通常是提供推薦(產(chǎn)品、可能認識的人、廣告、電影、搜索結果等)。
而對于業(yè)務處理優(yōu)化,我也有自己的看法,我將其分成了 ABCD 四個方向,其中 A 表示分析科學(analytics science),B 表示業(yè)務科學(business science),C 表示計算機科學(computer science),D 則表示數(shù)據(jù)科學(data science)。數(shù)據(jù)科學可能會涉及到編程或數(shù)學實踐,但也可能不會涉及到。你可以參考 http://suo.im/11bR7o 這篇文章了解高端和低端的數(shù)據(jù)科學的差異。在一家創(chuàng)業(yè)公司,數(shù)據(jù)科學家通常要做很多類型的工作,其扮演的工作角色可能包括:執(zhí)行、數(shù)據(jù)挖掘師、數(shù)據(jù)工程師或架構師、研究員、統(tǒng)計學家、建模師(做預測建模等等)和開發(fā)人員。
雖然數(shù)據(jù)科學家常常被看作是經(jīng)驗豐富的 R、Python、SQL、Hadoop 程序員,而且精通統(tǒng)計學,但這不只不過是冰山一角而已——人們對于數(shù)據(jù)科學家的這些看法不過是來自于重在教授數(shù)據(jù)科學的部分元素的數(shù)據(jù)培訓項目而已。但正如一位實驗室技術人員也可以稱自己為物理學家一樣,真正的物理學家遠不止于此,而且他們的專業(yè)領域也是非常多樣化的:天文學、數(shù)學物理、核物理、力學、電氣工程、信號處理(這也是數(shù)據(jù)科學的一個領域)等等許多。數(shù)據(jù)科學也是一樣,包含的領域有:生物信息學、信息技術、模擬和量化控制、計算金融、流行病學、工業(yè)工程、甚至數(shù)論。
對我而言,在過去的十年里,我專注于機器到機器和設備到設備的通信、開發(fā)能自動處理大型數(shù)據(jù)集的系統(tǒng)、執(zhí)行自動化交易(比如購買網(wǎng)絡流量或自動生成內容)。這意味著需要開發(fā)能夠處理非結構化數(shù)據(jù)的算法,這也是人工智能、物聯(lián)網(wǎng)和數(shù)據(jù)科學的交叉領域,也可被稱為深度數(shù)據(jù)科學(deep data science)。其對數(shù)學的需求相對較少,也只涉及到較少的編程(大部分是調用 API),但其卻是相當數(shù)據(jù)密集型的(包括構建數(shù)據(jù)系統(tǒng)),并且基于專門為此背景而設計的全新統(tǒng)計技術。
在此之前,我的工作是實時的信用卡欺詐檢測。在我事業(yè)的早期階段(大約 1990 年),我開發(fā)過圖像遠程感知技術,其中包括識別衛(wèi)星圖像的模式(形狀和特征,比如湖泊)和執(zhí)行圖像分割:那段時間我的研究工作被稱為是計算統(tǒng)計學,但在我的母校,隔壁的計算機科學系也在做著幾乎完全一樣的事情,但他們把自己的工作叫做是人工智能。
今天,這項工作被稱作數(shù)據(jù)科學或人工智能,其子領域包括信號處理、用于物聯(lián)網(wǎng)的計算機視覺等。
另外,數(shù)據(jù)科學家也可以在各種各樣的數(shù)據(jù)科學項目中出現(xiàn),比如數(shù)據(jù)收集階段或數(shù)據(jù)探索階段一直到統(tǒng)計建模和已有系統(tǒng)維護。
2. 機器學習對比深度學習
在深入探討數(shù)據(jù)學習與機器學習之間的區(qū)別前,我們先簡單討論下機器學習與深度學習的區(qū)別。機器學習一系列在數(shù)據(jù)集上進行訓練的算法,來做出預測或采取形同從而對系統(tǒng)進行優(yōu)化。例如,基于歷史數(shù)據(jù),監(jiān)督分類算法就被用來分類潛在的客戶或貸款意向。根據(jù)給定任務的不同(例如,監(jiān)督式聚類),用到的技術也不同:樸素貝葉斯、支持向量機、神經(jīng)網(wǎng)絡、ensembles、關聯(lián)規(guī)則、決策樹、邏輯回歸或多種方法之間的結合。
這些都是數(shù)據(jù)科學的分支。當這些算法被用于自動化的時候,就像在自動飛行或無人駕駛汽車中,它被稱為人工智能,更具體的細說,就是深度學習。如果數(shù)據(jù)收集自傳感器,通過互聯(lián)網(wǎng)進行傳輸,那就是機器學習或數(shù)據(jù)科學或深度學習應用到了 IoT 上。
有些人對深度學習有不同的定義。他們認為深度學習是帶有更多層的神經(jīng)網(wǎng)絡(神經(jīng)網(wǎng)絡是一種機器學習技術)。深度學習與機器學習的區(qū)別這一問題在 Quora 上也被問到過,下面對此有詳細的解釋:
- 人工智能是計算機科學的一個子領域,創(chuàng)造于 20 世紀 60 年代,它涉及到解決對人類而言簡單卻對計算機很難的任務。詳細來說,所謂的強人工智能系統(tǒng)應該是能做人類所能做的任何事。這是相當通用的,包含所有的任務,比如規(guī)劃、到處移動、識別物體與聲音、說話、翻譯、完成社會或商業(yè)事務、創(chuàng)造性的工作(繪畫、作詩)等。
- 自然語言處理只是人工智能與語言有關的一部分。
- 機器學習被認為是人工智能的一方面:給定一些可用離散術語(例如,在一些行為中,那個行為是正確的)描述的人工智能問題,并給出關于這個世界的大量信息,在沒有程序員進行編程的情況下弄清楚「正確」的行為。典型的是,需要一些外部流程判斷行為是否正確。在數(shù)學術語中,也就是函數(shù):饋入輸入,產(chǎn)生正確的輸出。所以整個問題就是以自動化的方式建立該數(shù)學函數(shù)的模型。在二者進行區(qū)分時:如果我寫出的程序聰明到表現(xiàn)出人類行為,它就是人工智能。但如果它的參數(shù)不是自動從數(shù)據(jù)進行學習,它就不是機器學習。
- 深度學習是如今非常流行的一種機器學習。它涉及到一種特殊類型的數(shù)學模型,可認為它是特定類型的簡單模塊的結合(函數(shù)結合),這些模塊可被調整從而更好的預測最終輸出。
3. 機器學習與統(tǒng)計學之間的區(qū)別
《Machine Learning Vs. Statistics》這篇文章試圖解答這個問題。這篇文章的作者認為統(tǒng)計學是帶有置信區(qū)間(confidence intervals)的機器學習,是為了預測或估計數(shù)量。但我不同意,我曾建立過不需要任何數(shù)學或統(tǒng)計知識的工程友好的置信區(qū)間。
4. 數(shù)據(jù)科學對比機器學習
機器學習和統(tǒng)計學都是數(shù)據(jù)科學的一部分。機器學習中的學習一詞表示算法依賴于一些數(shù)據(jù)(被用作訓練集),來調整模型或算法的參數(shù)。這包含了許多的技術,比如回歸、樸素貝葉斯或監(jiān)督聚類。但不是所有的技術都適合機器學習。例如有一種統(tǒng)計和數(shù)據(jù)科學技術就不適合——無監(jiān)督聚類,該技術是在沒有任何先驗知識或訓練集的情況下檢測 cluster 和 cluster 結構,從而幫助分類算法。這種情況需要人來標記 cluster。一些技術是混合的,比如半監(jiān)督分類。一些模式檢測或密度評估技術適合機器學習。
數(shù)據(jù)科學要比機器學習廣泛。數(shù)據(jù)科學中的數(shù)據(jù)可能并非來自機器或機器處理(調查數(shù)據(jù)可能就是手動收集,臨床試驗涉及到專業(yè)類型的小數(shù)據(jù)),就像我剛才所說的,它可能與「學習」沒有任何關系。但主要的區(qū)別在于數(shù)據(jù)科學覆蓋整個數(shù)據(jù)處理,并非只是算法的或統(tǒng)計類分支。細說之,數(shù)據(jù)科學也包括:
- 數(shù)據(jù)集成(data integration)
- 分布式架構(distributed architecture)
- 自動機器學習(automating machine learning)
- 數(shù)據(jù)可視化(data visualization)
- dashboards 和 BI
- 數(shù)據(jù)工程(data engineering)
- 產(chǎn)品模式中的部署(deployment in production mode)
- 自動的、數(shù)據(jù)驅動的決策(automated, data-driven decisions)
當然,在許多公司內數(shù)據(jù)科學家只專注這些流程中的一個。
對于這篇文章,技術顧問 Suresh Babu 給出了一個評論,機器之心將其編譯整合到了下面:
這篇文章說明了解使用機器/計算機來處理類似人類決策的任務的統(tǒng)計學習的基本術語是件很麻煩的事。
但文章中「當這些算法被用于自動化的時候,就像在自動飛行或無人駕駛汽車中,它被稱為人工智能,更具體的細說,就是深度學習。」這樣的說話看起來卻有些隨意任性。
當過去計算機/機器還不夠友好,沒有得到廣泛使用的時候,統(tǒng)計學家和數(shù)據(jù)科學家的工作和現(xiàn)在這個領域的工作有很大的不同。比如說,當制造業(yè)開始使用計算機輔助后,生產(chǎn)速度和量都發(fā)生了巨大的變化——但它仍然是制造業(yè)。用制造機器來做原本人類做的程序化工作的想法最早來自 19 世紀初 Jacquard 和 Bouchon 等人。而 Jacquard 織布機的工作方式和現(xiàn)在計算機控制的織布機的工作方式基本相同。
現(xiàn)在的數(shù)據(jù)科學是一個知識體系,囊括了統(tǒng)計學和計算方法等等(而且在不同的具體領域不同學科的比例也不一樣)。
機器學習(或使用了其它的術語,比如深度學習、認知計算)是讓機器像人類一樣思考和推理,基本上而言是指通過人工的方法(所以也叫人工智能)來代替人類天生的自然智能——涉及到的任務從簡單到復雜都有。比如,無人駕駛汽車(目前)正在模仿人類的駕駛,駕駛條件也是人類在自然情況下會遇到的——我說「目前」是因為也許未來人類將很少能夠直接駕駛機器,「駕駛(drive)」這個詞本身都可能會改變含義。
這個領域里面也有些滑稽可笑的事情,比如一些基本的東西(比如一個下國際象棋或圍棋的算法)被認為可以解釋人腦的工作方式。就我們目前的知識水平而言,光是解釋鳥或魚的大腦的工作方式就已經(jīng)非常困難了——這說明我們還沒有真正理解學習的機制。為什么果蠅只需幾百個神經(jīng)元就能做到這么多事情?這還是神經(jīng)科學的一個未解之謎。而認知是什么以及其在自然環(huán)境下是如何工作的也是一個數(shù)據(jù)科學傲慢地認為自己能解決的重大難題。(不管怎樣,降維是一種無監(jiān)督學習的方法。)
在很多方面,工具以及我們使用工具所做的事情自人類誕生以來就在引導著人類的學習。但這就扯遠了。
原文:
http://www.datasciencecentral.com/profiles/blogs/difference-between-machine-learning-data-science-ai-deep-learning
【本文是51CTO專欄機構機器之心的原創(chuàng)譯文,微信公眾號“機器之心( id: almosthuman2014)”】