猪猪のAI笔记
  • README
  • 读书笔记
    • 1.特征工程
      • 1.1.数值空间
      • 1.2.文本数据
      • 1.3.词袋到TF-IDF
      • 1.4.分类变量
      • 1.5.数据降维:PCA
    • 2.自然语言
      • 2.1.处理文本的机器
      • 2.2.词频背后
      • 2.3.神经网络基础
      • 2.4.Word2Vec,词向量推理
      • 2.5.神经网络深入
    • 3.神经网络
      • 3.1.绪论
      • 3.2.机器学习
      • 3.3.线性模型
      • 3.4.前馈神经网络
      • 3.5.卷积神经网络
      • 3.6.循环神经网络
      • 3.7.网络优化
      • 3.8.注意力机制/外部记忆
      • 3.9.无监督学习
    • 4.XGboost
      • 4.1.基础和初探
  • 课程系列
    • CDA III
      • 1.数据挖掘
      • 2.特征工程
      • 3.自然语言
      • 4.神经网络
      • 5.支持向量机
      • 6.集成学习
      • 7.朴素贝叶斯
      • 8.决策树
      • 9.聚类
      • 10.模型评估
      • 11.关联规则
      • 12.计算题知识点
      • 13.计算题分析
    • 题库分析
      • 深度学习
      • 机器学习-01
      • 机器学习-02
      • 机器学习-03
      • 机器学习-04
      • 机器学习-05
      • 机器学习-06
      • 机器学习-07
      • 机器学习-08
      • 机器学习-09
      • 机器学习-10
      • Level III模拟(一)
      • Level III模拟(二)
    • 知识点
      • Transformer模型
      • ELMO,BERT,GPT
      • 正则化之L1,L2
      • 距离详解
    • K-RPA
      • RPA行业展望
      • 命名规范和开发原则
      • 脚本向导编程
      • K-RPA异常处理
      • K-RPA文件/目录操作
      • (高)K-RPA环境
      • (高)K-RPA命名规范和开发原则
      • (高)K-RPA脚本向导编程
      • (实)01:安装K-RPA
      • (实)02:脚本向导编程
      • (实)03:完整案例
      • (实)04:文件和集成
由 GitBook 提供支持
在本页
  • 基本概念
  • 1. 模型融合
  • 1.1. 多数法(Max Voting)
  • 1.2. 平均法(Averaging)
  • 1.3. 加权平均(Weighted Averaging)
  • 1.4. 堆叠(Stacking)
  • 1.5. 混合法(Blending)
  • 2. 机器学习元算法
  • 2.1. 抽样技术
  • 2.2. Bagging
  • 2.3. Random Forest
  • 2.4. Boosting
  • 2.5. GBDT

这有帮助吗?

  1. 课程系列
  2. CDA III

6.集成学习

基本概念

    将多个模型的决策结合起来,提高整体效果;集成学习模型通过将多个学习器组合,获取比单一学习显著优越的泛化能力。分类大纲:

  • 模型融合:将训练出的强学习器组合进一步提高性能。

    • 多数法(Max Voting)

    • 平均法(Averaging)

    • 加权平均法(Weighted Averaging)

    • 堆叠法(Stacking)

    • 混合法(Blending)

  • 机器学习元算法:弱学习器的组合。

    • 袋装法(Bagging)

      • 袋装通用(Bagging Meta-Estimator)

      • 随机森林(Random Forest)

    • 提升法(Boosting)

      • Adaboost

      • XGBoost

      • Gradient Boost

1. 模型融合

    步骤:

  1. 先训练出多个功能强大的学习器

  2. 然后,进一步提高学习器能力,尝试将其组合起来

    优缺点:

  • 好处是增强模型的预测和泛化能力

  • 坏处是多模型的学习加上再学习的过程会增加计算代价

    目标:好而不同:

  • 好表示个体学习器的性能都要好

  • 不同是个体模型的类别不同

1.1. 多数法(Max Voting)

    通常用于分类,使用多个模型对每个数据预测,每个模型预测视为“投票”,大多数模型得到的结果为最终预测结果。

1.2. 平均法(Averaging)

    采用所有模型的平均预测值进行最终预测,可用于回归和分类中的概率预测。

1.3. 加权平均(Weighted Averaging)

    平均法的扩展,根据模型的重要性分配不同权重(权重总和为1.0)。

1.4. 堆叠(Stacking)

    堆叠法来自多个模型(KNN、SVM、决策树)的预测来构建新模型,使用多个模型,在交叉验证基础上,使用部分训练数据训练,然后部分数据测试,最终得到每个模型的预测结果,最终将多个模型融合到一起。(过程很复杂)

