遼寧 劉旭
數據挖掘技術淺析
遼寧 劉旭
在浩瀚的數據海洋中,人們常常陷入渴望有效信息而無法入手的尷尬局面,傳統的統計方式雖然可以實現空間數據的錄入、修改、統計、查詢等功能,但卻不能很好的發現隱藏在空間數據中的關系、規律等信息。這就使得數據豐富,而知識貧乏的問題越來越突出。通過數據挖掘技術對原始數據進行加工,能夠準確、高效地從數據海洋中找到答案獲得價值信息,本文對這一技術進行探討。
數據處理;數據挖掘;信息
在過去的幾十年中,計算機硬件得到了穩步、快速的發展,隨著功能強大的計算機、數據收集設備和存儲介質的大量供應,推動了數據庫和信息產業的發展,使得人類擁有的數據量急劇增加,并且正以幾何級數或指數級數增長。如今,如何分析這些海量的數據成為了各個領域的巨大挑戰,數據挖掘技術應運而生,并得以蓬勃發展,越來越顯示出其強大的生命力。
數據挖掘(Data Mining),又稱為數據采掘、數據開采,相近的術語有KDD(數據庫知識發現)、數據分析、數據融合(Data Fusion)、決策支持等。根據w.J.Frawley和G.P.Shapiro等人的定義,數據挖掘是指從大型數據庫的數據中提取人們感興趣的知識。而這些知識是隱含的、事先未知的、潛在的有用信息。它綜合利用了統計學方法,模糊識別技術,人工智能方法,人工神經網絡技術等相關技術,并對各行各業的生產數據,管理數據和經營數據進行處理、組織、分析、綜合和解釋,以期從這些數據中挖掘并揭示出客觀規律,反映內在聯系和預測發展趨勢的知識。
人們把原始數據看作是形成知識的源泉,就像從礦石中采礦一樣。原始數據可以是結構化的,如關系型數據庫中的數據,也可以是半結構化的,如文本、圖形、圖像數據,甚至是分布在網絡上的異構型數據。發現知識的方法可以是數學的,也可以是非數學的;可以是演繹的,也可以是歸納的。發現了的知識可以被用于信息管理、查詢優化、決策支持、過程控制等,還可以用于數據自身的維護。因此,數據挖掘是一門廣義的交叉學科,它匯聚了不同領域的研究者,尤其是數據庫、人工智能、數理統計、可視化、并行計算等方面的學者和工程技術人員。
決策樹是通過一系列對數據進行分類的過程,它從一組無次序、無規則的事例中推理出決策樹表示形式的分類規則。決策樹分類方法采用自頂向下的遞歸方式,在決策樹的內部結點進行屬性值的比較并根據不同的屬性值判斷從該結點向下的分支,在決策樹的葉節點得到結論。所以從決策樹的根到葉節點的一條路徑就對應著一條合取規則,整棵決策樹就對應著一組析取表達式規則。其優點是可將數據規則可視化,構造時間段,輸出易于理解,故而多用于只是發現的系統中。
神經網絡是一種模仿動物神經網絡行為特征,進行分布式并行信息處理的算法數學模型。這種網絡依靠系統的復雜程度,通過調整內部大量節點之間相互連接的關系,從而達到處理信息的目的。其優點是有很高的抗干擾能力和可對未訓練數據進行分類,其不足之處是訓練時間較長以及可解釋性差。
遺傳算法是于解決最優化的搜索算法,是進化算法的一種。進化算法最初是借鑒了進化生物學中的一些現象而發展起來的,這些現象包括遺傳、突變、自然選擇以及雜交等。遺傳算法善于解決全局最優化的問題。
最典型的類比學習方法是K一最近鄰方法,它屬于懶散學習法,相比決策樹等急切學習法,它具有訓練時間短,但分類時間長的特點。K-最近鄰算法可以用于分類和聚類中。類比學習的思路非常簡單,當預測未來情況或進行正確分類時,系統尋找與現有情況類似的事例,并選擇最佳的相同的解決方案。
關聯規則挖掘是用以發現大量數據中項集之間相關聯系的,關聯規則的發現可以分為兩個方面:頻繁項集的發現和關聯規則的提取。其中,發現或識別所有頻繁項目集是關聯規則發現算法的核心和基礎,也是計算量最大的部分。關系數據庫中關聯規則的挖掘目前有兩種思路:一是,基于傳統關聯規則的思想;二是,直接利用結構化查詢語言SQL來實現。若數據集中的屬性都是布爾值,則此數據集中挖掘的關聯規則就都是布爾關聯規則。Apriori算法是挖掘布爾關聯規則的典型算法,布爾關聯規則算法又是最典型得一種關聯規則挖掘算法。許多其它關聯規則挖掘算法都基于布爾關聯規則挖掘算法,并且許多其它屬性的數據的關聯關系挖掘也都可以轉化為布爾關聯規則挖掘算法。
除上述數據挖掘方法外還有統計分析、貝葉斯分類、粗糙集等方法,他們之間既相互獨立又相互補充。
數據挖掘技術已經廣泛地應用于金融業、零售業、遠程通訊業、政府管理、制造業、醫療服務以及體育事業中,而它在網絡中的應用也正在成為一個熱點。
運用網絡用法挖掘技術能夠從服務器以及瀏覽器端的日志記錄中自動發現隱藏在數據中的模式信息,了解系統的訪問模式以及用戶的行為模式,從而做出預測性分析。例如通過評價用戶對某一信息資源瀏覽所花的時間,可以判斷出用戶對資源興趣如何;對日志文件所收集到的域名數據,根據國家或類型(.com,.edu,.gov)進行分類分析;應用聚類分析來識別用戶的訪問動機和訪問趨勢等。
通過對網站內容的挖掘,可以有效地組織網站信息,例如采用自動歸類技術實現網站信息的層次性組織;通過對用戶訪問日志記錄信息的挖掘,把握用戶的興趣,有助于開展網站信息推送服務以及個人信息的定制服務。
用搜索引擎進行數據挖掘的最大特色體現在它所采用的對網頁Links信息的挖掘技術上。如通過對網頁內容挖掘,可以實現對網頁的聚類、分類,實現網絡信息的分類瀏覽與檢索;通過用戶所使用的提問式的歷史記錄的分析,可以有效地進行提問擴展,提高用戶的檢索效果(查全率,precision;查準率,recall);運用網絡內容挖掘技術改進關鍵詞加權算法,提高網絡信息的標引準確度,從而改善檢索效果。上面僅僅列舉了網絡信息挖掘技術在這三個方面的應用這項技術的應用正變得越來越廣泛,用戶對高品質、個性化的信息需求必將推動學術界與實業界的研究開發工作。
數據挖掘技術為軟件測試數據生成和軟件可靠性評估提供了新的思路和方法軟件結構測試數據生成一直是困擾軟件測試人員的一個難題。通過手工方式設計測試數據的方法效率低,工作量大,數據挖掘中的遺傳算法以其啟發式的搜索尋優方式為軟件結構測試數據生成提供了高效的方法。
傳統軟件可靠性模型適用性差,局限了模型的實際應用。軟件可靠性評估是一個復雜的決策過程,正確的決策需要建立在對知識充分掌握的基礎上。數據挖掘中的人工神經網絡利用龐大的歷史數據,通過機器的自學習能力,智能地分析、生成評估規則。由于其基于的是歷史數據,而非模型假設,所以它具有比傳統可靠性模型更好的適用性與通用性。
數據挖掘是目前國際上數據庫和信息決策領域的前沿研究方向之一,也是當前計算機領域的一大熱點,其研究的重點也逐漸從理論轉移到了系統應用,隨著技術的不斷成熟,未來的應用領域也會更加廣泛。只有更加深入的研究透了數據挖掘相關的理論,才能使其對未來社會的發展起到更積極的作用。
[1]趙巖.數據挖掘理論與技術[J].福建電腦,2006,02.
[2]薛慧君.數據挖掘技術及其在電子商務中的應用研究[J].內蒙古農業大學學報(自然科學版),2005,04.
[3]張嫻.數據挖掘技術及其在金融領域的應用[J].金融教學與研究,2003,04.
[4]劉慧巍,張雷,翟軍呂.數據挖掘中決策樹算法的研究及其改進[J].遼寧師專學報,2005,7(4):23-24.
[5]吳晨.數據挖掘技術在軟件可靠性測試與評估中的應用與研究[D].上海:同濟大學,2008:22-23.
[6]毛弟弟,郝忠孝.關系數據庫中關聯規則挖掘的算法研究[J].哈爾濱理工大學學報.2009,4,14,增刊 1:15-17.
(編輯 呂智飛)
(作者單位:遼寧信息職業技術學院)