一文讀懂機器學習、數據科學、人工智能、深度學習和統計學之間的區別

在這篇文章中,數據科學家與分析師 Vincent Granville 明晰了數據科學家所具備的不一樣角色,以及數據科學與機器學習、深度學習、人工智能、統計學等領域的區別。這些概念的區別也一直是人工智能領域熱烈討論的一個話題,Quora、多個技術博客都曾有過解答。機器之心以前編譯的一篇文章《人工智能、機器學習、深度學習,三者之間的同心圓關係》也對此問題進行了探討,但彷佛業內還未能給出一個權威的、令全部人信服的回答。若是對這篇文章中的觀點不認同,歡迎你們留言討論。程序員

 

在這篇文章中,數據科學家與分析師 Vincent Granville 明晰了數據科學家所具備的不一樣角色,以及數據科學與機器學習、深度學習、人工智能、統計學、物聯網、運籌學和應用數學等相關領域的比較和重疊。Granville 介紹說,因爲數據科學是一個範圍很廣的學科,因此他首先介紹了在業務環境中可能會遇到的數據科學家的類型:你甚至可能會發現你本身原來也是某種數據科學家。和其它任何科學學科同樣,數據科學也可能會從其它相關學科借用技術;固然,咱們也已經開發出了本身的技術庫,尤爲是讓咱們能夠以自動化的方式(甚至徹底無需人類干預)處理很是大規模的非結構化數據集的技術和算法,進而實時執行交易或進行預測。算法

 

 

 

1. 數據科學傢俱備哪些不一樣類型?編程

 

要更詳細地瞭解數據科學家的類型,可參閱文章:http://suo.im/28rlX1 和 http://suo.im/3NNUpd。更多有用的信息可參閱:網絡

 

  • 數據科學家與數據架構師:http://suo.im/4bRkRG架構

  • 數據科學家與數據工程師:http://suo.im/3mpo6E機器學習

  • 數據科學家與統計學家:http://suo.im/2GGtfG分佈式

  • 數據科學家與業務分析師:http://suo.im/3h0hkXide

 

而在最近,數據科學家 Ajit Jaokar 則又討論了 A 型數據科學家(分析師)和 B 型數據科學家(建造者)之間的區別:函數

 

A 型數據科學家可以很好地編寫操做數據的代碼,但並不必定是一個專家。A 型數據科學家多是一個實驗設計、預測、建模、統計推理或統計學方面的事情的專家。然而整體而言,一個數據科學家的工做產品並非「P 值和置信區間」——就像學術界的統計學有時候建議的那樣(並且這經常是爲傳統的製藥等等行業工做的)。在谷歌,A 型數據科學家被稱爲統計學家、定量分析師、決策支持工程開發分析師,也有一些被稱爲數據科學家。工具

 

B 型數據科學家:這裏的 B 是指 Building。B 型數據科學家和 A 型數據科學傢俱備相同的背景,但他們仍是很強的程序員、甚至經驗豐富的軟件工程師。B 型數據科學家主要關注在生產環境中使用數據。他們構建能與用戶進行交互的模型,一般是提供推薦(產品、可能認識的人、廣告、電影、搜索結果等)。

 

而對於業務處理優化,我也有本身的見解,我將其分紅了 ABCD 四個方向,其中 A 表示分析科學(analytics science),B 表示業務科學(business science),C 表示計算機科學(computer science),D 則表示數據科學(data science)。數據科學可能會涉及到編程或數學實踐,但也可能不會涉及到。你能夠參考 http://suo.im/11bR7o 這篇文章瞭解高端和低端的數據科學的差別。在一家創業公司,數據科學家一般要作不少類型的工做,其扮演的工做角色可能包括:執行、數據挖掘師、數據工程師或架構師、研究員、統計學家、建模師(作預測建模等等)和開發人員。

 

雖然數據科學家經常被看做是經驗豐富的 R、Python、SQL、Hadoop 程序員,並且精通統計學,但這不僅不過是冰山一角而已——人們對於數據科學家的這些見解不過是來自於重在教授數據科學的部分元素的數據培訓項目而已。但正如一位實驗室技術人員也能夠稱本身爲物理學家同樣,真正的物理學家遠不止於此,並且他們的專業領域也是很是多樣化的:天文學、數學物理、核物理、力學、電氣工程、信號處理(這也是數據科學的一個領域)等等許多。數據科學也是同樣,包含的領域有:生物信息學、信息技術、模擬和量化控制、計算金融、流行病學、工業工程、甚至數論。

 

