主流機器學習演算法優缺點總結
1. 決策樹:判別模型,多分類與迴歸,正則化的極大似然估計
特點:
適用於小資料集
優點:
計算量簡單,可解釋性強,比較適合處理有缺失屬性值的樣本,能夠處理不相關的特徵;
缺點:
容易過擬合(後續出現了隨機森林,減小了過擬合現象),使用剪枝來避免過擬合;
適用資料範圍:
數值型和標稱型
2. CART分類與迴歸樹:
決策樹分類方法,採用基於最小距離的基尼指數估計函式,用來決定由該子資料集生成的決策樹的拓展形。決策樹迴歸方法,採用切分點與切分變數來計算的損失來估計函式。如果目標變數是標稱的,稱為分類樹;如果目標變數是連續的,稱為迴歸樹。分類樹是使用樹結構演算法將資料分成離散類的方法。
優點:
非常靈活,可以允許有部分錯分成本,還可指定先驗概率分佈,可使用自動的成本複雜性剪枝來得到歸納性更強的樹,產生的分類規則易於理解,準確率較高。
缺點:
在構造樹的過程中,需要對資料集進行多次的順序掃描和排序,因而導致演算法的低效。此外,C4.5只適合於能夠駐留於記憶體的資料集,當訓練集大得無法在記憶體容納時程式無法執行。
3. 隨機森林:判別模型,多分類與迴歸,正則化的極大似然估計,Bagging,Random Future
特點:
準確率可以和Adaboost相媲美,對錯誤和離群點更魯棒。準確率依賴於個體分類器的實力和它們之間的依賴性。理想情況是保持個體分類器的能力而不提高它們的相關性。對每次劃分所考慮的屬性數很敏感。通常選取logn2+1個屬性,其中n是資料集的例項數。(一個有趣的觀察是,使用單個隨機選擇的屬性可能導致很好的準確率,常常比使用多個屬性更高。)
優點:
不易過擬合,可能比Bagging和Boosting更快。由於在每次劃分時只考慮很少的屬性,因此它們在大型資料庫上非常有效。有很好的方法來填充缺失值,即便有很大一部分資料缺失,仍能維持很高準確度。給出了變數重要性的內在估計,對於不平衡樣本分類,它可以平衡誤差。可以計算各例項的親近度,對於資料探勘、檢測離群點和資料視覺化非常有用。
缺點:
在某些噪聲較大的分類和迴歸問題上會過擬合。對於有不同級別的屬性的資料,級別劃分較多的屬性會對隨機森林產生更大的影響,所以隨機森林在這種資料上產生的屬性權值是不可信的。
4. k-means:聚類
特點:
並一定能得到全域性最優解(依賴於初始點選取),所以常用多次執行,取最優,假設了均方誤差為計算群組分散度的最佳引數
優點:
簡單快速,複雜度為O(nkt),n為樣本數,k為類別數,t為迭代數
缺點:
只對簇的平均值被定義下才能被使用,不適合某些分類屬性,虛實線給定簇數K,對初值敏感,不適合發現大小差別很大的簇,對噪聲、孤立點敏感(對平均值產生極大影響)
5. KNN:判別模型,多分類與迴歸
特點:
不具有顯示的學習過程,通過多數表決方式進行預測,k值選擇、距離度量、分類決策規則是K近鄰法的三要素
優點:
簡單,分類與迴歸均可操作,可用於非線性分類,複雜度為O(n),對outlier不敏感
缺點:
K需預先設定,對大小不平衡的資料易偏向大容量資料
常用演算法:
kd樹:對x的K個特徵,一個一個做切分,使得每個資料最終都在切分點上(中位數),對輸入的資料搜尋kd樹,找到K近鄰
6. EM:含隱藏變數的概率模型,使用概率模型引數估計
特點:
E:給定引數與觀測資料下對未觀測資料的條件概率分佈的期望
M:求使條件概率分佈期望最大下的引數值
優點:
比K-means穩定、準確
缺點:
計算複雜且收斂慢,依賴於初始引數假設
7. 線性迴歸
特點:
解析解
優點:
簡單,存在解析解
缺點:
對複雜資料擬合不好,欠擬合
8. LogReg:對數線性模型
特點:
模型源自於邏輯斯蒂分佈優化演算法有改進的迭代尺度法、梯度下降法、擬牛頓法
優點:
簡單,計算量小,儲存資源低
缺點:
欠擬合,精度不高
9. 樸素貝葉斯:生成模型
特點:
使用先驗知識得到後驗概率,由期望風險最小化得到後驗概率最大化。假設條件獨立,條件不獨立就變成貝葉斯網路了
優點:
小規模資料集表現好,適合多分類
缺點:
需要條件獨立假設,會犧牲一定準確率,分類效能不一定高
10. Apriori:兩階段頻集思想,遞推(關聯規則)
特點:
1頻度→支援度→2頻度→支援度→…,每次刪除支援度小於摸個閥值的點,最終返回各個頻集
優點:
易編碼實現
缺點:
大資料上速度較慢,候選集每次產生過多,未排除不應該參與計算支援度的點.
每次都需要計算支援度,需對全部記錄掃描,需要很大I/O負載
11.Boosting
特點:
通過改變樣本權值進行學習,將最終的多個分類器根據效能進行組合
優點:
低泛化誤差,以實現,分類準確率高,無太多引數需要調節
缺點:
對outlier敏感
12. GBDT(MART):迴歸樹
特點:
有兩個版本:一個是殘差版本,另一個是Gradient版本(這個版本更廣泛)
優點:
非線性與線性均可,不易過擬合
缺點:
13. SVM:
特點:
將低維空間對映到高維空間,實現線性可分
優點:
可實現非線性分類,可用於分類與迴歸,低泛化誤差,易解釋
缺點:
對核函式以及引數敏感
14. 神經網路
特點:
模擬人腦構造,構造神經元
優點:
(BP)很強的分線性擬合能力,學習規則簡單,很強的魯棒性,具有記憶能力、自學能力,誤差反向傳播,並行性好
(RBF)唯一最佳逼近特性,無區域性最小問題,前反饋網路中RBF網路完成對映功能最優,分類能力好,收斂性比BP快非常多
缺點:
沒能力解釋自己的推理過程及依據,資料不充分時,將無法工作,初值較敏感(使用AUTO-Encoder)
15. 隱式馬爾科夫(HMM)
特點:
隱馬爾可夫模型是一個雙重隨機過程—-具有一定狀態數的隱馬爾可夫鏈和顯示隨機函式集。
HMM是一種有向圖
HMM對轉移概率和表現概率直接建模,統計共現概率。
針對以下三個問題,人們提出了相應的演算法
*1 評估問題: 前向演算法
*2 解碼問題: Viterbi演算法
*3 學習問題: Baum-Welch演算法(向前向後演算法)
優點:
解決了標註問題
缺點:
做了齊次馬爾科夫假設及觀測股利性假設,可能出現標記偏置
16. 條件隨機場(CRF)
特點:
CRF是一種判別式模型,CRF是一種無向圖
優點:
CRF是在全域性範圍內統計歸一化的概率,是全域性最優的解。解決了MEMM中標註偏置的問題。
CRF沒有HMM那樣嚴格的獨立性假設條件,因而可以容納任意的上下文資訊。特徵設計靈活(與ME一樣)
與MEMM比較:由於CRF計算全域性最優輸出節點的條件概率,它還克服了最大熵馬爾可夫模型標記偏置(Label-bias)的缺點。
與ME比:CRF是在給定需要標記的觀察序列的條件下,計算整個標記序列的聯合概率分佈,而不是在給定當前狀態條件下,定義下一個狀態的狀態分佈。
缺點:
訓練代價大、複雜度高