我所知道的一點 Data Mining

前言:Data Mining,光是看它的 data size,絕對是一頭大象。因此各家各派的對它的看法也就不同。因為各人摸到的是自己可以摸到的那一部分。兄弟雖然知道同時也極力呼籲 DM 應以實際有用為主,但基本上還是學院派。通常,學院派的人認為,如果一件事一定可以做成,那麼就不免無趣。幾十年前,我有一位朋友試著用海水提鍊鈾。因為那是用 ppm 來計算的,當然十分難。DM 有點像這類的工作,但是你不必只想造原子彈。提鍊錳、鉀、甚至淡水雖然無趣,但都頗有意義。這裡面的要點是效率。統計上所謂的大筆數據,和 DM 上所能見到的是不一樣的遊戲,因此雖然統計學者有明確的基本概念,但恐怕還是要因應變局,重新思考。反過來說,做 IT 的同仁,也不要一味相信背後邏輯不明的埋頭苦算會發現甚麼新大陸。總之,這算是新行業,大家各憑本事和運氣來博它一舖罷!

今年十二月八號,我們在蠻辛苦的籌備之後,總算把 CDMS 成立了。這是一個以Data mining (DM)為專業的人民團體。在台灣恐怕是唯一的一個。DM是一個蠻當紅的專題。我們所面臨的第一個問題,便是不知道應該怎麼去翻譯這個名詞。硬譯為「資料挖掘」雖沒有大錯,但聽起來不夠高雅,也沒有學術的味道,連商業的氣味都不夠。一時之間因為實在想不出一個好詞,只好馬馬虎虎地用著,等誰有了好譯名再說。我們想的事是把這一群人集合一下,看大家有甚麼想法,或者,更要緊地,看大冢想幹些甚麼。

  甚麼叫 DM ?關於定義,各人的說法不一。基本上,先給你一個大的 data set ── 假設你可以讀它,下面的問題是:從這裡你可以得到甚麼?從這個角度來看,這是百分百的統計分析工作,只是 data sets 大得多罷了。但我們並不想忘記這些 data sets 是做 IT 的人這麼多年裡逐漸製造出來的。何況他們對於如何有效而快速地存儲、摘取和管理數據,確是有一套真功夫的。在 IT 的骨架上把統計的精髓放進去,的確是這個資訊時代的大挑戰。

  極大部分 ── 如果不是全部 ── 的 data sets ,是已經存在的。時代不一樣了,現在數據來得既多又便宜,多到沒有人有時間去看的程度。這有一點像我們的醫療體系。早先的醫生要望聞問切,在少量的數據裡,設法組合出最好的治療方案。現在則是一個名醫,一上午要門診到一百五十個病人以上。他只能靠 algorithm 來看病:問一兩個問題,聽一兩個問題,然後開藥。這是 DM 的精神,並不是傳統的 data analysis 的精神。

  我們的確已經相當程度的資訊化了。你去任何一個醫院,哪一個窗口都是一架 PC。醫生暗示你可以離開的時候,當值的護士已在她的 PC 上鍵入許多資料。於是你直接可以去批價拿藥,並且連下一次的預約都安排好了。前天我去醫院調借一張 X 光片,一位五十多的老職員用一陽指在鍵盤上一步一腳印地敲了不知多久,才輸入了該有的 input ,然後大家都鬆一口似地讓電腦去跑,最後當然是拿到 X 光片。回顧身後,已排了一條長龍。

  這在某種程度上,也暗示著目前資訊社會的問題:很多別的事情都還配不上那樣快的電腦。老職員的手指速度固然配不上,我們統計人和統計方法也配不上。甚至於很多統計觀念恐怕都配不上。於是 IT 的人就跳進來做:既然有了花大錢來做出來的 Data base,而且這麼多年下來資料堆得滿坑滿谷,好歹要告訴出錢的老闆「這有甚麼用」。DM 便應運而生了。

  DM 是先有了數據才興起的行業。我不想說「學問」,因為到現在為止,我好像都看不到大學問。DM 能幫我做甚麼?不同的人有不同的看法:比較樂觀的是 Berry and Linoff (1997) 的說法:

  ● 分析報告給你後見之明 (hindsight)

  ● 統計分析給你先機 (foresight)

  ● DM 給你識見 (insight)