對我而言,在過去的十年裏,我專一於機器到機器和設備到設備的通訊、開發能自動處理大型數據集的系統、執行自動化交易(好比購買網絡流量或自動生成內容)。這意味着須要開發可以處理非結構化數據的算法,這也是人工智能、物聯網和數據科學的交叉領域,也可被稱爲深度數據科學(deep data science)。其對數學的需求相對較少,也只涉及到較少的編程(大部分是調用 API),但其倒是至關數據密集型的(包括構建數據系統),而且基於專門爲此背景而設計的全新統計技術。

 

在此以前,個人工做是實時的信用卡欺詐檢測。在我事業的早期階段(大約 1990 年),我開發過圖像遠程感知技術,其中包括識別衛星圖像的模式(形狀和特徵,好比湖泊)和執行圖像分割:那段時間個人研究工做被稱爲是計算統計學,但在個人母校,隔壁的計算機科學系也在作着幾乎徹底同樣的事情,但他們把本身的工做叫作是人工智能。

 

今天,這項工做被稱做數據科學或人工智能,其子領域包括信號處理、用於物聯網的計算機視覺等。

 

另外,數據科學家也能夠在各類各樣的數據科學項目中出現,好比數據收集階段或數據探索階段一直到統計建模和已有系統維護。

 

2. 機器學習對比深度學習

 

在深刻探討數據學習與機器學習之間的區別前,咱們先簡單討論下機器學習與深度學習的區別。機器學習一系列在數據集上進行訓練的算法,來作出預測或採起形同從而對系統進行優化。例如,基於歷史數據,監督分類算法就被用來分類潛在的客戶或貸款意向。根據給定任務的不一樣(例如,監督式聚類),用到的技術也不一樣:樸素貝葉斯、支持向量機、神經網絡、ensembles、關聯規則、決策樹、邏輯迴歸或多種方法之間的結合。

 

這些都是數據科學的分支。當這些算法被用於自動化的時候,就像在自動飛行或無人駕駛汽車中,它被稱爲人工智能,更具體的細說,就是深度學習。若是數據收集自傳感器,經過互聯網進行傳輸,那就是機器學習或數據科學或深度學習應用到了 IoT 上。

 

有些人對深度學習有不一樣的定義。他們認爲深度學習是帶有更多層的神經網絡(神經網絡是一種機器學習技術)。深度學習與機器學習的區別這一問題在 Quora 上也被問到過,下面對此有詳細的解釋:

 

  • 人工智能是計算機科學的一個子領域,創造於 20 世紀 60 年代,它涉及到解決對人類而言簡單卻對計算機很難的任務。詳細來講,所謂的強人工智能系統應該是能作人類所能作的任何事。這是至關通用的,包含全部的任務,好比規劃、處處移動、識別物體與聲音、說話、翻譯、完成社會或商業事務、創造性的工做(繪畫、做詩)等。

  • 天然語言處理只是人工智能與語言有關的一部分。

  • 機器學習被認爲是人工智能的一方面:給定一些可用離散術語(例如,在一些行爲中,那個行爲是正確的)描述的人工智能問題,並給出關於這個世界的大量信息,在沒有程序員進行編程的狀況下弄清楚「正確」的行爲。典型的是,須要一些外部流程判斷行爲是否正確。在數學術語中,也就是函數:饋入輸入,產生正確的輸出。因此整個問題就是以自動化的方式創建該數學函數的模型。在兩者進行區分時:若是我寫出的程序聰明到表現出人類行爲,它就是人工智能。但若是它的參數不是自動從數據進行學習,它就不是機器學習。

  • 深度學習是現在很是流行的一種機器學習。它涉及到一種特殊類型的數學模型,可認爲它是特定類型的簡單模塊的結合(函數結合),這些模塊可被調整從而更好的預測最終輸出。

 

3.機器學習與統計學之間的區別

 

