人工智慧、機器學習、演算法、大數據 (5) 何謂大數據

  6398

延續人工智慧、機器學習、演算法、大數據 (1) 概要與蒙地卡羅法、及(2) 機器學習與無人駕駛、以及(3) 演算法與黑盒子模式、(4)使用者該如何看待黑盒子模式演算法。本篇將要介紹何謂大數據

  • 強大的硬體帶來的大量數據量、快速的運算速度,就稱為大數據。 
  • 大部份人會認為大數據是一個抽象的形容詞,凡事都要做大數據,做了才完整,但大數據是什麼卻不知道,這些人是把大數據當作萬靈丹。
  • 比較有感覺的小部分人會認為大數據是商業軟體的意思,若我要做分析就是要用大數據,以前的方法都不算完整的討論,只有用大數據才是正確的。
  • 最後一部分的人則是認為大數據就僅僅是大數據,它要併入其他內容之中才會有意義,如同水很重要,但是如果不與其他東西一併使用,水永遠是水,無法發揮出更好的效用,比如說水泥、煮飯等。

接著,我們來探討應該透過什麼樣的方法來正確認識大數據,及大數據與商業界、及大數據與資訊工程(機器學習)如何連結到一起,將其功用發揮到最大。

【複習電腦科技名詞】

  • 人類的腦子叫人腦,對應到電子機器類稱為電腦。
  • 人類的智慧對應到電腦的智慧稱為人工智慧(Artificial Intelligence : AI)。因為是人賦予電腦的智慧,故可稱為人工智慧。人工智慧是現階段的情況,以後可能會出現電腦製造下一代的電腦智慧。
  • 人類解決各個問題的器具稱為工具,電腦解決各個問題的方法稱為演算法(Algorithm)。
  • 人類的學習對應到電腦稱為機器學習(Machine learning)。
  • 人類依據經驗或是直覺的決策行為對應到電腦就稱為黑盒子模式(black box mode),也就是一種機率及統計式的評估後的行為模式,或是直接執行特例的行為模式,也可將黑盒子模式理解為決策部分的演算法
  • 人類依賴過往經歷稱為經驗,對應到電腦累積的資料稱為大數據( Big Data)。
  • 大數據是近年來才有的概念,電腦利用大數據的意涵,主要是指在強大的硬體帶來的大量數據量、快速的運算速度。

這些名詞的關係對應到我們所熟悉的事物上,可參考圖1。

圖1

【何謂大數據】

大數據的意義就是顧名思義大量的數據,但它的功能性必須建立在強大的硬體能力上,具有大量的記憶力,以及快速的處理速度再加上網際網路的連結,大數據才具有強大的功能性。但是除此之外,我們的效能還需要進一步優化。打個比方說,我們知道加法不夠用,所以創造了乘法,而乘法不夠用時,就創造了指數律。同理雖然我們的硬體如此的強大,但是我們還是希望它可以更加有用,所以他的處理方式必然的借助了某些理論,而這些理論就是統計與機率。故我們現在講的大數據,其實就是在討論統計與機率,只是換個領域就用不同的名詞包裝。

統計是個特殊學科,大多數領域都用的到,但大家對它卻又相當陌生,難以交流,甚至彼此之間都是用二分法來看待其他人,如:統計學界認為其他人的統計不夠嚴謹。工程界認為其他人的不夠實用,需要更快速。商業界綜合兩者取其優點,創造出不會有太嚴肅且生澀的數學,做出一套大家都能看懂及方便操作的統計。除此之外就是都不會的人,可以透過下表了解三者間的差異性。

 

統計界

工程界(資訊/通訊)

商業界

分析名稱

傳統統計

工程統計

大數據分析

分析者

統計學家

資訊工程師/

通訊工程師

資料科學家

資料量

少量(small data)

大量(big data)

大量(big data)

急迫性

不一定

不一定

狀態

靜態

動態

動態

精準度

精準

較精準

目前粗糙,

仍有進步空間

分析方法

數理統計及決策理論。

部分自行開發,

部分利用傳統統計

利用工程統計軟體,及傳統統計。

  • 大數據起源

網路時代來臨時帶動了數據量的的成長,見圖2。過去資訊種類是採單一化進行討論與分析,但到了大量數據時期時,各種類間的數據會互相有關係,見圖3。

