当前位置:网站首页>机器学习——集成学习
机器学习——集成学习
2022-08-05 10:55:00 【Ding Jiaxiong】
10. 集成学习
文章目录
通过建立几个模型来解决单一预测问题
10.1 工作原理
生成多个分类器/模型,各自独立地学习和作出预测
- 这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测
10.2 机器学习中的两个核心任务
如何优化训练数据 解决 欠拟合问题
如何提升泛化性能 解决 过拟合问题
10.3 boosting和Bagging
10.4 Bagging
主要实现过程
- 采样
- 学习
- 集成
10.5 随机森林构造过程
随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定
随机森林 = Bagging + 决策树
10.5.1 关键步骤
- 1)一次随机选出一个样本,有放回的抽样,重复N次(有可能出现重复的样本)
- 2) 随机去选出m个特征, m <<M,建立决策树
10.6 随机森林API
10.6.1 sklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion=’gini’, max_depth=None, bootstrap=True, random_state=None, min_samples_split=2)
n_estimators:integer,optional(default = 10)森林里的树木数量
Criterion:string,可选(default =“gini”)分割特征的测量方法
max_depth:integer或None,可选(默认=无)树的最大深度
max_features="auto”,每个决策树的最大特征数量
- If “auto”, then max_features=sqrt(n_features).
- If “sqrt”, then max_features=sqrt(n_features)(same as “auto”).
- If “log2”, then max_features=log2(n_features).
- If None, then max_features=n_features.
bootstrap:boolean,optional(default = True)是否在构建树时使用放回抽样
min_samples_split:节点划分最少样本数
min_samples_leaf:叶子节点的最小样本数
10.6.2 超参数:n_estimator, max_depth, min_samples_split,min_samples_leaf
10.7 bagging集成优点
Bagging + 决策树/线性回归/逻辑回归/深度学习… = bagging集成学习方法
10.7.1 优点
- 均可在原有算法上提高约2%左右的泛化正确率
- 简单, 方便, 通用
10.8 Boosting集成
每新加入一个弱学习器,整体能力就会得到提升
10.8.1 代表算法
- Adaboost
- GBDT
- XGBoost
10.8.2 AdaBoost的构造过程小结
10.8.3 API
- from sklearn.ensemble import AdaBoostClassifier
10.9 bagging集成与boosting集成的区别
10.9.1 数据方面
- Bagging:对数据进行采样训练;
Boosting:根据前一轮学习结果调整数据的重要性。
10.9.2 投票方面
- Bagging:所有学习器平权投票;
Boosting:对学习器进行加权投票。
10.9.3 学习顺序
- Bagging的学习是并行的,每个学习器没有依赖关系;
Boosting学习是串行,学习有先后顺序。
10.9.4 主要作用
- Bagging主要用于提高泛化性能(解决过拟合,也可以说降低方差)
Boosting主要用于提高训练精度 (解决欠拟合,也可以说降低偏差)
10.10 GBDT
梯度提升决策树(GBDT Gradient Boosting Decision Tree)
一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案
GBDT = 梯度下降 + Boosting + 决策树
10.10.1 主要执行思想
- 1.使用梯度下降法优化代价函数;
- 2.使用一层决策树作为弱学习器,负梯度作为目标值;
- 3.利用boosting思想进行集成
10.11 XGBoost
XGBoost= 二阶泰勒展开+boosting+决策树+正则化
- 二阶泰勒展开:每一轮学习中,XGBoost对损失函数进行二阶泰勒展开,使用一阶和二阶梯度进行优化。
- Boosting:XGBoost使用Boosting提升思想对多个弱学习器进行迭代式学习
- 决策树:在每一轮学习中,XGBoost使用决策树算法作为弱学习进行优化。
- 正则化:在优化过程中XGBoost为防止过拟合,在损失函数中加入惩罚项,限制决策树的叶子节点个数以及决策树叶子节点的值。
10.12 泰勒展开式
泰勒展开越多,计算结果越精确
边栏推荐
- A small test of basic grammar, Go lang1.18 introductory refining tutorial, from Bai Ding to Hongru, basic grammar of go lang and the use of variables EP02
- 登录功能和退出功能(瑞吉外卖)
- 教你本地编译运行一个IDEA插件,在IDEA里聊天、下棋、斗地主!
- Linux:记一次CentOS7安装MySQL8(博客合集)
- DocuWare平台——文档管理的内容服务和工作流自动化的平台详细介绍(下)
- Use KUSTO query statement (KQL) to query LOG on Azure Data Explorer Database
- 解决【命令行/终端】颜色输出问题
- Data Middle Office Construction (10): Data Security Management
- FPGA: Basic Getting Started LED Lights Blinking
- Chapter 5: Multithreaded Communication—wait and notify
猜你喜欢
负载均衡应用场景
Dynamics 365Online PDF导出及打印
ECCV 2022 | 视听分割:全新任务,助力视听场景像素级精细化理解
数据可视化(二)
gradle尚硅谷笔记
Huawei's lightweight neural network architecture GhostNet has been upgraded again, and G-GhostNet (IJCV22) has shown its talents on the GPU
Login function and logout function (St. Regis Takeaway)
化繁为简!阿里新产亿级流量系统设计核心原理高级笔记(终极版)
脱光衣服待着就能减肥,当真有这好事?
How to choose coins and determine the corresponding strategy research
随机推荐
Scaling-law和模型结构的关系:不是所有的结构放大后都能保持最好性能
Header file search rules when compiling with GCC
MMDetection实战:MMDetection训练与测试
【OpenCV】-仿射变换
SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
RT-Thread记录(一、RT-Thread 版本、RT-Thread Studio开发环境 及 配合CubeMX开发快速上手)
API 网关简述
Google启动通用图像嵌入挑战赛
Custom filters and interceptors implement ThreadLocal thread closure
The query that the user's test score is greater than the average score of a single subject
Go compilation principle series 6 (type checking)
Dynamics 365Online PDF导出及打印
GPU-CUDA-图形渲染分析
产品太多了,如何实现一次登录多产品互通?
数分面试(一)----与业务相关
linux下oracle常见操作以及日常积累知识点(函数、定时任务)
华为分析&联运活动,助您提升游戏总体付费
STM32入门开发:编写XPT2046电阻触摸屏驱动(模拟SPI)
FPGA:基础入门按键控制LED灯
数据可视化(二)