什麼是數據科學?

用宏觀角度了解數據科學

在學習數據科學之前,非常重要(卻被許多人忽略)的一堂課就是先認識所有數據科學相關的領域、所需知識與未來出入。千萬不要犯的錯誤以為學某種東西就可以成為數據科學家,或者是花了很多時間卻沒學到自己想學的東西。

在「認識數據科學」的四堂課中,我們將深入簡出的方式讓您好好瞭解每個領域的應用,找到自己喜愛與適合數據科學的領域。首先,我們先來看看有哪些相關領域與主要工作:

數據科學領域

在數據分析的世界中,所有的領域基本上可以當作一個金字塔1

從底部開始,因為數據科學需要大量的數據,所以我們需要用適當的方式來獲取並存儲數據,往上層看,金字塔中間部分是將搜集的數據加以分析。往金字塔頂端,當我們遇到更深入的問題無法用簡單的技術得到答案時,將用深度學習 (Deep learning) 或較複雜系統來嘗試解決。

如此,我們將所有領域分層從下至上分別為:數據蒐集 (Data collection)、數據儲存 (Data storage)、資料分析 (Data analysis)、機器學習 (Machine learning)、人工智能與深度學習 (AI & Deep learning)。

從圖上看起來他們一樣重要,然而實際上,每個領域在不同的產業中都有不同的重要性與用法。其中在 數據分析 Data analysis 的領域更分為多個層次。

接下來就讓我們一一的來解釋數據科學各個領域在真實世界中的使用。

數據搜集與儲存

首先,在最底層的是 數據搜集 Data collection,他是所有分析與應用的基礎。數據可以從傳感器、日誌、社交媒體、數據庫、與第三方公司等世界各地獲取。

在收集數據中很重要的一點就是了解您是否擁有數據所有權。內部數據 (internal data) 是指您擁有使用和編輯的數據的所有權;外部數據 (external data) 是指那些您無權驗證其真實性由第三方免費獲取的開放數據數據。

一旦獲得數據,下一個重要任務就是以適當的方式存儲它們以備分析之用。 但是數據的組成可以是 結構化 (structrued) 和 非結構化 (unstructrued) 的。事實上,超過九成的數據都是非結構化的例如電子郵件、商業文件、社群發文、網頁、照片等,這使得數據存儲極具挑戰性。

擁有可靠的數據源和存儲基礎結構(也稱為數據管道 data pipelines)至關重要,尤其是在處理大量數據時。 好的數據流策略將確保您擁有更穩定和一致的分析資產,因為您每次分析都需要這些過程,而且同樣的數據經常會用於不同的項目中。

完成困難的數據搜集工作後,您可以開始執行分析。

數據分析

數據分析 Data analysis 其實是最被廣泛應用卻也是最模糊定義的領域,其中包含數據探索 (Data exploration),可視化 (visualisation),商業報告 (reporting),數據發現 (Data mining),分段 (segmentation),聚合 (aggregation) 和預測 (predictions)等。在不同的商業領域中也有不同的解釋與應用。

無須編程經驗

數據探索 (data exploratory) 和可視化 (data visualisation) 是在一般中小型企業中最常見的領域。執行這些工作通常不需要編碼,甚至不需要計算機科學背景。像 Tableau 和 Power BI 之類的軟體可以讓商業使用者用較低的學習門檻就能進行數據分析。

這類型的數據分析被視為商業分析,也就是商業分析師(下一章會詳細說明)的主要工作。

商業智能軟體無需編程經驗 (圖為Tableau)2

編程技能

數據挖掘 (data mining)、市場細分 (market segmentation)、聚合與預測 (aggregation and prediction) 這些需要編程技能的數據分析工作就被視為較高階的分析領域,也是數據分析師最主要的工作內容。

這些領域不僅需要編程技能 Python 或 R 語言,需要更多的分析經驗與對該數據領域的了解 (domain knowledge)。因為處理的數據量可能會與上述商業分析的數據量有截然不同差異,例如一個數據分析師需要上億比的即時交易的數據分析,但商業分析師可能只需要經手 Excel 上幾萬筆的數據。

數據分析師利用程式語言分析特定數據3

雖然市面上還是有無編程解決方案的套裝軟體,但一般而言,Python、R 與資料庫語言還是數據分析師主要使用的工具。

機器學習

什麼是機器學習

機器學習 (Machine learning) 企圖將人類的判斷問題變成數學問題,透過電腦的運算能力提供人類解答。機器學習的核心技術是透過大量的數據找到其中規律,這種規律人類也許需要花上很長的時間才能發現。但機器學習透過大量的數據和電腦的運算能力,能在短時間內得到答案。

這也是為什麼機器學習的領域在數據分析之上,基本上是因為機器學習需要數據分析的編程技術,再加上和對演算法 (algorithm) 的理解,才能正確有效的針對問題解決。

機器學習步驟4

機器學習的主要過程是:建立模型 (training data)、預測 (prediction)與優化模型 (parameter turning)。建立與優化模型就是透過不同統計模型的演算法,讓電腦有效的將人類的判斷問題轉換成數學問題,其過程需要編程能力與數學的真功夫。

機器學習就是數據科學家核心必要的技術之一。好的數據科學家必須了解如何挑選適當的模型 (演算法),整理數據與訓練模型,確實有效了解數據問題的本質和商業目標才能達到有效的分析。

機器學習不僅僅是建立數據模型, 它為解決 AI 和深度學習所建立的複雜問題奠定了基礎。 機器學習中有許多嚴肅的主題,包括 特徵工程 (feature engineering),參數調整 (parameter tuning),模型優化 (model optimisation),部署 (deployment) 等。

機器學習 vs 深度學習

當數據問題無法被簡單的機器學習模型解決的時候,就需要深度學習中神經網路 (Artificial neural networks) 的技術。

當然在技術層面有許多不同(我們會在往後課程一一為您解釋),但事實上如果用簡單的語言解釋,這兩者其實都是由同一種概念與技術而來,深度學習只是在數學模型的表現上運用了更複雜的數學演算結構,專門來解決更複雜的人類問題例如人臉和聽音辨識。

深度學習利用神經網路將問題一步步拆解得到答案5

當前,大部分的人工智能產品都依賴深度學習的技術。諾亞方舟未來將推出專門的課程來介紹 AI 的知識與實際應用。

接下來,我們來看有哪些在不同數據科學領域中的專業人士。

註1: https://medium.com/@mrogati
註2: https://www.tableau.com/
註3: https://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm
註4: https://www.kdnuggets.com/2018/05/general-approaches-machine-learning-process.html
註5: https://www.pnas.org/content/116/4/1074

請告訴我們

請告訴我們您的問題或勘誤建議。
您的意見是我們前進的動力,非常感激!