智能计算平台应用开发(中级)-第8章-机器学习基础算法建模-集成学习算法
集成学习算法的优化与应用

汇报人:XXX
目录
集成学习算法概述
集成学习算法的优 化策略
集成学习算法的应 用领域
集成学习算法的未 来展望
结论与总结
集成学习算法概述
集成学习的定义和基本思想
添加标题 添加标题 添加标题
定义:集成学习是一种机器学习技术,通过将多个不同的机器 学习模型组合起来,以获得更好的预测性能。
添加 标题
集成学习算法的优化策略还包括剪枝、参数 优化、特征选择等方法,以减少模型复杂度、 提高模型泛化能力
特征选择与降维技术
通过选择重要的特征,减少噪声和冗余信息 降低模型的复杂度,提高模型的泛化能力 常用的特征选择方法有过滤式、包裹式和嵌入式等 降维技术可以将高维数据转化为低维数据,提高数据的可解释性和模型的性能
缺点:算法复杂度高、计算量大、 模型调参难度较高、在某些场景下 可能存在过拟合问题。
添加标题
添加标题
添加标题
添加标题
优点:提高预测精度、增强模型泛 化能力、降低过拟合风险、对数据 集进行更全面的探索和发掘。
应用领域:集成学习算法广泛应用 于分类、回归、聚类等机器学习任 务,尤其在金融、医疗、自然语言 处理等领域具有广泛的应用前景。
基本思想:通过将多个不同的模型(也称为“基础学习器”) 的预测结果进行组合,以产生一个更准确和鲁棒的预测结果。 这有助于减少模型的偏差和方差,从而提高模型的泛化能力。
集成学习的两种主要方法:bagging和boosting。
添加标题
集成学习的优点:提高模型的泛化能力、减少偏差和方差、对 数据集的噪声和异常值具有鲁棒性。
其他领域的应用
医疗领域:用于疾病诊断、药物发现等 金融领域:用于风险评估、投资策略等 环保领域:用于环境监测、生态保护等 教育领域:用于学生评估、教学辅助等
机器学习中的集成学习算法

机器学习中的集成学习算法一、集成学习简介集成学习(Ensemble Learning)是机器学习中的一种重要算法。
它的主要思想是将多个弱学习算法集合起来形成一个强学习算法。
二、集成学习分类按照分类器的生成方式可将集成学习分类为Bagging算法、Boosting算法和Stacking算法。
1. Bagging算法Bagging全称为Bootstrap AGGregating,是自举聚合的缩写。
它的基本思想是采用自助法来产生k个新的训练集,在每个训练集上训练出一个基学习器,然后将这k个基学习器的结果进行平均或多数表决等方式来得到最终的结果。
2. Boosting算法Boosting算法基本思想是将一系列弱分类器相互结合,构成一个强分类器的过程。
它的主要特点是每一轮都学习一个新的分类器,并使得之前所有分类器的分类准确率加权相加。
3. Stacking算法Stacking算法是一种用来组合多个学习器的方法。
与传统的集成学习方法不同,Stacking算法通过加入一个“次级学习器”来对多个基学习器进行组合,从而构建出一个强学习器。
三、集成学习的优点1. 集成学习可显著提高机器学习算法的准确率和性能,并且对于许多不同类型的学习算法均有效。
2. 集成学习能够减轻模型过拟合问题,提高模型鲁棒性和泛化能力。
3. 集成学习能够减少各个单个模型产生的误差或者偏差,从而提高模型的精度。
四、集成学习案例1. 随机森林(Random Forest)随机森林是一种集成学习方法,它基于决策树算法创建多个随机子集的基学习器,最终将这些基学习器合并成一个强学习器。
2. AdaBoostAdaBoost是一种常见的Boosting算法,它通过不断调整训练样本的权重来训练机器学习模型,从而提高模型准确率。
3. Gradient Boosting Machines(GBM)GBM也是一种常见的Boosting算法,它采用一种梯度下降算法来学习弱学习器的加权。
aigc 课程大纲