圖2

圖3

以往的傳統統計分析會除去不必要的數據,有多少數據被忽略不得而知。根據最近的一項由Forrester Research所做的研究顯示,估計大多數公司分析他們的數據只有總量約12%,也就是企業忽視近九成數據。為什麼有這麼龐大的數據被會忽略呢?

因為依據當時的單一信息,往往很難判定哪些信息是有價值的、哪些是可以忽略,所以只好挑選疑似有用的信息的來進行分析。但這個問題到了網路時代,由於外部資訊遠大於內部資訊,資料的來源與數量有著本質上的轉變,因此商業界將所有的資料混合在一起討論,因而稱為大數據,見圖4。

圖4

大數據(Big data),或稱巨量資料、海量資料、大資料,是資料量大到無法透過人工,在合理時間內處理為能解讀的資訊。在總資料量相同的情況下,將各個小型資料合併後進行分析可得出許多額外的資訊和資料關聯性。另外,將此結果可用來察覺商業趨勢、判定品質、避免疾病擴散、打擊犯罪或測定即時交通路況等;這正是促成大數據盛行的原因。如今,我們可以用視覺化來分析大數據,進行初步判斷,再用其他演算法或推論統計的方法做預測。

有趣的是討論大量數據並不是最近才開始。自電腦時代開始就能獲得大量資料,只不過以前的資料量比較少。事實上,30年前工程界已經建構很多演算法來處理大量資料的分析,應用在通訊、自動控制及品管生產等領域。一直到2010年網路的普及程度提高,商業界也逐漸意識到利用大量外部資料,進行商業行為的分析。大數據具有三大特色(3V),見圖5,可以發現到很多是傳統統計沒有討論到的問題,所以商業界推出大數據分析(Big data)。但其實目前大數據所使用的分析方法,大多是30年前工程界早已使用大量數據的統計分析;要注意的是統計學界一直以來都是在小數據中作統計與分析。

圖5

  • 統計學界的統計分析與商業界的大數據分析之差異

統計學界的統計分析似乎與商業界大數據分析不大一樣,彼此間的連結性也不強,是為什麼呢?作者認為目前有兩種不同的統計專業群體並存:

(1)參與大數據(Big Data)分析的統計專家:但他們自稱資料科學家( Data Scientist) ,而不是統計學家。

(2)學院派的統計學家:大多數進行學術研究;參與政府的經濟統計、醫院的生物統計,以及社會學及心理學的統計。

所以傳統統計與大數據有何關係?傳統統計的定義相對於Big data,可說是Small data,它需要經過收集→整理→列表、製圖→詮釋→分析,最後得到結構性資料,見圖6,然後再做下一步。

圖6

傳統統計分析的基本架構,是從母體中隨機抽取一定數量的樣本,做出敘述統計中的探索式資料分析,或者再進一步作推論統計,見圖7。

圖7

而大數據呢?它是直接將全部的資料通通收集起來,然後分類,再各別做出結論,見圖8。它有別於傳統需要經過收集→整理→列表、製圖→詮釋→分析,才得到結構性資料。

圖8

大數據分析的基本架構,因為資料量大,故首先要處理的是資料庫的問題,將全部的資料轉換為同一格式 (如:Hadoop),再進行大數據分析,但準確性、可靠性仍然在萌芽階段,見圖9。

圖9

大數據的分析方法統稱為預測分析(Predictive Analytics),而傳統統計稱為統計推論。觀察大數據與傳統統計的差異,可參考表2

傳統統計

大數據

隨機抽樣 ( Random Samples)

非隨機抽樣,大部分有相關的數據。

(correlated data stream )

小而乾淨的抽樣數據

大數據

大部分靜態分析,例如:多元回歸、假設檢定。

動態分析,隨時有即時資料的加入。

例如:遞迴最小平方法(Recursive least   Square:RLS)

表2

  • 統計學界的統計分析與工程界的統計分析之差異

在1980年代統計學與通訊/資訊工程對於相同的「統計」方法,就有不同的名稱,見表3及圖10。

統計學的名稱

統計學的名稱

通訊/資訊工程的名稱

(中文)

Statistical Analysis

Predictive Analysis

迴歸分析

Regression

Recursive Least Square, regression

主成份分析

Principle Component Analysis ( PCA)

Data  Mining

時間序列分析