1.5. 混合法(Blending)

    混合法和堆叠法类似,区别是它仅使用验证集来重新建模并进行预测,模型是一样的,但训练部分使用的数据集有所区别(训练集、验证集、测试集)。

2. 机器学习元算法

    不使用多个算法,一般只使用一个算法,同一个算法创建不同的模型,后期使用投票的方式处理(如使用决策树),每个分类器都是弱分类器,但最终组合后效果比强分类器好。

    分成两大类:

  • Bagging个体学习器相互之间不依赖,同时对样本随机采样并行化生成个体学习器。——对样本随机取样产生多个独立模型,平均所有模型预测值,目的是减小方差(Variance),模型稳定。

  • Boosting的个体学习器之间存在依赖,在前边模型的训练结果生成的模型,必须串行化生成。——拟合前一个模型的误差,主要是减小偏差(Bias),模型准确但稳定性不是很好。

    下图Variance和Bias区别:准和稳。

2.1. 抽样技术

    抽样:

  1. 在训练数据集可取回时的抽样(Bagging/Boosting)

  2. 在输入特征上抽样(Random Forest = Bagging + 特征抽样)

2.2. Bagging

    十个分类器投票来计算结果,最终根据Sum的结果综合投票计算——都是一层二元树,而投票结果却有二层二元树的能力。这个例子的假设:

  1. 每一层的实例的权重是一样的,各自独立,一视同仁。

  2. 不太容易出现过拟合(Model Overfitting)。

2.3. Random Forest

    随机森林是特别针对决策树的Bagging方法,除了对训练数据上做随机,它还会在算法上做随机,从K个最好的字段中随机挑选特征,并从这些特征中选择最好的:

  1. 训练数据上随机抽样

  2. 特征上随机抽样(比通用Bagging多的一个特点)

Bagging的方法不一定要和随机森林配搭,它允许搭配任何算法,所以Random Forest = Bagging + 特征抽样。

2.4. Boosting

    梯度提升决策树(GBDT:Gradient Boosting Decision Tree),集成许多弱(决策树)分类器,以发展最优模型的方法。Boosting是利用迭代找到优化后的模型,一旦碰到数据集非常复杂时,成千上万计算会成为瓶颈,所以有了极限梯度提升(XGBoost:eXtreme Gradient Boosting),之后微软训练了效率更高、准确率更高的LightGBM(Light Gradient Boosting Machine)。

    同样是在训练数据上做手脚,在挑选训练数据时会动态调整每一笔数据被动态抽到的概率,针对难以分类正确的数据提高其抽样概率,它对训练数据提供了一个概率的权重,让某些数据更容易被抽样。——根据上一次的结果调整权重,决定下一次哪些数据必须被抽中。

  • 然后发现某些数据分类错误,于是调整其权重。

权重低不代表不会被抽中。

    参考下图:

    4的概率在后续抽样提高了,而其他正确的分类下的概率降低了。

权重分配后,权重的总和依旧是1.0。

    越后面的分类器越重要,从图上可以看到三个分类器最终调整的权重会不一样,Boosting的结果最终是加权的结果,容易产生过拟合,XGBoost全称是Extreme Gradient Boosting,它最大的特点是在于能够自动利用CPU的多线程进行并行,大幅度提高模型运算效率。

    下图是提升法原理:

    最终产生的是非线性的结果。

2.5. GBDT

    原理:

  1. 使用训练集和样本真集(标准答案)训练一棵树,使用这个树预测训练集,得到每个样本预测值,使用预测和真实的差异,二者相减得到“残差”。

  2. 然后训练第二棵树,此时使用残差代替真值做标答,两棵树训练完成后,再次得到每个样本的残差。

  3. 然后训练第三棵树,依次类推,监控某个指标来停止训练。

    XGBoost在分布式应用上也有优势,可以直接在YARN和Spark机器学习上使用。

上一页5.支持向量机下一页7.朴素贝叶斯

最后更新于3年前

这有帮助吗?

    上图中构造One-Level二分类树:χ≤0.35,χ≤0.75\chi \le 0.35, \chi \le 0.75χ≤0.35,χ≤0.75两个切割点,一层二元树最终准确率极限:70%。如果使用袋装,在该例子上重复抽样10次,依旧使用χ≤0.35\chi \le 0.35χ≤0.35的切割点。

最开始每笔数据权重都是1/N1/N1/N