99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

?機器學(xué)習(xí)算法優(yōu)缺點對比及選擇

mK5P_AItists ? 來源:YXQ ? 2019-07-10 17:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

機器學(xué)習(xí)算法太多了,分類、回歸、聚類、推薦、圖像識別領(lǐng)域等等,要想找到一個合適算法真的不容易,所以在實際應(yīng)用中,我們一般都是采用啟發(fā)式學(xué)習(xí)方式來實驗。通常最開始我們都會選擇大家普遍認同的算法,諸如SVM,GBDT,Adaboost,現(xiàn)在深度學(xué)習(xí)很火熱,神經(jīng)網(wǎng)絡(luò)也是一個不錯的選擇。

假如你在乎精度(accuracy)的話,最好的方法就是通過交叉驗證(cross-validation)對各個算法一個個地進行測試,進行比較,然后調(diào)整參數(shù)確保每個算法達到最優(yōu)解,最后選擇最好的一個。但是如果你只是在尋找一個“足夠好”的算法來解決你的問題,或者這里有些技巧可以參考,下面來分析下各個算法的優(yōu)缺點,基于算法的優(yōu)缺點,更易于我們?nèi)ミx擇它。

1.天下沒有免費的午餐

在機器學(xué)習(xí)領(lǐng)域,一個基本的定理就是“沒有免費的午餐”。換言之,就是沒有算法能完美地解決所有問題,尤其是對監(jiān)督學(xué)習(xí)而言(例如預(yù)測建模)。

舉例來說,你不能去說神經(jīng)網(wǎng)絡(luò)任何情況下都能比決策樹更有優(yōu)勢,反之亦然。它們要受很多因素的影響,比如你的數(shù)據(jù)集的規(guī)?;蚪Y(jié)構(gòu)。

其結(jié)果是,在用給定的測試集來評估性能并挑選算法時,你應(yīng)當(dāng)根據(jù)具體的問題來采用不同的算法。

當(dāng)然,所選的算法必須要適用于你自己的問題,這就要求選擇正確的機器學(xué)習(xí)任務(wù)。作為類比,如果你需要打掃房子,你可能會用到吸塵器、掃帚或是拖把,但你絕對不該掏出鏟子來挖地。

2. 偏差&方差

在統(tǒng)計學(xué)中,一個模型好壞,是根據(jù)偏差和方差來衡量的,所以我們先來普及一下偏差(bias)和方差(variance):

偏差:描述的是預(yù)測值(估計值)的期望E’與真實值Y之間的差距。偏差越大,越偏離真實數(shù)據(jù)。

方差:描述的是預(yù)測值P的變化范圍,離散程度,是預(yù)測值的方差,也就是離其期望值E的距離。方差越大,數(shù)據(jù)的分布越分散。

模型的真實誤差是兩者之和,如公式:

通常情況下,如果是小訓(xùn)練集,高偏差/低方差的分類器(例如,樸素貝葉斯NB)要比低偏差/高方差大分類的優(yōu)勢大(例如,KNN),因為后者會發(fā)生過擬合(overfiting)。然而,隨著你訓(xùn)練集的增長,模型對于原數(shù)據(jù)的預(yù)測能力就越好,偏差就會降低,此時低偏差/高方差的分類器就會漸漸的表現(xiàn)其優(yōu)勢(因為它們有較低的漸近誤差),而高偏差分類器這時已經(jīng)不足以提供準(zhǔn)確的模型了。

為什么說樸素貝葉斯是高偏差低方差?

以下內(nèi)容引自知乎:

首先,假設(shè)你知道訓(xùn)練集和測試集的關(guān)系。簡單來講是我們要在訓(xùn)練集上學(xué)習(xí)一個模型,然后拿到測試集去用,效果好不好要根據(jù)測試集的錯誤率來衡量。但很多時候,我們只能假設(shè)測試集和訓(xùn)練集的是符合同一個數(shù)據(jù)分布的,但卻拿不到真正的測試數(shù)據(jù)。這時候怎么在只看到訓(xùn)練錯誤率的情況下,去衡量測試錯誤率呢?

