如果說資料(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 (大數據)。
舉個簡單例子,大家都知道瞎子摸象的故事,一些人看不到,加上大象太大,所以他們依據自己摸到的部分來推論大象是什麼。
摸到身體的說,它是一面墻壁,有些人摸到耳朵,然後說它是像一面扇子等等。但是沒有一個人摸到全部,所以沒有一個人對大象的描述是對的。
如果停一下,想想這個故事,因為大家沒辦法看到整個大象,因此大家的解讀都有偏差,如果反過來說,假設大家可以看到整個大象,那麼是否解讀就會正確(至少從相對的角度來說)呢?
學過統計的知道,有個概念叫做sampling(隨機抽樣),為什麼要做sampling呢?因為整個母體(全部的資料=整個大象)太過於大量無法處理(瞎子無法摸到),所以多多少少都有失偏頗(就像有些人覺得大象是面墻一樣)。
因為現在技術有辦法處理大量資料(就像如果瞎子突然看得到了),那麼對於整個預估是否會更準確呢?
所以,Data Science 會夯起來,完全是因為 一直有需求,而直到現在才有技術有辦法支持達到效果。
推動Data Science的幾個技術?
既然知道為什麼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需要什麼能力?
網路上有個非常有名的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。
Data Scientist 的日常工作
做Data Science的人稱為 Data Scientist (資料科學家),而基本上都是和資料打交道,整個流程大概如下:
- 首先都是有一個問題(需求)的產生
- 開始收集相關data
- data基本上都需要經過處理,例如轉型、清理髒資料等
- 依照這些資料建立predict model
- 驗證predict model是否準確
- 沒問題就發佈出去實際使用
基本上 百分之80%的時間都是都是在資料收集和資料處理。
machine learning基本上就是第4步和第5步。
這些步奏不一定是順序執行,很有可能會跳來跳去,甚至直接就放棄某個問題而直接換一個問題。
接下來這個系列會把每個步奏都和大家介紹一下。
結語
這篇把整個Data Science做了一個簡單的介紹。
希望透過這篇能夠了解到為什麼Data Science很重要,需要的技術和日常主要在處理什麼事情。
在下一篇([03]Big Data到底是有多Big?)將會介紹最底層的推手,讓一起別的更加準確的技術,最重要的資源 Big Data。