Time Series analysis

IIR filtering, Kalman Filter

多變量群集分析

Cluster Analysis

K-mean Analysis

常態分佈

Normal Distribution

Gaussian Noise

表3

圖10

由圖10可知有很多統計是一樣的內容,但卻各自用自己的語言描述,各自發展需要用的統計,其中遇到重複的內容時,就導致科技的延遲,或是少了彼此可互相幫助的觸類旁通。雖然交流是必要的,但是彼此間符號及名稱的不同卻「難以交流」,而這正是統計界與工程界常久以來的隔閡。如:在統計上稱為複迴歸分析(Multiple Regression),而在資訊工程上就是Recursive Least Square

RLS(卡門濾波的特例之一),但其實兩者用的是相同的演算法。

同時我們可以看到圖10中的工程界有寫著Big Data的字樣,意思是處理大量數據。接著來看兩者的差異,要注意因為數量的多寡差異,在統計方法可分成動態與靜態兩種。

統計學界靜態(Data Model) vs.工程界動態(Algorithmic Model)的統計方法:

靜態的統計方法是針對少量數據(Small data),見圖11

圖11

動態的統計方法是針對大量數據Big data,見圖12

圖12

由上面可以看到統計學家對於兩者的參與比率不同,參與傳統統計分析的比率佔80%,參與工程界分析的比率佔20%。因此兩派的分析專家並不認為彼此可用同一種稱呼。統計界的分析者稱為統計學家(Statisticians),工程界的分析者稱為資料科學家(data scientists)。然而資料科學家未必有統計學術基礎,我們要知道統計知識是任何分析師的基礎,所以作者認為合格資料科學家都有必要掌握一定統計的知識、及統計分析的方法。

統計界與工程界的分析,兩者的統計方法不盡相同,若再加上商業界的大數據分析,三者來比較便會更容易被人混淆。商業界的大數據分析,用了少量的統計學界的分析,以及利用工程界處理大量數據的技術,所以大數據分析的分析者也被統計學家歸類在資料科學家。而一般人因為不了解三者的關係,就會將分析數據的人,統稱為統計學家、或資料科學家,卻不瞭解其中的差異性,甚至混淆三者的關係與內容。

【商業與大數據的重點】

商業與大數據的重點在於資訊視覺化(Data Visualization ),資訊視覺化的主要目標是透過統計圖形、圖表、訊息圖形、表格,明確有效的傳達給用戶的資料其中的訊息。有效的資訊視覺化可幫助分析和推理。它讓複雜的資料更容易理解和使用。如:找出因果關係,並從圖形的啟發去設計數學模型。而各種類型的圖表就是一個最簡單的資訊視覺化。一個有效的資訊視覺化工具有助於找到趨勢,或實踐自己的推論模型,或探索來源,或講故事。在網路時代資訊視覺化已成為一個新興領域。

資訊視覺化的重點

  • 顯示夠多的數據
  • 促使閱讀者思考
  • 避免刪除數據
  • 讓人可以自行比較不同的資料區塊
  • 可以顯示不同層次的細節,不論是從廣泛的概述或是以精細結構
  • 利用描述,勘探,製表或圖,顯示出明確的特性
  • 圖形顯示的資料,可以比傳統的統計更讓人有直觀的感受

例如:米納德圖(圖13)顯示拿破崙軍隊在1812年至1813年期間的變化。

1.軍隊的大小,其上的二維表面位置(x和y)

2.時間

3.移動的方向

4.溫度

這在當時的二維度的統計圖形中是重大的突破。

圖13

例如:圖14的全球氣溫分佈圖

圖14:全球氣溫分佈圖,取自WIKI,公共領域

  • 視覺分析的意義

視覺分析(Visual Analytics)是利用互動式視覺化介面再加以分析推理的統計方法,分析師稱為資料科學家。而軟體與資料科學家的關係,就好比是畢卡索作出了一幅抽象畫,再由其他人去做評論解讀。而我們也知道有了一幅好畫,再有好評論者最後就能得到深層意境。所以軟體必須先完善後、並加上好的資料科學家,才能得到完美的分析推論。所以視覺分析軟體必需要具備怎樣的條件?我們知道它建構在視覺化技術和資料分析上,主要有4種基本功能:

1. 可以快速觀察大量資料的分佈狀態,如:十張報表內容,整合成一張圖。

