热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

快速了解集成学习

目录1.什么是集成学习2.Bagging算法3.Stacking算法4.Boosting算法1.什么是集成学习集成学习(ensemblelearning)是一类机器学习框架&#x

目录

  • 1.什么是集成学习
  • 2.Bagging算法
  • 3.Stacking算法
  • 4.Boosting算法


1.什么是集成学习

集成学习(ensemble learning)是一类机器学习框架,通过构建并结合多个学习器来完成学习任务。一般结构是:先产生一组“个体学习器”,再用某种策略将它们结合起来。结合策略主要有平均法、投票法和学习法等
在这里插入图片描述
集成学习包含三个典型算法:Bagging、Staking和Boosting

2.Bagging算法

我们从很多的个体学习器中得到了不同效果的分类模型,那么怎么得到最终的模型呢?

  1. 平均
  2. 投票
    a.Majority voting :少数服从多数(随机森林)
    b.Weighted Majority Voting: 带加权的投票法(AdaBoost)(老板投票的权重和员工投票的权重是不一样的)

集成学习的前提是个体学习器得到的结果不能完全相同,这样才有意义,我们可以将每个个体学习器都使用不同的方法,例如SVM, KNN, DT, … 这是可行的,但是通常情况下个体学习器的模型应该相同。那么得到不同的学习结果的方法有:
1. 初始化参数不同
2. 不同的训练集
3. 不同特征集

比如有100个特征,我们只用其中的50个特征进行训练,可能有同学就会问,特征不是越多学习的效果越好吗?但是其实不是这样的,在集成学习中,我们希望个体学习机越弱越好(Weak learners)。越强的学习器,所消耗的资源也越多,也越容易造成过拟合。

为了得到不同的训练模型,但是又得到一个类似的分布。我们可以采用Bootstrap sample的采样方法(有放回的采样)。例如,我们有5个球,5个不同的颜色,每次取一个球,取完了放回去,那么取5次可能得到重复的样本,也有可能有的样本不被抽到,如下图。
在这里插入图片描述
Bagging的集成学习方法非常简单,假设我们有一个数据集D,使用Bootstrap sample的方法取了k个数据子集:D1,D2,…,Dk。我们使用这k个子集分别训练一个分类器,最后会得到k个分类模型。我们将测试数据输入到这k个分类器,会得到k个分类结果,比如分类结果是0和1,那么这k个结果中谁占比最多,那么预测结果就是谁,这就是bagging方法。

3.Stacking算法

Boosting的方法是根据“少数服从”多数来决定的,这里执行的是“一人一票”的方式,但是在公司中,老板的票一般来说要比员工的票有分量,所以可以在投票上乘以一个权重。
在这里插入图片描述
Stacking的算法前面和Bagging算法一样,得到了不同的投票结果:c1, c2, c3,….,我们可以在这些结果上乘上一个权重,再用一个分类器进行训练,得到一个预测结果,第二个分类器可以是神经网络,svm等。

4.Boosting算法

在这里插入图片描述
在这里插入图片描述
Boosting的思想就是针对预测错的样本,再进行训练。但是这样做还不够,我们用C1和C2同时预测D,有的预测为0,有的预测为1怎么办?
在这里插入图片描述
在前面的基础上,我们还进行如下操作:
在这里插入图片描述
Bagging算法可能有几百上千个分类器,而Boosting算法三个就可以了(也可以50个)。在训练样本过程中我们也可以给数据集D中样本被选中的可能性加权,如果总是预测正确,那我就不需要再考虑该样本了,我们应当把重点放在有争议的样本上。


推荐阅读
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • Python中HOG图像特征提取与应用
    本文介绍如何在Python中使用HOG(Histogram of Oriented Gradients)算法进行图像特征提取,探讨其在目标检测中的应用,并详细解释实现步骤。 ... [详细]
  • 支持向量机(SVM)是一种基于统计学习理论的模型,主要在VC维和结构风险最小化的理论基础上发展而来。本文将探讨几种不同的SVM方法及其优化策略,旨在提高模型的效率和适用性。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 本文深入探讨了CART(分类与回归树)的基本原理及其在随机森林中的应用。重点介绍了CART的分裂准则、防止过拟合的方法、处理样本不平衡的策略以及其在回归问题中的应用。此外,还详细解释了随机森林的构建过程、样本均衡处理、OOB估计及特征重要性的计算。 ... [详细]
  • 支持向量机(SVM)算法综述
    支持向量机(Support Vector Machine, SVM)是由Cortes和Vapnik于1995年首次提出的一种机器学习算法。SVM在处理小样本、非线性及高维模式识别问题上表现出显著的优势,并广泛应用于函数拟合等其他机器学习任务中。 ... [详细]
  • AI炼金术:KNN分类器的构建与应用
    本文介绍了如何使用Python及其相关库(如NumPy、scikit-learn和matplotlib)构建KNN分类器模型。通过详细的数据准备、模型训练及新样本预测的过程,展示KNN算法的实际操作步骤。 ... [详细]
  • 机器学习算法:SVM(支持向量机)
    SVM算法(SupportVectorMachine,支持向量机)的核心思想有2点:1、如果数据线性可分,那么基于最大间隔的方式来确定超平面,以确保全局最优, ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 支持向量机(SVM)在机器学习中的应用与学习心得
    支持向量机(SVM)是一种高效的二分类模型,其核心目标是通过寻找最优超平面来区分不同类别的数据点。在实际应用中,SVM能够有效地处理高维数据,并通过核技巧扩展到非线性分类问题。当新的数据点输入时,SVM会根据其相对于超平面的位置来判定其所属类别。训练过程中,SVM通过最大化间隔来确定最优超平面,从而提高模型的泛化能力。本文总结了SVM在机器学习中的应用及其学习心得,探讨了其在实际问题中的优势和局限性。 ... [详细]
author-avatar
backup哗哗-1996
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有