数据挖掘讲座:我所知道的一点Data Mining
趙民德?2003/01/24?
市場競爭的激烈迫使企業高層尋找更為科學、系統、有效的輔助決策技術和整體解決方案來處理日益復雜的公司事務。毫無疑問,數據挖掘就是很好的選擇之一。數據挖掘到底是什么?數據挖掘作為一個過程,是否有章可循、有規可依?企業應該在哪些領域應用數據挖掘技術?目前,數據挖掘的技術咨詢、系統集成、工具軟件的狀況究竟怎樣?新年伊始,我們和中國人民大學數據挖掘中心一起精心組織推出這個專題,希望通過這個專題向讀者傳遞實用的信息。?
Data?Mining(數據挖掘,下文簡稱DM),光是看它的數據量,絕對是一頭大象。各家各派對它的看法不同,因為各人摸到的是自己可以摸到的那一部分。我雖然知道,同時也極力呼吁DM應以實用為主,但基本上還是學院派。通常,學院派的人認為,如果一件事一定可以做成,那么也就不免無趣。?
?
數據挖掘的緣起?
什么叫Data?Mining?關于定義,各人的說法不一。基本上我們可以用一個例子講清楚:先給你一個大的數據集──假設你可以從中讀取數據,下面的問題是:從這里你可以得到什么?從某種角度來看,這是百分之百的統計分析工作,只是數據集太多的緣故罷了。但我們并不想忘記這些數據集是做?IT?的人這么多年來逐漸制造出來的,更何況他們對于如何有效而快速地存儲、選取和管理數據,確是有一套真功夫。在?IT?的骨架上把統計的精髓放進去,這的確是對現在這個信息時代的大挑戰。?
時代變了,現在的數據來得既多又快還便宜,多到沒有人有時間去看的程度。這就如同我們的醫療體系。早先的醫生還要望聞問切,在少量的數據中,設法提取、組合出最好的治療方案。現在則是一個名醫,一上午要在門診醫治一百五十個病人以上。他只能憑某種算法、也就是經驗來看病:問一兩個問題,聽一兩個問題,然后開藥。這種對數據的不同的處理方式是數據挖掘和傳統的數據分析的主要區別。?
說實在的,我們已經在某些方面具有相當的信息化程度了。你去任何一家醫院看病,哪一個窗口沒放著一臺PC?醫生暗示你可以離開的時候,值班的護士已經在她的?PC?上鍵入了許多你的資料。于是你直接可以去劃價、取藥,連下一次的預約也有人安排好了。前天,我去醫院借了一張X光片,一位五十多歲的老職員用“一陽指”在鍵盤上一步一個“腳印”地敲了不知多久,才輸入了該有的個人信息,然后大家就都松一口似地讓計算機去跑,最后當然是拿到X光片。這時回顧身后,已排了一條長龍。?
這種情況,也暗示著目前信息社會的一類尷尬問題:很多事情都還配不上如此快的計算機—老職員的手指速度固然配不上,我們做統計的人和現有的某些統計方法也配不上,甚至于很多統計觀念恐怕也都配不上。于是?IT?的人就跳進來做了個項目:既然有了花大錢做出來的數據庫,而且這么多年下來數據堆得滿坑滿谷,好歹要告訴出錢的老板“這有什么用”。于是,DM便應運而生了。?
如何看待數據挖掘?
數據挖掘是先有了數據才興起的行業。我不想說“學問”,因為到現在為止,我好像都看不到大學問。數據挖掘能幫我做什么?不同的人有不同的看法,比較樂觀的是Berry?and?Linoff?(1997)?的說法:分析報告給你后見之明?(hindsight);統計分析給你先機?(foresight);數據挖掘給你洞察力?(insight)。?
這話說得太強,我不是那么地相信。因為這三者都是在既有的數據上做分析,在概念上應該并無本質區別,差別只是手上的數據集的大小和性質,因此,由方法的不同才有定義的不同。?
較負面的理解來自Friedman?(1997),他說:“Data?mining?is?a?commercial?enterprise?that?seeks?to?mine?the?miners。(數據挖掘就是商業企業竭力去尋找挖掘者的過程。)”這句話有多少真實的成分,我并不清楚,但是酸味還是有一點的。在雅虎上鍵入“Data?Mining”,立刻便找到一百五十多個網址。如果用Google?搜尋,它在0.34秒內就找到1,260,000項查詢結果。這是在方法論都還沒有成熟之前便已有大量商品充斥的情形。看起來真是商機無限。在另一方面,我卻在文獻上讀到:“……?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)?
多半的數據庫在建造時都另有目的,并不是設計來給大家挖掘的。上帝給我們大海,也許只是想給我們鹽。現在鹽的利潤有限,大家就拼命去提煉鈾,結果自然就不會十分理想。?
我認為,比較中肯的是?Hand?et?al.?(2000)?的說法:“Data?mining?is?the?process?of?seeking?interesting?or?valuable?information?in?large?data?bases.(數據挖掘是一種在大型數據庫中尋找你感興趣或是有價值信息的過程。)”?
挖掘需要“用心看”?
Demming?(1943)?曾說過:“搜集數據的目的是為了行動。”這是在數據的搜集并不便宜的時候所說的話。現在要反過來看:已經有了一大堆數據,當初只是為了搜集而搜集──因為反正不貴,而且說不定某一天會有用─現在我們應該問,這些數據可以提供怎樣的信息,能讓數據的所有者采取何種有效的行動?我的意思是我們需要用心地去看這些數據。“用心看”有兩個角度:整體和局部。?
從整體看:?模型?
從整體的角度來看一個數據集,是靠統計學里面的抽樣方法就可以發揮得不錯的。抽樣的要點是細化──用一組較小的、容易處理的精選的數據來反映整體。在這里我們可以做一大堆傳統的建模工作,但這里面最主要的觀念是抽樣。?
例如?SAS?的Enterprise?Miner軟件中所構建出來的“表格”,就是全部數據的抽樣所得。從抽樣的觀點來看,數據量再多也不是問題──它反而可使抽樣理論更加簡單。在數據庫上抽樣,成本低,且沒有我們最頭痛的non-response(無反應)問題。這一部分,可以說是所有我們想做的理論和方法都十分成熟,?只要找一群還不錯的人,將這些已知的事物組合包裝就好。在表格上做傳統分析,最后的結果當然是一個可以用來描繪所有數據之間的關系的模型。?
從局部看:?模式發現?
從局部的角度來看數據挖掘,到目前為止,主要的目的是模式發現。這和我們常聽到的模式識別頗有不同。用雷達找飛機的工作,算是后者──我們知道飛機是我們要找的對象。但是在數據挖掘中,我們在通常情況下并不知道我們要找的東西是什么。在技術上,這也不能通過抽樣的方法來做。模式是數據的局部結構,在這一部分,數據挖掘強調的方法是算法。數據一多,光憑人力是不能完全解決問題的,我們只有靠明確的指令讓計算機一個一個幫我們找。那么在這里,我們就完全用不上統計方法嗎?也不盡然。在提取訓練樣本(training?sample)的時候,我們是可以把實驗設計的想法放進去的。?
總結
以上是生活随笔為你收集整理的数据挖掘讲座:我所知道的一点Data Mining的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搜索引擎的前沿技术
- 下一篇: 数据挖掘实验报告-决策树程序实验