國際權威的學(xué)術(shù)組織the IEEE International Conference on Data Mining (ICDM) 2006年12月評選出了數據挖掘領(lǐng)域的十大經(jīng)典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART.
不僅僅是選中的十大算法,其實(shí)參加評選的18種算法,實(shí)際上隨便拿出一種來(lái)都可以稱(chēng)得上是經(jīng)典算法,它們在數據挖掘領(lǐng)域都產(chǎn)生了極為深遠的影響。
1. C4.5
C4.5算法是機器學(xué)習算法中的一種分類(lèi)決策樹(shù)算法,其核心算法是ID3算法. C4.5算法繼承了ID3算法的優(yōu)點(diǎn),并在以下幾方面對ID3算法進(jìn)行了改進(jìn):
1) 用信息增益率來(lái)選擇屬性,克服了用信息增益選擇屬性時(shí)偏向選擇取值多的屬性的不足;
2) 在樹(shù)構造過(guò)程中進(jìn)行剪枝;
3) 能夠完成對連續屬性的離散化處理;
4) 能夠對不完整數據進(jìn)行處理。
C4.5算法有如下優(yōu)點(diǎn):產(chǎn)生的分類(lèi)規則易于理解,準確率較高。其缺點(diǎn)是:在構造樹(shù)的過(guò)程中,需要對數據集進(jìn)行多次的順序掃描和排序,因而導致算法的低效。
2. The k-means algorithm 即K-Means算法
k-means algorithm算法是一個(gè)聚類(lèi)算法,把n的對象根據他們的屬性分為k個(gè)分割,k < n。它與處理混合正態(tài)分布的最大期望算法很相似,因為他們都試圖找到數據中自然聚類(lèi)的中心。它假設對象屬性來(lái)自于空間向量,并且目標是使各個(gè)群組內部的均方誤差總和最小。
3. Support vector machines
支持向量機,英文為Support Vector Machine,簡(jiǎn)稱(chēng)SV機(論文中一般簡(jiǎn)稱(chēng)SVM)。它是一種監督式學(xué)習的方法,它廣泛的應用于統計分類(lèi)以及回歸分析中。支持向量機將向量映射到一個(gè)更高維的空間里,在這個(gè)空間里建立有一個(gè)最大間隔超平面。在分開(kāi)數據的超平面的兩邊建有兩個(gè)互相平行的超平面。分隔超平面使兩個(gè)平行超平面的距離最大化。假定平行超平面間的距離或差距越大,分類(lèi)器的總誤差越小。一個(gè)極好的指南是C.J.C Burges的《模式識別支持向量機指南》。van der Walt 和 Barnard 將支持向量機和其他分類(lèi)器進(jìn)行了比較。
4. The Apriori algorithm
Apriori算法是一種最有影響的挖掘布爾關(guān)聯(lián)規則頻繁項集的算法。其核心是基于兩階段頻集思想的遞推算法。該關(guān)聯(lián)規則在分類(lèi)上屬于單維、單層、布爾關(guān)聯(lián)規則。在這里,所有支持度大于最小支持度的項集稱(chēng)為頻繁項集,簡(jiǎn)稱(chēng)頻集。
5. 最大期望(EM)算法
在統計計算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中尋找參數最大似然估計的算法,其中概率模型依賴(lài)于無(wú)法觀(guān)測的隱藏變量(Latent Variabl)。最大期望經(jīng)常用在機器學(xué)習和計算機視覺(jué)的數據集聚(Data Clustering)領(lǐng)域。
6. PageRank
PageRank是Google算法的重要內容。2001年9月被授予美國專(zhuān)利,專(zhuān)利人是Google創(chuàng )始人之一拉里·佩奇(Larry Page)。因此,PageRank里的page不是指網(wǎng)頁(yè),而是指佩奇,即這個(gè)等級方法是以佩奇來(lái)命名的。
PageRank根據網(wǎng)站的外部鏈接和內部鏈接的數量和質(zhì)量倆衡量網(wǎng)站的價(jià)值。PageRank背后的概念是,每個(gè)到頁(yè)面的鏈接都是對該頁(yè)面的一次投票,被鏈接的越多,就意味著(zhù)被其他網(wǎng)站投票越多。這個(gè)就是所謂的“鏈接流行度”——衡量多少人愿意將他們的網(wǎng)站和你的網(wǎng)站掛鉤。PageRank這個(gè)概念引自學(xué)術(shù)中一篇論文的被引述的頻度——即被別人引述的次數越多,一般判斷這篇論文的權威性就越高。
7. AdaBoost
Adaboost是一種迭代算法,其核心思想是針對同一個(gè)訓練集訓練不同的分類(lèi)器(弱分類(lèi)器),然后把這些弱分類(lèi)器集合起來(lái),構成一個(gè)更強的最終分類(lèi)器 (強分類(lèi)器)。其算法本身是通過(guò)改變數據分布來(lái)實(shí)現的,它根據每次訓練集之中每個(gè)樣本的分類(lèi)是否正確,以及上次的總體分類(lèi)的準確率,來(lái)確定每個(gè)樣本的權值。將修改過(guò)權值的新數據集送給下層分類(lèi)器進(jìn)行訓練,最后將每次訓練得到的分類(lèi)器最后融合起來(lái),作為最后的決策分類(lèi)器。
8. kNN: k-nearest neighbor classification
K最近鄰(k-Nearest Neighbor,KNN)分類(lèi)算法,是一個(gè)理論上比較成熟的方法,也是最簡(jiǎn)單的機器學(xué)習算法之一。該方法的思路是:如果一個(gè)樣本在特征空間中的k個(gè)最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個(gè)類(lèi)別,則該樣本也屬于這個(gè)類(lèi)別。
9. Naive Bayes
在眾多的分類(lèi)模型中,應用最為廣泛的兩種分類(lèi)模型是決策樹(shù)模型(Decision Tree Model)和樸素貝葉斯模型(Naive Bayesian Model,NBC)。 樸素貝葉斯模型發(fā)源于古典數學(xué)理論,有著(zhù)堅實(shí)的數學(xué)基礎,以及穩定的分類(lèi)效率。同時(shí),NBC模型所需估計的參數很少,對缺失數據不太敏感,算法也比較簡(jiǎn)單。理論上,NBC模型與其他分類(lèi)方法相比具有最小的誤差率。但是實(shí)際上并非總是如此,這是因為NBC模型假設屬性之間相互獨立,這個(gè)假設在實(shí)際應用中往往是不成立的,這給NBC模型的正確分類(lèi)帶來(lái)了一定影響。在屬性個(gè)數比較多或者屬性之間相關(guān)性較大時(shí),NBC模型的分類(lèi)效率比不上決策樹(shù)模型。而在屬性相關(guān)性較小時(shí),NBC模型的性能最為良好。
10. CART: 分類(lèi)與回歸樹(shù)
CART, Classification and Regression Trees。 在分類(lèi)樹(shù)下面有兩個(gè)關(guān)鍵的思想。第一個(gè)是關(guān)于遞歸地劃分自變量空間的想法;第二個(gè)想法是用驗證數據進(jìn)行剪枝