编辑
2024-12-16
机器学习
0
请注意,本文编写于 123 天前,最后修改于 123 天前,其中某些信息可能已经过时。

目录

集成学习
自助聚合法(Bagging)
提升法(Boosting)
自适应提升法AdaBoost
随机森林
堆叠泛化

集成学习

集成学习选择一个由一系列假设h1,h2,,hnh_1,h_2,\cdots,h_n构成的集合,通过平均投票或者其他方法将预测结果组合

  • 每个单独的假设称为基模型
  • 它们组合后的模型称为集成模型

假设集成学习通过简单投票法结合K个基分类器,若超过半数的基分类器正确,则集成分类就输出正确,即

h(x)=sign(ihi(x))h(x)=sign\left(\sum_i h_i(x)\right)

假定基分类器的错误率相互独立,若为ϵ\epsilon,则集成后的错误率为

k=0K/2(Kk)(1ϵ)kϵKkexp(12K(12ϵ)2)\sum_{k=0}^{K/2}{K\choose k}(1-\epsilon)^k\epsilon^{K-k}\leq\exp\left(-\dfrac12K(1-2\epsilon)^2\right)

随着KK增大,错误率将指数下降

自助聚合法(Bagging)

首先创建多个随机训练数据集(训练数据集的子集)。然后基于随机训练数据集建立多个基模型。最后,汇总这些基模型的结果,可使用平均或多数投票

提升法(Boosting)

Boosting 是一种迭代的集成学习方法,它的目标是让分类器(或者模型)在训练过程中重点关注那些难以分类的样本

具体做法是根据上一轮分类的结果,自适应地调整训练样本的权重,使得错误分类的样本权重变大,让分类器在下一轮中更关注这些难以分类的样本

自适应提升法AdaBoost

AdaBoost 算法通过迭代训练多个弱分类器,每轮根据上轮分类结果调整样本权重,使错误分类的样本获得更高权重,从而在下一轮训练中被弱分类器重点关注。最终,所有弱分类器按其性能加权组合,形成一个强分类器。这个过程通过加权投票机制,将多个表现一般的弱分类器整合为一个高性能的强分类器

Hk(x)=sign(k=1Lαkhk(x))H_k(x)=sign\left(\sum_{k=1}^L\alpha_kh_k(x)\right)

随机森林

随机森林是一种集成学习算法,主要通过多个决策树的组合来进行分类或回归。它的工作流程如下:

  1. 随机采样:从训练数据集中通过有放回的方式随机抽取若干个样本,形成多个新的训练子集
  2. 随机特征选择:在构建每棵决策树时,从所有特征中随机选择一部分特征,然后基于这些特征来分裂节点
  3. 构建决策树:使用上述样本和选定特征,利用决策树算法(如CART)生成一棵决策树,每棵树独立生长,不进行剪枝
  4. 投票或平均:对于分类任务,随机森林将所有决策树的结果进行投票,选择出现次数最多的类别作为最终结果;对于回归任务,取所有树预测结果的平均值作为输出

随机森林通过引入随机性(随机样本和随机特征),有效地降低了单个决策树过拟合的风险,并提高了模型的泛化能力

堆叠泛化

堆叠泛化(Stacking) 是一种集成学习方法,主要通过将不同类型的模型组合起来,进一步提升预测性能

  1. 使用相同数据训练不同模型:在同一训练数据集上,分别训练多个不同类型的基模型(如SVM、逻辑回归、决策树等)
  2. 预测与验证:基模型对训练数据进行预测,并使用验证集(通过交叉验证)得到每个模型的输出结果
  3. 构建第二层模型:将基模型的预测结果作为新的输入特征,训练一个高层次的集成模型(如逻辑回归、线性回归等)。该模型负责综合所有基模型的结果,得到最终的预测输出
  4. 堆叠多层:堆叠可以继续多层扩展,每一层的输出作为下一层的输入,逐步优化整体模型性能

堆叠泛化通过组合多种不同模型的优势,并用一个新的集成模型学习如何整合它们的结果,从而减少偏差,提升预测效果,通常能优于单个模型的性能

本文作者:GBwater

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!