快速理解bootstrap,bagging,boosting-三个概念
1 booststraping:意思是依靠你自己的資源,稱為自助法,它是一種有放回的抽樣方法,它是非參數統計中一種重要的估計統計量方差進而進行區間估計的統計方法。
其核心思想和基本步驟如下:
(1)采用重抽樣技術從原始樣本中抽取一定數量(自己給定)的樣本,此過程允許重復抽樣。
(2)根據抽出的樣本計算統計量T。
(3)重復上述N次(一般大于1000),得到統計量T。
(4)計算上述N個統計量T的樣本方差,得到統計量的方差。
應該說是Bootstrap是現代統計學較為流行的方法,小樣本效果好,通過方差的估計可以構造置信區間等。
?2 bagging:bootstrap aggregating的縮寫。讓該學習算法訓練多輪,每輪的訓練集由從初始的訓練集中隨機取出n個訓練樣本組成,某個訓練樣本在某訓練集中可能出現多次
或者不出現,訓練之后可得到一個預測函數序列h_1,h_n,最終的預測函數H對分類問題采用投票方式,對回歸問題(加權平均好點,但是沒)采用簡單平均方式判別。
訓練R個分類器f_i,分類器之間其他相同就是參數步相同。其中f_i是通過從訓練集和中隨機取N次樣本訓練得到的。對于新樣本,用這個R個分類器去分類,得到最多的那個類別
就是這個樣本的最終類別。
3 boost:其中主要的是adaboost(adaptive boosting)。初始化時對每一個訓練賦予相同的權重1/n,然后用該學算法對訓練集訓練t輪,每次訓練后,對訓練失敗的訓練列賦
予較大的權重,也就是讓學習算法在后續的學習中集中對比較難的訓練列進行訓練(就是把訓練分類錯了的樣本,再次拿出來訓練,看它以后還敢出錯不),從而得到一個預測
函數序列h_1,h_m,其中h_i也有一定的權重,預測效果好的預測函數權重大,反之小。最終的預測函數H對分類問題采用有權重的投票方式,對回歸問題采用加權平均的方式對
新樣本判別。
類似bagging方法,但是訓練是串行的,第K個分類器訓練時,關注對前k-1分類器中錯誤,不是隨機取樣本,而是加大取這些分錯的樣本的權重。
4 bagging和boosting的區別:二者的主要區別是取樣本方式不同。bagging采用均勻取樣,而boosting根據錯誤率來采樣,因此boosting的分類精度要由于bagging。
baging的訓練集選擇是隨機的,各輪訓練集之前互相獨立,而boosting的各輪訓練集的選擇與前面各輪的學習結果相關;bagging的各個預測函數沒有權重,而boost有權重;
bagging的各個函數可以并行生成,而boosting的各個預測函數只能順序生成。
對于象神經網絡這樣極為消耗時間的算法,bagging可通過并行節省大量的時間開銷。baging和boosting都可以有效地提高分類的準確性。在大多數數據集中,boosting的準確
性要比bagging高。有一些數據集總,boosting會退化-overfit。boosting思想的一種改進型adaboost方法在郵件過濾,文本分類中有很好的性能。
5 gradient boost(Mart,Treenet):boosting是一種思想,Gradient Boosting是一種實現Boosting的方法,它的主要思想是,每一次建立模型,是在之前建立模型損失函數的梯
度下降方向。損失函數描述的是模型的不靠譜程度,損失函數越大,說明模型越容易出錯。如果我們的模型能夠讓損失函數持續的下降,說明我們的模型在不停的改進,而最好
的方式就是讓損失函數在其梯度的方向下降。
6 Rand Forest:隨機森林,使用隨機的方式建立一個森林,森林里面有很多的決策樹組成,隨機森林的每一課決策樹之間是沒有關聯的。在得到森林之后,當有一個新的輸入
樣本進入,就讓森林中的每一顆決策樹分別進行判斷,看看這個樣本屬于那個類,然后看看哪一類被選擇多,就預測為那一類。
在建立決策樹的過程中,需要注意兩點-采樣和完全分裂。首先是兩個隨機采樣的過程,random forest對輸入的數據要經行行,列的采樣。
對于行采樣,采用有回放的方式,也就是在采樣得到的樣本集合中,可能有重復的樣本。假設輸入樣本為N個,那么采樣的樣本也為n個。這樣使得在訓練的時候,每一顆樹的
輸入樣本都不是全部樣本,使得相對不容易出現over-fitting。然后進行采樣,從M個feature中,選擇m個。
之后就是對采樣之后的數據使用完全分裂的方式建立出決策樹,這樣決策樹的某一個葉子節點要么是無法繼續分裂,要么里面的所有樣本都是指向的同一類分類。一般的決策樹
都有一個重要的步驟,剪枝,但是這里不這樣干,由于之前的兩個隨機采樣的過程保證了隨機性,所以就算不剪枝,也不會over-fitting。按這種算法得到的隨機森林中的每一顆
樹都是很弱的,但是大家組合起來就很厲害了。可以這樣比喻隨機森林:每一顆決策樹就是一個精通于某一個窄領域的專家,這樣在隨機森林中就有了很多個精通不同領域的專
家,對于新的樣本,可以用不同的角度看待它,最終由各個專家,投票得到結果。
總結
以上是生活随笔為你收集整理的快速理解bootstrap,bagging,boosting-三个概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 异常处理相关说明
- 下一篇: 一点关于cloze-style问题的简谈