由于訓(xùn)練樣本很少(至少不足夠多),所以通過訓(xùn)練集得到的模型,總不是真正正確的。(就算在訓(xùn)練集上正確率100%,也不能說明它刻畫了真實的數(shù)據(jù)分布,要知道刻畫真實的數(shù)據(jù)分布才是我們的目的,而不是只刻畫訓(xùn)練集的有限的數(shù)據(jù)點)。而且,實際中,訓(xùn)練樣本往往還有一定的噪音誤差,所以如果太追求在訓(xùn)練集上的完美而采用一個很復(fù)雜的模型,會使得模型把訓(xùn)練集里面的誤差都當(dāng)成了真實的數(shù)據(jù)分布特征,從而得到錯誤的數(shù)據(jù)分布估計。這樣的話,到了真正的測試集上就錯的一塌糊涂了(這種現(xiàn)象叫過擬合)。但是也不能用太簡單的模型,否則在數(shù)據(jù)分布比較復(fù)雜的時候,模型就不足以刻畫數(shù)據(jù)分布了(體現(xiàn)為連在訓(xùn)練集上的錯誤率都很高,這種現(xiàn)象較欠擬合)。過擬合表明采用的模型比真實的數(shù)據(jù)分布更復(fù)雜,而欠擬合表示采用的模型比真實的數(shù)據(jù)分布要簡單。

在統(tǒng)計學(xué)習(xí)框架下,大家刻畫模型復(fù)雜度的時候,有這么個觀點,認為Error = Bias + Variance。這里的Error大概可以理解為模型的預(yù)測錯誤率,是有兩部分組成的,一部分是由于模型太簡單而帶來的估計不準(zhǔn)確的部分(Bias),另一部分是由于模型太復(fù)雜而帶來的更大的變化空間和不確定性(Variance)。

所以,這樣就容易分析樸素貝葉斯了。它簡單的假設(shè)了各個數(shù)據(jù)之間是無關(guān)的,是一個被嚴(yán)重簡化了的模型。所以,對于這樣一個簡單模型,大部分場合都會Bias部分大于Variance部分,也就是說高偏差而低方差。

在實際中,為了讓Error盡量小,我們在選擇模型的時候需要平衡Bias和Variance所占的比例,也就是平衡over-fitting和under-fitting。

當(dāng)模型復(fù)雜度上升的時候,偏差會逐漸變小,而方差會逐漸變大。

3. 常見算法優(yōu)缺點

3.1 樸素貝葉斯

樸素貝葉斯屬于生成式模型(關(guān)于生成模型和判別式模型,主要還是在于是否需要求聯(lián)合分布),比較簡單,你只需做一堆計數(shù)即可。如果注有條件獨立性假設(shè)(一個比較嚴(yán)格的條件),樸素貝葉斯分類器的收斂速度將快于判別模型,比如邏輯回歸,所以你只需要較少的訓(xùn)練數(shù)據(jù)即可。即使NB條件獨立假設(shè)不成立,NB分類器在實踐中仍然表現(xiàn)的很出色。它的主要缺點是它不能學(xué)習(xí)特征間的相互作用,用mRMR中R來講,就是特征冗余。引用一個比較經(jīng)典的例子,比如,雖然你喜歡Brad Pitt和Tom Cruise的電影,但是它不能學(xué)習(xí)出你不喜歡他們在一起演的電影。

優(yōu)點:

樸素貝葉斯模型發(fā)源于古典數(shù)學(xué)理論,有著堅實的數(shù)學(xué)基礎(chǔ),以及穩(wěn)定的分類效率。

對大數(shù)量訓(xùn)練和查詢時具有較高的速度。即使使用超大規(guī)模的訓(xùn)練集,針對每個項目通常也只會有相對較少的特征數(shù),并且對項目的訓(xùn)練和分類也僅僅是特征概率的數(shù)學(xué)運算而已;

對小規(guī)模的數(shù)據(jù)表現(xiàn)很好,能個處理多分類任務(wù),適合增量式訓(xùn)練(即可以實時的對新增的樣本進行訓(xùn)練);

對缺失數(shù)據(jù)不太敏感,算法也比較簡單,常用于文本分類;

樸素貝葉斯對結(jié)果解釋容易理解;

缺點:

需要計算先驗概率;

分類決策存在錯誤率;

對輸入數(shù)據(jù)的表達形式很敏感;

由于使用了樣本屬性獨立性的假設(shè),所以如果樣本屬性有關(guān)聯(lián)時其效果不好;

樸素貝葉斯應(yīng)用領(lǐng)域

欺詐檢測中使用較多

一封電子郵件是否是垃圾郵件

一篇文章應(yīng)該分到科技、政治,還是體育類

一段文字表達的是積極的情緒還是消極的情緒?

人臉識別

3.2 Logistic Regression(邏輯回歸)

