📄 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 + -