日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

机器学习算法优缺点对比及选择

發(fā)布時(shí)間:2024/7/5 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习算法优缺点对比及选择 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 偏差&方差
  • 常見算法優(yōu)缺點(diǎn)
    • 樸素貝葉斯
    • Logistic Regression(邏輯回歸)
    • 線性回歸
    • 最近鄰算法——KNN
    • 決策樹
      • ID3、C4.5算法
      • CART分類與回歸樹
    • Adaboosting
    • SVM支持向量機(jī)
    • 人工神經(jīng)網(wǎng)絡(luò)
    • K-Means聚類
    • EM最大期望算法
    • 集成算法(AdaBoost算法)
    • 排序算法(PageRank)
    • 關(guān)聯(lián)規(guī)則算法(Apriori算法)
  • 算法選擇竅門

機(jī)器學(xué)習(xí)算法太多了,分類、回歸、聚類、推薦、圖像識(shí)別領(lǐng)域等等,要想找到一個(gè)合適算法真的不容易,所以在實(shí)際應(yīng)用中,我們一般都是采用啟發(fā)式學(xué)習(xí)方式來實(shí)驗(yàn)。通常最開始我們都會(huì)選擇大家普遍認(rèn)同的算法,諸如SVM,GBDT,Adaboost,現(xiàn)在深度學(xué)習(xí)很火熱,神經(jīng)網(wǎng)絡(luò)也是一個(gè)不錯(cuò)的選擇。
假如你在乎精度(accuracy)的話,最好的方法就是通過交叉驗(yàn)證(cross-validation)對(duì)各個(gè)算法一個(gè)個(gè)地進(jìn)行測(cè)試,進(jìn)行比較,然后調(diào)整參數(shù)確保每個(gè)算法達(dá)到最優(yōu)解,最后選擇最好的一個(gè)。但是如果你只是在尋找一個(gè)“足夠好”的算法來解決你的問題,或者這里有些技巧可以參考,下面來分析下各個(gè)算法的優(yōu)缺點(diǎn),基于算法的優(yōu)缺點(diǎn),更易于我們?nèi)ミx擇它。
在機(jī)器學(xué)習(xí)領(lǐng)域,一個(gè)基本的定理就是“ 沒有免費(fèi)的午餐”。換言之,就是沒有算法能完美地解決所有問題,尤其是對(duì)監(jiān)督學(xué)習(xí)而言(例如預(yù)測(cè)建模)。

偏差&方差

在統(tǒng)計(jì)學(xué)中,一個(gè)模型好壞,是根據(jù)偏差和方差來衡量的,所以我們先來普及一下偏差(bias)和方差(variance):
偏差: 描述的是預(yù)測(cè)值(估計(jì)值)的期望E’與真實(shí)值Y之間的差距。偏差越大,越偏離真實(shí)數(shù)據(jù)。

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

模型的真實(shí)誤差是兩者之和:

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

常見算法優(yōu)缺點(diǎn)

樸素貝葉斯

樸素貝葉斯屬于生成式模型(關(guān)于生成模型和判別式模型,主要還是在于是否需要求聯(lián)合分布),比較簡(jiǎn)單,你只需做一堆計(jì)數(shù)即可。如果注有條件獨(dú)立性假設(shè)(一個(gè)比較嚴(yán)格的條件),樸素貝葉斯分類器的收斂速度將快于判別模型,比如邏輯回歸,所以你只需要較少的訓(xùn)練數(shù)據(jù)即可。即使NB條件獨(dú)立假設(shè)不成立,NB分類器在實(shí)踐中仍然表現(xiàn)的很出色。它的主要缺點(diǎn)是它不能學(xué)習(xí)特征間的相互作用,用mRMR中R來講,就是特征冗余。引用一個(gè)比較經(jīng)典的例子,比如,雖然你喜歡Brad Pitt和Tom Cruise的電影,但是它不能學(xué)習(xí)出你不喜歡他們?cè)谝黄鹧莸碾娪啊?br /> 優(yōu)點(diǎn):
樸素貝葉斯模型發(fā)源于古典數(shù)學(xué)理論,有著堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ),以及穩(wěn)定的分類效率。
對(duì)大數(shù)量訓(xùn)練和查詢時(shí)具有較高的速度。即使使用超大規(guī)模的訓(xùn)練集,針對(duì)每個(gè)項(xiàng)目通常也只會(huì)有相對(duì)較少的特征數(shù),并且對(duì)項(xiàng)目的訓(xùn)練和分類也僅僅是特征概率的數(shù)學(xué)運(yùn)算而已;對(duì)小規(guī)模的數(shù)據(jù)表現(xiàn)很好,能個(gè)處理多分類任務(wù),適合增量式訓(xùn)練(即可以實(shí)時(shí)的對(duì)新增的樣本進(jìn)行訓(xùn)練);對(duì)缺失數(shù)據(jù)不太敏感,算法也比較簡(jiǎn)單,常用于文本分類;樸素貝葉斯對(duì)結(jié)果解釋容易理解。
缺點(diǎn):
需要計(jì)算先驗(yàn)概率;分類決策存在錯(cuò)誤率;對(duì)輸入數(shù)據(jù)的表達(dá)形式很敏感;由于使用了樣本屬性獨(dú)立性的假設(shè),所以如果樣本屬性有關(guān)聯(lián)時(shí)其效果不好。
應(yīng)用場(chǎng)景:
欺詐檢測(cè)中使用較多;一封電子郵件是否是垃圾郵件;一篇文章應(yīng)該分到科技、政治,還是體育類;一段文字表達(dá)的是積極的情緒還是消極的情緒;人臉識(shí)別。