邏輯回歸屬于判別式模型,同時伴有很多模型正則化的方法(L0, L1,L2,etc),而且你不必像在用樸素貝葉斯那樣擔(dān)心你的特征是否相關(guān)。與決策樹、SVM相比,你還會得到一個不錯的概率解釋,你甚至可以輕松地利用新數(shù)據(jù)來更新模型(使用在線梯度下降算法-online gradient descent)。如果你需要一個概率架構(gòu)(比如,簡單地調(diào)節(jié)分類閾值,指明不確定性,或者是要獲得置信區(qū)間),或者你希望以后將更多的訓(xùn)練數(shù)據(jù)快速整合到模型中去,那么使用它吧。

Sigmoid函數(shù):表達式如下:

優(yōu)點:

實現(xiàn)簡單,廣泛的應(yīng)用于工業(yè)問題上;

分類時計算量非常小,速度很快,存儲資源低;

便利的觀測樣本概率分?jǐn)?shù);

對邏輯回歸而言,多重共線性并不是問題,它可以結(jié)合L2正則化來解決該問題;

計算代價不高,易于理解和實現(xiàn);

缺點:

當(dāng)特征空間很大時,邏輯回歸的性能不是很好;

容易欠擬合,一般準(zhǔn)確度不太高

不能很好地處理大量多類特征或變量;

只能處理兩分類問題(在此基礎(chǔ)上衍生出來的softmax可以用于多分類),且必須線性可分;

對于非線性特征,需要進行轉(zhuǎn)換;

logistic回歸應(yīng)用領(lǐng)域:

用于二分類領(lǐng)域,可以得出概率值,適用于根據(jù)分類概率排名的領(lǐng)域,如搜索排名等。

Logistic回歸的擴展softmax可以應(yīng)用于多分類領(lǐng)域,如手寫字識別等。

信用評估

測量市場營銷的成功度

預(yù)測某個產(chǎn)品的收益

特定的某天是否會發(fā)生地震

3.3 線性回歸

線性回歸是用于回歸的,它不像Logistic回歸那樣用于分類,其基本思想是用梯度下降法對最小二乘法形式的誤差函數(shù)進行優(yōu)化,當(dāng)然也可以用normal equation直接求得參數(shù)的解,結(jié)果為:

而在LWLR(局部加權(quán)線性回歸)中,參數(shù)的計算表達式為:

由此可見LWLR與LR不同,LWLR是一個非參數(shù)模型,因為每次進行回歸計算都要遍歷訓(xùn)練樣本至少一次。

優(yōu)點:實現(xiàn)簡單,計算簡單;

缺點:不能擬合非線性數(shù)據(jù)。

3.4 最近鄰算法——KNN

KNN即最近鄰算法,其主要過程為:

1. 計算訓(xùn)練樣本和測試樣本中每個樣本點的距離(常見的距離度量有歐式距離,馬氏距離等);2. 對上面所有的距離值進行排序(升序);3. 選前k個最小距離的樣本;4. 根據(jù)這k個樣本的標(biāo)簽進行投票,得到最后的分類類別;

如何選擇一個最佳的K值,這取決于數(shù)據(jù)。一般情況下,在分類時較大的K值能夠減小噪聲的影響,但會使類別之間的界限變得模糊。一個較好的K值可通過各種啟發(fā)式技術(shù)來獲取,比如,交叉驗證。另外噪聲和非相關(guān)性特征向量的存在會使K近鄰算法的準(zhǔn)確性減小。近鄰算法具有較強的一致性結(jié)果,隨著數(shù)據(jù)趨于無限,算法保證錯誤率不會超過貝葉斯算法錯誤率的兩倍。對于一些好的K值,K近鄰保證錯誤率不會超過貝葉斯理論誤差率。

KNN算法的優(yōu)點

理論成熟,思想簡單,既可以用來做分類也可以用來做回歸;

可用于非線性分類;

訓(xùn)練時間復(fù)雜度為O(n);

對數(shù)據(jù)沒有假設(shè),準(zhǔn)確度高,對outlier不敏感;

KNN是一種在線技術(shù),新數(shù)據(jù)可以直接加入數(shù)據(jù)集而不必進行重新訓(xùn)練;

KNN理論簡單,容易實現(xiàn);

缺點

樣本不平衡問題(即有些類別的樣本數(shù)量很多,而其它樣本的數(shù)量很少)效果差;

需要大量內(nèi)存;

對于樣本容量大的數(shù)據(jù)集計算量比較大(體現(xiàn)在距離計算上);

樣本不平衡時,預(yù)測偏差比較大。如:某一類的樣本比較少,而其它類樣本比較多;

KNN每一次分類都會重新進行一次全局運算;

k值大小的選擇沒有理論選擇最優(yōu),往往是結(jié)合K-折交叉驗證得到最優(yōu)k值選擇;

KNN算法應(yīng)用領(lǐng)域

