天天看點

機器學習常見的分類算法的優缺點

1. 前言

在機器學習中,種類最多的一類算法要屬很類算法,本文對機器學習中的各種分類算法的優缺點做一個總結。

2. 貝葉斯分類法

2.1 優點

  1. 所需估計的參數少,對于缺失資料不敏感。
  2. 有着堅實的數學基礎,以及穩定的分類效率。

2.2 缺點

  1. 假設屬性之間互相獨立,這往往并不成立。(喜歡吃番茄、雞蛋,卻不喜歡吃番茄炒蛋)。
  2. 需要知道先驗機率。
  3. 分類決策存在錯誤率。

3. 決策樹

3.1 優點

  1. 不需要任何領域知識或參數假設。
  2. 适合高維資料。
  3. 簡單易于了解。
  4. 短時間内處理大量資料,得到可行且效果較好的結果。
  5. 能夠同時處理資料型和正常性屬性。

3.2 缺點

  1. 對于各類别樣本數量不一緻資料,資訊增益偏向于那些具有更多數值的特征。
  2. 易于過拟合。
  3. 忽略屬性之間的相關性。
  4. 不支援線上學習。

4. 支援向量機

4.1 優點

  1. 可以解決小樣本下機器學習的問題。
  2. 提高泛化性能。
  3. 可以解決高維、非線性問題。超高維文本分類仍受歡迎。
  4. 避免神經網絡結構選擇和局部極小的問題。

4.2 缺點

  1. 對缺失資料敏感。
  2. 記憶體消耗大,難以解釋。
  3. 運作和調差略煩人。

5. K近鄰

5.1 優點

  1. 思想簡單,理論成熟,既可以用來做分類也可以用來做回歸。
  2. 可用于非線性分類。
  3. 訓練時間複雜度為O(n)。
  4. 準确度高,對資料沒有假設,對outlier不敏感。

5.2 缺點

  1. 計算量太大。
  2. 對于樣本分類不均衡的問題,會産生誤判。
  3. 需要大量的記憶體。
  4. 輸出的可解釋性不強。

6. Logistic回歸

6.1 優點

  1. 運算速度快。
  2. 簡單易于了解,直接看到各個特征的權重。
  3. 能容易地更新模型吸收新的資料。
  4. 如果想要一個機率架構,動态調整分類閥值。

6.2 缺點

  1. 特征處理複雜。需要歸一化和較多的特征工程。

7. 神經網絡

7.1 優點

  1. 分類準确率高。
  2. 并行處理能力強。
  3. 分布式存儲和學習能力強。
  4. 魯棒性較強,不易受噪聲影響。

7.2 缺點

  1. 需要大量參數(網絡拓撲、閥值、門檻值)。
  2. 結果難以解釋。
  3. 訓練時間過長。

8. Adaboost

8.1 優點

  1. adaboost是一種有很高精度的分類器。
  2. 可以使用各種方法建構子分類器,Adaboost算法提供的是架構。
  3. 當使用簡單分類器時,計算出的結果是可以了解的。而且弱分類器構造極其簡單。
  4. 簡單,不用做特征篩選。
  5. 不用擔心overfitting。

8.2 缺點

  1. 對outlier比較敏感

繼續閱讀