Logistic Regression(邏輯回歸)

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

優(yōu)點(diǎn):
實(shí)現(xiàn)簡(jiǎn)單,廣泛的應(yīng)用于工業(yè)問題上;分類時(shí)計(jì)算量非常小,速度很快,存儲(chǔ)資源低;便利的觀測(cè)樣本概率分?jǐn)?shù);對(duì)邏輯回歸而言,多重共線性并不是問題,它可以結(jié)合L2正則化來解決該問題;計(jì)算代價(jià)不高,易于理解和實(shí)現(xiàn);
缺點(diǎn):
當(dāng)特征空間很大時(shí),邏輯回歸的性能不是很好;容易欠擬合,一般準(zhǔn)確度不太高不能很好地處理大量多類特征或變量;只能處理兩分類問題(在此基礎(chǔ)上衍生出來的softmax可以用于多分類),且必須線性可分;對(duì)于非線性特征,需要進(jìn)行轉(zhuǎn)換。
應(yīng)用場(chǎng)景:
用于二分類領(lǐng)域,可以得出概率值,適用于根據(jù)分類概率排名的領(lǐng)域,如搜索排名等。
Logistic回歸的擴(kuò)展softmax可以應(yīng)用于多分類領(lǐng)域,如手寫字識(shí)別等。
信用評(píng)估
測(cè)量市場(chǎng)營(yíng)銷的成功度
預(yù)測(cè)某個(gè)產(chǎn)品的收益
特定的某天是否會(huì)發(fā)生地震

線性回歸

線性回歸是用于回歸的,它不像Logistic回歸那樣用于分類,其基本思想是用梯度下降法對(duì)最小二乘法形式的誤差函數(shù)進(jìn)行優(yōu)化,當(dāng)然也可以用normal equation直接求得參數(shù)的解,結(jié)果為:
而在LWLR(局部加權(quán)線性回歸)中,參數(shù)的計(jì)算表達(dá)式為:

由此可見LWLR與LR不同,LWLR是一個(gè)非參數(shù)模型,因?yàn)槊看芜M(jìn)行回歸計(jì)算都要遍歷訓(xùn)練樣本至少一次。
優(yōu)點(diǎn): 實(shí)現(xiàn)簡(jiǎn)單,計(jì)算簡(jiǎn)單;
缺點(diǎn): 不能擬合非線性數(shù)據(jù)