文本分類、模式識別、聚類分析,多分類領(lǐng)域

3.5 決策樹

決策樹的一大優(yōu)勢就是易于解釋。它可以毫無壓力地處理特征間的交互關(guān)系并且是非參數(shù)化的,因此你不必擔(dān)心異常值或者數(shù)據(jù)是否線性可分(舉個例子,決策樹能輕松處理好類別A在某個特征維度x的末端,類別B在中間,然后類別A又出現(xiàn)在特征維度x前端的情況)。它的缺點之一就是不支持在線學(xué)習(xí),于是在新樣本到來后,決策樹需要全部重建。另一個缺點就是容易出現(xiàn)過擬合,但這也就是諸如隨機森林RF(或提升樹boosted tree)之類的集成方法的切入點。另外,隨機森林經(jīng)常是很多分類問題的贏家(通常比支持向量機好上那么一丁點),它訓(xùn)練快速并且可調(diào),同時你無須擔(dān)心要像支持向量機那樣調(diào)一大堆參數(shù),所以在以前都一直很受歡迎。

決策樹中很重要的一點就是選擇一個屬性進行分枝,因此要注意一下信息增益的計算公式,并深入理解它。

信息熵的計算公式如下:

其中的n代表有n個分類類別(比如假設(shè)是二類問題,那么n=2)。分別計算這2類樣本在總樣本中出現(xiàn)的概率 和 ,這樣就可以計算出未選中屬性分枝前的信息熵。

現(xiàn)在選中一個屬性 用來進行分枝,此時分枝規(guī)則是:如果 的話,將樣本分到樹的一個分支;如果不相等則進入另一個分支。很顯然,分支中的樣本很有可能包括2個類別,分別計算這2個分支的熵 和 ,計算出分枝后的總信息熵 ,則此時的信息增益 。以信息增益為原則,把所有的屬性都測試一邊,選擇一個使增益最大的屬性作為本次分枝屬性。

決策樹自身的優(yōu)點

決策樹易于理解和解釋,可以可視化分析,容易提取出規(guī)則;

可以同時處理標(biāo)稱型和數(shù)值型數(shù)據(jù);

比較適合處理有缺失屬性的樣本;

能夠處理不相關(guān)的特征;

測試數(shù)據(jù)集時,運行速度比較快;

在相對短的時間內(nèi)能夠?qū)Υ笮蛿?shù)據(jù)源做出可行且效果良好的結(jié)果。

缺點

容易發(fā)生過擬合(隨機森林可以很大程度上減少過擬合);

容易忽略數(shù)據(jù)集中屬性的相互關(guān)聯(lián);

對于那些各類別樣本數(shù)量不一致的數(shù)據(jù),在決策樹中,進行屬性劃分時,不同的判定準(zhǔn)則會帶來不同的屬性選擇傾向;信息增益準(zhǔn)則對可取數(shù)目較多的屬性有所偏好(典型代表ID3算法),而增益率準(zhǔn)則(CART)則對可取數(shù)目較少的屬性有所偏好,但CART進行屬性劃分時候不再簡單地直接利用增益率盡心劃分,而是采用一種啟發(fā)式規(guī)則)(只要是使用了信息增益,都有這個缺點,如RF)。

ID3算法計算信息增益時結(jié)果偏向數(shù)值比較多的特征。

改進措施

對決策樹進行剪枝。可以采用交叉驗證法和加入正則化的方法。

使用基于決策樹的combination算法,如bagging算法,randomforest算法,可以解決過擬合的問題;

應(yīng)用領(lǐng)域

企業(yè)管理實踐,企業(yè)投資決策,由于決策樹很好的分析能力,在決策過程應(yīng)用較多。

3.5.1 ID3、C4.5算法

ID3算法是以信息論為基礎(chǔ),以信息熵和信息增益度為衡量標(biāo)準(zhǔn),從而實現(xiàn)對數(shù)據(jù)的歸納分類。ID3算法計算每個屬性的信息增益,并選取具有最高增益的屬性作為給定的測試屬性。C4.5算法核心思想是ID3算法,是ID3算法的改進,改進方面有:- 用信息增益率來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足;- 在樹構(gòu)造過程中進行剪枝;- 能處理非離散的數(shù)據(jù);- 能處理不完整的數(shù)據(jù)。

優(yōu)點

產(chǎn)生的分類規(guī)則易于理解,準(zhǔn)確率較高。

缺點

在構(gòu)造樹的過程中,需要對數(shù)據(jù)集進行多次的順序掃描和排序,因而導(dǎo)致算法的低效;