aigc 课程大纲 AI技术与应用课程(AIGC)大纲如下:一、课程介绍。
1.1 课程背景和目标。
1.2 学习目标和预期成果。
1.3 课程结构和安排。
二、人工智能基础知识。
2.1 人工智能概述。
2.2 机器学习基础。
2.3 深度学习原理和应用。
2.4 自然语言处理基础。
2.5 计算机视觉基础。
三、数据处理与特征工程。
3.1 数据预处理方法。
3.2 特征选择和提取。
3.3 数据集划分与交叉验证。
3.4 数据增强技术。
四、机器学习算法。
4.1 监督学习算法(如决策树、支持向量机、随机森林等)。
4.2 无监督学习算法(如聚类、降维等)。
4.3 强化学习算法。
4.4 集成学习方法。
五、深度学习算法与框架。
5.1 深度神经网络结构(如卷积神经网络、循环神经网络等)。
5.2 深度学习优化算法。
5.3 常用深度学习框架介绍(如TensorFlow、PyTorch等)。
5.4 迁移学习与预训练模型。
六、自然语言处理与文本挖掘。
6.1 文本预处理与分词技术。
6.2 词嵌入与文本表示方法。
6.3 文本分类与情感分析。
6.4 命名实体识别与关系抽取。
6.5 机器翻译与文本生成。
七、计算机视觉与图像处理。
7.1 图像特征提取与描述。
7.2 目标检测与图像分割。
7.3 图像风格转换与图像生成。
7.4 图像识别与图像分类。
7.5 视频分析与动作识别。
八、实践项目与案例分析。
8.1 人工智能应用案例介绍。
8.2 实践项目设计与实施。
8.3 模型评估与性能优化。
8.4 项目报告与演示。
九、伦理与社会影响。
9.1 人工智能伦理与道德问题。
9.2 数据隐私与安全保护。
9.3 人工智能对社会的影响与挑战。
9.4 未来发展趋势与展望。
以上是AIGC课程的大纲,通过学习这门课程,你将全面了解人工智能的基础知识、数据处理与特征工程、机器学习算法、深度学习算法与框架、自然语言处理与文本挖掘、计算机视觉与图像处理等方面的内容,并能够进行实践项目与案例分析。
集成学习算法有哪些优势

集成学习算法有哪些优势在当今数据驱动的时代,机器学习算法在各个领域发挥着重要作用。
其中,集成学习算法以其独特的优势脱颖而出,成为解决复杂问题的有力工具。
集成学习算法,简单来说,就是通过组合多个“弱学习器”来构建一个强大的“强学习器”。
这种组合的思路就像是众人拾柴火焰高,多个不太完美的模型共同协作,能够产生比单个优秀模型更好的效果。
首先,集成学习算法具有更强的泛化能力。
泛化能力指的是模型对新数据的预测能力。
由于集成学习是多个模型的综合,它能够从不同的角度学习数据的特征和规律,从而减少了单个模型可能存在的过拟合风险。
过拟合就像是一个学生死记硬背,在考试中只能答对熟悉的题目,而遇到新的问题就不知所措。
而集成学习算法则像是一个真正理解知识的学生,无论遇到怎样的新问题,都能运用所学灵活应对。
其次,集成学习算法能够提高模型的稳定性和鲁棒性。
在实际应用中,数据可能会受到各种噪声和异常值的影响。
单个模型可能会因为这些干扰而产生较大的偏差,但集成学习通过融合多个模型的结果,能够有效地降低这些噪声和异常值的影响。
好比在一场比赛中,一个选手的表现可能会因为各种突发状况而波动,但多个选手的综合成绩则相对稳定。
再者,集成学习算法可以处理高维数据。
在当今数字化的时代,我们面临的数据往往具有大量的特征,也就是所谓的高维数据。
对于单个模型来说,处理高维数据可能会面临维度灾难的问题,即模型难以有效地捕捉数据中的重要信息。
而集成学习算法通过多个模型的协同工作,可以更好地挖掘高维数据中的隐藏模式和关系。
另外,集成学习算法在面对不平衡数据时也表现出色。
在很多实际问题中,不同类别的数据量可能存在严重的不平衡。
例如在疾病诊断中,健康人群的数量往往远远多于患病人群。
单个模型在处理这类数据时可能会偏向于多数类,而忽略少数类。
集成学习通过组合多个模型,可以更好地关注到少数类的特征,从而提高对不平衡数据的分类准确性。
集成学习算法还具有良好的可扩展性。
人工智能:机器学习中常用的六大算法

