資料探勘十大經典演算法
本文主要分析皆來自其他資料,借用較為權威的總結來對我已經學習的這些經典演算法做一個極為精簡的概述(根據自身經驗有一定修改),另外同時附上機器學習實戰中作者對各種演算法的評價。另外機器學習實戰這本書是本人看了這麼多書籍或者資料中唯一一本堅持從頭看到尾,看完了的書籍,包括其中的程式碼皆實踐執行過,收穫頗多,個人認為雖然這本書時間上已經算是老資料了,但其中作者的各種總結和程式碼的演練都由淺入深(前提還是要有一點基礎的),讓我能看懂並能從中學到東西,可能當時很多東西比較熟悉,後來淡忘,但當再次接觸或使用它時能很快的重拾,所以如果你需要一門較為優秀的教材作為機器學習的入門資料我會推薦給你《機器學習實戰》。
以下為主要內容:
國際權威的學術組織the IEEE International Conference on Data Mining (ICDM) 2006年12月評選出了資料探勘領域的十大經典演算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART.
不僅僅是選中的十大演算法,其實參加評選的18種演算法,實際上隨便拿出一種來都可以稱得上是經典演算法,它們在資料探勘領域都產生了極為深遠的影響。
1. C4.5
C4.5演算法是機器學習演算法中的一種分類決策樹演算法,其核心演算法是ID3演算法. C4.5演算法繼承了ID3演算法的優點,並在以下幾方面對ID3演算法進行了改進:
1) 用資訊增益率來選擇屬性,克服了用資訊增益選擇屬性時偏向選擇取值多的屬性的不足;
2) 在樹構造過程中進行剪枝;
3) 能夠完成對連續屬性的離散化處理;
4) 能夠對不完整資料進行處理。
C4.5演算法有如下優點:產生的分類規則易於理解,準確率較高。其缺點是:在構造樹的過程中,需要對資料集進行多次的順序掃描和排序,因而導致演算法的低效(相對的CART演算法只需要掃描兩次資料集,以下僅為決策樹優缺點)。
2. The k-means algorithm 即K-Means演算法
k-means algorithm演算法是一個聚類演算法,把n的物件根據他們的屬性分為k個分割,k < n。它與處理混合正態分佈的最大期望演算法很相似,因為他們都試圖找到資料中自然聚類的中心。它假設物件屬性來自於空間向量,並且目標是使各個群組內部的均 方誤差總和最小。
支援向量機,英文為Support Vector Machine,簡稱SV機(論文中一般簡稱SVM)。它是一種監督式學習的方法,它廣泛的應用於統計分類以及迴歸分析中。支援向量機將向量對映到一個更 高維的空間裡,在這個空間裡建立有一個最大間隔超平面。在分開資料的超平面的兩邊建有兩個互相平行的超平面。分隔超平面使兩個平行超平面的距離最大化。假 定平行超平面間的距離或差距越大,分類器的總誤差越小。一個極好的指南是C.J.C Burges的《模式識別支援向量機指南》。van der Walt 和 Barnard 將支援向量機和其他分類器進行了比較。
Apriori演算法是一種最有影響的挖掘布林關聯規則頻繁項集的演算法。其核心是基於兩階段頻集思想的遞推演算法。該關聯規則在分類上屬於單維、單層、布林關聯規則。在這裡,所有支援度大於最小支援度的項集稱為頻繁項集,簡稱頻集。
5. 最大期望(EM)演算法
在統計計算中,最大期望(EM,Expectation–Maximization)演算法是在概率(probabilistic)模型中尋找引數最大似然 估計的演算法,其中概率模型依賴於無法觀測的隱藏變數(Latent Variabl)。最大期望經常用在機器學習和計算機視覺的資料集聚(Data Clustering)領域。
6. PageRank
PageRank是Google演算法的重要內容。2001年9月被授予美國專利,專利人是Google創始人之一拉里·佩奇(Larry Page)。因此,PageRank裡的page不是指網頁,而是指佩奇,即這個等級方法是以佩奇來命名的。
PageRank根據網站的外部連結和內部連結的數量和質量倆衡量網站的價值。PageRank背後的概念是,每個到頁面的連結都是對該頁面的一次投票, 被連結的越多,就意味著被其他網站投票越多。這個就是所謂的“連結流行度”——衡量多少人願意將他們的網站和你的網站掛鉤。PageRank這個概念引自 學術中一篇論文的被引述的頻度——即被別人引述的次數越多,一般判斷這篇論文的權威性就越高。
7. AdaBoost
Adaboost是一種迭代演算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然後把這些弱分類器集合起來,構成一個更強的最終分類器 (強分類器)。其演算法本身是通過改變資料分佈來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的準確率,來確定每個樣本的權 值。將修改過權值的新資料集送給下層分類器進行訓練,最後將每次訓練得到的分類器最後融合起來,作為最後的決策分類器。
8. kNN: k-nearest neighbor classification
K最近鄰(k-Nearest Neighbor,KNN)分類演算法,是一個理論上比較成熟的方法,也是最簡單的機器學習演算法之一。該方法的思路是:如果一個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。
9. Naive Bayes
在眾多的分類模型中,應用最為廣泛的兩種分類模型是決策樹模型(Decision Tree Model)和樸素貝葉斯模型(Naive Bayesian Model,NBC)。 樸素貝葉斯模型發源於古典數學理論,有著堅實的數學基礎,以 及穩定的分類效率。同時,NBC模型所需估計的引數很少,對缺失資料不太敏感,演算法也比較簡單。理論上,NBC模型與其他分類方法相比具有最小的誤差率。 但是實際上並非總是如此,這是因為NBC模型假設屬性之間相互獨立,這個假設在實際應用中往往是不成立的,這給NBC模型的正確分類帶來了一定影響。在屬 性個數比較多或者屬性之間相關性較大時,NBC模型的分類效率比不上決策樹模型。而在屬性相關性較小時,NBC模型的效能最為良好。
10. CART: 分類與迴歸樹
CART, Classification and Regression Trees。 在分類樹下面有兩個關鍵的思想。第一個是關於遞迴地劃分自變數空間的想法(二元切分法);第二個想法是用驗證資料進行剪枝(預剪枝、後剪枝)。在迴歸樹的基礎上的模型樹構建難度可能增加了,但同時其分類效果也有提升。
參考書籍:《機器學習實戰》
參考文章:https://blog.csdn.net/u010983763/article/details/70854469
轉載於https://blog.csdn.net/qq_36523839/article/details/82383597
相關文章
- 資料探勘十大演算法演算法
- 資料探勘領域十大經典演算法之—樸素貝葉斯演算法(附程式碼)演算法
- 資料探勘的十大經典演算法,總算是講清楚了,想提升自己的趕快收藏演算法
- 程式設計師必須知道機器學習與資料探勘十大經典演算法:PageRank演算法篇程式設計師機器學習演算法
- 前端十大經典演算法前端演算法
- lj十大經典演算法演算法
- JavaScript 資料結構與演算法之美 - 十大經典排序演算法JavaScript資料結構演算法排序
- 圖說十大資料探勘演算法(一)K最近鄰演算法大資料演算法
- 全球十大農業大資料經典案例大資料
- 十大經典排序演算法(動圖演示)排序演算法
- 常用資料探勘演算法演算法
- 十大經典排序演算法之氣泡排序排序演算法
- 十大經典排序演算法動畫與解析排序演算法動畫
- 資料探勘---BP神經網路神經網路
- MySQL 資料庫“十宗罪”(十大經典錯誤案例)MySql資料庫
- Java十大經典排序演算法最強總結Java排序演算法
- python 資料探勘演算法簡要Python演算法
- 十大經典排序演算法動畫,看我就夠了!排序演算法動畫
- 轉載:十大經典排序的演算法部落格排序演算法
- 十大經典排序演算法(動圖演示,收藏好文)排序演算法
- 管理十大經典理論
- 【演算法與資料結構】經典排序演算法總結演算法資料結構排序
- 資料探勘與分析 概念與演算法演算法
- 【計理02組06號】十大經典排序演算法【上篇】排序演算法
- 圖資料探勘:社群檢測演算法(一)演算法
- 十大經典排序演算法動畫與解析,看我就夠了排序演算法動畫
- 【大資料】你務必要搞清楚的十大資料探勘知識點大資料
- Lisp經典演算法Lisp演算法
- 十大經典排序演算法動畫解析和 Java 程式碼實現排序演算法動畫Java
- 資料探勘演算法跟資料結構中的演算法有區別嗎演算法資料結構
- Python經典演算法片段Python演算法
- 十大經典排序演算法最強總結(含JAVA程式碼實現)排序演算法Java
- 【資料探勘】C3.0、C4.5、CART演算法演算法
- 資料探勘——KNN演算法(手寫數字分類)KNN演算法
- 資料探勘技術
- 資料探勘與生活
- 資料探勘( TO DO LIST)
- 經典十大排序演算法(含升序降序,基數排序含負數排序)排序演算法