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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【原】关于AdaBoost的一些再思考

發(fā)布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【原】关于AdaBoost的一些再思考 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、Decision Stumps:

Decision Stumps稱為單層分類器,主要用作Ensemble Method的組件(弱分類器)。一般只進(jìn)行一次判定,可以包含兩個或者多個葉結(jié)點。對于離散數(shù)據(jù),可以選取該屬性的任意一個數(shù)據(jù)作為判定的分割點;對于連續(xù)數(shù)據(jù),可以選擇屬性的一個閾值做為分割點進(jìn)行判定(大于該閾值分配到一類,小于該閾值分配到另一類;當(dāng)然也可以選取多個閾值并由此得到多個葉結(jié)點)。

?

二、AdaBoost的理解:

1、基本流程

簡單的說,AdaBoost框架就是根據(jù)指定的參數(shù),進(jìn)行輪訓(xùn)練得到個弱分類器及每個弱分類器對應(yīng)的權(quán)重,最后將這些弱分類器的結(jié)果進(jìn)行線性組合得到最終的結(jié)果。

關(guān)于多屬性數(shù)據(jù)集的處理:

在每一輪訓(xùn)練過程中,在每個屬性上根據(jù)分割的閾值不同得到多個單層分類器。在這些從所有屬性上得到的分類器中選取一個帶權(quán)誤差率最小的單層分類器作為該輪訓(xùn)練的弱分類器。

?

2、帶權(quán)分類誤差

在進(jìn)行訓(xùn)練之前,為訓(xùn)練集中的每個樣本分配一個權(quán)重,使用向量表示。在第輪訓(xùn)練結(jié)束后,根據(jù)得到的弱分類器的性能計算該分類器對應(yīng)的權(quán)值,并由的在訓(xùn)練集上的分類結(jié)果對權(quán)重向量進(jìn)行更新。

分類器的性能度量和該分類器在訓(xùn)練集上的結(jié)果,都是通過計算該分類器在訓(xùn)練集上的帶權(quán)分類誤差獲取。所謂帶權(quán)分類誤差,是指將待分類的樣本包含的權(quán)重(此處的權(quán)重就是之前為該樣本分配的權(quán)重),結(jié)合在該數(shù)據(jù)集上的分類誤差得到分類器在該數(shù)據(jù)集上的一個考慮樣本權(quán)重的分類誤差,其定義如下:

???????????????????????????????? (1.1)

其中,表示第個弱分類器的帶權(quán)分類誤差值,表示第次更新后樣本的權(quán)重,表示使用第個弱分類器對樣本的分類結(jié)果,表示樣本的真實標(biāo)簽,是一個指示函數(shù),其值如下:

?????????????????????????? (1.2)

通過公式(1.1)和(1.2)可以看出帶權(quán)分類誤差與兩方面的因素相關(guān):

1) 分類器在樣本上的誤差值;

2) 樣本集中每個樣本的權(quán)重;

注意:AdaBoost就是通過該值與弱分類器產(chǎn)生關(guān)系。

?

3、帶權(quán)分類誤差再分析

以DS(Decision Stumps)弱分類器為例,對于一個數(shù)據(jù)集包含多個屬性,要在該數(shù)據(jù)集上學(xué)習(xí)一個DS,可以使用不同的屬性作為分割判斷條件。對于同一個屬性,也可以選擇多個不同的分割點(離散型)/閾值(連續(xù)性)作為判斷條件。因此,對于一個數(shù)據(jù)集實質(zhì)上可以產(chǎn)生很多不同的DS,那么究竟選擇哪一個DS作為我們從該數(shù)據(jù)集上最終學(xué)習(xí)得到的弱分類器?

很直觀的想法,我們可以使用窮舉產(chǎn)生所有的DS,然后分別計算每個DS的分類誤差,選擇具有最小分類誤差的DS作為從該數(shù)據(jù)集上學(xué)習(xí)到的弱分類器。然而,問題出在我們學(xué)習(xí)的這個數(shù)據(jù)集中的所有樣本權(quán)重(此處可以理解為每個樣本的價值、貢獻(xiàn)度等)并不相同。我們在考慮選擇哪個DS最為最終的弱分類器時不但要考慮該DS的分類錯誤率,還要考慮每個樣本的權(quán)重問題,因為將高權(quán)重的樣本分錯造成的后果遠(yuǎn)比將低權(quán)重樣本分錯更為嚴(yán)重。

考慮公式(1.1)中帶權(quán)分類誤差的定義,該指標(biāo)有效的將分類器的分類誤差和待分類樣本的權(quán)重結(jié)合起來,因此可以作為選擇弱分類器時的一個標(biāo)準(zhǔn)使用。

總結(jié)起來簡單的說,帶權(quán)分類誤差將分類器的分類誤差和樣本本身的權(quán)重進(jìn)行結(jié)合,可以作為模型選擇的一個標(biāo)準(zhǔn)使用。

?

4、弱分類器的權(quán)重計算

弱分類器對應(yīng)的權(quán)重與其本身的帶權(quán)分類誤差相關(guān),其計算公式如下:

????????????????????????????????????????? (1.3)

通過簡單分析可以知道,帶權(quán)分類誤差的范圍是[0,1],繪制分類器的權(quán)重函數(shù)的圖像,如下所示:

Fig. 1. 弱分類器權(quán)重函數(shù)分布