人工智能:机器学习中常用的六大算法人工智能(AI)是当今世界一个非常热门的话题。
在AI领域中,机器学习是一个重要的分支,它利用算法和数据让计算机能够自动学习和改进。
而在机器学习中,有许多常用且重要的算法。
在本文中,我们将介绍六个常用的机器学习算法,以及它们在人工智能领域中的应用。
1. 线性回归算法线性回归是最简单也是最常用的机器学习算法之一。
它的思想非常简单,通过拟合一个线性方程来预测输出变量与输入变量之间的关系。
这个方程可以用来预测未来的数值,也可以用来分析变量之间的相关性。
线性回归算法在许多领域都有广泛的应用,比如经济学、金融学和市场营销等。
它可以用来预测股票价格、销售额以及其他连续变量。
此外,线性回归算法还可以通过分析变量之间的相关性来帮助研究人员获得对数据的更深入理解。
2. 逻辑回归算法逻辑回归是一种二分类算法,用于预测一个变量的取值是0还是1。
它通过计算输入变量与输出变量之间的概率关系来进行预测。
这个算法可以用来解决许多实际问题,比如判断邮件是否是垃圾邮件、预测一个人是患有某种疾病的可能性等。
逻辑回归算法在医学、生物学和金融等领域有广泛的应用。
它可以用来辅助医生做出合理的诊断决策,也可以用来预测一个人是否会违约或者犯罪等。
3. 决策树算法决策树是一种非常直观且易于理解的机器学习算法。
它通过树状结构来表示决策过程,并基于输入变量来进行分类或预测。
决策树的每个节点代表一个特征变量,每个分支代表一个可能的取值,而叶子节点代表了输出变量的取值。
决策树算法在许多领域都有广泛的应用。
它可以用于分析客户的购买模式、预测患者的疾病风险以及判断一封电子邮件是否是垃圾邮件等。
决策树的优势在于它的结果易于解释和理解,同时也可以处理具有非线性关系的数据。
4. 支持向量机算法支持向量机(SVM)是一种强大的机器学习算法,可以用于分类和回归问题。
它的基本思想是找到一个最佳的超平面来将不同类别的样本点进行分割。
SVM算法在许多领域中都有广泛的应用,比如图像分类、文本分类和生物信息学等。
集成学习算法总结

集成学习算法总结1、集成学习概述1.1 集成学习概述集成学习在机器学习算法中具有较⾼的准去率,不⾜之处就是模型的训练过程可能⽐较复杂,效率不是很⾼。
⽬前接触较多的集成学习主要有2种:基于Boosting的和基于Bagging,前者的代表算法有Adaboost、GBDT、XGBOOST、后者的代表算法主要是随机森林。
1.2 集成学习的主要思想集成学习的主要思想是利⽤⼀定的⼿段学习出多个分类器,⽽且这多个分类器要求是弱分类器,然后将多个分类器进⾏组合公共预测。
核⼼思想就是如何训练处多个弱分类器以及如何将这些弱分类器进⾏组合。
1.3、集成学习中弱分类器选择⼀般采⽤弱分类器的原因在于将误差进⾏均衡,因为⼀旦某个分类器太强了就会造成后⾯的结果受其影响太⼤,严重的会导致后⾯的分类器⽆法进⾏分类。
常⽤的弱分类器可以采⽤误差率⼩于0.5的,⽐如说逻辑回归、SVM、神经⽹络。
1.4、多个分类器的⽣成可以采⽤随机选取数据进⾏分类器的训练,也可以采⽤不断的调整错误分类的训练数据的权重⽣成新的分类器。
1.5、多个弱分类区如何组合基本分类器之间的整合⽅式,⼀般有简单多数投票、权重投票,贝叶斯投票,基于D-S证据理论的整合,基于不同的特征⼦集的整合。
2、Boosting算法2.1 基本概念Boosting⽅法是⼀种⽤来提⾼弱分类算法准确度的⽅法,这种⽅法通过构造⼀个预测函数系列,然后以⼀定的⽅式将他们组合成⼀个预测函数。
他是⼀种框架算法,主要是通过对样本集的操作获得样本⼦集,然后⽤弱分类算法在样本⼦集上训练⽣成⼀系列的基分类器。
他可以⽤来提⾼其他弱分类算法的识别率,也就是将其他的弱分类算法作为基分类算法放于Boosting 框架中,通过Boosting框架对训练样本集的操作,得到不同的训练样本⼦集,⽤该样本⼦集去训练⽣成基分类器;每得到⼀个样本集就⽤该基分类算法在该样本集上产⽣⼀个基分类器,这样在给定训练轮数 n 后,就可产⽣ n 个基分类器,然后Boosting框架算法将这 n个基分类器进⾏加权融合,产⽣⼀个最后的结果分类器,在这 n个基分类器中,每个单个的分类器的识别率不⼀定很⾼,但他们联合后的结果有很⾼的识别率,这样便提⾼了该弱分类算法的识别率。
人工智能基础算法

人工智能基础算法1. 介绍人工智能是指模拟和扩展人智力的理论、方法、技术和应用的研究领域。
而人工智能基础算法是人工智能领域中最核心和基础的组成部分。
它是指用于实现人工智能功能的数学算法和计算机算法。
人工智能基础算法通过模拟和应用人类的认知、学习、决策和问题解决等智能过程,使计算机能够具备某种程度的智能,并在不同领域实现各种复杂的人工智能任务。
在本文中,我们将介绍几种常见的人工智能基础算法,包括机器学习算法、深度学习算法、进化算法和模糊算法。
2. 机器学习算法机器学习算法是人工智能领域中应用最广泛的一类算法。
它是通过训练数据来构建模型,然后使用该模型对新样本进行预测或分类的算法。
机器学习算法主要分为监督学习、无监督学习和强化学习三种类型。
2.1 监督学习算法监督学习算法是指利用带有标签的训练数据来训练模型,并使用该模型对新样本进行预测或分类的算法。
常见的监督学习算法包括决策树、支持向量机、朴素贝叶斯和随机森林等。
2.1.1 决策树决策树是一种基于树形结构的分类模型。
它通过对特征进行递归划分,构建一棵树来表示不同类别的决策规则。
决策树算法具有易于理解和解释的优点,适用于处理具有离散特征的问题。
2.1.2 支持向量机支持向量机是一种二分类模型,通过构建一个超平面来将不同类别的数据分开。
支持向量机算法通过最大化边界的方式找到最优的分类超平面,具有较好的泛化性能。
2.1.3 朴素贝叶斯朴素贝叶斯算法是一种基于贝叶斯定理和特征条件独立性假设的分类算法。
它通过计算样本的特征向量在各个类别下的条件概率来进行分类。
2.1.4 随机森林随机森林是一种集成学习算法,它通过建立多个决策树来进行分类或回归。
随机森林算法通过对训练样本和特征进行随机选择,并使用树的投票来进行最终的决策。
2.2 无监督学习算法无监督学习算法是指在没有标签的训练数据中自动发现数据内在结构和规律的算法。
常见的无监督学习算法包括聚类算法、降维算法和关联规则挖掘算法等。
人工智能算法培训课程

