-
當前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
bagging算法原理(Bagging算法原理)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于bagging算法原理的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、機器學(xué)習(xí)中Bagging和Boosting的區(qū)別
【機器學(xué)習(xí)】Boosting和Bagging的差別
boosting和bagging的差別:
bagging中的模型是強模型,偏差低,方差高。目標是降低方差。在bagging中,每個模型的bias和variance近似相同,但是互相相關(guān)性不太高,因此一般不能降低Bias,而一定程度上能降低variance。典型的bagging是random forest。
boosting中每個模型是弱模型,偏差高,方差低。目標是通過平均降低偏差。boosting的基本思想就是用貪心法最小化損失函數(shù),顯然能降低偏差,但是通常模型的相關(guān)性很強,因此不能顯著降低variance。典型的Boosting是adaboost,另外一個常用的并行Boosting算法是GBDT(gradient boosting decision tree)。這一類算法通常不容易出現(xiàn)過擬合。
過擬合的模型,通常variance比較大,這時應(yīng)該用bagging對其進行修正。
欠擬合的模型,通常Bias比較大,這時應(yīng)該可以用boosting進行修正。使用boosting時, 每一個模型可以簡單一些。
金融常見的問題,是只用linear regression,這樣一般來講是欠擬合的,因此需要引入一些非線性的特征,欠擬合的模型可以先使用boosting嘗試一下,如果效果不好,再使用其他的方法。過擬合的方法,通常使用bagging是會有一定的作用的。
二、Bagging與Boosting最大的不同在哪里?它們對模型性能最大的貢獻在哪里?
兩種不同的集成算法,Bagging采用重復(fù)取樣:boostrap 每個個體分類器所采用的訓(xùn)練樣本都是從訓(xùn)練集中按等概率抽取的,因此Bagging的各子網(wǎng)能夠很好的覆蓋訓(xùn)練樣本空間,從而有著良好的穩(wěn)定性。
而Boosting注重分類錯誤的樣本,將個體子網(wǎng)分類錯誤的訓(xùn)練樣本的權(quán)重提高,降低分類錯誤的樣本權(quán)重,并依據(jù)修改后的樣本權(quán)重來生成新的訓(xùn)練樣本空間并用來訓(xùn)練下一個個體分類器。然而,由于Boosting算法可能會將噪聲樣本或分類邊界樣本的權(quán)重過分累積,因此Boosting很不穩(wěn)定,但其在通常情況下,其泛化能力是最理想的集成算法之一。
你得自己去查文獻,別來這問,這沒人做學(xué)術(shù)的,我也是偶爾看到你的提問。
三、分類算法 - adaboost
Adaboost是一種迭代算法,其核心思想是針對同一個訓(xùn)練集訓(xùn)練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個更強的最終分類器(強分類器)。
Adaboost算法已被證明是一種有效而實用的Boosting算法。該算法是Freund和Schapire于1995年對Boosting算法的改進得到的,其算法原理是通過調(diào)整樣本權(quán)重和弱分類器權(quán)值,從訓(xùn)練出的弱分類器中篩選出權(quán)值系數(shù)最小的弱分類器組合成一個最終強分類器?;谟?xùn)練集訓(xùn)練弱分類器,每次下一個弱分類器都是在樣本的不同權(quán)值集上訓(xùn)練獲得的。每個樣本被分類的難易度決定權(quán)重,而分類的難易度是經(jīng)過前面步驟中的分類器的輸出估計得到的。
Adaboost算法在樣本訓(xùn)練集使用過程中,對其中的關(guān)鍵分類特征集進行多次挑選,逐步訓(xùn)練分量弱分類器,用適當?shù)拈撝颠x擇最佳弱分類器,最后將每次迭代訓(xùn)練選出的最佳弱分類器構(gòu)建為強分類器。其中,級聯(lián)分類器的設(shè)計模式為在盡量保證感興趣圖像輸出率的同時,減少非感興趣圖像的輸出率,隨著迭代次數(shù)不斷增加,所有的非感興趣圖像樣本都不能通過,而感興趣樣本始終保持盡可能通過為止。
1. 先通過對N個訓(xùn)練樣本的學(xué)習(xí)得到第一個弱分類器
2. 將分錯的樣本和其他的新數(shù)據(jù)一起構(gòu)成一個新的N個的訓(xùn)練樣本,通過對這個樣本的學(xué)習(xí)得到第二個弱分類器
3. 將1和2都分錯了的樣本加上其他的新樣本構(gòu)成另一個新的N個的訓(xùn)練樣本,通過對這個樣本的學(xué)習(xí)得到第三個弱分類器
4. 最終經(jīng)過提升的強分類器。即某個數(shù)據(jù)被分為哪一類要由各分類器權(quán)值決定
由Adaboost算法的描述過程可知,該算法在實現(xiàn)過程中根據(jù)訓(xùn)練集的大小初始化樣本權(quán)值,使其滿足均勻分布,在后續(xù)操作中通過公式來改變和規(guī)范化算法迭代后樣本的權(quán)值。樣本被錯誤分類導(dǎo)致權(quán)值增大,反之權(quán)值相應(yīng)減小,這表示被錯分的訓(xùn)練樣本集包括一個更高的權(quán)重。這就會使在下輪時訓(xùn)練樣本集更注重于難以識別的樣本,針對被錯分樣本的進一步學(xué)習(xí)來得到下一個弱分類器,直到樣本被正確分類。在達到規(guī)定的迭代次數(shù)或者預(yù)期的誤差率時,則強分類器構(gòu)建完成。
(1)很好的利用了弱分類器進行級聯(lián)
(2)可以將不同的分類算法作為弱分類器
(3)AdaBoost具有很高的精度
(4)相對于bagging算法和Random Forest算法,AdaBoost充分考慮的每個分類器的權(quán)重
(1)AdaBoost迭代次數(shù)也就是弱分類器數(shù)目不太好設(shè)定,可以使用交叉驗證來進行確定
(2)數(shù)據(jù)不平衡導(dǎo)致分類精度下降
(3)訓(xùn)練比較耗時,每次重新選擇當前分類器最好切分點
看到這個算法你是不是似曾相識?對,他們都是由多個弱算法組合成一個強算法的原理。印證了“三個臭皮匠賽過諸葛亮”。但是其實他們棣屬于不同的算法框架:
1)Bagging + 決策樹 = 隨機森林
2)AdaBoost + 決策樹 = 提升樹
那么bagging和boosting分別是什么呢?
Bagging和Boosting都是將已有的分類或回歸算法通過一定方式組合起來,形成一個性能更加強大的分類器,更準確的說這是一種分類算法的組裝方法。即將弱分類器組裝成強分類器的方法。
A)從原始樣本集中抽取訓(xùn)練集。每輪從原始樣本集中使用Bootstraping的方法抽取n個訓(xùn)練樣本(在訓(xùn)練集中,有些樣本可能被多次抽取到,而有些樣本可能一次都沒有被抽中)。共進行k輪抽取,得到k個訓(xùn)練集。(k個訓(xùn)練集之間是相互獨立的)
B)每次使用一個訓(xùn)練集得到一個模型,k個訓(xùn)練集共得到k個模型。(注:這里并沒有具體的分類算法或回歸方法,我們可以根據(jù)具體問題采用不同的分類或回歸方法,如決策樹、感知器等)
C)對分類問題:將上步得到的k個模型采用投票的方式得到分類結(jié)果;對回歸問題,計算上述模型的均值作為最后的結(jié)果。(所有模型的重要性相同)
其主要思想是將弱分類器組裝成一個強分類器。在PAC(概率近似正確)學(xué)習(xí)框架下,則一定可以將弱分類器組裝成一個強分類器。關(guān)于Boosting的兩個核心問題:
通過提高那些在前一輪被弱分類器分錯樣例的權(quán)值,減小前一輪分對樣例的權(quán)值,來使得分類器對誤分的數(shù)據(jù)有較好的效果。
通過加法模型將弱分類器進行線性組合,比如AdaBoost通過加權(quán)多數(shù)表決的方式,即增大錯誤率小的分類器的權(quán)值,同時減小錯誤率較大的分類器的權(quán)值。而提升樹通過擬合殘差的方式逐步減小殘差,將每一步生成的模型疊加得到最終模型。
Bagging:訓(xùn)練集是在原始集中有放回選取的,從原始集中選出的各輪訓(xùn)練集之間是獨立的。
Boosting:每一輪的訓(xùn)練集不變,只是訓(xùn)練集中每個樣例在分類器中的權(quán)重發(fā)生變化。而權(quán)值是根據(jù)上一輪的分類結(jié)果進行調(diào)整。
Bagging:使用均勻取樣,每個樣例的權(quán)重相等
Boosting:根據(jù)錯誤率不斷調(diào)整樣例的權(quán)值,錯誤率越大則權(quán)重越大。
Bagging:所有預(yù)測函數(shù)的權(quán)重相等。
Boosting:每個弱分類器都有相應(yīng)的權(quán)重,對于分類誤差小的分類器會有更大的權(quán)重。
Bagging:各個預(yù)測函數(shù)可以并行生成
Boosting:各個預(yù)測函數(shù)只能順序生成,因為后一個模型參數(shù)需要前一輪模型的結(jié)果。
這兩種方法都是把若干個分類器整合為一個分類器的方法,只是整合的方式不一樣,最終得到不一樣的效果,將不同的分類算法套入到此類算法框架中一定程度上會提高了原單一分類器的分類效果,但是也增大了計算量。
四、隨機森林算法是什么?
隨機森林算法是以決策樹為基學(xué)習(xí)器構(gòu)建bagging的基礎(chǔ)上,進一步在決策樹的訓(xùn)練過程中引入隨機屬性的算法。
在機器學(xué)習(xí)中,隨機森林是一個包含多個決策樹的分類器, 并且其輸出的類別是由個別樹輸出的類別的眾數(shù)而定。 Leo Breiman和Adele Cutler發(fā)展出推論出隨機森林的算法。
而 "Random Forests" 是他們的商標。 這個術(shù)語是1995年由貝爾實驗室的Tin Kam Ho所提出的隨機決策森林(random decision forests)而來的。這個方法則是結(jié)合 Breimans 的 "Bootstrap aggregating" 想法和 Ho 的"random subspace method"以建造決策樹的集合。
隨機森林算法之根據(jù)下列算法而建造每棵樹:
用N來表示訓(xùn)練用例(樣本)的個數(shù),M表示特征數(shù)目。
輸入特征數(shù)目m,用于確定決策樹上一個節(jié)點的決策結(jié)果;其中m應(yīng)遠小于M。
從N個訓(xùn)練用例(樣本)中以有放回抽樣的方式,取樣N次,形成一個訓(xùn)練集(即bootstrap取樣),并用未抽到的用例(樣本)作預(yù)測,評估其誤差。
對于每一個節(jié)點,隨機選擇m個特征,決策樹上每個節(jié)點的決定都是基于這些特征確定的。根據(jù)這m個特征,計算其最佳的分裂方式。
每棵樹都會完整成長而不會剪枝,這有可能在建完一棵正常樹狀分類器后會被采用)。
以上就是關(guān)于bagging算法原理相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
bard和chatGPT區(qū)別(bargain和cheap的區(qū)別)
小紅書個人主頁網(wǎng)址(小紅書個人主頁網(wǎng)址是多少)