CHAPTER 1緒 論
在本章中,我們將討論什麼是資料探勘,為何要進行資料探勘,以及資料探勘和其他相關技術的比較分析。
1.1 什麼是資料探勘
資料探勘,顧名思義就是從大量的資料中探勘出有用的資訊,即從大量的、不完全的、有雜訊的、模糊的、隨機的實際應用資料中,發現隱含的、規律性的、人們事先未知的,但又是潛在有用的,並且最終可理解的資訊與知識的非平凡過程。事先未知的資訊是指該資訊是預先未曾預料到的,或稱新穎性。新穎性要求發現的模式應該是從前未知的,該資訊是預先未曾預料到的。資料探勘就是要發現那些不能靠直覺發現的資訊或知識,甚至是違背直覺的資訊或知識。探勘出的資訊越是出乎意料,就可能越有價值。所探勘的知識之類型包括模型、規律、規則、模式、約束等。潛在有用性是指發現的知識將來有實際效用,即這些資訊或知識對於所討論的業務或研究領域是有效的、有實用價值和可實現的。常識性的結論或已被人們掌握的事實或無法實現的推測,都是沒有意義的。最終可理解性要求發現的模式能被用戶理解,目前它主要表現在簡潔性上。發現的知識要可接受、可理解、可運用,最好能用自然語言表達所發現的結果。非平凡通常是指資料探勘過程不是線性的,在探勘過程中有反覆,有迴圈,所探勘的知識往往不易經由簡單的分析就能夠得到,這些知識可能隱含在表面現象的內部,需要經過大量資料的比較分析,應用一些專門處理大資料量的資料探勘工具。
當然,資料探勘並沒有一個完全統一的精確定義,在不同的文獻或應用領域也有一些其他的定義,如Zekulin定義資料探勘是一個從大型資料庫中提取以前未知的、可理解的、可執行的資訊,並用它來進行關鍵的商業決策的過程;Ferruzza定義資料探勘是用在知識發現過程中,來辨識存在於資料中的未知關係和模式的一些方法;Jonn則定義資料探勘是發現資料中有益模式的過程;Parsaye則認為資料探勘是我們為那些未知的資訊模式而研究大型資料集的一個決策支援過程。這些定義主要從資料探勘的商業應用出發,從此角度看,資料探勘的主要特點是對商業資料庫中的大量事務資料進行抽取、轉化、分析和模式化處理,從中提取商業決策的關鍵知識,即從資料庫中自動發現相關商業模式。
資料探勘是一個利用各種分析工具在大量資料中發現模型和資料間關係的過程,使用這些模型和關係可以進行預測,它幫助決策者尋找資料間潛在的關聯,發現被忽略的因素,因而被認為是解決當今時代所面臨的資料爆炸,且資訊貧乏問題的一種有效方法。資料探勘通常也稱為KDD(Knowledge Discovery in Database)──資料庫中的知識發現。精確地說,在KDD中進行知識學習的階段稱為資料探勘。資料探勘是KDD中一個非常重要的處理步驟,但人們通常不加區別地使用這兩個術語。
資料探勘是一門綜合學科,融合了資料庫、人工智慧、機器學習、統計學等多個領域的理論和技術。資料庫、人工智慧和數理統計是資料探勘研究的三根強大的技術支柱。資料探勘的方法和數學工具包括統計學、決策樹、神經網路、模糊邏輯、線性規劃等。
1.2 為何進行資料探勘
資料庫系統經過數十年的發展,已經保存了大量的日常業務資料。隨著資料庫和各類資訊系統應用的不斷深入,資料量的日積月累,每年都要累積大量的資料,並呈增量發展趨勢,大量資訊是當今資訊社會的特徵,是我們的寶貴財富,然而面對大量資料,我們往往無所適從,無法發現資料中存在的關係和規則,無法根據現有的資料預測未來的發展趨勢,導致「我們淹沒在資料的海洋中,卻缺乏知識」的現象。
人們開始考慮:「如何才能不被資訊淹沒,而且從中及時發現有用的知識,提高資訊利用率?」我們希望運用資料探勘技術從這些資料當中探勘出知識來。大量資料的背後隱藏了很多具有決策意義的資訊,透過對大量資料的分析,發現資料之間的潛在關聯,為人們提供自動決策支援。
資料探勘技術是人們長期對資料庫技術進行研究和開發的結果。資料庫技術最初用於關聯事務處理,即實現對大量資料的統一儲存,並提供對資料的查詢、新增、刪除等事務性操作。隨著大量歷史資料的累積,人們不滿足只是簡單地查詢和修改資料,而是希望能夠發現資料之間的潛在關係,因此,對資料庫技術提出了新的要求,隨著一些相關學科和研究領域的日漸成熟,以及現實世界中商業競爭的壓力日漸殘酷,企業急切地希望藉由快速處理這些資料進一步獲得有利於企業發展的決策依據,而是否能夠最大限度地使用資訊資源來管理和影響企業決策流程,將決定企業是否能擁有最大程度的競爭優勢,資料探勘技術於是出現了,並得到快速的應用。
資料探勘可以應用在各個不同的領域。資料探勘工具能夠對將來的趨勢和行為進行預測,進而支持人們的決策,如銀行可以使用資料探勘發現有價值的客戶,保險公司和證券公司可以使用資料探勘來檢測詐欺行為。
資料探勘自動在大量資料中尋找預測性資訊,因此,以往需要領域專家和分析人員進行大量人工分析的問題,如今可以直接由資料本身迅速得出基於知識的決策。
1.3 資料探勘和統計分析的關係
資料探勘是揭示存在於資料裏的模式及資料間關係的學科,它強調對大量資料的處理及資料和知識之間的潛在關係。統計學是一門關於資料的蒐集、整理、分析和推理的科學。資料探勘和統計分析之間有明顯的關聯性,統計學和資料探勘有著相似的目標──發現資料間隱藏的關係,但也存在一些不同之處:
1.應用的技術不同
用統計學的觀點,資料探勘任務可以看成是透過電腦對大量的複雜資料的自動探索性分析。但是資料探勘技術不僅涉及統計學原理,而且包括資料庫管理、人工智慧、機器學習、模式識別,以及資料視覺化等學問。
2.驅動因數不同
資料探勘是發現驅動或稱資料驅動,從資料中發現知識;而傳統的統計學則為假設驅動或稱人為驅動,通常由分析人員提出假設,然後使用統計技術分析資料,進而驗證或推翻假設。
3.處理的物件不同
統計學以分析連續性和線性關係為主,資料探勘則將連續性和非連續性、線性和非線性關係融為一體,在大量資料和眾多變數中尋找潛在的模式和關係。
4.資料規模不同
傳統的統計分析主要侷限於小樣本,而資料探勘則以處理大量資料、複雜資料為目標。
5.風格不同
統計學和數學有著緊密的關係,但它們是不相同的。統計學比較強調在理論方面,在某種程度上顯得比較「保守」,而資料探勘則是由商業需求而產生出來的,從一開始就以解決商業需求為主要目標,比較強調解決問題,因此風格比較「激進」。
資料探勘不是為了替代傳統的統計分析技術。相反地,它是統計分析方法學的延伸和擴展。資料探勘不僅可以使用統計分析方法,而且可以使用其他一些技術,如神經網路、支援向量機、決策樹等。
1.4 資料探勘與資料倉儲的關係
根據資料倉儲概念提出者William Inmon的定義,資料倉儲是管理人員決策中,注重主題的、整合的、非易失的,並隨時間變化的資料集合。注重主題是指資料倉儲中的資料是按照一定的主題組織而成的,所謂主題,是指用戶使用資料倉儲進行決策時所關心的主要內容。整合是指資料倉儲中的資料是在對原有分散的資料來源進行資料抽取、清洗的基礎上經過系統加工、匯總和整理得到的,消除了原本資料中的不一致性,以保證資料倉儲內的資訊是一致的全域資訊。非易失性是指資料倉儲中存放的通常是歷史資料,修改和刪除操作很少,通常只進行定期的新增、重新整理。與傳統的資料庫相比,資料倉儲通常著重在資料分析處理。
資料探勘是從大量的資料中發現有意義的模式。因為大量的資料通常保存在資料倉儲中,因此,有人將資料倉儲和資料探勘的關係比喻為一個大廚師燒菜,開始需要選擇原料,然後,將各種原料加工完畢,分門別類地放在廚房中,這時候,廚房就像資料倉儲。廚師根據這些原料做出菜餚,就像資料探勘得出有意義的知識一樣。
資料倉儲的發展是促進資料探勘發展的原因之一,資料倉儲中的資料通常已經過資料清洗、資料變換、資料整合等資料預先處理操作,資料的完整性和一致性會比較好,因此,資料倉儲中的資料與其他資料中的資料相比,資料品質更高。高品質的資料是資料探勘成功的前提條件。因此,資料倉儲有助於資料探勘。
然而,資料倉儲並不是資料探勘的先決條件,資料探勘不一定需要建立在資料倉儲的基礎上,資料探勘系統的大量資料並不一定來自於資料倉儲。資料探勘可直接從非資料倉儲化的資料來源中探勘資訊。但是如果將資料探勘和資料倉儲合併使用,則可以簡化資料探勘過程的某些步驟,從而提高資料探勘的效率。並且因為資料倉儲的資料來自於整個企業,保證了資料探勘中資料來源的廣泛性和完整性。資料倉儲和資料探勘的主要目的都是對人類或機器的決策提供品質的保障。資料探勘技術是資料倉儲應用中比較重要也是相對獨立的部分。
1.5 資料探勘系統和其他系統的比較
資料探勘技術的發展是一個逐漸演變的過程。資料探勘技術的發展是基於其他相關領域的技術發展,包括資料庫、統計、人工智慧和機器學習等,但是資料探勘技術和這些相關研究領域的技術又有一些顯著的差異。
1.5.1 資料探勘系統與專家系統的比較
專家系統是人工智慧領域的一個分支,類似科學推理,探索問題解答的途徑。Eward Feigenbaum將專家系統定義為:一種具有智慧的電腦程式,它運用知識和推理來解決只有專家才能解決的複雜問題。即專家系統是一種具有專家決策能力的電腦系統。專家系統通常包括三個核心部分:即知識庫、推理機和使用者介面;一個工作記憶區;兩個工具即解釋工具和知識擷取工具。典型的系統結構如圖1-1所示。
使用者和專家系統通過使用者介面進行資訊交換。解釋工具處理與使用者之間的交換過程、問題的推理過程和系統目前的狀態等等。解釋工具讓使用者瞭解系統目前正在做什麼、為什麼這麼做、做得如何等等。知識擷取工具擷取專家系統所需的背景知識。全域資料庫也稱工作記憶區,存放規則所使用的事實以及專家系統產生的中間資訊等。推理機選用知識的依據,也是解釋工具獲得推理路徑的來源。推理機是實施問題求解的核心執行機構,它依據工作記憶區中的當前問題狀態和相關資訊,按一定的調度控制策略決定哪些規則滿足目標,並授予規則優先順序,然後執行最高優先順序規則進行推理。知識庫含有推理機推理所需要的知識,將有系統的表達或模組化。知識在專家系統中通常表示成規則的形式,如IF…THEN規則。專家系統利用各種資訊、邏輯關係和規則來解決各種問題。專家系統將規則輸入到系統中,系統則使用這些規則來解決某些問題。
資料探勘系統與專家系統有許多不同之處。首先,系統處理的物件不同。資料探勘系統和專家系統都與人工智慧、知識處理緊密相關,但專家系統需要大量的知識,並且這些知識通常是規律性的知識,否則系統將沒有實用性,而資料探勘系統則是基於資料的事實性知識,發現隱藏在資料中的知識。
其次,系統處理的方法不同。資料探勘系統和專家系統既能處理數值型資料,又能處理非數值型資料,但專家系統的演算法主要基於規則和推理,以演繹處理居多,而資料探勘系統的演算法主要基於資料的歸納。
再者,系統的主要任務不同。建造專家系統的主要任務是知識的形式化和知識庫的構造。資料探勘系統的主要任務則是通過關聯分析、分類、群聚分析、預測和偏差檢測等發現資料間的關係,以及發現資料中的模式。
另外,系統回答的問題不同。專家系統適用於診斷性問題和指令性問題。診斷性問題是指需要回答「發生了什麼事」的問題,相當於決策的情報階段。指令性問題是指需要回答「我該做什麼」的問題,相當於決策的選擇階段。資料探勘系統適用於發現隱藏的問題或隱藏的關係,通常需要回答「這些資料或事實說明了什麼」或「為什麼會產生這種現象」。
概括地說,專家系統利用知識解決問題,資料探勘系統發現知識解決問題,但專家系統和資料探勘系統兩者不僅需要IT領域的專家,而且更需要有應用領域的專家參與。