1. 程式人生 > >主流機器學習演算法優缺點總結

主流機器學習演算法優缺點總結

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是在給定需要標記的觀察序列的條件下,計算整個標記序列的聯合概率分佈,而不是在給定當前狀態條件下,定義下一個狀態的狀態分佈。

缺點:

訓練代價大、複雜度高