将分类器组合的过程中,将重点逐渐聚焦于那些被错分的样本点,这种做法背后的数学原因,就是这讲的内容。
在用bootstraping生成g的过程中,由于抽样对不同的g就生成了不同的u,接下来就是不断的调整u,使得Ein最小。
g越不同,通过aggregation,越能得到更好的结果。通过调整u来得到不同的g。如果某个gt,在ut+1时表现的不好,那么gt或与gt很像的hypothesis就
可能不会被选到。因此,可通过调整ut+1来使g不同。那么如何定义g的表现不好呢?如果错误率与丢硬币没什么两样(即二分之一),那就是表现差
下面讲了如何调整犯错和没有犯错的u,来使得错误率为二分之一。
更近一步,定义一个scaling factor:
那么就可以得到一个基本的算法。第一轮的u可以相等,但组成G的各个g的权值不应相等。
接下来是详细算法的过程,包括g的权值的选取。整个AdaBoost算法包括三个部分:基本的算法A+优化的g+权值
接下来是理论的保证:只要基本算法A的错误率小于二分之一,就能通过这个算法得到性能很好的算法。
接下来给了个例子,将AdaBoost与decision stump(弱分类器,每次利用单一的feature,二维平面上就是一条条垂直或水平的线,因为它只在一个维度下进行分割)结合
可以参考这位博主的笔记:http://blog.csdn.net/lg1259156776/article/details/46831191
时间: 2024-11-06 21:59:54