集成学习之boosting系列算法
email: iamzozo@163.com
2、什么是集成学习?(what)
2.1)集成学习中的概念
如图1所示,集成学习是将多个个体学习器以某种结合的方式整合起来,形成一个学习整体,当其中的每个个体学习器是同一种类型的,比如都是神经网络,这种集成称为同质集成(homogeneous),此时每个个体学习器称为基学习器(base learner),相应的学习算法称为基学习算法(base learning algorithm)。与同质集成相对应的就是异质(heterogenous)集成,此时每个个体学习器是不同类型的,比如有的是决策树,有的是神经网络,此时个体学习器称为组件学习器(component learner)或者直接称为个体学习器,由于每个个体学习器不一样,因此也就不存在基学习算法。
2.2)集成的策略
从图1可以发现,个体学习器是多个的,因此根据个体学习器的生成方式,目前的集成学习可以为两大类:串行序列化,并行化。串行的情况是个体学习器之间存在强依赖,并行的则是不存在强依赖关系。并行的代表是Bagging和随机森林(Random Forest),串行的代表就是本篇文章所讨论的主题:Boosting。
2.3)结合的策略
图1中输出之前有个模块,叫做结合模块,这个模块是用来对每个个体学习器的学习结果进行结合。我们来看看目前常见的结合策略。
首先我们做些形式化的定义,已知个个体学习器,其中学习器在某个样本 上的输出为,则相应的结合策略有:
- 平均法(一般用于数值型输出):
1)简单平均:为个体学习器 的权重,通常
事实上简单平均法就是加权平均的特例,当时两者是等价的。
- 投票法(一般用于分类任务)
首先定义一些记号:对于类分类任务,类别标记集合 ,设,其中表示的是个体学习器在在类别标记上的输出。常见的输出类型有one-hot和概率,如,,采用前者的称为硬投票(hard voting),后者的则称为软投票(soft voting)
1)绝对多数:
2)相对多数:
3)加权投票: