extraction ofinteresting (non-trivial,implicit, previously unknown and potentially useful) patterns or knowledge fromhuge amount of data.資料探勘就是從大量的資料中提取出有用的(非細微的、隱式的、有潛在價值的)模式或知識的過程。
2、資料探勘的功能:
(1) 頻繁模式(frequent patterns)
(2) 分類(classification)
(3) 聚類(cluster analysis)
(4) 異常檢測(outlier detection)
3、學習資料探勘演算法的元件化思想
資料探勘的演算法非常多,每年仍有大批新的演算法產生。對資料探勘初學者來說,要搞清這些演算法之間的區別和聯絡,是非常困難,但又是必須的。運用元件化思想分析資料探勘演算法是非常有幫助的,許多著名的資料探勘演算法都是由五個「標準元件」構成的,即:模型或模式結構、資料探勘任務、評分函式、搜尋和優化方法和資料管理策略。
每一種元件都蘊含著一些非常通用的系統原理,例如,廣泛使用的評分函式有:似然、誤差平方和、準確率等。掌握了每一種元件的基本原理之後,再來理解由不同元件「裝配」起來的演算法就變得相對輕鬆一些。而且,不同演算法之間的比較也變得更加容易,因為能從元件這個層面看出演算法之間的異同。
3.1 模型或模式結構
通過資料探勘過程所得到的知識通常被稱為模型(model)或模式(pattern)。例如:線性回歸模型、層次聚類模型、頻繁序列模式等等。模型是對整個資料集的高層次、全域性性的描述或總結。例如,模型可以將資料集中的每乙個物件分配到某個聚類中。模型是對現實世界的抽象描述。例如,y=ax+b就是乙個簡單的模型,其中x和y是變數,a和c是模型的引數。模式是區域性的,它僅對一小部分資料做出描述。例如,購買商品a和b的人也可能經常購買c,就是乙個模式。模式有可能只支援幾個物件或物件的幾個屬性。全域性的模型和區域性的模式是相互聯絡的,就好比乙個硬幣的兩個面。例如,為了檢測出資料集內的異常物件(區域性模式),需要一種對資料集內正常物件的描述(全域性模型)。
模型和模式都有引數與之相關,如模型 y=ax+b的引數是a和b。模式「如果x>c,則y>d的概率為p」的引數為c,d和p。通常把引數不確定的模型叫做模型的結構。把引數不確定的模式叫做模式的結構。一旦模型(模式)的引數被確定,便將這個特定的模型(模式)稱為「已經擬合了的模型(模式)」,或者簡稱為模型(模式)。
3.2 資料探勘任務
根據資料分析者的目標,可以將資料探勘任務分為:模式挖掘、描述建模、**建模。
(1)模式挖掘
模式挖掘致力於從資料中尋找模式,比如尋找頻繁模式,異常點等。頻繁模式指在某個資料集中頻繁出現的模式,這些模式可以是乙個項集、乙個子串行或者乙個子結構(子圖)。例如,在交易資料集中,牛奶和麵包經常在一起出現,稱之為頻繁的項集。又如,人們經常在購買了個人電腦之後,就會購買印表機,稱之為頻繁的子串行。在某些圖、樹或格結構中頻繁出現的一些子圖、子樹或子格則被稱為頻繁的子結構。
(2)**建模
**建模是指根據現有資料先建立乙個模型,然後應用這個模型來對未來的資料進行**。當被**的變數是範疇型(category)時,稱之為分類;當被**的變數是數量型(quantitative)時,稱之為回歸。分類模型有時也稱作分類函式或分類器。分類的典型應用如,信用卡系統中的信用分級、市場調查、療效診斷、尋找店址等。因為分類的過程中,用到了訓練集,進行了學習,所以分類是乙個有監督的學習過程。回歸的典型應用如效能評測、概率估計等。
(3)描述建模
描述建模的目標是描述資料的全域性特徵。描述和**的關鍵區別是:**的目標是唯一的變數,如信用等級、疾病種類等,而描述並不以單一的變數為中心。描述建模的典型例子是聚類分析。
3.3 評分函式
有了模型(模式)的結構之後,接下來的任務就是要根據資料集為模型(模式)選擇合適的引數值,即將結構擬合到資料。由於模型(模式)代表的是函式的一般形式,它的引數空間非常大,可選的引數值有很多。那麼什麼樣的引數值比較好呢,需要乙個評價指標,這個評價指標就是評分函式。評分函式用來對資料集與模型(模式)的擬合程度進行評估。如果沒有評分函式,就無法說出乙個特定的已擬合的模型是否比另乙個要好。或者說,就沒有辦法為模型(模式)選擇出一套好的引數值來。常用的評分函式有:似然(likelihood)函式、誤差平方和、準確率等。在為模型(模式)選擇乙個評分函式時,既要能夠很好地擬合現有資料,又要避免過度擬合(對極端值過於敏感),同時還要使擬合後的模型(模式)盡量簡潔。不存在絕對「正確」的模型(模式),所有模型(模式)都是對現有資料的一種近似。從這個角度來講,如果模型(模式)沒有隨著現有資料的變化而劇烈變化,這個模型(模式)就是能夠接受的了。換句話說,對資料的微小變化不太敏感的模型(模式)才是乙個好的模型(模式)。
3.4 搜尋和優化方法
評分函式衡量了提出的模型(模式)與現有資料集的擬合程度。搜尋和優化的目標是確定模型(模式)的結構及其引數值,以使評分函式達到最小值(或最大值),如平方差最小、準確率最高等。如果模型(模式)的結構已經確定,則搜尋將在引數空間內進行,目的是針對這個固定的模型(模式)結構,優化評分函式;如果模型(模式)的結構還沒有確定的話(例如,存在一族不同的模型(模式)結構),那麼搜尋既要針對結構空間又要針對和這些結構相聯絡的引數空間進行。針對特定的模型,發現其最佳引數值的過程通常被稱為優化問題。而從潛在的模型(模式)族中發現最佳模型(模式)結構的過程通常被稱為搜尋問題。常用的優化方法有:爬山(hill-climing)、最陡峭下降(steepest-descend)、期望最大化(expectation-maximization, em)等。常用的搜尋方法有:貪婪搜尋、分支界定、寬度(深度)優先遍歷等。
3.5 資料管理策略
傳統的統計和機器學習演算法都假定資料是可以全部放入記憶體的,所以不太關心資料管理技術。但是,對於資料探勘工作者來說,gb甚至tb數量級的資料是常見的。由於外存的訪問速度要慢的多,直接將傳統的記憶體演算法應用於這些外存資料,效能將變得非常差。因此,針對海量資料,應該設計有效的資料組織和索引技術,或者通過取樣、近似等手段,來減少資料的掃瞄次數,從而提高資料探勘演算法的效率。
3.6 元件化思想的應用
在實踐中,資料探勘演算法的元件化思想是非常有用的。它通過將演算法分解成一些核心元件而闡明了演算法的實現機制。更重要的是,該觀點強調了演算法的本質,而不僅僅是演算法的羅列。當面對乙個新的應用時,資料探勘人員應該從元件的角度,根據應用需求,考慮應該選取哪些元件,來組成乙個新的演算法,而不是考慮選取哪個現成的演算法。
確定模型(模式)結構和評分函式的過程通常由人來完成,而優化評分函式的過程通常需要計算機輔助來實現。實踐中,通常要根據前一次的計算結果來改進模型(模式)結構和評分函式,所以整個過程要重複很多次。
有趣的是,不同的研究團體將注意力放在不同的資料探勘演算法元件上。統計學家強調推理過程,關注模型(模式)、評分函式、引數估計等,很少突出計算效率問題;而從事資料探勘的計算機科學家則更注重高效的空間搜尋和資料管理,不太關心模型(模式)或評分函式是否合適。
實際上,乙個資料探勘演算法的所有元件都是至關重要的。對於小的資料集,模型(模式)的解釋和**能力相對於計算效率來說可能要重要的多。但是,隨著資料集的增大,計算效率將變得越來越重要。對於海量資料,必須在模型(模式)的完備性和計算效率之間進行平衡,以期對現有資料達到某種程度的擬合。
下圖中給出了運用元件化的思想來分析幾個資料探勘經典演算法的例子:
4、典型資料探勘系統的結構圖
資料探勘之關聯規則挖掘(Apriori演算法)
一 概述 本篇博文主要闡述資料探勘相關的關聯規則挖掘的演算法 apriori演算法 主要介紹關聯規則的基本概念 apriori演算法原理和apriori演算法例項,文章末尾處附加apriori演算法源程式。二 關聯規則挖掘的基本概念 關聯規則挖掘發現大量資料中項集之間有趣的關聯關係。如果兩項或者多項...
資料探勘之關聯規則挖掘 Apriori演算法
關聯規則,肯定很多人都聽說過 乙個男士買尿布時順帶買啤酒的事情 具體事物之間真的是否具有關聯,有多大的關聯,這就是本篇部落格需要分享學習的知識。在這裡x,y就是購買的部分商品,i表示所有的商品 其含義就是購買商品x與購買商品y之間的關聯關係 同時在這裡引入對規則定量的描述 支援度就是所買商品中中同時...
資料探勘演算法
apriori演算法學習資料的關聯規則 association rules 適用於包含大量事務 transcation 的資料庫。關聯規則學習是學習資料庫中不同變數中的相互關係的一種資料探勘技術。你可能會對 apriori 演算法如何工作有疑問,在進入演算法本質和細節之前,得先明確3件事情 第一是你...