由Fig. 1.可以看出,弱分類器的權(quán)重與其對應(yīng)的帶權(quán)分類誤差呈反比關(guān)系,即就是帶權(quán)分類誤差越小,該分類器對應(yīng)的權(quán)值越大;反之亦然。

?

5、訓(xùn)練樣本的權(quán)重更新

訓(xùn)練得到新的弱分類器后需要對樣本權(quán)值進(jìn)行更新,更新的公式如下:

?????????????????????????????????????????? (1.4)

公式(1.4)定義了計算弱分類器對應(yīng)的權(quán)值后,對樣本的權(quán)重更新過程。如果該分類器在該樣本上分類正確,則降低該樣本的權(quán)值;如果分類錯誤,則提高該樣本的權(quán)值。公式中前半部分主要用于對整個權(quán)值向量進(jìn)行歸一化,以使其和為1。

?

6、參考

維基百科關(guān)于AdaBoost算法的介紹:

用 xi 和 yi 表示原始樣本集D的樣本點和它們的類標(biāo)(注意,yi的取值只能是+1或-1)。用 Wk(i) 表示第k次迭代時全體樣本的權(quán)重分布。這樣就有如下所示的AdaBoost算法:

1. begin initial D={x1,y1,...,xn,yn},kmax(最大循環(huán)次數(shù)),Wk(i)=1/n,i=1,...,n

2. k ← 0

3. do k ← k+1

4. 訓(xùn)練使用按照 Wk(i) 采樣的 D 的弱學(xué)習(xí)器 Ck

5. Ek ← 對使用 Wk(i) 的 D 測量的 Ck 的訓(xùn)練誤差

6.

7.

8. until k=kmax

9. return Ck和αk,k=1,...,kmax(帶權(quán)值分類器的總體)

10. end

注意第5行中,當(dāng)前權(quán)重分布必須考慮到分類器 Ck 的誤差率。在第7行中, Zk 只是一個歸一化系數(shù),使得 Wk(i) 能夠代表一個真正的分布,而 hk(xi) 是分量分類器 Ck 給出的對任一樣本點 xi 的標(biāo)記(+1或-1),hk(xi) = yi 時,樣本被正確分類。第8行中的迭代停止條件可以被換為判斷當(dāng)前誤差率是否小于一個閾值。

最后的總體分類的判決可以使用各個分量分類器加權(quán)平均來得到:

這樣,最后對分類結(jié)果的判定規(guī)則是:

?

三、整體流程再梳理

按照自己的理解將AdaBoost的框架再進(jìn)行梳理一遍,整個Boost框架分為兩部分:訓(xùn)練和分類。

假設(shè)樣本的類別為:

1、訓(xùn)練部分

a) 為訓(xùn)練集中每個樣本分配權(quán)重;

b) 訓(xùn)練弱分類器;

c) 計算帶權(quán)分類誤差;

d) 計算弱分類器對應(yīng)的權(quán)重

e) 更新樣本權(quán)重

最終得到個不同的弱分類器及其對應(yīng)的權(quán)重。

?

2、分類部分

a) 對待分類樣本計算函數(shù)

b) 對該樣本最終的分類結(jié)果為

?

四、核心問題再討論

?

1、帶權(quán)分類誤差的作用:

在第二部分詳細(xì)討論了帶權(quán)樣本誤差的生成機制問題,描述了如何計算帶權(quán)樣本誤差和它怎樣對AdaBoost框架產(chǎn)生影響。這里,將帶權(quán)樣本誤差的作用再做以簡單的總結(jié),帶權(quán)分類誤差的主要作用有兩個:

1、 在訓(xùn)練弱分類器時,使用該指標(biāo)在訓(xùn)練的多個DS中選擇帶權(quán)分類誤差最小的最為該輪訓(xùn)練的弱分類器;

2、 在AdaBoost框架中,使用該指標(biāo)計算該輪訓(xùn)練得到的弱分類器對應(yīng)的權(quán)值;

?

2、弱分類器的誤差和AdaBoost框架的誤差:

實質(zhì)上,在整個訓(xùn)練的過程中,每輪訓(xùn)練得到的弱分類器可能一直會存在分類錯誤的問題(不論訓(xùn)練了多少輪,生成的單個弱分類器都有分類錯誤),然而整個AdaBoost框架卻有可能快速收斂(整個AdaBoost框架的錯誤率為0)。造成這個現(xiàn)象的原因是:

每輪訓(xùn)練結(jié)束后,AdaBoost框架會對樣本的權(quán)重進(jìn)行調(diào)整,該調(diào)整的結(jié)果是越到后面被錯誤分類的樣本權(quán)重會越高。這樣到后面,單個弱分類器為了達(dá)到較低的帶權(quán)分類誤差都會把樣本權(quán)重高的樣本分類正確。雖然單獨來看,單個弱分類器仍會造成分類錯誤,但這些被錯誤分類的樣本的權(quán)重都較低,在AdaBoost框架的最后輸出時會被前面正確分類的高權(quán)重弱分類器“平衡”掉。這樣造成的結(jié)果就是,雖然每個弱分類器可能都有分錯的樣本,然而整個AdaBoost框架卻能保證對每個樣本進(jìn)行正確分類,從而實現(xiàn)快速收斂。

轉(zhuǎn)載于:https://www.cnblogs.com/chaosimple/p/4029795.html

總結(jié)

以上是生活随笔為你收集整理的【原】关于AdaBoost的一些再思考的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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