這話說得太強,我不是那麼地相信。因為這三者都是在既有的資料上做分析,在概念上應該並無軒輊,差別只是手上的 data set 大小和性質,因此,由方法的不同才有定義的不同。

  較負面的定義來自 Friedman (1997) ,他說 “Data mining is a commercial enterprise that seeks to mine the miners ” 。這句話有多少真實的成分,我不深知,但是酸味是有一點的。在雅虎的入口網站上鍵入「Data Mining」,立刻便找到一百五十多個網址。如果用 goggle 蒐尋,它在 0.34 秒裡就找到 1,260,000項查詢結果。這是在方法論都還沒有成熟之前便已有大量的 commercial products 的情形。看起來真是商機無限。在另一方面,我卻在文獻上讀到:

“…… while I appreciate the importance of data mining, in practice the profit it brings has turned out to be surprisingly limited in many key businesses.” (Kann 2000)

  多半的 data bases 在建造時都別有目的,並不是設計來給大家 mining 的。上帝給我們以海,也許只是給我們以鹽。現在鹽的利潤有限,大家拼命去提鍊鈾,當然結果不會很好。

  比較中肯的是 Hand et al. (2000) 的說法: ” Data mining is the process of seeking interesting or valuable information in large data bases”

* 方法

  Demming (1943) 曾說:「蒐集數據的目的是為了行動」。這是在數據的蒐集並不便宜的時候所說的話。現在要反過來看:已經有了一大堆數據,當初只是為了蒐集而蒐集 ── 因為反正不貴,而且說不定某一天會有用 ── 問這裡面可以提供怎樣的信息,能讓數據的所有人採取甚麼行動?

  這意思仍然是要我們用心地去看這些數據。「用心看」有兩個角度:整體的 (global) 和局部 (local) 的。

* Global view: 模型

  自整體的角度來看一個 data set ,是靠統計學裡面的抽樣就可以發揮得不錯的。 抽樣的要點的 thinning ──用一組較小的、容易處理的精選的 data 來反應整體。 從這裡我們可以做一大堆傳統的建模工作。但這裡面最主要的觀念是抽樣。

  例如 SAS 的 Enterprise Miner 中所建構出來的「table」,就是自全部的數據中所抽樣而得。他們引以為自豪的 biased sampling ,在抽樣的理論裡行之有年,並不足奇。自抽樣的觀點來看,母體再大都不是問題 ── 它反而使得抽樣的理論更加簡單。何況在 data base 上抽樣,成本既低,又沒有我們最頭痛的 non-response 問題。這一部分,可以說是所有我們想做的理論和方法都十分成熟, 只要找一群還不錯的人,將這些已知的事物組合包裝就好。在 table 上做傳統分析,最後的結果當然是一個可以用來描繪所有數據之間的關係的模型。 這是傳統的計量方式:模型是所有資料的摘要。

* Local view: Pattern detection

  自局部的角度來看 DM,到目前為止,主要的目的是 pattern detection。這和我們常聽到的 pattern recognition 頗有不同。用雷達找飛機的工作,算是後者 ── 我們知道飛機是我們要找的對象 ,(這叫 supervised learning)。但是在 DM 中,多半我們並不知道要找甚麼(這叫 unsupervised learning)。在技術上,這也不能靠抽樣來做。而主要的想法之一,是靠「算則 (algorithms)」而不是靠統計。 Pattern 是指數據的局部結構,因此在這一部分,DM 強調的反而是算則。這當然並不奇怪,數據一多,用人力是不能做的,我們只有靠明確的指令讓電腦一個一個幫我們找。但我們全然可以不靠統計嗎?也不盡然。例如取訓練樣本( training sample),是很可以把實驗設計的想法放進去的。雖然,我們不見得要靠傳統的、精雕細鑿的抽樣設計。

* 工具

  知名的軟體,像 SAS,SPSS,SPLUS,STATISTICA ,其中多包含了一些關於 DM 的 functions 或者procedures 。一般還是離不了