C4.5只適合于能夠駐留于內(nèi)存的數(shù)據(jù)集,當(dāng)訓(xùn)練集大得無法在內(nèi)存容納時程序無法運行。

3.5.2 CART分類與回歸樹

是一種決策樹分類方法,采用基于最小距離的基尼指數(shù)估計函數(shù),用來決定由該子數(shù)據(jù)集生成的決策樹的拓展形。如果目標(biāo)變量是標(biāo)稱的,稱為分類樹;如果目標(biāo)變量是連續(xù)的,稱為回歸樹。分類樹是使用樹結(jié)構(gòu)算法將數(shù)據(jù)分成離散類的方法。

優(yōu)點

1)非常靈活,可以允許有部分錯分成本,還可指定先驗概率分布,可使用自動的成本復(fù)雜性剪枝來得到歸納性更強的樹。2)在面對諸如存在缺失值、變量數(shù)多等問題時CART 顯得非常穩(wěn)健。

3.6 Adaboosting

Adaboost是一種加和模型,每個模型都是基于上一次模型的錯誤率來建立的,過分關(guān)注分錯的樣本,而對正確分類的樣本減少關(guān)注度,逐次迭代之后,可以得到一個相對較好的模型。該算法是一種典型的boosting算法,其加和理論的優(yōu)勢可以使用Hoeffding不等式得以解釋。有興趣的同學(xué)可以閱讀下自己之前寫的這篇文章AdaBoost算法詳述。下面總結(jié)下它的優(yōu)缺點。

優(yōu)點

Adaboost是一種有很高精度的分類器。

可以使用各種方法構(gòu)建子分類器,Adaboost算法提供的是框架。

當(dāng)使用簡單分類器時,計算出的結(jié)果是可以理解的,并且弱分類器的構(gòu)造極其簡單。

簡單,不用做特征篩選。

不易發(fā)生overfitting。

關(guān)于Adaboost, GBDT 及 XGBoost 算法區(qū)別,參考這篇文章:Adaboost、GBDT與XGBoost的區(qū)別

缺點

對outlier比較敏感

3.7 SVM支持向量機

支持向量機,一個經(jīng)久不衰的算法,高準(zhǔn)確率,為避免過擬合提供了很好的理論保證,而且就算數(shù)據(jù)在原特征空間線性不可分,只要給個合適的核函數(shù),它就能運行得很好。在動輒超高維的文本分類問題中特別受歡迎。可惜內(nèi)存消耗大,難以解釋,運行和調(diào)參也有些煩人,而隨機森林卻剛好避開了這些缺點,比較實用。

優(yōu)點

可以解決高維問題,即大型特征空間;

解決小樣本下機器學(xué)習(xí)問題;

能夠處理非線性特征的相互作用;

無局部極小值問題;(相對于神經(jīng)網(wǎng)絡(luò)等算法)

無需依賴整個數(shù)據(jù);

泛化能力比較強;

缺點

當(dāng)觀測樣本很多時,效率并不是很高;

對非線性問題沒有通用解決方案,有時候很難找到一個合適的核函數(shù);

對于核函數(shù)的高維映射解釋力不強,尤其是徑向基函數(shù);

常規(guī)SVM只支持二分類;

對缺失數(shù)據(jù)敏感;

對于核的選擇也是有技巧的(libsvm中自帶了四種核函數(shù):線性核、多項式核、RBF以及sigmoid核):

第一,如果樣本數(shù)量小于特征數(shù),那么就沒必要選擇非線性核,簡單的使用線性核就可以了;

第二,如果樣本數(shù)量大于特征數(shù)目,這時可以使用非線性核,將樣本映射到更高維度,一般可以得到更好的結(jié)果;

第三,如果樣本數(shù)目和特征數(shù)目相等,該情況可以使用非線性核,原理和第二種一樣。

對于第一種情況,也可以先對數(shù)據(jù)進行降維,然后使用非線性核,這也是一種方法。

SVM應(yīng)用領(lǐng)域

文本分類、圖像識別(主要二分類領(lǐng)域,畢竟常規(guī)SVM只能解決二分類問題)

3.8 人工神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點

人工神經(jīng)網(wǎng)絡(luò)的優(yōu)點:

分類的準(zhǔn)確度高;

并行分布處理能力強,分布存儲及學(xué)習(xí)能力強,

對噪聲神經(jīng)有較強的魯棒性和容錯能力;

具備聯(lián)想記憶的功能,能充分逼近復(fù)雜的非線性關(guān)系;

人工神經(jīng)網(wǎng)絡(luò)的缺點:

神經(jīng)網(wǎng)絡(luò)需要大量的參數(shù),如網(wǎng)絡(luò)拓撲結(jié)構(gòu)、權(quán)值和閾值的初始值;

黑盒過程,不能觀察之間的學(xué)習(xí)過程,輸出結(jié)果難以解釋,會影響到結(jié)果的可信度和可接受程度;

學(xué)習(xí)時間過長,有可能陷入局部極小值,甚至可能達不到學(xué)習(xí)的目的。

人工神經(jīng)網(wǎng)絡(luò)應(yīng)用領(lǐng)域:

目前深度神經(jīng)網(wǎng)絡(luò)已經(jīng)應(yīng)用與計算機視覺,自然語言處理,語音識別等領(lǐng)域并取得很好的效果。

3.9 K-Means聚類

是一個簡單的聚類算法,把n的對象根據(jù)他們的屬性分為k個分割,k《 n。算法的核心就是要優(yōu)化失真函數(shù)J,使其收斂到局部最小值但不是全局最小值。

關(guān)于K-Means聚類的文章,參見機器學(xué)習(xí)算法-K-means聚類。關(guān)于K-Means的推導(dǎo),里面可是有大學(xué)問的,蘊含著強大的EM思想。

優(yōu)點

算法簡單,容易實現(xiàn) ;

算法速度很快;

對處理大數(shù)據(jù)集,該算法是相對可伸縮的和高效率的,因為它的復(fù)雜度大約是O(nkt),其中n是所有對象的數(shù)目,k是簇的數(shù)目,t是迭代的次數(shù)。通常k《《n。這個算法通常局部收斂。

算法嘗試找出使平方誤差函數(shù)值最小的k個劃分。當(dāng)簇是密集的、球狀或團狀的,且簇與簇之間區(qū)別明顯時,聚類效果較好。

缺點

對數(shù)據(jù)類型要求較高,適合數(shù)值型數(shù)據(jù);

可能收斂到局部最小值,在大規(guī)模數(shù)據(jù)上收斂較慢

分組的數(shù)目k是一個輸入?yún)?shù),不合適的k可能返回較差的結(jié)果。

對初值的簇心值敏感,對于不同的初始值,可能會導(dǎo)致不同的聚類結(jié)果;

不適合于發(fā)現(xiàn)非凸面形狀的簇,或者大小差別很大的簇。

對于”噪聲”和孤立點數(shù)據(jù)敏感,少量的該類數(shù)據(jù)能夠?qū)ζ骄诞a(chǎn)生極大影響。

3.10 EM最大期望算法

EM算法是基于模型的聚類方法,是在概率模型中尋找參數(shù)最大似然估計的算法,其中概率模型依賴于無法觀測的隱藏變量。E步估計隱含變量,M步估計其他參數(shù),交替將極值推向最大。

EM算法比K-means算法計算復(fù)雜,收斂也較慢,不適于大規(guī)模數(shù)據(jù)集和高維數(shù)據(jù),但比K-means算法計算結(jié)果穩(wěn)定、準(zhǔn)確。EM經(jīng)常用在機器學(xué)習(xí)和計算機視覺的數(shù)據(jù)集聚(Data Clustering)領(lǐng)域。

3.11 集成算法(AdaBoost算法)

AdaBoost算法優(yōu)點:

很好的利用了弱分類器進行級聯(lián);

可以將不同的分類算法作為弱分類器;

AdaBoost具有很高的精度;

相對于bagging算法和Random Forest算法,AdaBoost充分考慮的每個分類器的權(quán)重;

Adaboost算法缺點:

AdaBoost迭代次數(shù)也就是弱分類器數(shù)目不太好設(shè)定,可以使用交叉驗證來進行確定;

數(shù)據(jù)不平衡導(dǎo)致分類精度下降;

訓(xùn)練比較耗時,每次重新選擇當(dāng)前分類器最好切分點;

AdaBoost應(yīng)用領(lǐng)域:

模式識別、計算機視覺領(lǐng)域,用于二分類和多分類場景

3.12 排序算法(PageRank)

PageRank是google的頁面排序算法,是基于從許多優(yōu)質(zhì)的網(wǎng)頁鏈接過來的網(wǎng)頁,必定還是優(yōu)質(zhì)網(wǎng)頁的回歸關(guān)系,來判定所有網(wǎng)頁的重要性。(也就是說,一個人有著越多牛X朋友的人,他是牛X的概率就越大。)

PageRank優(yōu)點

完全獨立于查詢,只依賴于網(wǎng)頁鏈接結(jié)構(gòu),可以離線計算。

PageRank缺點

PageRank算法忽略了網(wǎng)頁搜索的時效性。

