
C4.5算法
C4.5算法的核心思想是ID3算法,是ID3算法的改進:
- 用信息增益率來選擇屬性,克服了用信息增益來選擇屬性時變相選擇取值多的屬性的不足;
- 在樹的構造過程中進行剪枝;
- 能處理非離散化數據;
- 能處理不完整數據。
優點:
- 產生的分類規則易於理解,准確率高。
缺點:
- 在構造過程中,需要對數據集進行多次的順序掃描和排序,因而導致算法的低效;
- C4.5算法只適合於能夠駐留內存的數據集,當訓練集大得無法在內存容納時,程序無法運行。
K-means算法
簡單的聚類,吧n個對象根據他們的屬性分為k個類,k<n。
算法的核心是要優化失真函數J,使其收斂到局部最小值而不是全局最小值:
\[J=\sum_{n=1}^{N} \sum_{k=1}^{K} r_{nk} || x_n - u_k ||^2, \]
\(r_{nk}\)表示n數據第k個類,\(u_k\)是第k個類中心值。
然后求出最優的\(u_k\):
\[u_k=\frac{\sum r_{nk} x_n}{\sum_{n} r_{nk} } \]
優點:
- 算法速度快。
缺點:
- 分組的數目k是一個輸入參數,不適合的k可能返回較差的結果。
朴素貝葉斯算法
朴素貝葉斯法是基於貝葉斯定理與特征條件獨立假設的分類方法。
算法的基礎是概率問題,分類原理是通過某對象的先驗概率,利用貝葉斯公式計算出其后驗概率,即該對象屬於某一類的概率,選擇具有最大后驗概率的類作為該對象所屬的類。
朴素貝葉斯假設是約束性很強的假設,假設特征條件獨立,但朴素貝葉斯算法簡單,快速, 具有較小的出錯率。
在朴素貝葉斯的應用中,主要研究了電子郵件過濾以及文本分類研究。
K最近鄰算法
缺點:
- K值需要預先設定,而不能自適應
- 當樣本不平衡時,如一個類的樣本容量很大,二其他類樣本容量很小,有可能導致當輸入一個新樣本時,該樣本的K個鄰居中大容量類的樣本占多數。
該算法適用於對樣本容量比較大的類域進行自動分類。
EM最大期望算法
EM算法是基於模型的聚類算法,是在概率模型中尋找參數最大思然估計的算法,其中概率模型依賴於無法觀測的隱藏變量。
E步估計隱含變量,M步估計其他參數,交替將極值推向最大。
EM算法比K-means算法計算復雜,收斂較慢,不適合大規模數據集和高維數據,但比K-means算法計算結構穩定、准確。
EM算法經常用在機器學習和計算機視覺的數據集聚(data clustering)領域。
PageRank算法
Google的頁面排序算法。
基於從許多優質的網頁鏈接過來的 網頁,必定還是優質網頁的回歸關系,來判定所有網頁的重要性。
一個人有越多牛逼的朋友,他牛逼的概率就越大。
優點:
- 完全獨立於查詢,只依賴於網頁鏈接結構,可以離線計算。
缺點:
- PageRank算法忽略了網頁搜索的時效性;
- 舊網頁排序很高,存在時間長,積累了大量的in-links,擁有最新資訊的網頁排名卻很低,因為它們幾乎沒有in-links。
AdaBoost
Adaboost是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。
算法本事該百諾數據分布來實現的,它根據每次訓練集中每一個樣本的分類是否正確,以及上一次的總體分類准確率,來確定沒個樣本的權值。
將修改過權值的新數據集送給下層分類器進行訓練,最后將每次訓練得到的分類器最后融合起來,作為最后的決策分類器。
算法流程:
- 先通過對N個訓練樣本的學習得到第一個弱分類器;
- 將分錯的樣本和其他的新數據一起構成一個新的N個訓練樣本,通過學習得到第二個弱分類器;
- 講前面都分錯的樣本加上新的樣本構成另一個新的N個訓練樣本集,通過學習得到第三個弱分類器;
- 如此反復,最終得到經過提升的強分類器。
目前 AdaBoost 算法廣泛的應用於人臉檢測、目標識別等領域。
Apriori算法
Apriori算法是一種挖掘關聯規則的算法,用於挖掘其內涵的、未知的卻又實際存在的數據關系,其核心是基於兩階段頻集思想的遞推算法。
Apriori算法的兩個階段:
- 尋找頻繁項集;
- 有頻繁項集找關聯規則。
算法缺點:
- 在每一步產生侯選項目集時循環產生的組合過多,沒有排除 不應該參與組合的元素;
- 每次計算項集的支持度時,都對數據庫中的全部記錄進行了一遍掃描比較,需要很大的I/O 負載。
SVM支持向量機
支持向量機是一種基於分類邊界的方法。
基本原理:
如果訓練數據分布在二維平面上的點,它們按照其分類 聚集在不同的區域。
基於分類邊界的分類算法的目標是,通過訓練,找到這些分類之間的邊界。
對於多維數據(N維),可以將他們視為N維空間中的點,而分類邊界就是N維空間中的面,稱為超面。
線性分類器使用超平面類型的邊界,非線性分類器使用超曲面。
支持向量機的原理是將低維空間的點映射到高維空間,使它們成為線性可分,再使用線性划分的原理來判斷分類邊界。在高維空間中是一種線性划分,而在原有的數據空間中,是一種非線性划分。
CART樹
決策樹的分類方法,基於最小距離的基尼指數估計函數,用來決定由該子數據集生成的決策樹的拓展形。
如果目標變量是標稱的,稱為分類樹;如果目標變量是連續的,稱為回歸樹。
優點:
- 非常靈活,可以允許有部分錯分成本,還可指定先驗概率分布,可使用自動的成本復雜性剪枝來得到歸納性更強的樹。
- 面對存在缺失值、變量數多等問題時,CART數顯得非常穩健。