*  regression (predictive model)
*  classification (supervised or non-supervised)
*  decision tree
*  association analysis (rule extraction)
*  time series ( for trend)
*  machine learning (recursive partitioning)
*  graphic methods (data visualization)
*  neural network

  等這一類的工具。這些工具或者算則,並不是每一種都有證明的。雖然,很多都有相當大規模的電算模擬。如果再配上 boosting, bagging 等花招,或者更當紅的 supporting vector machine,就足以像一個專家了。

* 應用

  DM 主要的應用好像都在商業。而在商業裡仍然是以顧客的行為分析為主。下面的列舉,主要來自一個 IBM 的網站 (http://www.almaden.ibm.com/cs/quest/):

* Identify and extract high-value business intelligence from enterprise data assets, including :
* High-volume transaction data generated by point-of-sale,
* ATM, credit card, call center, or
* e-commerce applications,
* Web navigation patterns.

  最後那一點是我加上去的。不論怎麼看,這裡的商業氣味是蠻濃的:

Analysts and business technologists are empowered to discover patterns which might otherwise be unobserved, across volumes of data they were simply not able to penetrate with other types of analytical tools. Intelligent Miner provides the fundamental technology and tools to support the mining process, as well as application services to enable development of customized applications.

  不久之前我曾聽過 SAS 的 Enterprise Miner 的三小時的說明。那時候我只瞭解到抽樣建模的那一部分,因此我對 DM 的定義也有一點負面:它相當於 「elementary statistical methods applied to huge data sets」。但那算是 global view,並不曾進到 algorithms 的層面上。對於做理論的人來說,我承認我還看不到甚麼大的東西。也許是因為 DM 主要還是要靠去用。而用是不一定需要數學證明的。我讀到的 DM 論文中,提到所建議的 algorithm 時,都蠻保守地說那是 heuristic。

  如果你要進入這一行,當務之急是去弄一兩個大一點的 data bases 來玩一玩。玩一下才會知道問題在哪裡,哪裡才有有意思的問題。大型的 data sets 是搞資訊的人士這許多年來產生出來的 cyber 怪獸。怎麼去對付它,並要它替我們做事,的確是蠻困難的。但是,你總不能假設數據是來自一個 flat file,就算你還不會用 OALP處理一個 data warehouse ,但是,用 SQL 指揮一個 relational data base 做足夠的運作總是起碼要會的工夫。不懂這些縮寫?呵呵,去學啦。你若是要買車,總要知道 ABS 是甚麼是罷?

  DM 的許多招式,來自統計和機械學習(machine learning)這兩種學問。但用在 DM 的實務上,都不免有些荒腔走板。也許是多半靠DM吃飯的人,這兩門課都唸得都不夠深入。我們一力地想把 CDMS 組織起來,這裡面是有一點心意的。

  Miners 是一個行業。在 ACM 之下有一個ACM Special Interest Group on Knowledge Discovery and Data Mining (SIGKDD ) http://www.acm.org/sigkdd/,每年舉辦一個 KDD Cup 比賽 (http://www.acm.org/sigs/sigkdd/kdd2000/) ,並有一個學術期刊:Data Mining and Knowledge Discovery ( http://kapis.www.wkap.nl/jrnltoc.htm/1384-5810 ) ,已發行到第五卷。很多作者都有自己的網站,找資料是不難的,但是找有用的資料就難了。

參考資料

Berry, M. J. and Linoff, G. Data Mining Techniques for Marketing, Sales and Customer Support. Wiley, 1997.

Deming, W. E. (1943). Statistical Adjustment of Data, Wiley.

Friedman, J. “Data mining and statistics: What is the connection?”, The 29th Symposium on the Interface, Houston, TX, May 1997.

Hand, D. J., Blunt, G. , Kelly, M. G. and Adams, N. M. Data mining for fun and profit. Statistical Science, v. 15, no. 2, 111-131.

Kann, W. (2000) Comment on “Data mining for fun and profit” , Statistical Science, v. 15, no. 2, 127-130.

  

後記:

這文章我今年曾在福華飯店講過,但時間又過了大半年,我又加了一些話進來。二者有何不同?我想說的是:現在我對 Machine learning 比較知道一點了。對於 DM ,知道的還不夠。

2001/12/21

Leave a Reply

You must be logged in to post a comment.