1. 前言
在機器學習中,種類最多的一類算法要屬很類算法,本文對機器學習中的各種分類算法的優缺點做一個總結。
2. 貝葉斯分類法
2.1 優點
- 所需估計的參數少,對于缺失資料不敏感。
- 有着堅實的數學基礎,以及穩定的分類效率。
2.2 缺點
- 假設屬性之間互相獨立,這往往并不成立。(喜歡吃番茄、雞蛋,卻不喜歡吃番茄炒蛋)。
- 需要知道先驗機率。
- 分類決策存在錯誤率。
3. 決策樹
3.1 優點
- 不需要任何領域知識或參數假設。
- 适合高維資料。
- 簡單易于了解。
- 短時間内處理大量資料,得到可行且效果較好的結果。
- 能夠同時處理資料型和正常性屬性。
3.2 缺點
- 對于各類别樣本數量不一緻資料,資訊增益偏向于那些具有更多數值的特征。
- 易于過拟合。
- 忽略屬性之間的相關性。
- 不支援線上學習。
4. 支援向量機
4.1 優點
- 可以解決小樣本下機器學習的問題。
- 提高泛化性能。
- 可以解決高維、非線性問題。超高維文本分類仍受歡迎。
- 避免神經網絡結構選擇和局部極小的問題。
4.2 缺點
- 對缺失資料敏感。
- 記憶體消耗大,難以解釋。
- 運作和調差略煩人。
5. K近鄰
5.1 優點
- 思想簡單,理論成熟,既可以用來做分類也可以用來做回歸。
- 可用于非線性分類。
- 訓練時間複雜度為O(n)。
- 準确度高,對資料沒有假設,對outlier不敏感。
5.2 缺點
- 計算量太大。
- 對于樣本分類不均衡的問題,會産生誤判。
- 需要大量的記憶體。
- 輸出的可解釋性不強。
6. Logistic回歸
6.1 優點
- 運算速度快。
- 簡單易于了解,直接看到各個特征的權重。
- 能容易地更新模型吸收新的資料。
- 如果想要一個機率架構,動态調整分類閥值。
6.2 缺點
- 特征處理複雜。需要歸一化和較多的特征工程。
7. 神經網絡
7.1 優點
- 分類準确率高。
- 并行處理能力強。
- 分布式存儲和學習能力強。
- 魯棒性較強,不易受噪聲影響。
7.2 缺點
- 需要大量參數(網絡拓撲、閥值、門檻值)。
- 結果難以解釋。
- 訓練時間過長。
8. Adaboost
8.1 優點
- adaboost是一種有很高精度的分類器。
- 可以使用各種方法建構子分類器,Adaboost算法提供的是架構。
- 當使用簡單分類器時,計算出的結果是可以了解的。而且弱分類器構造極其簡單。
- 簡單,不用做特征篩選。
- 不用擔心overfitting。
8.2 缺點
- 對outlier比較敏感