數據挖掘技術

 1. 引言

  數據挖掘(data mining)是從大量的、不完全的、有噪聲的、模糊的、隨機的數據中提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程。隨着信息技術的高速發展,人們積累的數據量急劇增長,動輒以tb計,如何從海量的數據中提取有用的知識成爲當務之急。數據挖掘就是爲順應這種需要應運而生發展起來的數據處理技術。是知識發現(knowledge discovery in database)的關鍵步驟。
  2. 數據挖掘的任務
  數據挖掘的任務主要是關聯分析、聚類分析、分類、預測、時序模式和偏差分析等。
  ⑴關聯分析(association analysis)
  關聯規則挖掘是由rakesh apwal等人首先提出的。兩個或兩個以上變量的取值之間存在某種規律性,就稱爲關聯。數據關聯是數據庫中存在的一類重要的、可被發現的知識。關聯分爲簡單關聯、時序關聯和因果關聯。關聯分析的目的是找出數據庫中隱藏的關聯網。一般用支持度和可信度兩個閥值來度量關聯規則的相關性,還不斷引入興趣度、相關性等參數,使得所挖掘的規則更符合需求。
  ⑵聚類分析(clustering)
  聚類是把數據按照相似性歸納成若干類別,同一類中的數據彼此相似,不同類中的數據相異。聚類分析可以建立宏觀的概念,發現數據的分佈模式,以及可能的數據屬性之間的相互關係。
  ⑶分類(classification)
  分類就是找出一個類別的概念描述,它代表了這類數據的整體信息,即該類的內涵描述,並用這種描述來構造模型,一般用規則或決策樹模式表示。分類是利用訓練數據集通過一定的算法而求得分類規則。分類可被用於規則描述和預測。
  ⑷預測(predication)
  預測是利用歷史數據找出變化規律,建立模型,並由此模型對未來數據的種類及特徵進行預測。預測關心的是精度和不確定性,通常用預測方差來度量。
  ⑸時序模式(time-series pattern)
  時序模式是指通過時間序列搜索出的重複發生概率較高的模式。與迴歸一樣,它也是用己知的數據預測未來的值,但這些數據的區別是變量所處時間的不同。
  ⑹偏差分析(deviation)
  在偏差中包括很多有用的知識,數據庫中的數據存在很多異常情況,發現數據庫中數據存在的異常情況是非常重要的。偏差檢驗的基本方法就是尋找觀察結果與參照之間的差別。
  3.數據挖掘對象
  根據信息存儲格式,用於挖掘的對象有關係數據庫、面向對象數據庫、數據倉庫、文本數據源、多媒體數據庫、空間數據庫、時態數據庫、異質數據庫以及internet等。
  4.數據挖掘流程
  ⑴定義問題:清晰地定義出業務問題,確定數據挖掘的目的。
  ⑵數據準備:數據準備包括:選擇數據--在大型數據庫和數據倉庫目標中提取數據挖掘的目標數據集;數據預處理--進行數據再加工,包括檢查數據的完整性及數據的一致性、去噪聲,填補丟失的域,刪除無效數據等。
  ⑶數據挖掘:根據數據功能的類型和和數據的特點選擇相應的算法,在淨化和轉換過的數據集上進行數據挖掘。
  ⑷結果分析:對數據挖掘的結果進行解釋和評價,轉換成爲能夠最終被用戶理解的知識。
  ⑸知識的運用:將分析所得到的知識集成到業務信息系統的組織結構中去。
  5.數據挖掘的方法
  ⑴神經網絡方法
  神經網絡由於本身良好的魯棒性、自組織自適應性、並行處理、分佈存儲和高度容錯等特性非常適合解決數據挖掘的問題,因此近年來越來越受到人們的關注。典型的神經網絡模型主要分3大類:以感知機、bp反向傳播模型、函數型網絡爲代表的,用於分類、預測和模式識別的前饋式神經網絡模型;以hopfield的離散模型和連續模型爲代表的,分別用於聯想記憶和優化計算的反饋式神經網絡模型;以art模型、 koholon模型爲代表的,用於聚類的自組織映射方法。神經網絡方法的缺點是"黑箱"性,人們難以理解網絡的學習和決策過程。
  ⑵遺傳算法
  遺傳算法是一種基於生物自然選擇與遺傳機理的隨機搜索算法,是一種仿生全局優化方法。遺傳算法具有的隱含並行性、易於和其它模型結合等性質使得它在數據挖掘中被加以應用。
  sunil已成功地開發了一個基於遺傳算法的數據挖掘工具,利用該工具對兩個飛機失事的真實數據庫進行了數據挖掘實驗,結果表明遺傳算法是進行數據挖掘的有效方法之一[4]。遺傳算法的應用還體現在與神經網絡、粗集等技術的結合上。如利用遺傳算法優化神經網絡結構,在不增加錯誤率的前提下,刪除多餘的連接和隱層單元;用遺傳算法和bp算法結合訓練神經網絡,然後從網絡提取規則等。但遺傳算法的算法較複雜,收斂於局部極小的較早收斂問題尚未解決。
  ⑶決策樹方法
  決策樹是一種常用於預測模型的算法,它通過將大量數據有目的分類,從中找到一些有價值的,潛在的信息。它的主要優點是描述簡單,分類速度快,特別適合大規模的數據處理。最有影響和最早的決策樹方法是由quinlan提出的著名的基於信息熵的id3 算法。它的主要問題是:id3是非遞增學習算法;id3決策樹是單變量決策樹,複雜概念的表達困難;同性間的相互關係強調不夠;抗噪性差。針對上述問題,出現了許多較好的改進算法,如 schlimmer和fisher設計了id4遞增式學習算法;鐘鳴,陳文偉等提出了ible算法等。
  ⑷粗集方法
  粗集理論是一種研究不精確、不確定知識的數學工具。粗集方法有幾個優點:不需要給出額外信息;簡化輸入信息的表達空間;算法簡單,易於操作。粗集處理的對象是類似二維關係表的信息表。目前成熟的關係數據庫管理系統和新發展起來的數據倉庫管理系統,爲粗集的數據挖掘奠定了堅實的基礎。但粗集的數學基礎是集合論,難以直接處理連續的屬性。而現實信息表中連續屬性是普遍存在的。因此連續屬性的離散化是制約粗集理論實用化的難點。現在國際上已經研製出來了一些基於粗集的工具應用軟件,如加拿大regina大學開發的kdd-r;美國kansas大學開發的 lers等。
  ⑸覆蓋正例排斥反例方法
  它是利用覆蓋所有正例、排斥所有反例的思想來尋找規則。首先在正例集合中任選一個種子,到反例集合中逐個比較。與字段取值構成的選擇子相容則捨去,相反則保留。按此思想循環所有正例種子,將得到正例的規則(選擇子的合取式)。比較典型的算法有 michalski的aq11方法、洪家榮改進的aq15方法以及他的ae5方法。
  ⑹統計分析方法
  在數據庫字段項之間存在兩種關係:函數關係(能用函數公式表示的確定性關係)和相關關係(不能用函數公式表示,但仍是相關確定性關係),對它們的分析可採用統計學方法,即利用統計學原理對數據庫中的信息進行分析。可進行常用統計(求大量數據中的最大值、最小值、總和、平均值等)、迴歸分析(用迴歸方程來表示變量間的數量關係)、相關分析(用相關係數來度量變量間的相關程度)、差異分析(從樣本統計量的值得出差異來確定總體參數之間是否存在差異)等。
  ⑺模糊集方法
  即利用模糊集合理論對實際問題進行模糊評判、模糊決策、模糊模式識別和模糊聚類分析。系統的複雜性越高,模糊性越強,一般模糊集合理論是用隸屬度來刻畫模糊事物的亦此亦彼性的。李德毅等人在傳統模糊理論和概率統計的基礎上,提出了定性定量不確定性轉換模型--雲模型,並形成了雲理論。
  6.評價數據挖掘軟件需要考慮的問題
  越來越多的軟件供應商加入了數據挖掘這一領域的競爭。用戶如何正確評價一個商業軟件,選擇合適的軟件成爲數據挖掘成功應用的關鍵。
  評價一個數據挖掘軟件主要應從以下四個主要方面:
  ⑴計算性能:如該軟件能否在不同的商業平臺運行;軟件的架構;能否連接不同的數據源;操作大數據集時,性能變化是線性的還是指數的;算的效率;是否基於組件結構易於擴展;運行的穩定性等;
  ⑵功能性:如軟件是否提供足夠多樣的算法;能否避免挖掘過程黑箱化;軟件提供的算法能否應用於多種類型的數據;用戶能否調整算法和算法的參數;軟件能否從數據集隨機抽取數據建立預挖掘模型;能否以不同的形式表現挖掘結果等;
  ⑶可用性:如用戶界面是否友好;軟件是否易學易用;軟件面對的用戶:初學者,高級用戶還是專家?錯誤報告對用戶調試是否有很大幫助;軟件應用的領域:是專攻某一專業領域還是適用多個領域等;
  ⑷輔助功能:如是否允許用戶更改數據集中的錯誤值或進行數據清洗;是否允許值的全局替代;能否將連續數據離散化;能否根據用戶制定的規則從數據集中提取子集;能否將數據中的空值用某一適當均值或用戶指定的值代替;能否將一次分析的結果反饋到另一次分析中,等等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章