提升算法的核心思想是:组合多个弱分类器,然后成为一个强分类器。我们知道求弱分类器比强分类器要容易的多,那么如何提升便成为了开发提升方法时所要解决的问题,其中最具代表性的是AdaBoost算法。
-
AdaBoost算法
对于提升方法有两个需要注意的问题:一是在每一轮如何改变训练数据的权值或者概率分布;而是如何将弱分类器组合成一个强分类器。AdaBoost的做法是每一轮提高那些被前一轮弱分类器错误分类器样本的权值,为什么要加大权值?这样想,我们的目的是尽可能的分类正确,而被分类错误的点并不是说是噪声点(错误点),而是在当前的分类算法中被分类错误的,所以我们在下一轮中就要更加关注这些被分类错误的点,降低比重等于降低关注,所以我们就要提升这些点的比重;还有就是对弱分类器比重的处理,毫无疑问的是加大分类错误率小的若分类器的权值,使其在表决中起到更大的作用,减小误差大的弱分类器的权值,使其在表决中起较小的作用。
AdaBoost属于二分类算法,所以对于标记yi我们有yi={+1,-1},+1表示正例,-1表示负例。首先我们需要初始化实例点的权值分布,根据熵最大原理我们有以下公式: