一些关于bootstrap,bagging,Adaboost,random forest, gradient boost的基本理解
生活随笔
收集整理的這篇文章主要介紹了
一些关于bootstrap,bagging,Adaboost,random forest, gradient boost的基本理解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Bootstraping:?
名字來自成語“pull up by your own bootstraps”,意思是依靠你自己的資源,稱為自助法,
有放回的抽樣方法,是非參數(shù)統(tǒng)計(jì)中一種重要的估計(jì)統(tǒng)計(jì)量方差進(jìn)而進(jìn)行區(qū)間估計(jì)的統(tǒng)計(jì)方法
bagging:
bootstrap aggregating的縮寫,套袋法。
每次使用bootstraping方法抽取k個(gè)樣本,得到k個(gè)訓(xùn)練集,k個(gè)訓(xùn)練集之間是相互獨(dú)立的,每次使用一個(gè)訓(xùn)練集得到一個(gè)模型,k個(gè)訓(xùn)練集共得到k個(gè)模型。
對分類問題:將上步得到的k個(gè)模型采用投票的方式得到分類結(jié)果;
對回歸問題,計(jì)算上述模型的均值作為最后的結(jié)果。(即所有模型的重要性相同)
boosting:
以AdaBoost為例:通過迭代每次學(xué)習(xí)一個(gè)基本分類器,每次迭代中提高那些被前一輪分類器錯(cuò)誤分類的數(shù)據(jù)的權(quán)值,而降低那些被正確分類的數(shù)據(jù)的權(quán)值,最后將基本分類器線性組合為強(qiáng)可學(xué)習(xí)分類器,其中給分類誤差率小的基本分類器較大的系數(shù)權(quán)值,給分類誤差率較大的基本分類器較小的系數(shù)權(quán)值。
bagging是基于隨機(jī)取樣建立模型,而boosting根據(jù)誤差率調(diào)整權(quán)值
隨機(jī)森林rand forest
是用隨機(jī)的方式建立一個(gè)森林,森林里面有很多的決策樹組成,隨機(jī)森林的每一棵決策樹之間是沒有關(guān)聯(lián)的。在得到森林之后,對于分類問題,當(dāng)有一個(gè)新的輸入樣本進(jìn)入的時(shí)候,就讓森林中的每一棵決策樹分別進(jìn)行一下判斷,采用投票的方式進(jìn)行決策
梯度提升 gradient boost
每一次建立模型是在之前建立模型損失函數(shù)的梯度下降方向。
損失函數(shù)(loss function)描述的是模型的不靠譜程度,損失函數(shù)越大,則說明模型越容易出錯(cuò)。
讓損失函數(shù)持續(xù)的下降說明我們的模型在不停的改進(jìn),而最好的方式就是讓損失函數(shù)在其梯度(Gradient)的方向上下降(梯度方向下降的最快)
另外:
1)Bagging + 決策樹 = 隨機(jī)森林
2)AdaBoost + 決策樹 = 提升樹
3)Gradient Boosting + 決策樹 = GBDT
名字來自成語“pull up by your own bootstraps”,意思是依靠你自己的資源,稱為自助法,
有放回的抽樣方法,是非參數(shù)統(tǒng)計(jì)中一種重要的估計(jì)統(tǒng)計(jì)量方差進(jìn)而進(jìn)行區(qū)間估計(jì)的統(tǒng)計(jì)方法
bagging:
bootstrap aggregating的縮寫,套袋法。
每次使用bootstraping方法抽取k個(gè)樣本,得到k個(gè)訓(xùn)練集,k個(gè)訓(xùn)練集之間是相互獨(dú)立的,每次使用一個(gè)訓(xùn)練集得到一個(gè)模型,k個(gè)訓(xùn)練集共得到k個(gè)模型。
對分類問題:將上步得到的k個(gè)模型采用投票的方式得到分類結(jié)果;
對回歸問題,計(jì)算上述模型的均值作為最后的結(jié)果。(即所有模型的重要性相同)
boosting:
以AdaBoost為例:通過迭代每次學(xué)習(xí)一個(gè)基本分類器,每次迭代中提高那些被前一輪分類器錯(cuò)誤分類的數(shù)據(jù)的權(quán)值,而降低那些被正確分類的數(shù)據(jù)的權(quán)值,最后將基本分類器線性組合為強(qiáng)可學(xué)習(xí)分類器,其中給分類誤差率小的基本分類器較大的系數(shù)權(quán)值,給分類誤差率較大的基本分類器較小的系數(shù)權(quán)值。
bagging是基于隨機(jī)取樣建立模型,而boosting根據(jù)誤差率調(diào)整權(quán)值
隨機(jī)森林rand forest
是用隨機(jī)的方式建立一個(gè)森林,森林里面有很多的決策樹組成,隨機(jī)森林的每一棵決策樹之間是沒有關(guān)聯(lián)的。在得到森林之后,對于分類問題,當(dāng)有一個(gè)新的輸入樣本進(jìn)入的時(shí)候,就讓森林中的每一棵決策樹分別進(jìn)行一下判斷,采用投票的方式進(jìn)行決策
梯度提升 gradient boost
每一次建立模型是在之前建立模型損失函數(shù)的梯度下降方向。
損失函數(shù)(loss function)描述的是模型的不靠譜程度,損失函數(shù)越大,則說明模型越容易出錯(cuò)。
讓損失函數(shù)持續(xù)的下降說明我們的模型在不停的改進(jìn),而最好的方式就是讓損失函數(shù)在其梯度(Gradient)的方向上下降(梯度方向下降的最快)
另外:
1)Bagging + 決策樹 = 隨機(jī)森林
2)AdaBoost + 決策樹 = 提升樹
3)Gradient Boosting + 決策樹 = GBDT
總結(jié)
以上是生活随笔為你收集整理的一些关于bootstrap,bagging,Adaboost,random forest, gradient boost的基本理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员面试的 3 大反面案例!看灯大侠最
- 下一篇: 去掉烦人的 “ ! = null (判