汪明
(中國礦業大學 管理學院,江蘇 徐州 221116)
在當今信息爆炸的時代,人類正面臨著“被信息所淹沒,但卻饑渴于知識”[1]的困境。隨著計算機硬件技術的快速發展、企業信息化水平的不斷提高和數據庫技術的日臻完善,人類積累的數據量正以指數方式增長[2]。面對海量的、雜亂無序的數據,人們迫切需要一種將傳統的數據分析方法與處理海量數據的復雜算法有機結合的技術。數據挖掘技術就是在這樣的背景下產生的。它可以從大量的數據中去偽存真,提取有用的信息,并將其轉換成知識。
數據挖掘技術可以用來支持商業智能應用和決策分析,例如顧客細分、交叉銷售、欺詐檢測、顧客流失分析、商品銷量預測等等,目前廣泛應用于銀行、金融、醫療、工業、零售和電信等行業。數據挖掘技術的發展對于各行各業來說,都具有重要的現實意義。
數據挖掘是在大型數據存儲中,自動地發現有用信息的過程。在國外,數據挖掘技術已經廣泛應用于金融、零售業、電信、保險、醫療服務、體育和政府管理等領域。國內對數據挖掘的研究起步稍晚,近年來對數據挖掘的研究發展較快,所涉及的領域集中在學習算法的研究、數據挖掘的應用和相關數據挖掘理論的研究。然而,目前關于數據挖掘的論文雖多,但與企業結合較少??梢哉f,目前國內的數據挖掘應用仍停留在初級階段,行業企業大規模的運用數據挖掘技術尚需時日。
將數據挖掘技術應用于實際項目中,一般都遵循“跨行業數據挖掘標準流程”(如圖1所示)。該流程是數據挖掘業界通用推行的標準之一,它強調將數據挖掘用來解決商業實際問題,而不是將數據挖掘限定在研究領域。它是一個不斷迭代的過程。

