Data Science? AI ? Machine Learning? 到底有何分別?

 Gordon Lau 劉偉中

Gordon Lau 劉偉中

2018-11-23

近幾年大家經常聽到 Data Science(數據科學)、AI(人工智能)、Machine Learning(機器學習)、 Deep Learning(深度學習)等等詞彙, 以上的名詞的意思好像差不多,但又並非完全一樣:例如曾見過 Data Science and Machine Learning 一詞,難道Machine Learning 跟Data Science 不是一樣嗎? Alpha Go到底是運用AI 還是 Deep Learning ?定還是Machine Learning 呢? 相信大家都感到頭昏腦漲,本篇想釐清的,正是以上幾個常用的科技詞彙。

Data_Science_Comparison.png

Artificial Intelligence

Artificial Intelligence(人工智能)是以上眾多詞之中,被誤解最深的一個。由於近年 Data Science備受歡迎,AI也時時被人提起,權當作Data Science應用上的代名詞。 然而,AI的研究早於電腦初成形之時已經開始,在眾多不同方法探討之中,大量運用Data Science的 Machine Learning 只是其中一門人工智能的方法,其他方法例如 Logic-based Artificial Intelligence(基於邏輯的人工智能),Fuzzy logic(模糊邏輯)等等其實亦是人工智能範圍。只是由於近年Machine Learning 得到長足進步,令人誤解Artificial Intelligence 等於 Machine Learning 的錯覺。

Data Science

而Data Science(數據科學)本身是一個跨學科的學問,泛指所有關於收集、處理、展示、分析數據的知識,顧名思義就是有關數據的知識。從事Data Science的人需要同時有數學、統計、電腦科學的知識,亦要理解起碼的編程技術。 數據科學涵蓋的範圍很大,包括 Data Visualisation(數據視覺化)、Data Engineering(數據工程)、Machine Learning(機器學習)、Data Warehouse(數據倉庫)等都是數據科學的領域,今時今日公司通常聘請 Data Scientist(數據科學家)、Data Analyst(數據分析師)、Business Intelligence Analyst(商業智能分析師)等,亦都屬於數據科學的領域。或者大家會好奇,為何數據科學此門學科,多年未曾聽聞,要直至近年才突然變得如 此受歡迎呢? 這其實與Big Data(大數據)的普及不無關係:基礎的數據分析其實大家都曾經做過,用Microsoft Excel也綽綽有餘。但在大數據時代中,收集得來數據的Volume(資料量)、 Variety(變化)、Velocity(速度)都大大提高,使到Data Science一門學科於近年變得如此炙手可熱。 常用的library 包括 : Numpy , PandasSeaborn

Machine Learning

Machine Learning(機器學習)是數據科學的一門,指的則是向一個模型輸入一大堆訓練數據,利用數據重覆訓練,遞歸出一個誤差低、準確度高的模型,再用測試數據重加測試。為何會 用訓練數據,而不是以輸入大量規則去令程式能夠判別問題呢?使用機器學習的情況通常是因為要解決的問題不容易以 Rule-based Knowledge(規則基礎知識) 解決。 邏輯問題、數學問題等等問題牽涉的是大量的規則,電腦無須使用機器學習亦迎刃有餘。 但例如人臉辨識、語音辨識一類關乎知覺(Perception)的問題,不論寫下多少條規則,都難以清晰表達何謂一張人臉。最直接的方法正如訓練嬰兒一樣,通過大量觀看、大量嘗試,從而理解何謂一張人臉。 常用的library 包括 Scikit-learnOpen CV

Deep Learning

Deep Learning(深度學習)又是機器學習的一門,特指使用neural network(神經網絡)作分析的機器學習方法。神經網絡本身是為嘗試模仿人腦神經元結構而建立。 因為如果人腦能夠輕易處理知覺一類的問題,而電腦卻未能遲遲未能達至相同的準確度,必然代表人腦的結構在解決此一類問題上,有優勝於電腦的地方。

常見的Deep Learning應用範圍有: Speech Recognition(語音辨識)、Image Recognition(圖像辨識)、Language Understanding(語言理解)、Language Generation(語言生成)等等。常用的library 包括 TensorflowPytorchKeras.

總結

以上多個概念好像相當接近,但又有微妙分別。但當大家細心研究,又能鑽研出一些端倪。在資訊科技一行,常常有許多迥異又類近概念,於我而言, 正正是本行的有趣之處!

順帶一提,Alpha Go的理論是基於數據科學中的機器學習中的深度學習中的强化學習一科,讀完這篇文章的你能理解這句說話嗎?

留言

延伸閱讀

如何成為 Programmer (三):學習資源

如何成為 Programmer (二):其實入行不難