楊波 李桂倫 王云龍
數(shù)據(jù)挖掘的研究融合了多個(gè)不同學(xué)科領(lǐng)域的技術(shù)成果,其方法由人工智能、機(jī)器學(xué)習(xí)的方法發(fā)展而來,結(jié)合傳統(tǒng)的統(tǒng)計(jì)分析方法、模糊數(shù)學(xué)方法及可視化技術(shù),以數(shù)據(jù)源為研究對(duì)象,形成了以下幾種數(shù)據(jù)挖掘的方法。
1.統(tǒng)計(jì)分析方法
統(tǒng)計(jì)分析方法是利用統(tǒng)計(jì)學(xué)原理對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行分析,從而找出它們之間的關(guān)系和規(guī)律的方法。統(tǒng)計(jì)分析一直是分析空間數(shù)據(jù)的常用方法,側(cè)重空間物體和現(xiàn)象的非空間特性分析。統(tǒng)計(jì)分析方法包括線性與非線性分析、相關(guān)分析、回歸分析、差異分析、判別分析、Bayes網(wǎng)絡(luò)等。統(tǒng)計(jì)分析方法的缺點(diǎn)是難以處理字符型數(shù)據(jù),需要具有領(lǐng)域知識(shí)和統(tǒng)計(jì)知識(shí),一般由具有統(tǒng)計(jì)經(jīng)驗(yàn)的領(lǐng)域?qū)<襾硗瓿伞?/p>
2.基于集合論的數(shù)據(jù)挖掘方法
集合論(簡(jiǎn)稱集論)是一門研究集合(由一些抽象數(shù)學(xué)對(duì)象構(gòu)成的整體)的數(shù)學(xué)理論。集論(加上邏輯和謂詞演算)是數(shù)學(xué)的公理化基礎(chǔ)之一,通過集合、元素及成員關(guān)系來形式化地表示其他數(shù)學(xué)對(duì)象?;诩险摰臄?shù)據(jù)挖掘方法包括覆蓋正例排斥反例方法、概念層次網(wǎng)絡(luò)方法和基于粗糙集理論方法,其中應(yīng)用最廣泛的是粗糙集(RS)理論方法。這三種方法中都使用了集合理論中的一些概念和原理,并涉及到大量的集合運(yùn)算。
粗糙集理論(Rough Set Theory)是波蘭學(xué)者Z.Pawlak在1982年提出的,它被廣泛研究并應(yīng)用于不精確、不確定、不完全的信息分類分析和知識(shí)獲取。粗糙集(RS)作為集合論的擴(kuò)展,是一種用于研究不完全和不完整信息描述的數(shù)據(jù)挖掘技術(shù),它能夠在缺少數(shù)據(jù)先驗(yàn)知識(shí)的情況下,以考察數(shù)據(jù)的分類能力為基礎(chǔ),解決模糊或不確定數(shù)據(jù)的分析和處理。
覆蓋正例排斥反例方法是利用覆蓋所有正例、排斥所有反例的思想來尋找規(guī)則。首先在正例集合中任選一個(gè)種子,到反例集合中逐個(gè)比較。與字段取值構(gòu)成的選擇子相容則舍去,相反則保留。按此思想循環(huán)所有正例種子,將得到正例的規(guī)則(選擇子的合取式),比較典型的算法有Michalski的AQ11方法、洪家榮改進(jìn)的AQ15方法和AE5方法。
概念層次網(wǎng)絡(luò)(HNC)理論是關(guān)于自然語(yǔ)言理解處理的一個(gè)理論體系,它建立了網(wǎng)絡(luò)式概念符號(hào)基元體系,即概念表述的數(shù)學(xué)表示式,這個(gè)表示式能夠與自然語(yǔ)言的詞語(yǔ)建立起語(yǔ)義映射關(guān)系,同時(shí)它是高度數(shù)字化的,每一個(gè)符號(hào)基元(字母或數(shù)字)都具有確定的意義,可充當(dāng)概念聯(lián)想的激活因子。語(yǔ)義網(wǎng)絡(luò)是樹狀的分層結(jié)構(gòu),每一層的若干節(jié)點(diǎn)分別用數(shù)字來表示,網(wǎng)絡(luò)中的任何一個(gè)節(jié)點(diǎn)都可以通過從最高層開始到該節(jié)點(diǎn)結(jié)束的一串?dāng)?shù)字唯一確定。HNC通過概念符號(hào)基元體系把自然語(yǔ)言映射到概念空間,數(shù)字化的概念表達(dá)式可以樹形展開,這樣才能充分利用概念符號(hào)化帶來的優(yōu)點(diǎn)對(duì)概念進(jìn)行各種運(yùn)算和操作。
3.決策樹方法
決策樹是通過一系列規(guī)則對(duì)數(shù)據(jù)進(jìn)行分類的過程,其表現(xiàn)形式是類似于樹形結(jié)構(gòu)的流程圖。首先,以信息論中的信息增益原理為基礎(chǔ),尋找數(shù)據(jù)庫(kù)中最大信息量的字段,建立決策樹的根節(jié)點(diǎn);然后根據(jù)字段的不同屬性值建立樹的分枝,再在每個(gè)分枝子集中遞歸建立樹的下層分枝和節(jié)點(diǎn),非葉子節(jié)點(diǎn)表示屬性,最下層的葉子節(jié)點(diǎn)表示數(shù)據(jù)集的子類類別,這樣便生成一棵決策樹;最后對(duì)決策樹進(jìn)行剪枝處理,通過樹形結(jié)構(gòu)產(chǎn)生一組規(guī)則,依照規(guī)則將數(shù)據(jù)集分類。它著眼于從一組無(wú)序、沒有規(guī)則的數(shù)據(jù)中推理出決策樹表示形式的分類規(guī)則。決策樹方法的優(yōu)點(diǎn)是決策制定的過程可見,不需要長(zhǎng)時(shí)間構(gòu)造過程,描述簡(jiǎn)單、易于理解、分類速度快;缺點(diǎn)是很難基于多個(gè)變量組合發(fā)現(xiàn)規(guī)則。決策樹方法擅長(zhǎng)處理非數(shù)值型數(shù)據(jù),而且特別適合大規(guī)模的數(shù)據(jù)處理。常用的決策樹算法有 CLS算法、ID3 算法、C4.5 算法等。
4.聚類分析方法
聚類分析方法是根據(jù)數(shù)據(jù)特征,按一定的距離或相似性系統(tǒng),將數(shù)據(jù)分成一系列相互區(qū)分的類,劃分的標(biāo)準(zhǔn)是類內(nèi)差別最小、類間差別最大。即將實(shí)體對(duì)象或抽象對(duì)象的集合分組,這個(gè)由類似的對(duì)象組成的多個(gè)類的過程稱為聚類。通過聚類以后,數(shù)據(jù)集就轉(zhuǎn)化為類集,同類數(shù)據(jù)具有相似的變量值,不同類數(shù)據(jù)的變量值不具有相似性。在知識(shí)模式類型無(wú)法得知的情況下,可以運(yùn)用聚類分析法進(jìn)行分類、識(shí)別。按照模式間的相似程度進(jìn)行自動(dòng)分類的聚類分析法,能夠?qū)⑾嗨贫却蟮哪J綒w為一類。按聚類過程分,聚類分析法有凝聚算法、分裂算法、增量聚類和劃分聚類。按相似性系統(tǒng),聚類算法可以分成基于距離的方法、基于層次的方法、基于密度的方法以及基于網(wǎng)格的方法。例如,層次方法就是按照一定的層次分解給定的數(shù)據(jù)對(duì)象集合,可以分為分裂層次方法和凝聚層次方法。聚類分析法適用于分析樣本之間的內(nèi)部關(guān)系,合理的評(píng)價(jià)樣本結(jié)構(gòu)。此外,孤立點(diǎn)的檢測(cè)也可以應(yīng)用聚類分析。聚類是為了將某個(gè)對(duì)象從大量的數(shù)據(jù)中分離出來,而不是簡(jiǎn)單地將數(shù)據(jù)集合在一起。目前,聚類分析法已廣泛應(yīng)用于圖像處理、模式識(shí)別、經(jīng)濟(jì)分析等多個(gè)研究領(lǐng)域。
5.人工神經(jīng)網(wǎng)絡(luò)方法
神經(jīng)網(wǎng)絡(luò)法是一種模擬生物神經(jīng)系統(tǒng)的結(jié)構(gòu)和功能,通過訓(xùn)練來學(xué)習(xí)的非線性預(yù)測(cè)模型,可完成分類、聚類、特征挖掘等多種數(shù)據(jù)挖掘任務(wù)。神經(jīng)網(wǎng)絡(luò)(Nerual Net)指由大量的神經(jīng)元(PE)互連而成的網(wǎng)絡(luò),神經(jīng)網(wǎng)路模型通常由輸入層、中間層(亦稱隱層)和輸出層組成。在每個(gè)神經(jīng)元求得輸入值后,再匯總計(jì)算總輸入值;由過濾機(jī)制比較總輸入值,確定網(wǎng)絡(luò)的輸出值??梢酝ㄟ^連接一組神經(jīng)元來模擬復(fù)雜行為,當(dāng)修改連接層的“接度”或權(quán)值時(shí),神經(jīng)網(wǎng)絡(luò)就進(jìn)行了學(xué)習(xí)或“訓(xùn)練”。
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法主要表現(xiàn)在上述權(quán)值的修改過程上。這種方法模擬了人腦神經(jīng)元結(jié)構(gòu),通過大量神經(jīng)元構(gòu)成的網(wǎng)絡(luò)來實(shí)現(xiàn)自適應(yīng)的非線性動(dòng)態(tài)系統(tǒng),具有對(duì)非線性數(shù)據(jù)快速建模的能力,通過對(duì)訓(xùn)練集的反復(fù)學(xué)習(xí)來調(diào)節(jié)自身的網(wǎng)絡(luò)結(jié)構(gòu)和連接權(quán)值,并對(duì)未知的數(shù)據(jù)進(jìn)行分類和預(yù)測(cè)。其優(yōu)點(diǎn)是具有自學(xué)習(xí)、自組織、自適應(yīng)、抗干擾、分布存儲(chǔ)、聯(lián)想記憶、非線性學(xué)習(xí)、大規(guī)模并行處理等功能,對(duì)復(fù)雜情況能得到精確的預(yù)測(cè)結(jié)果;缺點(diǎn)是不適合處理高維度變量,具有“黑箱”性,人們難以理解網(wǎng)絡(luò)的學(xué)習(xí)和決策過程,輸出結(jié)果也難以解釋。目前,神經(jīng)網(wǎng)絡(luò)法主要用于數(shù)據(jù)挖掘的分類、聚類知識(shí)以及特征的挖掘過程。
6.遺傳算法
遺傳算法是一種采用遺傳結(jié)合、遺傳交叉變異及自然選擇等操作來生成實(shí)現(xiàn)規(guī)則的、基于進(jìn)化理論的機(jī)器學(xué)習(xí)方法。它的基本觀點(diǎn)是“自然選擇,適者生存”,在設(shè)計(jì)中使用抽象于生物進(jìn)化過程的基于自然選擇和生物遺傳機(jī)制的優(yōu)化技術(shù);它由繁殖(選擇)、交換(重組)和變異(突變)三個(gè)基本算子組成,具有隱含并行性、易于和其他模型結(jié)合等性質(zhì)。遺傳算法常用于優(yōu)化神經(jīng)元網(wǎng)絡(luò),提高神經(jīng)網(wǎng)絡(luò)的可理解性,解決其他技術(shù)難以解決的問題。遺傳算法在問題解決過程中不是針對(duì)參數(shù)本身,而是針對(duì)通過參數(shù)集進(jìn)行編碼的基因個(gè)體,使其可對(duì)一些復(fù)雜的結(jié)構(gòu)對(duì)象(集合、序列、樹、圖、表等)進(jìn)行操作。利用對(duì)所有個(gè)體進(jìn)行處理的方法,可以探索空間中的多個(gè)解,使遺傳算法具有較好的全局搜索特性。它的主要優(yōu)點(diǎn)是可以處理許多數(shù)據(jù)類型,同時(shí)可以并行處理各種數(shù)據(jù),對(duì)問題的種類具有很強(qiáng)的適應(yīng)性;缺點(diǎn)是需要的參數(shù)太多,編碼困難,一般計(jì)算量較大,從遺傳算法自身的角度考察,遺傳算法實(shí)際上是一種最難以理解和開發(fā)難度最大的算法。