數據科學職業規劃

選對正確數據科學職業道路

了解了數據科學的領域相關專業人士,這一章我們將前面兩章結合,用就業的角度來看數據科學的主要任務、技能與專業1

任務

首先我們來看四個基本數據科學的任務:

數據工程 (Data engineering)

數據工程主要的任務就是搜集與管理數據,將數據準備好並轉換成能被分析的格式。

編程與程式設計是數據工程師必備的技能,如果能理解機器學習將更有效地為之後的分析做準備。

子任務描述
定義數據定義所需數據需求、特徵、協變量 (covariates)
搜集數據建立數據搜集管道(網路爬蟲、使用者資訊與圖片等)
標籤數據建立標籤管道、重標數據、評估以標籤數據
整理數據清理數據、轉換數據、擴充數據
自動化建立自動化數據收集、整理管道 (data pipelines)

建立模型 (Modeling)

建立模型是將真實世界的問題轉換成數學問題,目的包含預測未來、發現機會和定義因果關係等。

建立模型需要理解統計、資料科學與機器學習,建立模型時則用到演算法與編程的技術,常用的語言包含:R, Python, Matlab, C++, Java 等,在 AI 公司則需要對深度學習的理解。

子任務描述
訓練模型建立模型、檢驗假設、建立概率模型、整合領域知識 (domain knowldege)
評估模型定義評估指標、調整參數、內部短期測試評估
加速模型調整參數 (hyperparameters)、並行訓練模型、使用降維 (dimension reduction) 等技術
優化模型提升對該領域的理解並不斷更新模型

產品部署 (Deployment)

無論大小分析後的結果都需要呈現給做決策的人,或是 AI 公司將產品呈現給消費者。

負責產品部署的人在正式部署前將串流數據與模型整合並測試。他們需要嚴謹的編程、程式設計與雲端部署技能,透過多次測試來建立穩定的使用平台。

子任務描述
轉換代碼轉換原碼至產品端、建立雲端環境與版本控制、平衡附載
接合運用端建立穩定 API 有效的溝通所有平台與手機應用
重新訓練模型不間斷更新模型並監測產品端數據變化

商業分析 (Business analysis)

商業分析主要目的是理解客戶需求、將商業的問題轉換成數據邏輯進而分析。商業分析師再將數據加以分析,提供建議來增進商業收益。例如從網頁客戶資料(年齡、地域、喜好與點擊連結等)來分析並改善銷售與制定更有效的廣告。

商業分析師首要條件是卓越的溝通技能,換言之必須要具備對該產業的專業知識和數據科學的分析技術。好的商業分析時同時理解統計與演算法,並具備必要的編程知識。

子任務描述
搜集需求準確理解客戶需求、制定可行數據搜集計畫
建立可視化建立互動式可視化圖形、部署於客戶端
溝通與執行有效溝通、將數據轉換成可行的商業行為
整合分析重新分析商業指標、優化數據與分析結果

技能

數據科學

  • 機率:分佈、條件概率、貝葉斯定理等
  • 統計:假設驗證、偏差與方差權衡等 (Bias/variance tradeoff)
  • 分析:數據整理、可視化、指標評估等

隨然有些定義會將部分機器學習納入數據科學裡,不過在嚴謹的數據科學技能定義中,我們將機率、統計與數據分析視為核心技術。

機器學習

  • 統計模型:PCA、K均值、K-NN、SVM、邏輯回歸,線性回歸和決策樹
  • 建模流程:初始化,優化,正則化 (regularization) 和參數調整 (hyperparameter turning)

機器學習技能較強調技術層面,不過同時也需要從機器學習的角度思考每個專案的能力。

數理與演算法

  • 數理:線性代數、矩陣、微積分和基本數學函數
  • 演算法:較複雜微積分方程、梯度下降 (gradient decent) 等

了解數理與演算法的目的是為了能解釋機器學習模型背後的數學意義,進而因不同的數據與商業需求中來優化使用其模型效能。

編程與軟體工程

  • 數據科學編程:Python、R、C++、Java 和廣泛的 API 接合運用
  • 軟體工程:物件導向編程、數據庫語言、敏捷與 scrum 方法、版本控制與測試

數據科學編程著重於利用程式語言來整理、呈現和建模數據,軟體工程則是用在蒐集、管理數據與部署結果。

專業

數據工程師 (Data engineer)

圖如前面所提到的,數據工程師負責收集數據、儲存和整理為分析做準備。好的數據工程師必須熟悉各種數據庫編程語言與廣泛的 API,如此才能有效地搜集到正確有利於分析的數據。

數據科學家 (Data scientist)

大部分的數據科學家包含了數據工程師的任務,並著重在建立預測與優化模型。專業的數據科學家同時具備好的溝通能力,和對統計與機器學習的透徹理解。因為在規模較小的公司裡,一個數據科學家可能要負責溝通客戶、搜集數據與建立模型等。

商業分析師 (Business analyst)

商業分析師首先對該產業及公司有一定的理解,再來要有優異的溝通能力。因為商業分析師必須精準的了解一間公司真正的需求,才能對症下藥提供專業的解決方案。商業分析師不需理解演算法,但要利用可視化和圖像軟體有效地傳達數據分析的結果。

機器學習工程師 (Machine learning engineer)

機器學習工程師專注於數據。部分機器學習工程師會處理數據工程,但主要還是在建立與提升模型的效能和部署產品。在AI 公司裡的機器學習工程師會利用深度學習來設計商業產品例如語言與聲紋辨識、電腦視覺等,所以神經網絡 (neural network) 也是必要的技能。

恭喜你完成了認識數據科學的最重要的一課,現在你已經比許多人更懂得什麼是「數據科學」。

接下來我們進入最後一章,從技術層面探討不同型態的分析方法。

註1: 資料來源 https://workera.ai/

請告訴我們

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