1.集成学习简介 一个牛逼的算法和10个简单的算法比,后者更好一点。 所以在解决过拟合和欠拟合问题的时候,使用boosting 和bagging 的方法。 欠拟合问题解决:弱弱组合变强 boosting 过拟合问题解决:相互牵制变壮 bagging 2. Bagging bagging集成过程 采样:从所有样本中又放回的采样一部分特征 学习:训练弱n个学习器 集成:平权投票n 个若学习器 随机森林 定义:随机森林 = Bagging + 决策树 流程 在所有样本里选m个数据 在m个数据里选k个特征 训练n 个弱决策树 重复上三条 平权投票 注意:有放回的取出数据。选取的特征远小于所有特征 集成学习是一种机器学习的方法,它通过结合多个弱学习器来创建一个更强大的强学习器,以提高模型的预测性能和稳定性。集成学习的核心思想是利用多样性来减少过拟合和欠拟合的问题,通常分为两种主要策略:Boosting和Bagging。 1. Boosting:欠拟合问题的解决方案。Boosting方法如AdaBoost、Gradient Boosting和XGBoost,通过迭代的方式逐步增强弱学习器。在每一轮迭代中,学习器会重点关注前一轮中被错误分类的样本,给予它们更高的权重,从而使后续的模型更专注于这些难以分类的数据点。这样,一系列弱学习器逐渐聚焦于不同的错误模式,最终形成一个强学习器。 2. Bagging:过拟合问题的解决方案。Bagging(Bootstrap Aggregating)是通过有放回的抽样生成多个子集,用每个子集分别训练弱学习器,然后通过平均或者投票的方式来集成这些学习器的预测结果。随机森林就是Bagging的一个经典应用,它以决策树为基本单位,每个决策树在构建时都从原始数据集中随机抽取子集(bootstrapping)和随机选择特征,以增加模型的多样性。随机森林中的树可以并行构建,提高了训练效率。 随机森林的API,例如在Python的scikit-learn库中,`RandomForestClassifier`是随机森林分类器的实现。其中的关键参数包括: - `n_estimators`: 森林中决策树的数量,通常越大,模型越复杂,但计算成本也更高。 - `criterion`: 分割特征的评价标准,如基尼指数('gini')或信息熵('entropy'),用于决定最佳分割点。 - `max_depth`: 决策树的最大深度,限制了树的复杂度,防止过拟合。 - `bootstrap`: 是否在构建树时使用有放回抽样。 - `min_samples_split`和`min_samples_leaf`: 分支分裂和叶子节点的最小样本数,控制树的生长。 随机森林的优点在于它能够处理大量特征,减少过拟合,且可以提供特征重要性评估。缺点是可能对噪声数据敏感,且如果数据不平衡,可能会偏向多数类。 与Boosting相比,Bagging在数据处理上采用的是有放回抽样,而Boosting则是通过改变样本权重来迭代训练。在权重方面,Bagging对所有训练样本赋予相同权重,而Boosting根据错误率动态调整权重。学习顺序上,Bagging的所有学习器并行训练,而Boosting是串行训练,每轮聚焦于减少前一轮的误差。作用上,Bagging主要防止过拟合,而Boosting则更偏向于解决欠拟合问题。 GBDT(Gradient Boosting Decision Tree)是Boosting的一种特殊形式,它结合了梯度下降和决策树。在每一步迭代中,GBDT通过最小化残差(预测值与真实值的差)来添加一棵新的决策树,这棵树的目的是修正前一棵树的预测误差。GBDT因其高效性和精确性,在许多机器学习任务中表现出色。 总结来说,集成学习通过多种策略(如Boosting和Bagging)结合多个弱学习器,利用多样性和协作来提高模型的准确性和鲁棒性,是现代机器学习中不可或缺的工具。无论是欠拟合还是过拟合,集成学习都有其对应的解决方案,如Boosting的AdaBoost和GBDT以及Bagging的随机森林。
- 粉丝: 5
- 资源: 968
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- coco.names 文件
- (源码)基于Spring Boot和Vue的房屋租赁管理系统.zip
- (源码)基于Android的饭店点菜系统.zip
- (源码)基于Android平台的权限管理系统.zip
- (源码)基于CC++和wxWidgets框架的LEGO模型火车控制系统.zip
- (源码)基于C语言的操作系统实验项目.zip
- (源码)基于C++的分布式设备配置文件管理系统.zip
- (源码)基于ESP8266和Arduino的HomeMatic水表读数系统.zip
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- 1
- 2
前往页