各種機器學習演算法的優缺點(轉知乎)
##各種演算法的優缺點
###K近鄰:演算法採用測量不同特徵值之間的距離的方法進行分類。
優點:
1.簡單好用,容易理解,精度高,理論成熟,既可以用來做分類也可以用來做迴歸;
2.可用於數值型資料和離散型資料;
3.訓練時間複雜度為O(n);無資料輸入假定;
4.對異常值不敏感
缺點:
1.計算複雜性高;空間複雜性高;
2.樣本不平衡問題(即有些類別的樣本數量很多,而其它樣本的數量很少);
3.一般數值很大的時候不用這個,計算量太大。但是單個樣本又不能太少 否則容易發生誤分。
4.最大的缺點是無法給出資料的內在含義。
###樸素貝葉斯
優點:
1.生成式模型,通過計算概率來進行分類,可以用來處理多分類問題,
2.對小規模的資料表現很好,適合多分類任務,適合增量式訓練,演算法也比較簡單。
缺點:
1.對輸入資料的表達形式很敏感,
2.由於樸素貝葉斯的“樸素”特點,所以會帶來一些準確率上的損失。
3.需要計算先驗概率,分類決策存在錯誤率。
###決策樹
優點:
1.概念簡單,計算複雜度不高,可解釋性強,輸出結果易於理解;
2.資料的準備工作簡單, 能夠同時處理資料型和常規型屬性,其他的技術往往要求資料屬性的單一。
3.對中間值得確實不敏感,比較適合處理有缺失屬性值的樣本,能夠處理不相關的特徵;
4.應用範圍廣,可以對很多屬性的資料集構造決策樹,可擴充套件性強。決策樹可以用於不熟悉的資料集合,並從中提取出一些列規則 這一點強於KNN。
缺點:
1.容易出現過擬合;
2.對於那些各類別樣本數量不一致的資料,在決策樹當中,資訊增益的結果偏向於那些具有更多數值的特徵。
- 資訊缺失時處理起來比較困難。 忽略資料集中屬性之間的相關性。
###Svm
優點:
1.可用於線性/非線性分類,也可以用於迴歸,泛化錯誤率低,計算開銷不大,結果容易解釋;
2.可以解決小樣本情況下的機器學習問題,可以解決高維問題 可以避免神經網路結構選擇和區域性極小點問題。
3.SVM是最好的現成的分類器,現成是指不加修改可直接使用。並且能夠得到較低的錯誤率,SVM可以對訓練集之外的資料點做很好的分類決策。
缺點:對引數調節和和函式的選擇敏感,原始分類器不加修改僅適用於處理二分類問題。
###Logistic迴歸:根據現有資料對分類邊界線建立迴歸公式,依次進行分類。
優點:實現簡單,易於理解和實現;計算代價不高,速度很快,儲存資源低;
缺點:容易欠擬合,分類精度可能不高
###EM 期望最大化演算法-上帝演算法
只要有一些訓練資料,再定義一個最大化函式,採用EM演算法,利用計算機經過若干次迭代,就可以得到所需的模型。
EM演算法是自收斂的分類演算法,既不需要事先設定類別也不需要資料見的兩兩比較合併等操作。缺點是當所要優化的函式不是凸函式時,EM演算法容易給出區域性最佳解,而不是最優解。
參考文獻:
機器學習–判別式模型與生成式模型
資料探勘十大演算法----EM演算法(最大期望演算法)
各種分類演算法的優缺點
機器學習&資料探勘筆記_16(常見面試之機器學習演算法思想簡單梳理)
吳軍.數學之美[M].北京:人民郵電出版社,2014.
Peter Harrington,李銳,李鵬,曲亞東,王斌.機器學習實戰[M].北京:人民郵電出版社2013.
李航.統計學習方法[M].北京:清華大學出版社 2012.
杉山將,許永偉.圖解機器學習[M].北京:人民郵電出版社2015.
斯坦福大學公開課 :機器學習課程