2. 將資料視覺化

  • 利用視覺化引導分析師的想法。
  • 利用不同圖案標計、方法來顯示多維度關係,如時間與數量。

3. 可以即時修正、回饋資訊。

4. 快速掌握資料,更快分析判斷,更容易觀察數據的相關性、可以預測或監控潛在問題,縮短決策時間。

由上述可知,將資料轉換成視覺化,可以讓分析推理過程變得更快,更精準。

而這正是大數據的視覺分析應該要達成的重點。視覺分析定義為利用資訊視覺化及其互動性介面進行的分析推理的統計方法,而視覺分析可參考圖15、16。

SAS的軟體

圖15

Gapminder:資訊視覺化的軟體,下圖為各國GDP的視覺呈現

圖16

由此我們可以看到目前軟體有許多軟體可供我們將資料視覺化,以利進行數據分析,資料視覺化可以有利於理解,比起純文字的說明來得更清楚。所以不論是哪種數據,將資料視覺化是具有必要性的。

商業與工程如何有效利用大數據

如何有效利用大數據?在商業及工程上,我們都知道大數據與統計與機率密不可分。如果要有效利用大數據,必然要對統計與機率有一定的認知,其中最為重要的是遞迴式,它有助於整合計算式及省下計算時間,見圖17。

圖17

作者認為關於現在商業界的大數據,目前有整合各種類型數據進入資料庫(data base)、再分類討論(filter)、將數據視覺化(data visualization),用少部份的統計原理,進行視覺化分析( visual analysis)。所以可發現的是大數據分析仍有一段路要走,就是找出各個數據適當的遞迴式演算法,見圖18。

圖18

【如何進步】

作者認為目前稱職的「資料科學家Data Scientist」及「程式設計師Program Designer」應該要具備下述能力:

1. 大學或研究所主修數學、統計、物理、電腦科學,具有足夠數學推理能力者。

2. 能在工作中自主學習資訊系統、資料存取等等知識。

上述兩者比例:數學推理能力:80%,資訊實作知識:20%。理由:數學推理能力需長期養成,但資訊實作知識可以藉由進修補足,且日新月異,即時學習新軟體即可。

但人有可能同時是兩大領域的長才嗎?如同人有可能同時是藝術家和數學家嗎?答案是可以的,文藝復興時期的畫家/數學家皮耶羅·弗朗切斯卡(Piero della Francesca,他是達文西的老師)充分應用幾何投影的數學原理,才能將人及景觀畫的如此的逼真。如果21世紀是資訊的文藝復興時代,則資料科學家及程式設計師可視作是畫家一般,故需要有數學推理能力與資訊實作知識才能推動歷史的轉動。

目前對於大數據的利用,作者有以下的建議

1. 非結構資料篩選出結構資料的自動化技術仍需改進。

2. 統計方法仍是大數據時代必需的分析工具。

3. 資料分析的第一步由探索式資料分析(EDA)進化為資料視覺化(Data Visualization)及視覺化分析 (Visual Analysis)。

4. 傳統統計分析大多以小量資料(small data)作為起點,但工程統計早己使用大量資料(Big Data)及演算法(Algorithmic Approach) ,而今日資訊及商用領域因網路的普及,才開始面對大數據Big data的統計問題。我們要具有基礎的知識,了解「統計學界的傳統統計」與非傳統統計中「工程界的統計分析」及「商業界的大數據分析」的三者差異性。

5. 建議以遞迴式演算法( Recursive Algorithms) 為核心,整合傳統統計方法及工程統計方法,構成大數據分析的基礎。

【結論】

由本文可以更清楚的了解到大數據是如何在商業分析及工程界發揮效用,其根本原理就是統計與機率。若要將其變得更有用,就要著重於了解遞迴式的功能性。目前熱門的機器學習與人工智慧就是工程界(資訊工程)的一部份,人工智慧想要更進一步就不可避免統計與機率、以及了解大數據的意義。

沒有大數據的時候,我們的電腦能力還不能稱為具有人工智慧。而當硬體的能力提升後(處理數據量、處理速度),以及網路的普及率提高,再加上統計與機率的內容電腦才真正的可以稱為具有人工智慧。隨著時代的進步,人工智慧可以不斷的提升,進而帶來生活的便利。