?? 29.txt
字號:
發信人: GzLi (笑梨), 信區: DataMining
標 題: [合集]做過boosting的高手請進
發信站: 南京大學小百合站 (Tue Oct 29 18:48:18 2002), 站內信件
jeff814 (mimi) 于Thu Oct 24 09:15:51 2002)
提到:
幾個問題(在//后面)
AdaBoosting算法如下:
n輸入:(X1,Y1), (X2,Y2),…(Xn,Yn)
Xi∈X, Yi∈Y={+1,-1}
初始化:D1(i)=1/n
nFor t=1,…,T
n在Dt下訓練, //(指該輪的訓練集的得到,是按每個樣本的權重從最初給定的集合中按
概率抽取,對吧?)
n得到弱的假設ht: X->{-1,+1},
錯誤率:Εt=ΣDt(i) [ht(Xi)≠Yi] //是按第一輪的訓練集合來算的呢,還是按本
輪的集合來算的?
n選擇αt=1/2 ln ( (1- Εt)/ Εt ),
n更改權值:
if ht(Xi)≠Yi , Dt+1(i)=Dt(i)* e αt /Zt
if ht(Xi)=Yi , Dt+1(i)=Dt(i)* e -αt /Zt
n輸出:H(X)=sign( ∑ αtht(X) ) ) //最終的假設是多輪獨立假設的加權。這里因
為Y={+1,-1},所以實際上是取權重最大的假設作為最后輸出。也就是說,一般的形式應該
是“加權”,“取最大”只是其中的特殊情況而已,對嗎?
附:權重——輪數
10.273 第一輪
9.262 二
4.793
4.612
5.599
3.032
0.414
2.742
1.595
1.604
//這樣的結果合理嗎?
Thanks
zoutao814@sina.com
strawman (獨上江樓思渺然) 于Thu Oct 24 09:32:01 2002提到:
如果錯誤率大于1/2你怎么辦?好像算法中沒有考慮吧。
strawman (獨上江樓思渺然) 于Thu Oct 24 17:34:18 2002提到:
adaboost算法有不同的版本,我知道的就有用于分類的和用于回歸估計的。算法的思想都
是一樣的,但是具體操作起來還是有些問題需要注意。
譬如說,訓練錯誤率,有可能錯誤率大于0.5的,這樣的component要拋棄,還有可能錯誤
率等于0的,這樣的component的權趨于無窮大。還有,就是隨著訓練輪數的增加,有些例
子的權值變得很大,這些例子就是那些難學習的例子;有些例子權值變得很小,這些例子
容易學習。這樣在正規化的時候,就有可能造成浮點數溢出。
這些都是應該在程序中考慮到的。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -