蔡 鵬
[摘要]數(shù)據(jù)挖掘是解決數(shù)據(jù)庫中數(shù)據(jù)急劇增大與利用率低之間矛質(zhì)的必然結(jié)果。數(shù)據(jù)庫知識(shí)發(fā)現(xiàn)(kdd)技術(shù)的應(yīng)運(yùn)而生使得人們?cè)趯?shí)際工作中消耗大量財(cái)力和物力的數(shù)據(jù)得以利用。這也是數(shù)據(jù)庫知識(shí)和人工智能技術(shù)發(fā)展的結(jié)果。
[關(guān)鍵詞]模式 數(shù)據(jù)庫中的知識(shí)發(fā)現(xiàn) 數(shù)據(jù)挖掘
中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0920081-01
一、引言
隨著數(shù)據(jù)庫技術(shù)的不斷發(fā)展及數(shù)據(jù)庫管理系統(tǒng)的廣泛應(yīng)用,數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)量急劇增大。但目前數(shù)據(jù)庫系統(tǒng)所能做到的只是對(duì)數(shù)據(jù)庫中已有的數(shù)據(jù)進(jìn)行存取,人們通過這些數(shù)據(jù)所獲得的信息僅僅是整個(gè)數(shù)據(jù)庫所包含的信息量的一部分。也就是說傳統(tǒng)的數(shù)據(jù)分析方法(例如:統(tǒng)計(jì))只能獲得這些數(shù)據(jù)的表層信息,而不能獲得數(shù)據(jù)屬性的內(nèi)在關(guān)系和隱含的信息,即不能獲得重要的知識(shí)。面對(duì)“堆積如山”的數(shù)據(jù)集合,無論在時(shí)間意義上還是空間意義上,傳統(tǒng)的數(shù)據(jù)分析手段還是難以應(yīng)付。這樣,快速的數(shù)據(jù)產(chǎn)生與搜集技術(shù)和拙劣的數(shù)據(jù)分析方法之間形成了鮮明的對(duì)照。
在數(shù)據(jù)技術(shù)飛速發(fā)展的同時(shí),人工智能和機(jī)器學(xué)習(xí)的研究也取得了很大進(jìn)展。根據(jù)人類學(xué)習(xí)的不同模式人們提出了很多機(jī)器學(xué)習(xí)方法。如:實(shí)例學(xué)習(xí)、觀察和發(fā)現(xiàn)學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)和遺傳算法等等,其中某些成熟的算法已被人們運(yùn)用于應(yīng)用系統(tǒng)及智能機(jī)的設(shè)計(jì)和實(shí)現(xiàn)中。
正是由于數(shù)據(jù)庫技術(shù)和人工智能技術(shù)的發(fā)展,也是為了滿足人們實(shí)際工作的需要:“智能地”和“自動(dòng)地”分析數(shù)據(jù),以使消耗大量財(cái)力和物力所收集與整理的寶貴資源——數(shù)據(jù)得以利用,數(shù)據(jù)庫知識(shí)發(fā)現(xiàn)(KDD)技術(shù)應(yīng)運(yùn)而生。
二、KDD與Data Minning
1996年KDD國際會(huì)議上KDD下了最新的定義:KDD是識(shí)別出存在于數(shù)據(jù)庫中有效的(valid)、新穎的(novel)、具有潛在效用的(potentially useful)乃至最終可理解的(ultimatly understandable)模式的非平凡過程。
數(shù)據(jù):是指一個(gè)有關(guān)事實(shí)F的集合,它是用來描述事物有關(guān)方面的信息的。
模式:對(duì)于集合F的數(shù)據(jù),用語言L來描述其中的數(shù)據(jù)的特性。從實(shí)際應(yīng)用角度來講,這里所說的模式提取意味著尋求數(shù)據(jù)的模型和結(jié)構(gòu),或產(chǎn)生數(shù)據(jù)集的高層描述。
處理過程:KDD是一個(gè)多步驟的處理過程,包括數(shù)據(jù)預(yù)處理、模式提取、知識(shí)評(píng)估及過程優(yōu)化。我們說這個(gè)過程是非平凡的,主要是指這個(gè)過程中加入了啟發(fā)參考信息,也就是說它并不是我們平常所說的數(shù)據(jù)集合上的計(jì)算,不是在預(yù)先定量基礎(chǔ)上的一個(gè)直接計(jì)算。
可信:通過KDD從當(dāng)前數(shù)據(jù)所發(fā)現(xiàn)的模式必須有一定的正確程度,否則KDD就毫無作用??梢酝ㄟ^新增數(shù)據(jù)來檢驗(yàn)?zāi)J降恼_性。
新穎:經(jīng)過KDD提取出的模式必須是新穎的,至少對(duì)系統(tǒng)來說應(yīng)該如此。模式是否新穎可以通過兩個(gè)途徑來衡量:其一是得到的數(shù)據(jù),通過當(dāng)前獲得數(shù)據(jù)和以前的數(shù)據(jù)或期望得到的數(shù)據(jù)之間比較,來判斷該模式的新穎程度;其二是通過其內(nèi)部所包含的知識(shí),通過對(duì)比發(fā)現(xiàn)的模式與已有模式的關(guān)系來判斷。
潛在作用:提取出的模式應(yīng)該是有意義的,例如,它可以給用戶或工程帶來好處。
可被人理解:KDD的一個(gè)目標(biāo)就是將數(shù)據(jù)庫中隱含的棋式以容易被理解的形式表現(xiàn)出來。為此,可以輔以后期處理:如解釋過程。
KDD是一個(gè)多步驟的處理過程,在處理過程中可能會(huì)有很多次的反復(fù)。主要包括以下一些步驟:
1.準(zhǔn)備。了解KDD相關(guān)領(lǐng)域的有關(guān)情況,熟悉背景知識(shí),并弄清楚用戶的要求。
2.數(shù)據(jù)選擇。根據(jù)用戶的要求從數(shù)據(jù)庫中提取與KDD相關(guān)的數(shù)據(jù),KDD將主要從這些數(shù)據(jù)中進(jìn)行知識(shí)提取,在此過程中,會(huì)利用一些數(shù)據(jù)庫操作對(duì)數(shù)據(jù)進(jìn)行處理。
3.數(shù)據(jù)預(yù)處理。主要是對(duì)階段2產(chǎn)生的數(shù)據(jù)進(jìn)行再加工,檢查數(shù)據(jù)的完整性及數(shù)據(jù)的一致性,對(duì)其中的噪音數(shù)據(jù)進(jìn)行處理,對(duì)丟失的數(shù)據(jù)可以利用統(tǒng)計(jì)方法進(jìn)行填補(bǔ)。
4.數(shù)據(jù)縮減。對(duì)經(jīng)過預(yù)處理的數(shù)據(jù),根據(jù)知識(shí)發(fā)現(xiàn)的任務(wù)對(duì)數(shù)據(jù)進(jìn)行再處理,主要通過投影或數(shù)據(jù)庫中的其他操作減少數(shù)據(jù)量。
5.確定KDD的目標(biāo)。根據(jù)用戶的要求,確定KDD是發(fā)現(xiàn)何種類型的知識(shí),因?yàn)閷?duì)KDD的不同要求,會(huì)在具體的知識(shí)發(fā)現(xiàn)過程中采用不同的知識(shí)發(fā)現(xiàn)算法。
6.確定知識(shí)發(fā)現(xiàn)算法。根據(jù)階段分析所確定的任務(wù),選擇合適的知識(shí)發(fā)現(xiàn)算法,這包括選取合適的模型和參數(shù),并使得知識(shí)發(fā)現(xiàn)算法與整個(gè)KDD的評(píng)判標(biāo)準(zhǔn)相一致。
7.數(shù)據(jù)挖掘(DM)。運(yùn)用選定的知識(shí)發(fā)現(xiàn)算法,從數(shù)據(jù)中提取用戶所需要的知識(shí),這些知識(shí)可以用一種特定的方式表示或使用一些常用的表示方法,如產(chǎn)生規(guī)則等。
8.模式解釋。對(duì)發(fā)現(xiàn)的模式進(jìn)行解釋。在此過程中,為了取得更為有效的知識(shí),可能會(huì)返回前面處理步驟中的某些步以反復(fù)提取,從而獲得更有效的知識(shí)。
9.知識(shí)評(píng)價(jià)。將發(fā)現(xiàn)的知識(shí)以用戶能了解的方式呈現(xiàn)給用戶。這期間也包含對(duì)知識(shí)的一致性的檢查,以確信本次發(fā)現(xiàn)的知識(shí)不與前發(fā)現(xiàn)的知識(shí)相抵觸。
從上面可以看出,數(shù)據(jù)挖掘只是KDD中的一個(gè)步驟,它主要是利用數(shù)據(jù)分析和某些特定的知識(shí)發(fā)現(xiàn)算法,在一定的運(yùn)算效率的限制內(nèi),從數(shù)據(jù)中發(fā)現(xiàn),生成模式。數(shù)據(jù)挖掘是KDD中最重要的一步。
一個(gè)數(shù)據(jù)挖掘算法通常由以下三個(gè)元素組成:
模型:包括模型助理功能(例如,分類或聚類等)和基函數(shù)(例如,線性函數(shù)或高斯概率分布函數(shù))等。從數(shù)據(jù)中確定參數(shù)以后就形成模型。
優(yōu)先準(zhǔn)則:由于數(shù)據(jù)的不精確性將導(dǎo)致模型的多樣性與不完全性,因此需要具有確定模型或參數(shù)優(yōu)先機(jī)制,它一般是表示某種形式的模型對(duì)問題的符合度函數(shù)。
搜索算法:包括對(duì)模型、參數(shù)或優(yōu)先準(zhǔn)則的各種搜索算法。
三、DataMining技術(shù)
知識(shí)發(fā)現(xiàn)的目的決定于系統(tǒng)的目標(biāo),它可以分成兩類:證實(shí)(verifi
cation)和發(fā)現(xiàn)(discovery)。前者是指系統(tǒng)局限于確認(rèn)用戶的假設(shè);后者是指系統(tǒng)自動(dòng)地尋求新的模式?;诎l(fā)現(xiàn)目的的不同又可以分成預(yù)測和描述兩類。預(yù)測是指尋求模式的目的是為了預(yù)測某些實(shí)體的將來行為;描述是指系統(tǒng)尋求模式的目的是為了用戶理解。
不管目的如何,它們均可以借助于數(shù)據(jù)庫搜索、生成、知識(shí)表示、數(shù)學(xué)或統(tǒng)計(jì)學(xué)模型等等來實(shí)現(xiàn)。但是,由于數(shù)據(jù)挖掘提出了很多具有挑戰(zhàn)性的課題,直接運(yùn)用相關(guān)學(xué)科(如:機(jī)器學(xué)習(xí)、統(tǒng)計(jì)學(xué)和數(shù)據(jù)庫系統(tǒng)等)的方法和技術(shù)不能很多地解決這些難題。所以進(jìn)行專向研究,以發(fā)明新的數(shù)據(jù)挖掘方法或形成集成技術(shù),用以更加高效、更有效的數(shù)據(jù)挖掘成為必然。在這個(gè)意義上,數(shù)據(jù)挖掘已形成了一個(gè)自身獨(dú)立的新領(lǐng)域。
總的來說,數(shù)據(jù)挖掘是面向應(yīng)用的,不同的應(yīng)用需要不同的挖掘技術(shù)去實(shí)現(xiàn)。數(shù)據(jù)挖掘中運(yùn)用的技術(shù)可以分成以下幾類:
1.挖掘關(guān)聯(lián)規(guī)則:發(fā)現(xiàn)數(shù)據(jù)對(duì)象間的相互依賴關(guān)系。
2.數(shù)據(jù)概括和總結(jié):從相關(guān)的一組數(shù)據(jù)中提取出這些數(shù)據(jù)的特征式,表達(dá)數(shù)據(jù)集總體特征。
3.數(shù)據(jù)分類:根據(jù)數(shù)據(jù)的不同特性,將其劃歸為不同的類,這些類是事先利用訓(xùn)練數(shù)據(jù)建立起來的。
4.數(shù)據(jù)聚類:根據(jù)所處理的數(shù)據(jù)的一些屬性,對(duì)這些數(shù)據(jù)進(jìn)行分類,這種分類是基于當(dāng)前所處理的數(shù)據(jù)。
5.模式搜索:可以利用遺傳算法等。
目前Data Mining和KDD的研究已引起各種研究機(jī)構(gòu)和公司的關(guān)注。其研究和應(yīng)用方面還存在許多問題尚待解決,還面臨著許多挑戰(zhàn)。隨著技術(shù)的發(fā)展和理論研究的深入,相信在不久的將來,會(huì)有新的多種理論與方法合理結(jié)合出現(xiàn),那時(shí)KDD會(huì)更好地服務(wù)于人們。