《Machine Learning Vs. Statistics》這篇文章試圖解答這個問題。這篇文章的做者認爲統計學是帶有置信區間(confidence intervals)的機器學習,是爲了預測或估計數量。但我不一樣意,我曾創建過不須要任何數學或統計知識的工程友好的置信區間。

 

4. 數據科學對比機器學習

 

機器學習和統計學都是數據科學的一部分。機器學習中的學習一詞表示算法依賴於一些數據(被用做訓練集),來調整模型或算法的參數。這包含了許多的技術,好比迴歸、樸素貝葉斯或監督聚類。但不是全部的技術都適合機器學習。例若有一種統計和數據科學技術就不適合——無監督聚類,該技術是在沒有任何先驗知識或訓練集的狀況下檢測 cluster 和 cluster 結構,從而幫助分類算法。這種狀況須要人來標記 cluster。一些技術是混合的,好比半監督分類。一些模式檢測或密度評估技術適合機器學習。

 

數據科學要比機器學習普遍。數據科學中的數據可能並不是來自機器或機器處理(調查數據可能就是手動收集,臨牀試驗涉及到專業類型的小數據),就像我剛纔所說的,它可能與「學習」沒有任何關係。但主要的區別在於數據科學覆蓋整個數據處理,並不是只是算法的或統計類分支。細說之,數據科學也包括:

 

  • 數據集成(data integration)

  • 分佈式架構(distributed architecture)

  • 自動機器學習(automating machine learning)

  • 數據可視化(data visualization)

  • dashboards 和 BI

  • 數據工程(data engineering)

  • 產品模式中的部署(deployment in production mode)

  • 自動的、數據驅動的決策(automated, data-driven decisions)

 

固然,在許多公司內數據科學家只專一這些流程中的一個。

 

對於這篇文章,技術顧問 Suresh Babu 給出了一個評論,機器之心將其編譯整合到了下面:

 

這篇文章說明了解使用機器/計算機來處理相似人類決策的任務的統計學習的基本術語是件很麻煩的事。

 

但文章中「當這些算法被用於自動化的時候,就像在自動飛行或無人駕駛汽車中,它被稱爲人工智能,更具體的細說,就是深度學習。」這樣的說話看起來卻有些隨意任性。

 

當過去計算機/機器還不夠友好,沒有獲得普遍使用的時候,統計學家和數據科學家的工做和如今這個領域的工做有很大的不一樣。好比說,當製造業開始使用計算機輔助後,生產速度和量都發生了巨大的變化——但它仍然是製造業。用製造機器來作本來人類作的程序化工做的想法最先來自 19 世紀初 Jacquard 和 Bouchon 等人。而 Jacquard 織布機的工做方式和如今計算機控制的織布機的工做方式基本相同。

 

如今的數據科學是一個知識體系,囊括了統計學和計算方法等等(並且在不一樣的具體領域不一樣學科的比例也不同)。

 

機器學習(或使用了其它的術語,好比深度學習、認知計算)是讓機器像人類同樣思考和推理,基本上而言是指經過人工的方法(因此也叫人工智能)來代替人類天生的天然智能——涉及到的任務從簡單到複雜都有。好比,無人駕駛汽車(目前)正在模仿人類的駕駛,駕駛條件也是人類在天然狀況下會遇到的——我說「目前」是由於也許將來人類將不多可以直接駕駛機器,「駕駛(drive)」這個詞自己均可能會改變含義。

 

這個領域裏面也有些滑稽好笑的事情,好比一些基本的東西(好比一個下國際象棋或圍棋的算法)被認爲能夠解釋人腦的工做方式。就咱們目前的知識水平而言,光是解釋鳥或魚的大腦的工做方式就已經很是困難了——這說明咱們尚未真正理解學習的機制。爲何果蠅只需幾百個神經元就能作到這麼多事情?這仍是神經科學的一個未解之謎。而認知是什麼以及其在天然環境下是如何工做的也是一個數據科學傲慢地認爲本身能解決的重大難題。(無論怎樣,降維是一種無監督學習的方法。)

 

在不少方面,工具以及咱們使用工具所作的事情自人類誕生以來就在引導着人類的學習。但這就扯遠了。

相關文章
相關標籤/搜索