神经网络及深度学习
Linear regression algorithm.
1. 算法基本概念:介绍算法的基本概念,包括算法的定义、特征、分类、复杂度及应用领域等方面,使学员能够全面理解算法的基本概念。
深度学习常见网络模型
包括卷积神经网络(CNN)、循环神经网络(RNN)和生成对抗网络(GAN)。其中,卷积神经网络主要用于图像和视频识别,循环神经网络则可以用于语言处理和音频识别,生成对抗网络则是一种生成式模型,可以生成逼真的图像和文本。除了这些常见的深度学习网络模型外,还有许多其他的网络结构和算法,如残差网络(ResNet)、注意力机制(Attention)、变分自编码器(VAE)等。这些算法和模型在不同的任务中都有着广泛的应用。
Decision tree algorithm.
决策树算法
介绍常见AI算法
基础机器学习算法
Bayesian algorithm.
主要包括:线性回归、逻辑回归、决策树、朴素贝叶斯、支持向量机、聚类算法等。其中,线性回归用于回归问题,逻辑回归则用于分类问题;决策树是一种基于树结构的分类算法,可以对特征进行分层分类;朴素贝叶斯是一种基于贝叶斯定理的分类算法,利用先验概率和条件概率进行分类;支持向量机是一种针对二分类问题的学习算法,能够学习高维数据的分类边界;聚类算法主要用于将数据集分为若干个类别。这些算法是机器学习的基础,掌握它们可以为后续深度学习等领域的学习打好基础。
深度学习原理及应用
1. 深度学习的基本原理:介绍深度学习的基础理论,包括神经网络结构、梯度下降算法、反向传播算法等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第8章机器学习基础算法建模目录1.机器学习2.分类算法3.回归算法4.集成学习算法5.聚类算法6.关联规则算法7.智能推荐算法l 在机器学习的有监督学习算法中,目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往达不到理想状态,有时只能得到多个有偏好的模型(弱分类器,在某些方面表现较好)。
•集成学习是组合多个弱分类器,得到一个更好且更全面的强分类器,即将多个分类器聚集在一起,以提高分类的准确率。
•这些分类器可以是不同的算法,也可以是相同的算法。
如果把单个分类器比作一个决策者,那么集成学习的方法就相当于多个决策者共同进行一项决策。
集成学习l集成学习的作用将多个弱分类器合并,实现更好的效果。
l分类器间存在一定的差异性,会导致分类的边界不同,可以理解为分类器是一个比较专精的专家,它有它自己一定的适用范围和特长。
l通过一定的策略将多个弱分类器合并后,即可拓展模型的适用范围,减少整体的错误率,实现更好的效果。
l 数据过大时会导致训练一个模型太慢,而集成学习可以分别对数据集进行划分和有放回的操作,从而产生不同的数据子集,再使用数据子集训练不同的分类器,最终再将不同的分类器合并成为一个大的分类器。
l 数据过小时则会导致训练不充分,而集成学习可以利用Bootstrap 方法进行抽样,得到多个数据集,分别训练多个模型后再进行组合。
如此便可提高训练的准确度和速度,使得之前很难利用的数据得到充分的利用。
集成学习在各个规模的数据集上都有很好的策略。
将多个模型进行融合。
l对于存在多个异构的特征集的时候,很难进行融合,可以考虑使用集成学习的方式,将每个数据集构建一个分类模型,然后将多个模型进行融合。
l目前常见的集成学习算法p Boostingp BaggingBoosting •Boosting 方法是一种用于提高弱分类器准确度的方法,这种方法从原始训练数据出发,通过调整训练数据的概率分布(权值分布)来生成多个子分类器,多个子分类器的产生是有序的,即一个分类器依赖于前一个分类器,并且着重关注于前一个分类器错误分类的样本,提升错误分类样本的权重,由于新的分类器重点关注错误分类的样本,生成新的分类器的过程中就会不断的降低误差,从而降低整个模型的偏差。
BoostingBoosting——Adaboost算法l Adaboost是Boosting中较为代表的算法,基本思想是通过训练数据的分布构造一个分类器,然后通过误差率求出这个弱分类器的权重,通过更新训练数据的分布,迭代进行,直至达到迭代次数或者损失函数小于某一阈值。
l由于Adaboost属于Boosting中的算法,采用的是加权模型,对每个学习器的输出结果加权处理,只会得到一个输出预测结果,所以标准的Adaboost只适用于二分类任务。
Boosting——Adaboost算法的数据输入l Adaboost算法的输入要求p训练数据集。
p各个弱分类器。
Boosting——Adaboost算法的输出l Adaboost算法通过模型训练后的输出为强分类器。
l Adaboost算法的优点可以将不同的分类算法作为弱分类器。
很好的利用了弱分类器进行级联。
具有很高的精度。
l Adaboost算法的缺点容易受到噪声干扰。
训练时间过长。
执行效果依赖于弱分类器的选择。
Boosting——Adaboost算法的应用Adaboost算法主要应用方向用于特征选择;用于做分类任务的baseline;用于对badcase的修正。
l Python机器学习库scikit-learn的ensemble模块提供的AdaBoostClassifier类用于构建Adaboost 模型。
l AdaBoostClassifier类基本使用语法sklearn.ensemble.AdaBoostClassifier(base_estimator=None, n_estimators=50, learning_rate=1.0, algorithm='SAMME.R', random_state=None)l AdaBoostClassifier 类的主要参数及其说明参数名称说明base_estimator接收object 。
表示选择的分类学习器,默认为“DecisionTreeClassifier ”n_estimators 接收int 。
表示弱学习器的最大迭代次数,默认为50learning_rate 接收float 。
表示每个弱学习器的权重缩减系数,取值范围为0到1,默认为1.0algorithm 接收str 。
选择Adaboost 分类算法,可选择的值为“SAMME ”和“SAMME.R ”,其含义如下“SAMME ”:使用对样本集分类效果作为弱学习器权重“SAMME.R ”:使用对样本集分类的预测概率大小作为弱学习器权重默认为“SAMME.R ”l GBDT全称为Gradient Boosting Decision Tree(梯度提升迭代决策树),是一种基于迭代所构造的决策树算法,这种算法在实际问题中将生成多棵决策树,并将所有树的结果进行汇总而得到最终答案。
所以该算法将决策树与集成思想进行了有效的结合。
l GBDT是由梯度提升(Gradient Boosting,GB)算法而来。
l GB算法的主要思想p在之前建立模型的损失函数的梯度下降方向上建立新的模型。
l损失函数p损失函数是评价模型性能(一般为拟合程度+正则项),认为损失函数越小,性能越好。
p让损失函数持续下降,可以使得模型不断调整提升性能,其最好的方法是使损失函数沿着梯度方向下降。
l GBDT在GB算法的基础上,通过损失函数的负梯度的进行损失误差的拟合,从而解决分类回归问题。
Boosting——GBDT算法的数据输入l GBDT算法的输入要求p训练数据集。
p基于决策树算法的弱分类器。
Boosting——GBDT算法的输出l GBDT算法通过模型训练后的输出为强分类器。
l GBDT算法的优点预测的精度高。
适合低维数据。
可以处理非线性数据。
可以灵活处理各种类型的数据,包括连续值和离散值。
使用一些健壮的损失函数,对异常值的鲁棒性非常强。
l GBDT算法的缺点由于弱学习器之间存在依赖关系,难以并行训练数据。
如果数据维度较高时,会加大算法的计算复杂度。
执行效果依赖于弱分类器的选择。
Boosting——GBDT算法的应用l GBDT算法的应用p GBDT算法几乎可用于所有回归问题,包含线性和非线性的回归问题,也可以用于二分类问题。
l Python机器学习库scikit-learn的ensemble模块提供的GradientBoostingClassifier类用于构建GBDT模型。
l GradientBoostingClassifier类基本使用语法sklearn.ensemble.GradientBoostingClassifier(loss='deviance', learning_rate=0.1, n_estimators=100, subsample=1.0, criterion='friedman_mse', min_samples_split=2, min_samples_leaf=1,min_weight_fraction_leaf=0.0, max_depth=3, min_impurity_decrease=0.0, min_impurity_split=None,init=None, random_state=None, max_features=None, verbose=0, max_leaf_nodes=None,warm_start=False, presort='deprecated', validation_fraction=0.1, n_iter_no_change=None, tol=0.0001, ccp_alpha=0.0)l GradientBoostingClassifier 的主要参数及其说明参数名称说明loss 接收str 。
表示算法中的损失函数,可选择的值为“deviance ”和“exponential ”,其含义如下“deviance ”:对数似然损失函数“exponential ”:指数损失函数默认为“deviance ”learning_rate 接收float 。
表示每个弱学习器的权重缩减系数,取值范围为0到1,默认为0.1n_estimators 接收int 。
表示弱学习器的最大迭代次数,默认为100subsample接收float 。
表示是否子采样,如果取值为1,则全部样本都使用,如果取值小于1,则只有一部分样本会去做GBDT 的决策树拟合。
选择小于1的比例可以减少方差,即防止过拟合,但是会增加样本拟合的偏差,因此取值不能太低。
推荐在[0.5, 0.8]之间,默认为1.0•Bagging 全称是bootstrap aggregation ,基本思想是训练多个分类器,各个分类器之间不存在强依赖关系,再对计算结果求平均值。
•随机森林算法是其中的典型代表。
B agg ingl Bagging全称是bootstrap aggregation,基本思想是训练多个分类器,各个分类器之间不存在强依赖关系,再对计算结果求平均值。
l随机森林算法是其中的典型代表。
随机森林算法•随机森林算法是上世纪80年代Breiman等人提出来的,其基本思想是构造很多棵决策树,形成一个森林,再用这些决策树共同决策输出类别是什么。
l在整个随机森林算法的过程中,有两个随机过程。
p第一个是输入数据是随机的从整体的训练数据中选取一部分作为一棵决策树的构建,而且是有放回的选取;p第二个是每棵决策树的构建所需的特征是从整体的特征集随机的选取的。
l这两个随机过程使得随机森林在很大程度上避免了过拟合现象的出现。
l随机森林算法的过程从训练数据中选取n个数据作为训练数据输入。
•一般情况下,n远小于整体的训练数据N,这样就会造成有一部分数据是无法被取到,这部分数据称为袋外数据,可以使用袋外数据做误差估计。
选取了输入的训练数据后,需要构建决策树。
•构建的具体方法是每一个分裂结点从整体的特征集M中选取m个特征构建,一般情况下m远小于M。
决策树的构建•在构造每棵决策树的过程中,按照选取最小的基尼系数进行分裂节点的选取,然后进行决策树的构建。
•决策树的其他结点都采取相同的分裂规则进行构建,直至该节点的所有训练样本都属于同一类或达到树的最大深度。
重复步骤(2)和步骤(3)多次,每一次输入数据对应一棵决策树,即可得到随机森林,用于对预测数据进行决策。