集成学习算法学习笔记

一、集成学习的基本思想

三个臭皮匠顶一个诸葛亮

集成学习会考虑多个评估器的建模结果,汇总后得到一个综合的结果,以此来获取比单个模型更好的回归或分类表现。

很多独立的机器学习算法:决策树、神经网络、支持向量机

集成学习构建了一组基学习器,并将它们综合起来作为最终的模型。

在很多集成学习模型中,对基学习器的要求很低。

集成学习适用于机器学习的几乎所有领域:回归、分类、推荐和排序。

相同的多个基学习器不会带来任何提升,不同的模型取长补短,每个基学习器都会犯不同的错误,综合起来犯错的可能性不大。

上述数据集中,每个线性模型都不能成功将该数据集分类,3个线性模型的简单综合可将该数据集成功分类。

 如何构建不同的学习器?

(1)采用不同的学习算法

(2)采用相同的学习算法,但使用不同的参数

(3)不同的数据集:不同的样本子集,在每个数据集中使用不同的特征

 

 

如何综合不同的基学习器?

(1)投票法(majority voting):每个基学习器具有相同的权重

(2)有权重的投票(weighted voting):可用不同的方法来确定权重

(3)训练一个新模型来确定如何综合:Stacking; 线性回归

主要的集成学习模式:

(1)Bagging:随机森林(random forest)

(2)Boosting:AdaBoost;Gradient Boosting Decision Tree

(3)Stacking

二、Bagging

boostrap aggregating 引导聚集算法

两个关键步骤:

(1)bootstrap取样

使用可重复取样从样本数为n的数据集中取出n个样本,假设每个样本被选中的概率是一样的

(2)模型综合

易于并计算

可以使用不在训练集Sj中的样本(out of bag sample, OOB)来估计基学习器的性能。

随机森林(Random Forests)

参数选择:

(1)决策数的数目m

(2)每个决策树的大小,由决策树叶节点所能包含的样本数的最大值决定

(3)每次选取最佳变量时随机选取的变量数d1

三、Boosting

boosting:提升

顺次建立一系列基学习器,后面的学习器分析当前已经建立的基学习器以更好的处理数据

(1)AdaBoost

(2)GBDT

基学习器的综合:一般使用有权重的线性组合;基学习器的权重一般由其性能决定

 

四、Stacking

 

相关推荐

  1. 深度学习算法集成部署

    2024-04-30 21:36:03       26 阅读
  2. 算法学习笔记(LCA)

    2024-04-30 21:36:03       27 阅读
  3. 密码算法学习笔记

    2024-04-30 21:36:03       22 阅读
  4. 算法学习笔记(匈牙利算法

    2024-04-30 21:36:03       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-30 21:36:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-30 21:36:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-30 21:36:03       82 阅读
  4. Python语言-面向对象

    2024-04-30 21:36:03       91 阅读

热门阅读

  1. Grafana

    2024-04-30 21:36:03       34 阅读
  2. Git进阶命令与技巧

    2024-04-30 21:36:03       31 阅读
  3. 人机难以协同的瓶颈及边际效应

    2024-04-30 21:36:03       34 阅读
  4. C++ 中 scanf 的高阶用法:scanf(“%[a-z]“,ch);

    2024-04-30 21:36:03       31 阅读
  5. vue3的v-model在组件上几种用法

    2024-04-30 21:36:03       31 阅读
  6. vue生命周期

    2024-04-30 21:36:03       31 阅读
  7. 一文掌握python上下文管理器(with语句)

    2024-04-30 21:36:03       29 阅读