第1章緒論
1.1知 識 發(fā) 現(xiàn)
在許多領(lǐng)域中,隨著數(shù)據(jù)的不斷增多,一些大型數(shù)據(jù)庫的規(guī)模已經(jīng)遠遠超過人工所能分析的程度,因此數(shù)據(jù)庫和知識發(fā)現(xiàn)(knowledge discovery in database,KDD)技術(shù)應(yīng)運而生(李嶶和李宛州,2001)。知識發(fā)現(xiàn)也是市場競爭的需要,它為決策者提供重要的、前所未有的信息或知識,從而產(chǎn)生不可估量的效益。
1.1.1知識發(fā)現(xiàn)的歷程
隨著數(shù)據(jù)庫系統(tǒng)的廣泛開發(fā)和數(shù)據(jù)庫技術(shù)的迅速發(fā)展,數(shù)據(jù)以前所未有的速度大量聚集在計算機中,但與之相配合的數(shù)據(jù)分析和知識提取技術(shù)在相當長一段時間里沒有大的進展,使得存儲的大量原始數(shù)據(jù)沒有被充分利用,沒有轉(zhuǎn)化成為指導(dǎo)生產(chǎn)的“知識”,而是出現(xiàn)了“數(shù)據(jù)的海洋,知識的荒漠”這樣一種奇怪的現(xiàn)象。于是,知識發(fā)現(xiàn)在這種背景下應(yīng)運而生,并很快發(fā)展成為國際上數(shù)據(jù)庫和信息決策領(lǐng)域最前沿的研究方向之一。
知識發(fā)現(xiàn)的研究經(jīng)歷了從機器學(xué)習(xí)到機器發(fā)現(xiàn)再到知識發(fā)現(xiàn)幾個階段,從20世紀80年代末,人們開始研究知識發(fā)現(xiàn),1989年8月在美國底特律召開的第11屆國際人工智能聯(lián)合會議的專題討論會上首次出現(xiàn)知識發(fā)現(xiàn)這個術(shù)語,法耶茲(Fayyad)首次給出了知識發(fā)現(xiàn)的定義“知識發(fā)現(xiàn)是從數(shù)據(jù)集中識別出有效的、新穎的、潛在有用的,以及最終可理解的模式的非平凡過程”。隨后在1991年、1993年和1994年都舉行了知識發(fā)現(xiàn)專題討論會,集中討論海量數(shù)據(jù)分析算法、數(shù)據(jù)統(tǒng)計、知識表達、知識運用等問題。隨著知識發(fā)現(xiàn)在學(xué)術(shù)界和工業(yè)界的影響越來越大,知識發(fā)現(xiàn)組委會于1995年把專題討論會更名為國際會議,并改為大會代表自愿報名參加。1995年在加拿大蒙特利爾市召開了第一次知識發(fā)現(xiàn)國際學(xué)術(shù)會議,以后每年召開一次。
1.1.2知識發(fā)現(xiàn)的內(nèi)容
在知識發(fā)現(xiàn)′96國際會議上對知識發(fā)現(xiàn)做了如下定義:知識發(fā)現(xiàn)是識別出存在于數(shù)據(jù)庫中有效的、新穎的、具有潛在效果的乃至最終可理解的模式的非平凡過程。知識發(fā)現(xiàn)是將數(shù)據(jù)變成信息、信息變?yōu)橹R、知識形成策略、策略構(gòu)成智能的活動,從而指導(dǎo)人類有效地分析問題和解決問題。知識發(fā)現(xiàn)過程從數(shù)據(jù)礦山中找到蘊藏的知識金塊,將為知識創(chuàng)新和知識經(jīng)濟的發(fā)展作出積極的貢獻。
知識發(fā)現(xiàn)的范圍非常廣泛,可以是經(jīng)濟、工業(yè)、農(nóng)業(yè)、軍事、社會、商業(yè)、科學(xué)、醫(yī)療衛(wèi)生等的數(shù)據(jù)或衛(wèi)星觀測得到的數(shù)據(jù)。數(shù)據(jù)的形態(tài)有數(shù)字、符號、圖形、圖像、聲音等。數(shù)據(jù)組織方式也各不相同,可以是結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化的。知識發(fā)現(xiàn)的結(jié)果可以表示成各種形式,包括規(guī)則、法則、科學(xué)規(guī)律、方程或語義網(wǎng)絡(luò)等。
數(shù)據(jù)庫知識發(fā)現(xiàn)的研究非;钴S。在法耶茲的定義中,涉及幾個需要進一步解釋的概念:“數(shù)據(jù)集”、“模式”、“過程”、“有效性”、“新穎性”、“潛在有用性”和“最終可理解性”。數(shù)據(jù)集是一組事實F(如關(guān)系數(shù)據(jù)庫中的記錄),模式是一個用語言L來表示的一個表達式E,它可用來描述數(shù)據(jù)集F的某個子集FE,E作為一個模式要求它比對數(shù)據(jù)子集FE的枚舉要簡單(所用的描述信息量要少)。過程在知識發(fā)現(xiàn)中通常指多階段的一個過程,涉及數(shù)據(jù)準備、模式搜索、知識評價,以及反復(fù)地修改求精;該過程要求是非平凡的,意思是要有一定程度的智能性、自動性。有效性是指發(fā)現(xiàn)的模式對于新的數(shù)據(jù)仍保持有一定的可信度。新穎性要求發(fā)現(xiàn)的模式應(yīng)該是新的。潛在有用性是指發(fā)現(xiàn)的知識將來有實際效用,如用于決策支持系統(tǒng)(decision support system,DSS)中可提高經(jīng)濟效益。最終可理解性要求發(fā)現(xiàn)的模式能被用戶理解,目前它主要體現(xiàn)在簡潔性上。有效性、新穎性、潛在有用性和最終可理解性綜合在一起稱為興趣性。
知識發(fā)現(xiàn)與智能決策第1章緒論1.1.3知識發(fā)現(xiàn)的過程
知識發(fā)現(xiàn)是一門受到來自各種不同領(lǐng)域的研究者關(guān)注的交叉性學(xué)科,因此它還有很多不同的術(shù)語名稱。除了知識發(fā)現(xiàn)外,主要還有如下若干種稱法:數(shù)據(jù)挖掘(data mining)、知識抽。╥nformation extraction)、信息發(fā)現(xiàn)(information discovery)、智能數(shù)據(jù)分析(intelligent data analysis)、探索式數(shù)據(jù)分析(exploratory data analysis)、信息收獲(information harvesting)和數(shù)據(jù)考古(data archeology)等。其中最常用的術(shù)語是“知識發(fā)現(xiàn)”和“數(shù)據(jù)挖掘”。數(shù)據(jù)挖掘主要流行于統(tǒng)計界(最早出現(xiàn)于統(tǒng)計文獻中)、數(shù)據(jù)分析、數(shù)據(jù)庫和管理信息系統(tǒng)(management inform ation system, MIS)領(lǐng)域,而知識發(fā)現(xiàn)則主要流行于人工智能和機器學(xué)習(xí)領(lǐng)域。
知識發(fā)現(xiàn)過程(圖1-1)可粗略地理解為三部曲:數(shù)據(jù)準備、數(shù)據(jù)挖掘和結(jié)果的解釋評估。
圖1-1知識發(fā)現(xiàn)過程示意圖
1.1.3.1數(shù)據(jù)準備
數(shù)據(jù)準備又可分為三個子步驟:數(shù)據(jù)選。╠ata selection)、數(shù)據(jù)預(yù)處理(data preprocessing)和數(shù)據(jù)變換(data transformation)。數(shù)據(jù)選取的目的是確定發(fā)現(xiàn)任務(wù)的操作對象,即目標數(shù)據(jù)(target data),它是根據(jù)用戶的需要從原始數(shù)據(jù)庫中抽取的一組數(shù)據(jù)。原始數(shù)據(jù)庫可以是異構(gòu)的數(shù)據(jù)庫和多源性數(shù)據(jù)文件。數(shù)據(jù)預(yù)處理一般可能包括消除噪聲、推導(dǎo)計算缺值數(shù)據(jù)、消除重復(fù)記錄、完成數(shù)據(jù)類型轉(zhuǎn)換(如把連續(xù)值數(shù)據(jù)轉(zhuǎn)換為離散型的數(shù)據(jù),以便于符號歸納;或是把離散型的轉(zhuǎn)換為連續(xù)值型的,以便于概念性歸納)等。當數(shù)據(jù)挖掘的對象是數(shù)據(jù)倉庫時,數(shù)據(jù)預(yù)處理已經(jīng)在生成數(shù)據(jù)倉庫時完成了,主要是通過在源數(shù)據(jù)中抽取數(shù)據(jù),按數(shù)據(jù)倉庫的邏輯數(shù)據(jù)模型的要求進行數(shù)據(jù)轉(zhuǎn)換,再按物理數(shù)據(jù)模型的要求裝載到數(shù)據(jù)倉庫中去,即進行數(shù)據(jù)抽取、轉(zhuǎn)換、加載(extract、transform、load,ETL)過程。數(shù)據(jù)變換的主要目的是消減數(shù)據(jù)維數(shù)或降維(dimension reduction),即從初始特征中找出真正有用的特征以減少數(shù)據(jù)開采時要考慮的特征或變量個數(shù)。
1.1.3.2數(shù)據(jù)挖掘
數(shù)據(jù)挖掘階段首先要確定挖掘的任務(wù)或目的是什么,如數(shù)據(jù)總結(jié)、概念描述、分類、聚類、關(guān)聯(lián)規(guī)則發(fā)現(xiàn)或序列模式發(fā)現(xiàn)和相關(guān)性分析等。確定了挖掘任務(wù)后,就要決定使用什么樣的挖掘算法。同樣的任務(wù)可以用不同的算法來實現(xiàn)。選擇實現(xiàn)算法有兩個考慮因素:一是不同的數(shù)據(jù)有不同的特點,因此需要用與之相關(guān)的算法來挖掘;二是用戶或?qū)嶋H運行系統(tǒng)的要求,有的用戶可能希望獲取描述型的(descriptive)、容易理解的知識,而有的用戶或系統(tǒng)的目的是獲取預(yù)測準確度盡可能高的預(yù)測型(predictive)知識。完成上述準備工作后,就可以實施數(shù)據(jù)挖掘操作了。具體的數(shù)據(jù)挖掘方法將在后面章節(jié)中作較為詳細的論述。需要指出的是,盡管數(shù)據(jù)挖掘算法是知識發(fā)現(xiàn)的核心,也是目前研究人員主要的努力方向,但要獲得好的挖掘效果,必須對各種挖掘算法的要求或前提假設(shè)有充分的理解。
1.1.3.3結(jié)果解釋和評估
數(shù)據(jù)挖掘階段發(fā)現(xiàn)的模式,經(jīng)過用戶或機器的評估,可能存在冗余或無關(guān)的模式,這時需要將其剔除;也有可能模式不滿足用戶要求,這時則需要讓整個發(fā)現(xiàn)過程退回到發(fā)現(xiàn)階段之前,如重新選取數(shù)據(jù)、采用新的數(shù)據(jù)變換方法、設(shè)定新的數(shù)據(jù)挖掘參數(shù)值,甚至換一種挖掘算法(如當發(fā)現(xiàn)任務(wù)是分類時,有多種分類方法,不同的方法對不同的數(shù)據(jù)有不同的效果)。另外,知識發(fā)現(xiàn)最終是面向人類用戶的,因此可能要對發(fā)現(xiàn)的模式進行可視化,或者把結(jié)果轉(zhuǎn)換為用戶易懂的另一種表示,如把分類決策樹轉(zhuǎn)換為“if…then…”規(guī)則等。
知識發(fā)現(xiàn)過程中要注意以下幾點:
1)數(shù)據(jù)挖掘僅僅是整個過程中的一個步驟。數(shù)據(jù)挖掘質(zhì)量的好壞受兩個要素的影響:一是所采用的數(shù)據(jù)挖掘技術(shù)的有效性,二是用于挖掘的數(shù)據(jù)的質(zhì)量和數(shù)量(數(shù)據(jù)量的大。。如果選擇了錯誤的數(shù)據(jù)或不適當?shù)膶傩,或(qū)?shù)據(jù)進行了不適當?shù)霓D(zhuǎn)換,則挖掘的結(jié)果是不會令人滿意的。
2)整個挖掘過程是一個不斷反饋的過程。比如,用戶在挖掘途中發(fā)現(xiàn)選擇的數(shù)據(jù)不太好,或使用的挖掘技術(shù)產(chǎn)生不了期望的結(jié)果,這時,用戶需要重復(fù)先前的過程,甚至重新開始。
3)可視化在數(shù)據(jù)挖掘的各個階段都扮演著重要的作用。特別是在數(shù)據(jù)準備階段,用戶可能要使用散點圖、直方圖等統(tǒng)計可視化技術(shù)來顯示有關(guān)數(shù)據(jù),以對數(shù)據(jù)有一個初步的理解,從而為更好地選取數(shù)據(jù)打下基礎(chǔ)。在挖掘階段,用戶則要使用與領(lǐng)域問題有關(guān)的可視化工具。在表示結(jié)果階段,則可能要用到可視化技術(shù)。
1.1.4知識發(fā)現(xiàn)的方法
知識發(fā)現(xiàn)的方法大致可分為如下幾大類。
1.1.4.1統(tǒng)計方法
統(tǒng)計方法是從事物的外在數(shù)量上的表現(xiàn)去推斷該事物可能的規(guī)律性?茖W(xué)規(guī)律性的東西一般總是隱藏得比較深,最初總是通過統(tǒng)計分析從其數(shù)量表現(xiàn)上看出一些線索,然后提出一定的假說或?qū)W說,再作深入的理論研究。當理論研究提出一定的結(jié)論時,往往還需要在實踐中加以驗證。就是說,觀測一些自然現(xiàn)象或?qū)iT安排的實驗所得資料,是否與理論相符、在多大的程度上相符、可能朝哪個方向偏離等問題,都需要用統(tǒng)計分析的方法處理。
近百年來,統(tǒng)計學(xué)得到了極大的發(fā)展。我們可用圖1-2的框架粗略地刻畫統(tǒng)計學(xué)發(fā)展的過程。
圖1-2統(tǒng)計學(xué)發(fā)現(xiàn)過程圖
其中,從1960~1980年,引導(dǎo)這一革命的是20世紀60年代的四項發(fā)現(xiàn):①吉洪諾夫(Tikhonov)、伊萬諾夫(Ivanov)和菲利浦(Philips)發(fā)現(xiàn)的關(guān)于解決不適定問題的正則化原則。②帕仁(Parzen)、羅森布拉特(Rosenblatt)和陳瑟夫(Chentsov)發(fā)現(xiàn)的非參數(shù)統(tǒng)計學(xué)。③瓦普尼克(Vapnik)和車溫尼克思(Chervonenkis)發(fā)現(xiàn)的在泛函數(shù)空間的大數(shù)定律及其與學(xué)習(xí)過程的關(guān)系。④柯爾莫哥洛夫(Kolmogorov)、索洛莫諾夫(Solomonoff)和沙坦(Chaitin)發(fā)現(xiàn)的算法復(fù)雜性及其與歸納推理的關(guān)系。
這四項發(fā)現(xiàn)也成為人們對學(xué)習(xí)過程研究的重要基礎(chǔ)。下面我們列出與統(tǒng)計學(xué)有關(guān)的機器學(xué)習(xí)方法。
。1)傳統(tǒng)方法
統(tǒng)計學(xué)在解決機器學(xué)習(xí)問題中起著基礎(chǔ)性的作用。傳統(tǒng)的統(tǒng)計學(xué)所研究的主要是漸近理論,即當樣本趨向于無窮多時的統(tǒng)計性質(zhì)。統(tǒng)計方法主要考慮測試預(yù)想的假設(shè)和數(shù)據(jù)模型擬合。它依賴于顯式的基本概率模型。統(tǒng)計方法處理過程可分為三個階段:①搜集數(shù)據(jù):采樣、實驗設(shè)計。②分析數(shù)據(jù):建模、知識發(fā)現(xiàn)、可視化。③進行推理:預(yù)測、分類。
常見的統(tǒng)計方法有回歸分析(多元回歸、自回歸等)、判別分析(貝葉斯判別、費歇爾判別、非參數(shù)判別等)、聚類分析(系統(tǒng)聚類、動態(tài)聚類等)、探索性分析(主元分析法、相關(guān)分析法等)等。
。2)模糊集
模糊集是表示和處理不確定性數(shù)據(jù)的重要方法。模糊集不僅可以處理不完全數(shù)據(jù)、噪聲或不精確數(shù)據(jù),而且在開發(fā)數(shù)據(jù)的不確定性模型方面是有用的,可以提供比傳統(tǒng)方法更靈巧、更平滑的性能。
。3)支持向量機
支持向量機(support vector machine,SVM)建立在計算學(xué)習(xí)理論的結(jié)構(gòu)風(fēng)險最小化原則之上,其主要思想針對兩類分類問題,在高維空間中尋找一個超平面作為兩類的分割,以保證最小的分類錯誤率。而且SVM有一個重要的優(yōu)點就是可以處理線性不可分的情況。
。4)粗糙集
粗糙集(rough set)理論由帕夫拉克(Z.Pawlak)在1982年提出。它是一種新的數(shù)學(xué)工具,用于處理含糊性和不確定性問題,在數(shù)據(jù)挖掘中發(fā)揮著重要的作用。粗糙集是由集合的下近似、上近似來定義的。下近似中的每一個成員都是該集合的確定成員,而不是上近似中的成員肯定不是該集合的成員。粗糙集的上近似是下近似和邊界區(qū)的合并。邊界區(qū)的成員可能是該集合的成員,但不是確定的成員?梢哉J為粗糙集是具有三值隸屬函數(shù)的模糊集,即是、不是、也許。與模糊集一樣,它是一種處理數(shù)據(jù)不確定性的數(shù)學(xué)工具,常與規(guī)則歸納、分類和聚類方法結(jié)合起來使用,很少單獨使用。
1.1.4.2機器學(xué)習(xí)
西蒙(Simon)對機器學(xué)習(xí)的定義是:“如果一個系統(tǒng)能夠通過執(zhí)行某種過程而改進它的性能,這就是學(xué)習(xí)”。這個說法的要點是:第一,學(xué)習(xí)是一個過程;第二,學(xué)習(xí)是相對一個系統(tǒng)而言的;第三,學(xué)習(xí)改變系統(tǒng)性能。過程、系統(tǒng)和改變性能是學(xué)習(xí)的三個要點。對上述說法,第一點是自然的。第二點中的系統(tǒng)則相當復(fù)雜,一般是指一臺計算機,但是,也可以是計算系統(tǒng)