眾所周知機(jī)器學(xué)習(xí)是人工智能領(lǐng)域中的主要領(lǐng)域之一,機(jī)器學(xué)習(xí)算法有很多,例如:分類、回歸、聚類、推薦、圖像識別領(lǐng)域等等。要想找個合適算法是非常不容易的,為了能夠?qū)ふ业胶线m的算法,需要明白機(jī)器學(xué)習(xí)算法的優(yōu)缺點(diǎn)是什么。
樸素貝葉斯:優(yōu)點(diǎn):樸素貝葉斯模型發(fā)源于古典數(shù)學(xué)理論,有著堅實的數(shù)學(xué)基礎(chǔ),以及穩(wěn)定的分類效率。對大數(shù)量訓(xùn)練和查詢時具有較高的速度。即使使用超大規(guī)模的訓(xùn)練集,針對每個項目通常也只會有相對較少的特征數(shù),并且對項目的訓(xùn)練和分類也僅僅是特征概率的數(shù)學(xué)運(yùn)算而已;對小規(guī)模的數(shù)據(jù)表現(xiàn)很好,能個處理多分類任務(wù),適合增量式訓(xùn)練(即可以實時的對新增的樣本進(jìn)行訓(xùn)練);對缺失數(shù)據(jù)不太敏感,算法也比較簡單,常用于文本分類;樸素貝葉斯對結(jié)果解釋容易理解。缺點(diǎn):需要計算先驗概率;分類決策存在錯誤率;對輸入數(shù)據(jù)的表達(dá)形式很敏感;由于使用了樣本屬性獨(dú)立性的假設(shè),所以如果樣本屬性有關(guān)聯(lián)時其效果不好。
邏輯回歸:優(yōu)點(diǎn):實現(xiàn)簡單,廣泛的應(yīng)用于工業(yè)問題上;分類時計算量非常小,速度很快,存儲資源低;便利的觀測樣本概率分?jǐn)?shù);對邏輯回歸而言,多重共線性并不是問題,它可以結(jié)合L2正則化來解決該問題;計算代價不高,易于理解和實現(xiàn)。缺點(diǎn):當(dāng)特征空間很大時,邏輯回歸的性能不是很好;容易欠擬合,一般準(zhǔn)確度不太高;不能很好地處理大量多類特征或變量;只能處理兩分類問題(在此基礎(chǔ)上衍生出來的softmax可以用于多分類),且必須線性可分;對于非線性特征,需要進(jìn)行轉(zhuǎn)換;
線性回歸:優(yōu)點(diǎn):實現(xiàn)簡單,計算簡單。缺點(diǎn):不能擬合非線性數(shù)據(jù)。
最近鄰算法——KNN:優(yōu)點(diǎn):理論成熟,思想簡單,既可以用來做分類也可以用來做回歸;可用于非線性分類;訓(xùn)練時間復(fù)雜度為O(n);對數(shù)據(jù)沒有假設(shè),準(zhǔn)確度高,對outlier不敏感;KNN是一種在線技術(shù),新數(shù)據(jù)可以直接加入數(shù)據(jù)集而不必進(jìn)行重新訓(xùn)練;
KNN理論簡單,容易實現(xiàn)。缺點(diǎn):樣本不平衡問題(即有些類別的樣本數(shù)量很多,而其它樣本的數(shù)量很少)效果差;需要大量內(nèi)存;對于樣本容量大的數(shù)據(jù)集計算量比較大(體現(xiàn)在距離計算上);樣本不平衡時,預(yù)測偏差比較大。KNN每一次分類都會重新進(jìn)行一次全局運(yùn)算;k值大小的選擇沒有理論選擇最優(yōu),往往是結(jié)合K-折交叉驗證得到最優(yōu)k值選擇;
聯(lián)系客服