Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 記錄軟體開發的點點滴滴 著重於微軟技術、網頁開發、DevOps、C#, Asp .net Mvc、Azure、AI、Chatbot、Docker、Data Science

[Data Science 到底是什麼從一個完全外行角度來看][02]Data Science 是什麼?

image
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 和 https://pixabay.com/en/math-blackboard-education-classroom-1547018/

如果說資料(data)和石油一樣是最有價值的資源,那麼Data Science就同等於從原油提煉出石油的技術。

上篇([01]開篇)了解了整個系列的內容之後,這篇來了解一下 Data Science 到底是什麼?需要什麼技能/技術?和到底怎麼把data提煉出來變成可以用來做使用的資訊(變成石油)。

Data為什麼可以變成和石油一樣有價值的資源?

在介紹Data Science之前,要先了解的是最後的成果是什麼?像原油變成石油一樣,最後石油是最主要能源之一,因此非常有價值,那麼Data最後到底變成什麼可以和石油一樣價值?

依我的理解,Data提煉出來搭配Machine Learning最後的結果是建立出一個預測模型(Predict Model)。想象一下,我們常常說,世上沒有後悔藥,為什麼需要後悔藥,因為你看不到未來會發生什麼事情。

如果你可以看到呢?或者說不需要很明確只需要把你的選擇正確的幾率提升幾個百分比,那優勢已經是無法估計。

所以,決策者可以依照Predict Model制定自己的策略,把優勢抓在自己這邊,打敗不確定性(Uncertainty)

以孫子兵法為例

如果對於Predict Model還是有點模糊,那麼換個角度來看這個事情。

大家都聽過孫子兵法,在我來看,簡單來說,孫子兵法就是一個基於經驗總結(Data),經過孫子處理過而得到的一個作戰守則(Predict Model衍生出的策略)。

其實孫子兵法不是在教大家如何以少勝多 - 畢竟當你是少的時候就算贏也是慘勝,他其實教的是如何在各個小戰役裡面以多勝少,等到次數多了,優勢的傾斜會越來越大直到最後勝利。

Data Science 為什麼會夯起來?

其實從Data提煉可用的資訊出來並不是一個新的概念,一直以來都有相關研究在這方面。例如 統計,data mining等等,都是想要用現用資料來了解情況或者預測未來。

那既然已經有了,為什麼現在會多出那麼一個詞呢?

其實一切會夯起來,完全是因為Big Data (大數據)

舉個簡單例子,大家都知道瞎子摸象的故事,一些人看不到,加上大象太大,所以他們依據自己摸到的部分推論大象是什麼。

摸到身體的說,它是一面墻壁,有些人摸到耳朵,然後說它是像一面扇子等等。但是沒有一個人摸到全部,所以沒有一個人對大象的描述是對的。

image
瞎子摸象,資料來源:https://kknews.cc/news/pq4oqaj.html

如果停一下,想想這個故事,因為大家沒辦法看到整個大象,因此大家的解讀都有偏差,如果反過來說,假設大家可以看到整個大象,那麼是否解讀就會正確(至少從相對的角度來說)呢?

學過統計的知道,有個概念叫做sampling(隨機抽樣),為什麼要做sampling呢?因為整個母體(全部的資料=整個大象)太過於大量無法處理(瞎子無法摸到),所以多多少少都有失偏頗(就像有些人覺得大象是面墻一樣)。

因為現在技術有辦法處理大量資料(就像如果瞎子突然看得到了),那麼對於整個預估是否會更準確呢?

所以,Data Science 會夯起來,完全是因為 一直有需求,而直到現在才有技術有辦法支持達到效果。

推動Data Science的幾個技術?

既然知道為什麼Data Science會夯起來,來看看整個為什麼會夯起來。

image
幾個推動Data Science的技術

首先,在中間的部分是資料分析的部分,也是實際的核心,因為我們要用資料分析來了解資料。

如上面提到,當數據大起來的時候,越能夠看到整個全貌,因此Big Data非常重要。

能夠處理大數據之後,可以把大數據清理乾淨,搭配Machine Learning可以建立出準確的predict model。這些Predict Model可以放在Internet Of Things(IoT)讓這些IoT的機器做出更好決策,也由於有這些IoT,可以收集到更多數據。

數據更多,用Machine Learning建立更好的模型,IoT越方便 - 這個是一個一直循環的過程,到最後如果完全可以自動化,是不是Predict Model會越來越準確?

Data Science 需要有哪方面的知識?

到目前為止,看到了為什麼Data Science會夯起來,整個的整體環境讓整個資料分析處於一個正循環的狀況,那接下來就是,要當一個Data Science需要什麼能力?

image
Data Science Venn Diagram。來源:https://ion.icaew.com/itcounts/b/weblog/posts/theaccountinganddatascienceworldsmeet

網路上有個非常有名的Data Science Venn Diagram,告訴我們Data Science需要什麼能力,基本上需要3個領域:

Computer Science
稱之為技術能力。畢竟,要處理Big Data,要讓電腦執行一些運算都需要一些資訊的技術能力,例如Programming,或者建立Big Data環境
Maths & Statistics
稱之為數學能力。畢竟,一些預測模型和資料處理技術其實都是數學公式和統計學的模型。
Domain Knowledge
某個領域的知識。舉例來說,假設你不是寫web的,可能400、404、500對你們無感,但是對於寫web的很清楚知道這個代表頁面呈現情況,因此可以用來計算整個網站的穩定度。

這些能力不代表都要很精通,但是至少要有一定水準才有辦法做。因此,很多都是不同的人一起通力合作來建立Predict Model。

題外話:這個其實和我們說的通才或者pie 人才是一樣概念,只是專才是不夠的......

Data Scientist 的日常工作

做Data Science的人稱為 Data Scientist (資料科學家),而基本上都是和資料打交道,整個流程大概如下:

image
Data Scientist的日常
  1. 首先都是有一個問題(需求)的產生
  2. 開始收集相關data
  3. data基本上都需要經過處理,例如轉型、清理髒資料等
  4. 依照這些資料建立predict model
  5. 驗證predict model是否準確
  6. 沒問題就發佈出去實際使用

基本上 百分之80%的時間都是都是在資料收集資料處理

machine learning基本上就是第4步和第5步。

這些步奏不一定是順序執行,很有可能會跳來跳去,甚至直接就放棄某個問題而直接換一個問題。

接下來這個系列會把每個步奏都和大家介紹一下。

結語

這篇把整個Data Science做了一個簡單的介紹。

希望透過這篇能夠了解到為什麼Data Science很重要,需要的技術和日常主要在處理什麼事情。

在下一篇([03]Big Data到底是有多Big?)將會介紹最底層的推手,讓一起別的更加準確的技術,最重要的資源 Big Data。


如果文章對您有幫助,就請我喝杯飲料吧
街口支付QR Code
街口支付QR Code
街口支付QR Code
支付寶QR Code
街口支付QR Code
微信支付QR Code
comments powered by Disqus