最近鄰算法——KNN

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

  • 計(jì)算訓(xùn)練樣本和測(cè)試樣本中每個(gè)樣本點(diǎn)的距離(常見的距離度量有歐式距離,馬氏距離等);
  • 對(duì)上面所有的距離值進(jìn)行排序(升序);
  • 選前k個(gè)最小距離的樣本;
  • 根據(jù)這k個(gè)樣本的標(biāo)簽進(jìn)行投票,得到最后的分類類別;
  • 如何選擇一個(gè)最佳的K值,這取決于數(shù)據(jù)。一般情況下,在分類時(shí)較大的K值能夠減小噪聲的影響,但會(huì)使類別之間的界限變得模糊。一個(gè)較好的K值可通過各種啟發(fā)式技術(shù)來獲取,比如,交叉驗(yàn)證。另外噪聲和非相關(guān)性特征向量的存在會(huì)使K近鄰算法的準(zhǔn)確性減小。近鄰算法具有較強(qiáng)的一致性結(jié)果,隨著數(shù)據(jù)趨于無限,算法保證錯(cuò)誤率不會(huì)超過貝葉斯算法錯(cuò)誤率的兩倍。對(duì)于一些好的K值,K近鄰保證錯(cuò)誤率不會(huì)超過貝葉斯理論誤差率。
    **優(yōu)點(diǎn):**理論成熟,思想簡(jiǎn)單,既可以用來做分類也可以用來做回歸;可用于非線性分類;訓(xùn)練時(shí)間復(fù)雜度為O(n);對(duì)數(shù)據(jù)沒有假設(shè),準(zhǔn)確度高,對(duì)outlier不敏感;KNN是一種在線技術(shù),新數(shù)據(jù)可以直接加入數(shù)據(jù)集而不必進(jìn)行重新訓(xùn)練;KNN理論簡(jiǎn)單,容易實(shí)現(xiàn)。
    **缺點(diǎn):**樣本不平衡問題(即有些類別的樣本數(shù)量很多,而其它樣本的數(shù)量很少)效果差; 需要大量?jī)?nèi)存;對(duì)于樣本容量大的數(shù)據(jù)集計(jì)算量比較大(體現(xiàn)在距離計(jì)算上);樣本不平衡時(shí),預(yù)測(cè)偏差比較大。如:某一類的樣本比較少,而其它類樣本比較多;KNN每一次分類都會(huì)重新進(jìn)行一次全局運(yùn)算;k值大小的選擇沒有理論選擇最優(yōu),往往是結(jié)合K-折交叉驗(yàn)證得到最優(yōu)k值選擇。
    應(yīng)用場(chǎng)景:
    文本分類、模式識(shí)別、聚類分析,多分類領(lǐng)域

    決策樹

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

    優(yōu)點(diǎn):
    決策樹易于理解和解釋,可以可視化分析,容易提取出規(guī)則;可以同時(shí)處理標(biāo)稱型和數(shù)值型數(shù)據(jù);比較適合處理有缺失屬性的樣本;能夠處理不相關(guān)的特征;測(cè)試數(shù)據(jù)集時(shí),運(yùn)行速度比較快;在相對(duì)短的時(shí)間內(nèi)能夠?qū)Υ笮蛿?shù)據(jù)源做出可行且效果良好的結(jié)果。
    缺點(diǎn):
    容易發(fā)生過擬合(隨機(jī)森林可以很大程度上減少過擬合);容易忽略數(shù)據(jù)集中屬性的相互關(guān)聯(lián);對(duì)于那些各類別樣本數(shù)量不一致的數(shù)據(jù),在決策樹中,進(jìn)行屬性劃分時(shí),不同的判定準(zhǔn)則會(huì)帶來不同的屬性選擇傾向;信息增益準(zhǔn)則對(duì)可取數(shù)目較多的屬性有所偏好(典型代表ID3算法),而增益率準(zhǔn)則(CART)則對(duì)可取數(shù)目較少的屬性有所偏好,但CART進(jìn)行屬性劃分時(shí)候不再簡(jiǎn)單地直接利用增益率盡心劃分,而是采用一種啟發(fā)式規(guī)則)(只要是使用了信息增益,都有這個(gè)缺點(diǎn),如RF)。ID3算法計(jì)算信息增益時(shí)結(jié)果偏向數(shù)值比較多的特征。
    改進(jìn)措施:
    對(duì)決策樹進(jìn)行剪枝。可以采用交叉驗(yàn)證法和加入正則化的方法。使用基于決策樹的combination算法,如bagging算法,randomforest算法,可以解決過擬合的問題。
    應(yīng)用場(chǎng)景:
    企業(yè)管理實(shí)踐,企業(yè)投資決策,由于決策樹很好的分析能力,在決策過程應(yīng)用較多。

    ID3、C4.5算法

    ID3算法是以信息論為基礎(chǔ),以信息熵和信息增益度為衡量標(biāo)準(zhǔn),從而實(shí)現(xiàn)對(duì)數(shù)據(jù)的歸納分類;ID3算法計(jì)算每個(gè)屬性的信息增益,并選取具有最高增益的屬性作為給定的測(cè)試屬性。
    C4.5算法核心思想是ID3算法,是ID3算法的改進(jìn),
    改進(jìn)方面

    • 用信息增益率來選擇屬性,克服了用信息增益選擇屬性時(shí)偏向選擇取值多的屬性的不足; - 在樹構(gòu)造過程中進(jìn)行剪枝;
    • 能處理非離散的數(shù)據(jù);
    • 能處理不完整的數(shù)據(jù)。

    **優(yōu)點(diǎn):**產(chǎn)生的分類規(guī)則易于理解,準(zhǔn)確率較高。**缺點(diǎn):**在構(gòu)造樹的過程中,需要對(duì)數(shù)據(jù)集進(jìn)行多次的順序掃描和排序,因而導(dǎo)致算法的低效;C4.5只適合于能夠駐留于內(nèi)存的數(shù)據(jù)集,當(dāng)訓(xùn)練集大得無法在內(nèi)存容納時(shí)程序無法運(yùn)行。

    CART分類與回歸樹

    是一種決策樹分類方法,采用基于最小距離的基尼指數(shù)估計(jì)函數(shù),用來決定由該子數(shù)據(jù)集生成的決策樹的拓展形。如果目標(biāo)變量是標(biāo)稱的,稱為分類樹;如果目標(biāo)變量是連續(xù)的,稱為回歸樹。分類樹是使用樹結(jié)構(gòu)算法將數(shù)據(jù)分成離散類的方法。
    優(yōu)點(diǎn) 非常靈活,可以允許有部分錯(cuò)分成本,還可指定先驗(yàn)概率分布,可使用自動(dòng)的成本復(fù)雜性剪枝來得到歸納性更強(qiáng)的樹;在面對(duì)諸如存在缺失值、變量數(shù)多等問題時(shí)CART 顯得非常穩(wěn)健。

    Adaboosting

    Adaboost是一種加和模型,每個(gè)模型都是基于上一次模型的錯(cuò)誤率來建立的,過分關(guān)注分錯(cuò)的樣本,而對(duì)正確分類的樣本減少關(guān)注度,逐次迭代之后,可以得到一個(gè)相對(duì)較好的模型。該算法是一種典型的boosting算法,其加和理論的優(yōu)勢(shì)可以使用Hoeffding不等式得以解釋。有興趣的同學(xué)可以閱讀下自己之前寫的這篇文章AdaBoost算法詳述.下面總結(jié)下它的優(yōu)缺點(diǎn)。
    優(yōu)點(diǎn) Adaboost是一種有很高精度的分類器。可以使用各種方法構(gòu)建子分類器,Adaboost算法提供的是框架。當(dāng)使用簡(jiǎn)單分類器時(shí),計(jì)算出的結(jié)果是可以理解的,并且弱分類器的構(gòu)造極其簡(jiǎn)單。簡(jiǎn)單,不用做特征篩選。不易發(fā)生overfitting。 Adaboost、GBDT與XGBoost的區(qū)別
    缺點(diǎn)對(duì)outlier比較敏感

    SVM支持向量機(jī)

    支持向量機(jī),一個(gè)經(jīng)久不衰的算法,高準(zhǔn)確率,為避免過擬合提供了很好的理論保證,而且就算數(shù)據(jù)在原特征空間線性不可分,只要給個(gè)合適的核函數(shù),它就能運(yùn)行得很好。在動(dòng)輒超高維的文本分類問題中特別受歡迎。可惜內(nèi)存消耗大,難以解釋,運(yùn)行和調(diào)參也有些煩人,而隨機(jī)森林卻剛好避開了這些缺點(diǎn),比較實(shí)用。
    **優(yōu)點(diǎn):**可以解決高維問題,即大型特征空間;解決小樣本下機(jī)器學(xué)習(xí)問題;能夠處理非線性特征的相互作用;無局部極小值問題;(相對(duì)于神經(jīng)網(wǎng)絡(luò)等算法)無需依賴整個(gè)數(shù)據(jù);泛化能力比較強(qiáng);
    **缺點(diǎn):**當(dāng)觀測(cè)樣本很多時(shí),效率并不是很高;對(duì)非線性問題沒有通用解決方案,有時(shí)候很難找到一個(gè)合適的核函數(shù);對(duì)于核函數(shù)的高維映射解釋力不強(qiáng),尤其是徑向基函數(shù);常規(guī)SVM只支持二分類;對(duì)缺失數(shù)據(jù)敏感。
    對(duì)于核的選擇也是有技巧的(libsvm中自帶了四種核函數(shù):線性核、多項(xiàng)式核、RBF以及sigmoid核):第一,如果樣本數(shù)量小于特征數(shù),那么就沒必要選擇非線性核,簡(jiǎn)單的使用線性核就可以了;第二,如果樣本數(shù)量大于特征數(shù)目,這時(shí)可以使用非線性核,將樣本映射到更高維度,一般可以得到更好的結(jié)果;第三,如果樣本數(shù)目和特征數(shù)目相等,該情況可以使用非線性核,原理和第二種一樣。 對(duì)于第一種情況,也可以先對(duì)數(shù)據(jù)進(jìn)行降維,然后使用非線性核,這也是一種方法。
    **應(yīng)用場(chǎng)景:**文本分類、圖像識(shí)別(主要二分類領(lǐng)域,畢竟常規(guī)SVM只能解決二分類問題)

    人工神經(jīng)網(wǎng)絡(luò)

    **優(yōu)點(diǎn):**分類的準(zhǔn)確度高;并行分布處理能力強(qiáng),分布存儲(chǔ)及學(xué)習(xí)能力強(qiáng),對(duì)噪聲神經(jīng)有較強(qiáng)的魯棒性和容錯(cuò)能力;具備聯(lián)想記憶的功能,能充分逼近復(fù)雜的非線性關(guān)系。
    **缺點(diǎn):**神經(jīng)網(wǎng)絡(luò)需要大量的參數(shù),如網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、權(quán)值和閾值的初始值;黑盒過程,不能觀察之間的學(xué)習(xí)過程,輸出結(jié)果難以解釋,會(huì)影響到結(jié)果的可信度和可接受程度;學(xué)習(xí)時(shí)間過長(zhǎng),有可能陷入局部極小值,甚至可能達(dá)不到學(xué)習(xí)的目的。
    **應(yīng)用場(chǎng)景:**目前深度神經(jīng)網(wǎng)絡(luò)已經(jīng)應(yīng)用與計(jì)算機(jī)視覺,自然語言處理,語音識(shí)別等領(lǐng)域并取得很好的效果。

    K-Means聚類

    是一個(gè)簡(jiǎn)單的聚類算法,把n的對(duì)象根據(jù)他們的屬性分為k個(gè)分割,k< n。 算法的核心就是要優(yōu)化失真函數(shù)J,使其收斂到局部最小值但不是全局最小值。
    **優(yōu)點(diǎn):**算法簡(jiǎn)單,容易實(shí)現(xiàn) ;算法速度很快;對(duì)處理大數(shù)據(jù)集,該算法是相對(duì)可伸縮的和高效率的,因?yàn)樗膹?fù)雜度大約是O(nkt),其中n是所有對(duì)象的數(shù)目,k是簇的數(shù)目,t是迭代的次數(shù)。通常k<<n。這個(gè)算法通常局部收斂。算法嘗試找出使平方誤差函數(shù)值最小的k個(gè)劃分。當(dāng)簇是密集的、球狀或團(tuán)狀的,且簇與簇之間區(qū)別明顯時(shí),聚類效果較好。
    **缺點(diǎn):**對(duì)數(shù)據(jù)類型要求較高,適合數(shù)值型數(shù)據(jù);可能收斂到局部最小值,在大規(guī)模數(shù)據(jù)上收斂較慢分組的數(shù)目k是一個(gè)輸入?yún)?shù),不合適的k可能返回較差的結(jié)果。對(duì)初值的簇心值敏感,對(duì)于不同的初始值,可能會(huì)導(dǎo)致不同的聚類結(jié)果;不適合于發(fā)現(xiàn)非凸面形狀的簇,或者大小差別很大的簇。對(duì)于”噪聲”和孤立點(diǎn)數(shù)據(jù)敏感,少量的該類數(shù)據(jù)能夠?qū)ζ骄诞a(chǎn)生極大影響。

    EM最大期望算法

    EM算法是基于模型的聚類方法,是在概率模型中尋找參數(shù)最大似然估計(jì)的算法,其中概率模型依賴于無法觀測(cè)的隱藏變量。E步估計(jì)隱含變量,M步估計(jì)其他參數(shù),交替將極值推向最大。EM算法比K-means算法計(jì)算復(fù)雜,收斂也較慢,不適于大規(guī)模數(shù)據(jù)集和高維數(shù)據(jù),但比K-means算法計(jì)算結(jié)果穩(wěn)定、準(zhǔn)確。EM經(jīng)常用在機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺的數(shù)據(jù)集聚(Data Clustering)領(lǐng)域。

    集成算法(AdaBoost算法)

    **優(yōu)點(diǎn):**很好的利用了弱分類器進(jìn)行級(jí)聯(lián);可以將不同的分類算法作為弱分類器;AdaBoost具有很高的精度;相對(duì)于bagging算法和Random Forest算法,AdaBoost充分考慮的每個(gè)分類器的權(quán)重。
    缺點(diǎn): AdaBoost迭代次數(shù)也就是弱分類器數(shù)目不太好設(shè)定,可以使用交叉驗(yàn)證來進(jìn)行確定;數(shù)據(jù)不平衡導(dǎo)致分類精度下降;訓(xùn)練比較耗時(shí),每次重新選擇當(dāng)前分類器最好切分點(diǎn)。
    應(yīng)用場(chǎng)景: 模式識(shí)別、計(jì)算機(jī)視覺領(lǐng)域,用于二分類和多分類場(chǎng)景。

    排序算法(PageRank)

    PageRank是google的頁(yè)面排序算法,是基于從許多優(yōu)質(zhì)的網(wǎng)頁(yè)鏈接過來的網(wǎng)頁(yè),必定還是優(yōu)質(zhì)網(wǎng)頁(yè)的回歸關(guān)系,來判定所有網(wǎng)頁(yè)的重要性。(也就是說,一個(gè)人有著越多牛X朋友的人,他是牛X的概率就越大。)
    優(yōu)點(diǎn): 完全獨(dú)立于查詢,只依賴于網(wǎng)頁(yè)鏈接結(jié)構(gòu),可以離線計(jì)算。
    缺點(diǎn): PageRank算法忽略了網(wǎng)頁(yè)搜索的時(shí)效性。舊網(wǎng)頁(yè)排序很高,存在時(shí)間長(zhǎng),積累了大量的in-links,擁有最新資訊的新網(wǎng)頁(yè)排名卻很低,因?yàn)樗鼈儙缀鯖]有in-links。

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

    Apriori算法是一種挖掘關(guān)聯(lián)規(guī)則的算法,用于挖掘其內(nèi)含的、未知的卻又實(shí)際存在的數(shù)據(jù)關(guān)系,其核心是基于兩階段頻集思想的遞推算法 。Apriori算法分為兩個(gè)階段:尋找頻繁項(xiàng)集由頻繁項(xiàng)集找關(guān)聯(lián)規(guī)則
    缺點(diǎn): 在每一步產(chǎn)生侯選項(xiàng)目集時(shí)循環(huán)產(chǎn)生的組合過多,沒有排除不應(yīng)該參與組合的元素;每次計(jì)算項(xiàng)集的支持度時(shí),都對(duì)數(shù)據(jù)庫(kù)中 的全部記錄進(jìn)行了一遍掃描比較,需要很大的I/O負(fù)載。

    算法選擇竅門

    首當(dāng)其沖應(yīng)該選擇的就是邏輯回歸,如果它的效果不怎么樣,那么可以將它的結(jié)果作為基準(zhǔn)來參考,在基礎(chǔ)上與其他算法進(jìn)行比較;然后試試決策樹(隨機(jī)森林)看看是否可以大幅度提升你的模型性能。即便最后你并沒有把它當(dāng)做為最終模型,你也可以使用隨機(jī)森林來移除噪聲變量,做特征選擇;如果特征的數(shù)量和觀測(cè)樣本特別多,那么當(dāng)資源和時(shí)間充足時(shí)(這個(gè)前提很重要),使用SVM不失為一種選擇。通常情況下:【GBDT>=SVM>=RF>=Adaboost>=Other…】,現(xiàn)在深度學(xué)習(xí)很熱門,很多領(lǐng)域都用到,它是以神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的,假如你有一個(gè)超大數(shù)據(jù)集,那么無論你使用哪種算法可能對(duì)分類性能都沒太大影響(此時(shí)就可以根據(jù)速度和易用性來進(jìn)行抉擇)。

    總結(jié)

    以上是生活随笔為你收集整理的机器学习算法优缺点对比及选择的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。