數據挖掘
《數據挖掘》是指從大量的數據中通過算法搜索隱藏於其中信息的過程。
數據挖掘通常與計算機科學有關,並通過統計、在線分析處理、情報檢索、機器學習、專家系統(依靠過去的經驗法則)和模式識別等諸多方法來實現上述目標。
目錄
簡介
需要是發明之母。近年來,數據挖掘引起了信息產業界的極大關注,其主要原因是存在大量數據,可以廣泛使用,並且迫切需要將這些數據轉換成有用的信息和知識。獲取的信息和知識可以廣泛用於各種應用,包括商務管理,生產控制,市場分析,工程設計和科學探索等。
數據挖掘是人工智能[1]和數據庫領域研究的熱點問題,所謂數據挖掘是指從數據庫的大量數據中揭示出隱含的、先前未知的並有潛在價值的信息的非平凡過程。數據挖掘是一種決策支持過程,它主要基於人工智能、機器學習、模式識別、統計學、數據庫、可視化技術等,高度自動化地分析企業的數據,作出歸納性的推理,從中挖掘出潛在的模式,幫助決策者調整市場策略,減少風險,作出正確的決策。知識發現過程由以下三個階段組成:①數據準備;②數據挖掘;③結果表達和解釋。數據挖掘可以與用戶或知識庫交互。
數據挖掘是通過分析每個數據,從大量數據中尋找其規律的技術,主要有數據準備、規律尋找和規律表示三個步驟。數據準備是從相關的數據源中選取所需的數據並整合成用於數據挖掘的數據集;規律尋找是用某種方法將數據集所含的規律找出來;規律表示是儘可能以用戶可理解的方式(如可視化)將找出的規律表示出來。數據挖掘的任務有關聯分析、聚類分析、分類分析、異常分析、特異群組分析和演變分析等。
近年來,數據挖掘引起了信息產業界的極大關注,其主要原因是存在大量數據,可以廣泛使用,並且迫切需要將這些數據轉換成有用的信息和知識。獲取的信息和知識可以廣泛用於各種應用,包括商務管理、生產控制、市場分析、工程設計和科學探索等。數據挖掘利用了來自如下一些領域的思想:①來自統計學的抽樣、估計和假設檢驗;②人工智能、模式識別和機器學習的搜索算法、建模技術和學習理論。數據挖掘也迅速地接納了來自其他領域的思想,這些領域包括最優化、進化計算、信息論、信號處理、可視化和信息檢索。一些其他領域也起到重要的支撐作用。特別地,需要數據庫系統提供有效的存儲、索引和查詢處理支持。源於高性能(並行)計算的技術在處理海量數據集方面常常是重要的。分布式技術也能幫助處理海量數據,並且當數據不能集中到一起處理時更是至關重要。
產生背景
20世紀90年代,隨着數據庫系統的廣泛應用和網絡技術的高速發展,數據庫技術也進入一個全新的階段,即從過去僅管理一些簡單數據發展到管理由各種計算機所產生的圖形、圖像、音頻、視頻、電子檔案、Web頁面等多種類型的複雜數據,並且數據量也越來越大。數據庫在給我們提供豐富信息的同時,也體現出明顯的海量信息特徵。信息爆炸時代,海量信息給人們帶來許多負面影響,最主要的就是有效信息難以提煉,過多無用的信息必然會產生信息距離(信息狀態轉移距離)是對一個事物信息狀態轉移所遇到障礙的測度,簡稱DIST或DIT)和有用知識的丟失。這也就是約翰·內斯伯特( John Nalsbert)稱為的「信息豐富而知識貧乏」窘境。因此,人們迫切希望能對海量數據進行深入分析,發現並提取隱藏在其中的信息,以更好地利用這些數據。但僅以數據庫系統的錄入、查詢、統計等功能,無法發現數據中存在的關係和規則,無法根據現有的數據預測未來的發展趨勢,更缺乏挖掘數據背後隱藏知識的手段。正是在這樣的條件下,數據挖掘技術應運而生。
數據挖掘對象
數據的類型可以是結構化的、半結構化的,甚至是異構型的。發現知識的方法可以是數學的、非數學的,也可以是歸納的。最終被發現了的知識可以用於信息管理、查詢優化、決策支持及數據自身的維護等。
數據挖掘的對象可以是任何類型的數據源。可以是關係數據庫[2],此類包含結構化數據的數據源;也可以是數據倉庫、文本、多媒體數據、空間數據、時序數據、Web數據,此類包含半結構化數據甚至異構性數據的數據源。
發現知識的方法可以是數字的、非數字的,也可以是歸納的。最終被發現的知識可以用於信息管理、查詢優化、決策支持及數據自身的維護等。
數據挖掘步驟
在實施數據挖掘之前,先制定採取什麼樣的步驟,每一步都做什麼,達到什麼樣的目標是必要的,有了好的計劃才能保證數據挖掘有條不紊地實施並取得成功。很多軟件供應商和數據挖掘顧問公司投提供了一些數據挖掘過程模型,來指導他們的用戶一步步地進行數據挖掘工作。比如,SPSS公司的5A和SAS公司的SEMMA。
數據挖掘過程模型步驟主要包括定義問題、建立數據挖掘庫、分析數據、準備數據、建立模型、評價模型和實施。下面讓我們來具體看一下每個步驟的具體內容:
(1)定義問題。在開始知識發現之前最先的也是最重要的要求就是了解數據和業務問題。必須要對目標有一個清晰明確的定義,即決定到底想幹什麼。比如,想提高電子信箱的利用率時,想做的可能是「提高用戶使用率」,也可能是「提高一次用戶使用的價值」,要解決這兩個問題而建立的模型幾乎是完全不同的,必須做出決定。
(2)建立數據挖掘庫。建立數據挖掘庫包括以下幾個步驟:數據收集,數據描述,選擇,數據質量評估和數據清理,合併與整合,構建元數據,加載數據挖掘庫,維護數據挖掘庫。
(3)分析數據。分析的目的是找到對預測輸出影響最大的數據字段,和決定是否需要定義導出字段。如果數據集包含成百上千的字段,那麼瀏覽分析這些數據將是一件非常耗時和累人的事情,這時需要選擇一個具有好的界面和功能強大的工具軟件來協助你完成這些事情。
(4)準備數據。這是建立模型之前的最後一步數據準備工作。可以把此步驟分為四個部分:選擇變量,選擇記錄,創建新變量,轉換變量。
(5)建立模型。建立模型是一個反覆的過程。需要仔細考察不同的模型以判斷哪個模型對面對的商業問題最有用。先用一部分數據建立模型,然後再用剩下的數據來測試和驗證這個得到的模型。有時還有第三個數據集,稱為驗證集,因為測試集可能受模型的特性的影響,這時需要一個獨立的數據集來驗證模型的準確性。訓練和測試數據挖掘模型需要把數據至少分成兩個部分,一個用於模型訓練,另一個用於模型測試。
(6)評價模型。模型建立好之後,必須評價得到的結果、解釋模型的價值。從測試集中得到的準確率只對用於建立模型的數據有意義。在實際應用中,需要進一步了解錯誤的類型和由此帶來的相關費用的多少。經驗證明,有效的模型並不一定是正確的模型。造成這一點的直接原因就是模型建立中隱含的各種假定,因此,直接在現實世界中測試模型很重要。先在小範圍內應用,取得測試數據,覺得滿意之後再向大範圍推廣。
(7)實施。模型建立並經驗證之後,可以有兩種主要的使用方法。第一種是提供給分析人員做參考;另一種是把此模型應用到不同的數據集上。
數據挖掘分析方法
數據挖掘分為有指導的數據挖掘和無指導的數據挖掘。有指導的數據挖掘是利用可用的數據建立一個模型,
這個模型是對一個特定屬性的描述。無指導的數據挖掘是在所有的屬性中尋找某種關係。具體而言,分類、估值和預測屬於有指導的數據挖掘;關聯規則和聚類屬於無指導的數據挖掘。
1.分類。它首先從數據中選出已經分好類的訓練集,在該訓練集上運用數據挖掘技術,建立一個分類模型,再將該模型用於對沒有分類的數據進行分類。
2.估值。估值與分類類似,但估值最終的輸出結果是連續型的數值,估值的量並非預先確定。估值可以作為分類的準備工作。
3.預測。它是通過分類或估值來進行,通過分類或估值的訓練得出一個模型,如果對於檢驗樣本組而言該模型具有較高的準確率,可將該模型用於對新樣本的未知變量進行預測。
4.相關性分組或關聯規則。其目的是發現哪些事情總是一起發生。
5.聚類。它是自動尋找並建立分組規則的方法,它通過判斷樣本之間的相似性,把相似樣本劃分在一個簇中。
成功案例
1、數據挖掘幫助Credilogros Cía Financiera S.A.改善客戶信用評分
Credilogros Cía Financiera S.A. 是阿根廷第五大信貸公司,資產估計價值為9570萬美元,對於Credilogros而言,重要的是識別與潛在預先付款客戶相關的潛在風險,以便將承擔的風險最小化。
該公司的第一個目標是創建一個與公司核心系統和兩家信用報告公司系統交互的決策引擎來處理信貸申請。同時,Credilogros還在尋找針對它所服務的低收入客戶群體的自定義風險評分工具。除這些之外,其他需求還包括解決方案能在其35個分支辦公地點和200多個相關的銷售點中的任何一個實時操作,包括零售家電連鎖店和手機銷售公司。
最終Credilogros 選擇了SPSS Inc.的數據挖掘軟件PASWModeler,因為它能夠靈活並輕鬆地整合到 Credilogros 的核心信息系統中。通過實現PASW Modeler,Credilogros將用於處理信用數據和提供最終信用評分的時間縮短到了8秒以內。這使該組織能夠迅速批准或拒絕信貸請求。該決策引擎還使 Credilogros 能夠最小化每個客戶必須提供的身份證明文檔,在一些特殊情況下,只需提供一份身份證明即可批准信貸。此外,該系統還提供監控功能。Credilogros目前平均每月使用PASW Modeler處理35000份申請。僅在實現 3 個月後就幫助Credilogros 將貸款支付失職減少了 20%。
2、數據挖掘幫助DHL實時跟蹤貨箱溫度
DHL是國際快遞和物流行業的全球市場領先者,它提供快遞、水陸空三路運輸、合同物流解決方案,以及國際郵件服務。DHL的國際網絡將超過220個國家及地區聯繫起來,員工總數超過28.5萬人。在美國 FDA 要求確保運送過程中藥品裝運的溫度達標這一壓力之下,DHL的醫藥客戶強烈要求提供更可靠且更實惠的選擇。這就要求DHL在遞送的各個階段都要實時跟蹤集裝箱的溫度。
雖然由記錄器方法生成的信息準確無誤,但是無法實時傳遞數據,客戶和DHL都無法在發生溫度偏差時採取任何預防和糾正措施。因此,DHL的母公司德國郵政世界網(DPWN)通過技術與創新管理(TIM)集團明確擬定了一個計劃,準備使用RFID技術在不同時間點全程跟蹤裝運的溫度。通過IBM全球企業諮詢服務部繪製決定服務的關鍵功能參數的流程框架。DHL獲得了兩方面的收益:對於最終客戶來說,能夠使醫藥客戶對運送過程中出現的裝運問題提前做出響應,並以引人注目的低成本全面切實地增強了運送可靠性。對於DHL來說,提高了客戶滿意度和忠實度;為保持競爭差異奠定堅實的基礎;並成為重要的新的收入增長來源。
3、電信行業應用
價格競爭空前激烈,語音業務增長趨緩,快速增長的中國移動通信市場正面臨着前所未有的生存壓力。中國電信業改革的加速推進形成了新的競爭態勢,移動運營市場的競爭廣度和強度將進一步加大,這特別表現在集團客戶領域。移動信息化和集團客戶已然成為未來各運營商應對競爭、獲取持續增長的新引擎。
隨着國內三足鼎立全業務競爭態勢和3G牌照發放,各運營商為集團客戶提供融合的信息化解決方案將是大勢所趨,而移動信息化將成為全面進入信息化服務領域的先導力量。傳統移動運營商因此面臨着從傳統個人業務轉向同時拓展集團客戶信息化業務領域的挑戰。如何應對來自內外部的挑戰,迅速以移動信息化業務作為融合業務的競爭利器之一拓展集團客戶市場,在新興市場中立於不敗之地,是傳統移動運營商需要解決的緊迫問題。
經典算法
目前,數據挖掘的算法主要包括神經網絡法、決策樹法、遺傳算法、粗糙集法、模糊集法、關聯規則法等。
神經網絡法
神經網絡法是模擬生物神經系統的結構和功能,是一種通過訓練來學習的非線性預測模型,它將每一個連接
看作一個處理單元,試圖模擬人腦神經元的功能,可完成分類、聚類、特徵挖掘等多種數據挖掘任務。神經網絡的學習方法主要表現在權值的修改上。其優點是具有抗干擾、非線性學習、聯想記憶功能,對複雜情況能得到精確的預測結果;缺點首先是不適合處理高維變量,不能觀察中間的學習過程,具有「黑箱」性,輸出結果也難以解釋;其次是需較長的學習時間。神經網絡法主要應用於數據挖掘的聚類技術中。
決策樹法
決策樹是根據對目標變量產生效用的不同而建構分類的規則,通過一系列的規則對數據進行分類的過程,其表現形式是類似於樹形結構的流程圖。最典型的算法是J.R.Quinlan於1986年提出的ID3算法,之後在ID3算法的基礎上又提出了極其流行的C4.5算法。採用決策樹法的優點是決策制定的過程是可見的,不需要長時間構造過程、描述簡單,易於理解,分類速度快;缺點是很難基於多個變量組合發現規則。決策樹法擅長處理非數值型數據,而且特別適合大規模的數據處理。決策樹提供了一種展示類似在什麼條件下會得到什麼值這類規則的方法。比如,在貸款申請中,要對申請的風險大小做出判斷。
遺傳算法
遺傳算法模擬了自然選擇和遺傳中發生的繁殖、交配和基因突變現象,是一種採用遺傳結合、遺傳交叉變異及自然選擇等操作來生成實現規則的、基於進化理論的機器學習方法。它的基本觀點是「適者生存」原理,具有隱含並行性、易於和其他模型結合等性質。主要的優點是可以處理許多數據類型,同時可以並行處理各種數據;缺點是需要的參數太多,編碼困難,一般計算量比較大。遺傳算法常用於優化神經元網絡,能夠解決其他技術難以解決的問題。
粗糙集法
粗糙集法也稱粗糙集理論,是由波蘭數學家Z Pawlak在20世紀80年代初提出的,是一種新的處理含糊、不精確、不完備問題的數學工具,可以處理數據約簡、數據相關性發現、數據意義的評估等問題。其優點是算法簡單,在其處理過程中可以不需要關於數據的先驗知識,可以自動找出問題的內在規律;缺點是難以直接處理連續的屬性,須先進行屬性的離散化。因此,連續屬性的離散化問題是制約粗糙集理論實用化的難點。粗糙集理論主要應用於近似推理、數字邏輯分析和化簡、建立預測模型等問題。
模糊集法
模糊集法是利用模糊集合理論對問題進行模糊評判、模糊決策、模糊模式識別和模糊聚類分析。模糊集合理論是用隸屬度來描述模糊事物的屬性。系統的複雜性越高,模糊性就越強。
關聯規則法
關聯規則反映了事物之間的相互依賴性或關聯性。其最著名的算法是R.Agrawal等人提出的Apriori算法。其算法的思想是:首先找出頻繁性至少和預定意義的最小支持度一樣的所有頻集,然後由頻集產生強關聯規則。最小支持度和最小可信度是為了發現有意義的關聯規則給定的2個閾值。在這個意義上,數據挖掘的目的就是從源數據庫中挖掘出滿足最小支持度和最小可信度的關聯規則。
存在問題
與數據挖掘有關的,還牽扯到隱私問題,例如:一個僱主可以通過訪問醫療記錄來篩選出那些有糖尿病或者嚴重心臟病的人,從而意圖削減保險支出。然而,這種做法會導致倫理和法律問題。
對於政府和商業數據的挖掘,可能會涉及到的,是國家安全或者商業機密之類的問題。這對於保密也是個不小的挑戰。
數據挖掘有很多合法的用途,例如可以在患者群的數據庫中查出某藥物和其副作用的關係。這種關係可能在1000人中也不會出現一例,但藥物學相關的項目就可以運用此方法減少對藥物有不良反應的病人數量,還有可能挽救生命;但這當中還是存在着數據庫可能被濫用的問題。
數據挖掘實現了用其他方法不可能實現的方法來發現信息,但它必須受到規範,應當在適當的說明下使用。
視頻
數據挖掘 相關視頻
參考文獻
- ↑ 人工智能是什麼?人工智能的概念簡介 ,搜狐,2018-08-01
- ↑ 史上最全分布式數據庫概述,搜狐,2019-06-12