圖1 跨行業數據挖掘標準流程(CRISP-DM)
數據挖掘從一個新的視角將數據庫技術、統計學、機器學習、信息檢索技術、數據可視化和模式識別與人工智能等領域有機結合起來,它能組合各個領域的優點,從而能從數據中挖掘到其他傳統方法不能發現的有用知識。這里從數據挖掘任務這一視角來闡述數據挖掘的方法。
預測建模分為兩大類:分類和回歸?;貧w模型一般分為線性回歸和非線性回歸,很多非線性模型都可以經過適當的變換轉化為線性回歸模型[4]。分類模型可以作為解釋性的工具,用于區分不同類中的個體,同時也可以用來預測記錄的類別。常用的分類技術有:
(1)決策樹方法
決策樹方法是一種歸納學習算法[3]。在構造的樹中,每個葉結點都賦予一個類標識。非葉結點包含屬性的測試條件,用于區分具有不同特征的記錄。主要的決策樹算法有 :ID3、C4.5、CART 和CHAID。
(2)基于規則的分類方法
基于規則的分類方法是使用一組“如果…那么…”規則來對記錄進行分類的技術。順序覆蓋算法通常被用來從數據集中直接提取分類規則。另一種更廣泛使用的直接規則提取算法叫RIPPER算法。該算法特別適合類分布失衡的數據集,它對噪聲數據有很好的容忍度。
(3)支持向量機
支持向量機已成為一種熱門的分類技術,它能很好地處理高維數據集,避免維災難。它可以將分類模型表示為凸優化問題,從而可以利用已知的有效算法發現目標函數的全局最優點,而其他分類算法一般都采用貪心學習的策略來搜索,往往只能發現局部最優解。
(4)神經網絡
神經網絡是一種模仿動物神經網絡行為特征,進行分布式并行處理的算法。反向傳播算法是神經網絡中采用最多的方法。神經網絡的優點是:分類的準確度高,并行分布處理能力強,對噪聲數據有較強的魯棒性和容錯能力等。但該方法比較耗時,不適于處理大數據量的數據集。
(5)貝葉斯分類方法
在很多實際應用中,類別屬性和其他屬性之間的關系是不確定的。貝葉斯分類方法是一種對數據集中屬性集和類別變量概率關系建模的方法。貝葉斯分類方法主要有:樸素貝葉斯分類方法和貝葉斯網絡方法。
樸素貝葉斯方法假設在估計類條件概率時,屬性之間是條件獨立的,它對孤立的噪聲數據和無關屬性具有很好的分類效果。但是現實中,很多情況下獨立分布的屬性關系是不成立的。貝葉斯網絡不要求類的屬性是條件獨立的,很適合處理不完整的數據集,但是構建合理的網絡可能很繁瑣。
(6)組合分類方法
組合分類方法由訓練集構建多個基分類器,然后通過對每個基分類器的預測進行投票來進行分類的方法,從而提高分類的準確度。實踐表明,組合方法往往比單個分類器的效果好。
比較常用的組合方法有:bagging方法、boosting方法和隨機森林方法。AdaBoost算法就是一種常用的boosting方法實現。隨機森林方法是一種專門為決策樹分類器設計的組合方法,它組合了多種決策樹的預測。研究表明,隨機森林方法在準確度方面可以和AdaBoost相媲美,另外,其運行速度比AdaBoost快。
(7)最近鄰分類方法
最近鄰分類方法記住整個訓練集數據,當測試記錄的屬性與某個訓練集記錄完全匹配時才進行分類。在實際應用中,往往找出與測試集的屬性相對接近的所有訓練集記錄即可,這些記錄被稱為最近鄰。記錄r的k-最近鄰是指與r距離最近的k個數據記錄。合理選取k的值很重要,其值太大,最近鄰分類器可能會誤分測試集記錄;其值太小,最近鄰分類器易受訓練集中噪聲的影響而產生過擬合的問題。
關聯分析方法可以發現隱藏在大型數據集中有意義的聯系。這種聯系可以用關聯規則來表示。在使用關聯規則時,需要考慮兩個問題:一是從大數據集中發現模式可能效率很低;二是所發現的某些關聯可能是毫無意義的。支持度這一度量可以刪除那些毫無意義的關聯規則,置信度可以度量規則的可能性大小。關聯分析的算法主要有:Apriori算法、DHP算法、DIC算法和 FP-增長算法等。
聚類分析是將數據劃分成具有意義的組。聚類算法的選擇應由數據類型、聚類目的和應用決定。主要的聚類方法有:
(1)劃分方法
給定一個有N條記錄的數據集,以及要生成簇的數目K。劃分方法首先給出一個初始的分組方法,然后通過反復迭代的方式改變分組,使得每一次改進之后的分組方案都比前一次好。該方法常用的算法有:K-Means算法、K-MEDOIDS算法和CLARANS算法等。
(2)層次方法
層次方法是對給定的數據對象集合進行層次分解,層次方法可以分為凝聚和分裂[5]。該方法在合并、分裂的時候要檢測大量的記錄和簇,因而伸縮性比較差。比較常見的方法有四種:BIRCH、CURE、ROCK 和 Chameleon[5]。
(3)基于密度的方法
基于密度的方法與其他方法的一個本質區別是:它不是基于距離作為相似性度量的,而是基于密度的。這樣就能克服基于距離的算法只能發現類球狀聚類的缺點。最具代表性的是DBSCAN算法、OPTICS算法和DENCLUE算法[5]。
(4)基于網格的方法
這種方法首先將數據空間劃分成有限個單元的網格結構,所有的處理都是以單個的單元為對象。這么處理的一個明顯優點就是處理速度很快,通常這是與目標數據集中記錄的個數無關的,它只與把數據空間劃分的單元數量有關。代表算法有:STING 算法、CLIQUE 算法、WAVE-CLUSTER算法[5]。
(5)基于模型的方法
基于模型的方法給每一個聚類假定一個模型,然后尋找數據對給定模型的最佳擬合。這樣的一個模型可能是數據點在空間中的密度分布函數或者其它。通常有兩種方案:統計的方案和神經網絡的方案。
異常檢測,也稱偏差檢測。異常檢測的目標就是發現與其它大部分數據點不同的數據點。不平凡的事物往往都具有異乎尋常的重要性。異常檢測的方法主要有:
(1)基于鄰近度的技術
很多異常檢測都是基于鄰近度這一度量,通過比較不同對象之間的距離,就可以判斷異常對象。異常對象往往是遠離其他大部分對象的對象。
(2)基于模型的方法
很多異常檢測方法是通過建立一個數據模型,然后用數據去擬合模型,異常點往往是那些同模型不能很好地進行擬合的點。由于異常對象和正常對象可以看成是兩個類別,這樣也可以用分類技術進行異常檢測。
(3)基于密度的技術
對象的密度可以通過計算進行估計,低密度區域的對象相對遠離近鄰對象,可以將其視為異常對象。更嚴格來講,僅當一個對象的局部密度明顯地小于它的大部分近鄰對象局部密度時,才將其視為異常對象。
數據挖掘是面向實際應用的技術,現在已經廣泛應用于金融、銀行、農業、制造業、零售業、電信、醫療衛生、教育和生物科學等領域。
在信息技術方面,文獻[6]將數據挖掘技術應用到搜索引擎領域,從而產生智能搜索引擎,將會給用戶提供一個高效、準確的Web檢索工具。
在醫療衛生方面,文獻[7]探討了各種數據挖掘方法在生物醫學研究領域中的應用,可以用分類方法對疾病進行診斷,用神經網絡、支持向量機等數據挖掘方法對某些疾病進行預測,研究表明,預測效果良好。文獻[8]在研究MRI乳腺非腫塊樣強化病灶對乳腺癌的診斷時,發現決策樹模型的靈敏度、特異性和準確率等性能均優于傳統統計學中的logistic回歸模型。
在零售業方面,文獻[9]利用SPSSClementine數據挖掘工具,對超市顧客進行分析研究,并提出衡量超市客戶忠誠度的忠誠度系數指標,建立忠誠度—盈利性顧客細分模型,運用k-均值算法對超市顧客進行聚類分析,幫助超市準確識別不同類型的顧客群,尤其是忠誠的高盈利顧客。再利用序列分析模型分析顧客類別變化路徑,及早發現潛在價值顧客,實現超市利潤的有效提升。
在農業建設方面,文獻[10]將數據挖掘技術應用于農村建設中,為我國農村信息化建設提供了解決方案,有效解決了農村信息服務“最初一公里”信息采集難和“最后一公里”信息進村入戶難的問題,研究表明,這種思路具有很好的推廣應用價值。
在電信方面,文獻[11]采用數據挖掘技術分析電信客戶以往的行為特征來洞察客戶的潛在需求,從而有針對性地進行套餐的設計和定價,在風險可控的范圍內最大限度地提高客戶對套餐的接受度,為客戶提供最需要的產品及產品組合,吸引新的客戶入網,減少老客戶的流失,同時實現電信企業的業務量和收入提升。
在教育方面,文獻[12]在分析了當前遠程教育網站的不足之處后,將數據挖掘技術應用于遠程教育系統中,通過分析大量在線用戶信息,提出個性化的教育服務,進而提高遠程教學質量。
在金融方面,文獻[13]提出了基于數據挖掘的商業銀行客戶信用風險評級體系,在此基礎上,構建了基于BP神經網絡的評級模型和基于多種數據挖掘技術的分類結果細化可視化模塊,結果表明,數據挖掘技術可以很好地應用于風險評估中。
目前數據挖掘技術的研究已成為國內外研究的熱點,最近幾年在國內發展迅速,今后該領域發展的趨勢可能主要表現在以下幾方面:
(1)隨著互聯網技術的發展,網絡上的資源越來越多,如何通過數據挖掘技術對互聯網上的資源進行挖掘,并從中發現有用的信息,將成為一個熱點問題。Web數據挖掘目前的研究雖然比較多,但是還有很多不足,需要進一步研究完善。
(2)數據挖掘算法的改進和數據挖掘可視化。數據挖掘算法一般要處理海量的數據,如何在算法效率和算法準確度之間尋找平衡點,是一個值得研究的課題。另外,數據挖掘結果的友好可視化展現也是一個重要的研究課題。
(3)多媒體數據挖掘。多媒體包含視頻、音頻、圖像等,這些數據的結構往往比較復雜,傳統的數據挖掘算法處理多媒體數據效果比較差。為了挖掘多媒體資源,需要設計和開發更好的數據挖掘算法。
(4)數據挖掘和隱私保護。數據挖掘的個人隱私與信息安全問題備受人們關注。誤用和濫用數據挖掘可能導致用戶數據特別是敏感信息的泄露,越來越多的人對此表示擔憂,如何在不暴露用戶隱私的前提下進行數據挖掘,將成為非常值得關注的研究課題[14]。
(5)數據挖掘技術與其他系統的集成。數據挖掘應該是一個完整的過程,不單單是一個算法,為了將數據挖掘技術更好地應用于現實生活中,需要研究如何將數據挖掘與其他系統有機地集成,從而最大化地發揮數據挖掘的優勢。
(6)空間和時序數據挖掘??臻g數據庫與關系數據庫不同,空間數據庫具有豐富的數據類型,帶有拓撲、距離信息,空間數據有很強的局部相關性等特點。挖掘空間數據庫需要特殊的數據挖掘方法。另外,有一類數據集的數據之間存在著時間上的關系,這類數據被稱為時序數據。在對時列數據進行挖掘的過程中,必須考慮數據集數據間存在時間上的關系[15],如何高效地處理空間和時序數據,仍有大量問題需要解決。
(7)流數據挖掘。由于數據流實時、連續、有序、快速到達的特點以及在線分析的應用需求,對流數據挖掘算法提出了很多挑戰。目前也有一些流數據挖掘方法,這些方法主要包括概要數據結構、滑動窗口技術、多窗口技術、衰減因子和近似技術等[16]。
(8)適合中小企業使用的數據挖掘系統。目前國外著名的數據挖掘軟件有:SAS Enterprise Miner、SPSS Clementine(現被IBM收購并改名為IBM SPSS Modeler)和 RapidMiner(開源)等。除開源軟件外,數據挖掘軟件一般價格昂貴,中小企業往往望而卻步。針對我國中小企業的特點,開發一套適合我國國情的數據挖掘軟件具有重要的現實意義。
總之,數據挖掘目前已成為一個熱點研究課題。研究數據挖掘具有重要的現實意義。需要注意的是,數據挖掘技術僅僅是一個數據分析工具和方法,得到的結果不是完全正確的,需要結合具體的專業知識和社會大環境等因素分析,才能正確地利用數據挖掘技術來輔助制定決策。
[1]Na isbitt J.Megatrends:Ten new directions transforming our lives[M].New York: Warner Books,1982:16-17.
[2]王光宏,蔣平.數據挖掘綜述[J].同濟大學學報,2004,32(4) :246-251.
[3]張君楓.數據挖掘算法綜述[J].電腦學習,2010(4):120-121.
[4]孟曉東,袁道華,等.基于回歸模型的數據挖掘研究[J].計算機與現代化,2010(1):26-27.
[5]劉克準,廖志芳.數據挖掘中聚類算法綜述[J].福建電腦,2008(8):5-6.
[6]楊占華,楊燕.數據挖掘在智能搜索引擎中的應用[J].微計算機信息,2006,22(4-3):244-246.
[7]龔著琳,陳瑛,等.數據挖掘在生物醫學數據分析中的應用[J].上海交通大學學報(醫學版),2010,30(11):1420-1423.
[8]譚紅娜,蘇懿,等.數據挖掘技術判定MRI乳腺非腫塊樣強化病灶的初步研究[J].中華放射學雜志,2009,43(5):455-459.
[9]肖生苓,牟娌娜,等.基于數據挖掘技術的超市顧客群研究[J].資源開發與市場,2011,27(08):683-685.
[10]張偉,歐吉順,等.利用數據挖掘技術建設農業智能綜合信息服務平臺[J].農業網絡信息,2011(8):34-36.
[11]潘宇曦,葉宇航,等.基于數據挖掘的電信行業精確化套餐設計方法研究[J].情報雜志,2011(30):123-125.
[12]王嵐,王萍.數據挖掘在遠程教育系統中個性化教育的應用研究[J].計算機工程與科學,2008,3(10):93-95.
[13]蔡皎潔,張玉峰.基于數據挖掘銀行客戶信用風險評級體系研究[J].情報雜志,2010,29(2):47-50.
[14]錢萍,吳蒙.同態加密隱私保護數據挖掘方法綜述[J].計算機應用研究,2011,28(5):1614-1617.
[15]賈澎濤,何華燦,等.時間序列數據挖掘綜述[J].計算機應用研究,2007,24(11):15-17.
[16]孫玉芬,盧炎生.流數據挖掘綜述[J].計算機科學,2007,34(1) :1-5.