機器學習十大算法概述

C4.5 算法:

ID3 算法是以信息論爲基礎,以信息熵和信息增益度爲衡量標準,從而實現對數據的歸納分類。ID3 算法計算每個屬性的信息增益,並選取具有最高增益的屬性作爲給定的測試屬性。C4.5 算法核心思想是ID3 算法,是ID3 算法的改進,改進方面有:
1)用信息增益率來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足;
2)在樹構造過程中進行剪枝
3)能處理非離散的數據
4)能處理不完整的數據
C4.5 算法優點:產生的分類規則易於理解,準確率較高。
缺點:
1)在構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致算法的低效。
2)C4.5 只適合於能夠駐留於內存的數據集,當訓練集大得無法在內存容納時程序無法運行。

K means 算法:

是一個簡單的聚類算法,把n 的對象根據他們的屬性分爲k 個分割,k < n。算法的核心就是要優化失真函數J,使其收斂到局部最小值但不是全局最小值。

其中N 爲樣本數,K 是簇數,rnk b 表示n 屬於第k 個簇,uk 是第k 箇中心點的值。
然後求出最優的uk

優點:算法速度很快
缺點是,分組的數目k 是一個輸入參數,不合適的k 可能返回較差的結果。

樸素貝葉斯算法:

樸素貝葉斯法是基於貝葉斯定理與特徵條件獨立假設的分類方法。算法的基礎是概率問題,分類原理是通過某對象的先驗概率,利用貝葉斯公式計算出其後驗概率,即該對象屬於某一類的概率,選擇具有最大後驗概率的類作爲該對象所屬的類。樸素貝葉斯假設是約束
性很強的假設,假設特徵條件獨立,
但樸素貝葉斯算法簡單,快速,具有較小的出錯率。在樸素貝葉斯的應用中,主要研究了電子郵件過濾以及文本分類研究。

K 最近鄰分類算法(KNN)

分類思想比較簡單,從訓練樣本中找出K個與其最相近的樣本,然後看這k個樣本中哪個類別的樣本多,則待判定的值(或說抽樣)就屬於這個類別。
缺點:
1)K 值需要預先設定,而不能自適應
2)當樣本不平衡時,如一個類的樣本容量很大,而其他類樣本容量很小時,有可能導致當輸入一個新樣本時,該樣本的K 個鄰居中大容量類的樣本佔多數。
該算法適用於對樣本容量比較大的類域進行自動分類。

EM 最大期望算法

EM 算法是基於模型的聚類方法,是在概率模型中尋找參數最大似然估計的算法,其中概率模型依賴於無法觀測的隱藏變量。E步估計隱含變量,M步估計其他參數,交替將極值推向最大。EM 算法比K-means 算法計算複雜,收斂也較慢,不適於大規模數據集和高維數據,但比K-means 算法計算結果穩定、準確。EM 經常用在機器學習和計算機視覺的數據集聚(Data Clustering)領域。

PageRank 算法

是google 的頁面排序算法,是基於從許多優質的網頁鏈接過來的網頁,必定還是優質網頁的迴歸關係,來判定所有網頁的重要性。(也就是說,一個人有着越多牛X 朋友的人,他是牛X 的概率就越大。)
優點:完全獨立於查詢,只依賴於網頁鏈接結構,可以離線計算。
缺點:1)PageRank 算法忽略了網頁搜索的時效性。
2)舊網頁排序很高,存在時間長,積累了大量的in-links,擁有最新資訊的新網頁排名卻很低,因爲它們幾乎沒有in-links。

AdaBoost

Adaboost 是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然後把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。其算法本身是通過改變數據分佈來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的準確率,來確定每個樣本的權值。將修改過權值的新數據集送給下層分類器進行訓練,最後將每次訓練得到的分類器最後融合起來,作爲最後的決策分類器。
整個過程如下所示:
1. 先通過對N 個訓練樣本的學習得到第一個弱分類器;
2. 將分錯的樣本和其他的新數據一起構成一個新的N 個的訓練樣本,通過對這個樣本的學習得到第二個弱分類器;
3. 將和都分錯了的樣本加上其他的新樣本構成另一個新的N個的訓練樣本,通過對這個樣本的學習得到第三個弱分類器;
4. 如此反覆,最終得到經過提升的強分類器。
目前AdaBoost 算法廣泛的應用於人臉檢測、目標識別等領域。

Apriori (演繹的、先驗的、推測的)算法

Apriori 算法是一種挖掘關聯規則的算法,用於挖掘其內含的、未知的卻又實際存在的數據關係,其核心是基於兩階段頻集思想的遞推算法。
Apriori 算法分爲兩個階段:1)尋找頻繁項集
2)由頻繁項集找關聯規則
算法缺點:
1) 在每一步產生侯選項目集時循環產生的組合過多,沒有排除不應該參與組合的元素;
2) 每次計算項集的支持度時,都對數據庫中的全部記錄進行了一遍掃描比較,需要很大的I/O 負載。

SVM 支持向量機

支持向量機是一種基於分類邊界的方法。其基本原理是(以二維數據爲例):如果訓練數據分佈在二維平面上的點,它們按照其分類聚集在不同的區域。基於分類邊界的分類算法的目標是,通過訓練,找到這些分類之間的邊界(直線的――稱爲線性劃分,曲線的――稱
爲非線性劃分)。對於多維數據(如N 維),可以將它們視爲N 維空間中的點,而分類邊界就是N 維空間中的面,稱爲超面(超面比N維空間少一維)。線性分類器使用超平面類型的邊界,非線性分類器使用超曲面。
支持向量機的原理是將低維空間的點映射到高維空間,使它們成爲線性可分,再使用線性劃分的原理來判斷分類邊界。在高維空間中是一種線性劃分,而在原有的數據空間中,是一種非線性劃分。SVM 在解決小樣本、非線性及高維模式識別問題中表現出許多特有的優勢,並能夠推廣應用到函數擬合等其他機器學習問題中。

CART 分類與迴歸樹

是一種決策樹分類方法,採用基於最小距離的基尼指數估計函數,用來決定由該子數據集生成的決策樹的拓展形。如果目標變量是標稱的,稱爲分類樹;如果目標變量是連續的,稱爲迴歸樹。分類樹是使用樹結構算法將數據分成離散類的方法。
優點
1)非常靈活,可以允許有部分錯分成本,還可指定先驗概率分佈,可使用自動的成本複雜性剪枝來得到歸納性更強的樹。
2)在面對諸如存在缺失值、變量數多等問題時CART 顯得非常穩健。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章