Adaboost新理解
Adaboost有几个难点:
1、弱分类器的权重怎么理解?
误差大的弱分类器权重小,误差小的弱分类器权重大。这很好理解。在台湾大学林轩田老师的视频中,推导说,这个权值实际上貌似梯度下降,权值定义成1/2ln((1-ε)/ε),实际上是有梯度下降,求梯度取最陡得到。
2、弱分类器怎么通常选啥
可以选树(不选全树)
3、有了第一个弱分类器模型后,怎么导出其他的弱分类器,怎么理解正确分类的权值变小,错误分类的权值变大?
形象上讲,忽略正确分类的,重视错误分类的。
从数学上讲,我们希望各个分类器越不相同越好。弱分类器越不相同(正交就更好,记得垂直和水平切分两类点不?),我们求得的期望错误率会越小。这样,如果我将正确分类的少点重视,错误分类的多点重视,这会导致弱分类器不同程度加大。实际上,这会导致弱分类器会越来越强。(我从例子上看到,因为权值越来越多了)
从信息论的角度讲,我们希望从样例中获取更多的信息。(当然不可能是全部,全部的话,就是完全搜索,信息没有丢失,参数很多,过拟合)。分类正确的,我们已经挖掘出这些样例的“信息”,对于分错的,我们还没有挖掘出它的“信息”。我们仍然希望从分错的样例中挖出更多的“信息”。于是,考虑忽略正确分类的,重视错误分类的。
补充地是,希望弱分类器不相同,可以从几个方面入手:
(1)模型
(2)数据
(3)参数
(4)算法(如初始化不同)
4、既然能够通过这样的方式是弱分类器越来越强(感觉是这样,没验证),是否就用最后一个“弱”分类器就可以?
no,三个凑皮匠赛过一个诸葛亮!