舊網(wǎng)頁排序很高,存在時間長,積累了大量的in-links,擁有最新資訊的新網(wǎng)頁排名卻很低,因為它們幾乎沒有in-links。

3.13 關(guān)聯(lián)規(guī)則算法(Apriori算法)

Apriori算法是一種挖掘關(guān)聯(lián)規(guī)則的算法,用于挖掘其內(nèi)含的、未知的卻又實際存在的數(shù)據(jù)關(guān)系,其核心是基于兩階段頻集思想的遞推算法 。

Apriori算法分為兩個階段:

尋找頻繁項集

由頻繁項集找關(guān)聯(lián)規(guī)則

算法缺點:

在每一步產(chǎn)生侯選項目集時循環(huán)產(chǎn)生的組合過多,沒有排除不應(yīng)該參與組合的元素;

每次計算項集的支持度時,都對數(shù)據(jù)庫中 的全部記錄進行了一遍掃描比較,需要很大的I/O負載。

4. 算法選擇參考

之前筆者翻譯過一些國外的文章,其中有一篇文章中給出了一個簡單的算法選擇技巧:

首當(dāng)其沖應(yīng)該選擇的就是邏輯回歸,如果它的效果不怎么樣,那么可以將它的結(jié)果作為基準(zhǔn)來參考,在基礎(chǔ)上與其他算法進行比較;

然后試試決策樹(隨機森林)看看是否可以大幅度提升你的模型性能。即便最后你并沒有把它當(dāng)做為最終模型,你也可以使用隨機森林來移除噪聲變量,做特征選擇;

如果特征的數(shù)量和觀測樣本特別多,那么當(dāng)資源和時間充足時(這個前提很重要),使用SVM不失為一種選擇。

通常情況下:【GBDT》=SVM》=RF》=Adaboost》=Other…】,現(xiàn)在深度學(xué)習(xí)很熱門,很多領(lǐng)域都用到,它是以神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的,目前筆者自己也在學(xué)習(xí),只是理論知識不扎實,理解的不夠深入,這里就不做介紹了,希望以后可以寫一片拋磚引玉的文章。

算法固然重要,但好的數(shù)據(jù)卻要優(yōu)于好的算法,設(shè)計優(yōu)良特征是大有裨益的。假如你有一個超大數(shù)據(jù)集,那么無論你使用哪種算法可能對分類性能都沒太大影響(此時就可以根據(jù)速度和易用性來進行抉擇)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4711

    瀏覽量

    95446

原文標(biāo)題:?機器學(xué)習(xí)算法優(yōu)缺點對比及選擇(匯總篇)

文章出處:【微信號:AItists,微信公眾號:人工智能學(xué)家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    超級電容對比鋰電池的優(yōu)缺點

    本文探討了超級電容和鋰電池在儲能領(lǐng)域的優(yōu)缺點。超級電容以高能量密度著稱,但充電速度較慢;鋰電池則具有快充和壽命長的優(yōu)勢,但成本較高。在新能源汽車和電網(wǎng)調(diào)頻等高頻次應(yīng)用中,兩者可以互補。
    的頭像 發(fā)表于 06-30 09:37 ?308次閱讀
    超級電容<b class='flag-5'>對比</b>鋰電池的<b class='flag-5'>優(yōu)缺點</b>

    PCBA 表面處理:優(yōu)缺點大揭秘,應(yīng)用場景全解析

    一站式PCBA加工廠家今天為大家講講PCBA加工如何選擇合適的表面處理工藝?PCBA表面處理優(yōu)缺點與應(yīng)用場景。在電子制造中,PCBA板的表面處理工藝對電路板的性能、可靠性和成本都有重要影響。選擇合適
    的頭像 發(fā)表于 05-05 09:39 ?499次閱讀
    PCBA 表面處理:<b class='flag-5'>優(yōu)缺點</b>大揭秘,應(yīng)用場景全解析

    BP神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點分析

    BP神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network)作為一種常用的機器學(xué)習(xí)模型,具有顯著的優(yōu)點,同時也存在一些不容忽視的缺點。以下是對BP神經(jīng)網(wǎng)絡(luò)優(yōu)缺點的分析
    的頭像 發(fā)表于 02-12 15:36 ?933次閱讀

    香港主機托管和國內(nèi)主機的優(yōu)缺點比較

    香港主機托管和國內(nèi)主機(以大陸主機為例)的優(yōu)缺點比較,主機推薦小編為您整理發(fā)布香港主機托管和國內(nèi)主機的優(yōu)缺點比較,希望對您有幫助。
    的頭像 發(fā)表于 02-05 17:42 ?449次閱讀

    東京站群服務(wù)器有哪些優(yōu)缺點

    東京站群服務(wù)器,作為部署在東京地區(qū)的服務(wù)器集群,專為站群優(yōu)化而建,其優(yōu)缺點如下,主機推薦小編為您整理發(fā)布東京站群服務(wù)器有哪些優(yōu)缺點
    的頭像 發(fā)表于 02-05 17:39 ?377次閱讀

    如何選擇云原生機器學(xué)習(xí)平臺

    當(dāng)今,云原生機器學(xué)習(xí)平臺因其彈性擴展、高效部署、低成本運營等優(yōu)勢,逐漸成為企業(yè)構(gòu)建和部署機器學(xué)習(xí)應(yīng)用的首選。然而,市場上的云原生機器
    的頭像 發(fā)表于 12-25 11:54 ?461次閱讀

    DFT的優(yōu)缺點比較 DFT在機器學(xué)習(xí)中的應(yīng)用

    DFT(離散傅里葉變換)的優(yōu)缺點比較 優(yōu)點 頻域分析 :DFT能夠?qū)⑿盘枏臅r域轉(zhuǎn)換到頻域,這對于分析信號的頻率成分非常有用。 線性和時不變性 :DFT是線性和時不變的,這意味著它滿足疊加原理,對于
    的頭像 發(fā)表于 12-20 09:22 ?2440次閱讀

    zeta在機器學(xué)習(xí)中的應(yīng)用 zeta的優(yōu)缺點分析

    在探討ZETA在機器學(xué)習(xí)中的應(yīng)用以及ZETA的優(yōu)缺點時,需要明確的是,ZETA一詞在不同領(lǐng)域可能有不同的含義和應(yīng)用。以下是根據(jù)不同領(lǐng)域的ZETA進行的分析: 一、ZETA在機器
    的頭像 發(fā)表于 12-20 09:11 ?1132次閱讀

    NPU與機器學(xué)習(xí)算法的關(guān)系

    在人工智能領(lǐng)域,機器學(xué)習(xí)算法是實現(xiàn)智能系統(tǒng)的核心。隨著數(shù)據(jù)量的激增和算法復(fù)雜度的提升,對計算資源的需求也在不斷增長。NPU作為一種專門為深度學(xué)習(xí)
    的頭像 發(fā)表于 11-15 09:19 ?1240次閱讀

    開環(huán)和閉環(huán)功放的區(qū)別,優(yōu)缺點,應(yīng)用場合有什么不同?

    問下TI的工程師,開環(huán)和閉環(huán)功放的區(qū)別,優(yōu)缺點,應(yīng)用場合有什么不同?請解釋下,謝謝!
    發(fā)表于 11-04 06:33

    醫(yī)療機器人的優(yōu)缺點_醫(yī)療機器人涉及哪些技術(shù)

    醫(yī)療機器人是一種集成了人工智能、機器學(xué)習(xí)、大數(shù)據(jù)等先進技術(shù)的醫(yī)療設(shè)備,它可以在醫(yī)生監(jiān)督下,輔助完成一系列高精度、高強度、高危險性的醫(yī)療任務(wù)。以下是醫(yī)療機器人的主要
    的頭像 發(fā)表于 10-21 15:18 ?2407次閱讀

    雪崩晶體管有哪些優(yōu)缺點

    雪崩晶體管作為一種特殊的半導(dǎo)體器件,在電子領(lǐng)域具有其獨特的優(yōu)缺點
    的頭像 發(fā)表于 09-23 18:05 ?748次閱讀

    帶你了解無刷電機與有刷電機的優(yōu)缺點

    無刷電機和有刷電機各有其獨特的優(yōu)缺點,選擇哪種電機類型取決于具體的應(yīng)用場景和需求。
    的頭像 發(fā)表于 09-21 11:24 ?2272次閱讀

    遠心鏡頭優(yōu)點和缺點對比

    遠心鏡頭各有優(yōu)缺點,根據(jù)實際所用場景領(lǐng)域。
    的頭像 發(fā)表于 09-03 16:38 ?1810次閱讀
    遠心鏡頭優(yōu)點和<b class='flag-5'>缺點</b><b class='flag-5'>對比</b>

    運放恒流源有哪些優(yōu)缺點

    運放恒流源,即利用運算放大器(Operational Amplifier,簡稱運放)構(gòu)成的恒流源電路,具有一系列獨特的優(yōu)點和缺點。以下是對其優(yōu)缺點的詳細分析。
    的頭像 發(fā)表于 08-28 10:18 ?2230次閱讀