1.7-机器学习分类算法-集成方法

1.集成方法(ensemble method)

一般来说,做一个重要决定的时候可能会综合多位专家的建议。集成方法就是基于这个思想,联合多个专家系统进行分类。常用的集成方法主要有以下两种:

  • 1.投票选举(bagging):基于数据重抽样随机分类器构造,现在最流行的就是随机森林算法
  • 2.再学习(boosting):基于所有分类器加权求和,本质上是根据错误分类的数据对分类器进行更新,目前最流行的就是Adaboosting算法

1.1 随机森林算法

1.1.1 随机森林算法原理

森林主要体现在同时构建多棵决策树,使用多棵决策树联合的进行预测。随机体现在数据随机化待选特征随机化。 - 数据随机化:对于现有的数据集在构建每颗决策树时采用放回或不放回的随机抽样方式进行选取,使用抽样得到的子数据集进行决策树构建。多棵决策树构建完成后,采用联合预测的方式,进行统计投票,决定出最终结果。 - 待选特征随机化:对于待选择的特征,随机选取出一部分,再利用ID3或者C4.5等算法进行最优特征选取。

undefined

1.1.2 随机森林算法实例

1.2 Adaboosting算法

Adaboosting算法的核心思想是“使用多个弱分类器联合进行分类,首先训练一个基础的分类器,通过分类找出被错误分类的训练数据,之后提高被错误分类的数据的权重。然后根据新的训练数据权重,再训练一个基础分类器。循环往复,直到基础分类器的数量达到预设值T。最终使用时,将T个学习器进行加权求和。”该算法的示意图如下图所示。

undefined

我们以二分类情况为例子,即对于一个样本判断的结果只有两种1或者-1。假设训练集为N个多维的特征向量,学习器的数目为T个。则T个分类器的综合统计结果计算公式如下:

假设现在已经有了n-1个基础分类器,要新增一个基础分类器,则新的级联训练器分类公式如下:

那么此时需要确定的参数就是以下两点: - 1.该分类器的权重 - 2.该新增的基础分类器内部对各个特征的权重。

和前面的各种算法一样,为了不断优化分类器,总需要引入一个损失函数。这里的假设损失函数定为指数损失函数:

因为第n个分类器,对第i个样本的分类结果只有两种情况。相同即或者两者异号,所以:

因为基础分类器的权重大于0,所以,从而可以有更多的错误分类被关注。

对E关于求导,并令导数等于0。得

所以该算法的主要流程为:

  • 1.初始化,平均每个样本的权重为

  • 2.用当前权重对样本进行分类,并计算当前分类器权重:

  • 3.根据当前分类器权重训练下一个分类器的训练样本权重

    • 对于正确的样本,应减少该样本训练权重
    • 对于错误的样本,应增加该样本训练权重

  • 4.循环2、3步骤,直到分类器数量达到预定值T

参考链接:

  • https://blog.csdn.net/qilinxo/article/details/72935464
  • https://www.zybuluo.com/gump88/note/453214
  • https://www.jianshu.com/p/fc35dc424742