1. adaboost算法的基本思想

集成学习是将多个弱模型集成在一起 变成一个强模型 提高模型的准确率,一般有如下两种:

bagging: 不同的base model可以并行计算,输出预测结果少数服从多数,回归问题则对多个模型输出的结果求平均。

boosting:后一个模型的训练需要依赖前一个模型,所以模型的训练会特备耗时没法并行,Adaboost、GBDT、Xgboost主要有这三种。

对样本赋予权重,迭代的方式构造弱分类器,后一个分类器依赖前一个分类器 。

多个弱分类器的线性组合得到最终的强分类器。

例如:







对于前一个分类器分错的样本,后一个分类器会格外的注重,训练的时候增加该样本的权重,以便这次训练的时候要分对,训练模型的同时 计算出本次的弱模型输出结果的权重

算法的核心:通过调整输入数据的权重,让本来还不错的分类器的权重正确率达到1/2

什么是权重正确率?

数据预测的错误率 =(错误数据的个数)/(全部数据的个数)

数据预测的权重错误率 =(预测错误数据的权重和)/(全部数据的权重和)

举例:

有一个标签集实际是{+1,+1,+1,+1,-1}

训练出一个g1(x)的分类结果{+1,+1,+1,+1,+1}

最后一个分出错了,如果这5条样本的权重是一样的 错误率=1/5

如果最后那个样本的权重是1/2 其余的是1/8 那么权重错误率是多少? 1/2

1/2 / 1/2+1/8+1/8+1/8+1/8

也就是说做错的那道题分数分其他的题是不一样的 越难的题分数越高

2. 具体实现

通过权重不同来训练弱分类器模型gt(x),那么我们每次找到g(x)都应该使当前时刻权重正确率最大。



调整t+1次训练的样本的权重 使得: 正确率(带权重的) 等于 错误率(带权重)

如何调整?引入缩放因子

t+1 样本权重的计算:

Δt 一般是一个大于1的数

对于分类正确的样本 权重除以Δt

对于分类错误的样本 权重乘以Δt

本次的弱模型输出权重:

也就是:α=ln(Δt)



U1 到 U2 是如何计算的

过程:

机器学习-决策树系列-Adaboost算法-集成学习-29的更多相关文章

  1. 基于单层决策树的AdaBoost算法源码

    基于单层决策树的AdaBoost算法源码 Mian.py # -*- coding: utf-8 -*- # coding: UTF-8 import numpy as np from AdaBoos ...

  2. 机器学习笔记(九)---- 集成学习(ensemble learning)【华为云技术分享】

    集成学习不是一种具体的算法,而是在机器学习中为了提升预测精度而采取的一种或多种策略.其原理是通过构建多个弱监督模型并使用一定策略得到一个更好更全面的强监督模型.集成学习简单的示例图如下: 通过训练得到 ...

  3. 机器学习实战之AdaBoost算法

    一,引言 前面几章的介绍了几种分类算法,当然各有优缺.如果将这些不同的分类器组合起来,就构成了我们今天要介绍的集成方法或者说元算法.集成方法有多种形式:可以使多种算法的集成,也可以是一种算法在不同设置 ...

  4. 基于单层决策树的AdaBoost算法原理+python实现

    这里整理一下实验课实现的基于单层决策树的弱分类器的AdaBoost算法. 由于是初学,实验课在找资料的时候看到别人的代码中有太多英文的缩写,不容易看懂,而且还要同时看代码实现的细节.算法的原理什么的, ...

  5. 机器学习——提升方法AdaBoost算法,推导过程

    0提升的基本方法 对于分类的问题,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类的分类规则(强分类器)容易的多.提升的方法就是从弱分类器算法出发,反复学习,得到一系列弱分类器(又 ...

  6. 《机器学习技法》---AdaBoost算法

    1 AdaBoost的推导 首先,直接给出AdaBoost算法的核心思想是:在原数据集上经过取样,来生成不同的弱分类器,最终再把这些弱分类器聚合起来. 关键问题有如下几个: (1)取样怎样用数学方式表 ...

  7. 机器学习-决策树之ID3算法

    概述 决策树(Decision Tree)是一种非参数的有监督学习方法,它是一种树形结构,所以叫决策树.它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回 ...

  8. 《机器学习实战》AdaBoost算法(手稿+代码)

    Adaboost:多个弱分类器组成一个强分类器,按照每个弱分类器的作用大小给予不同的权重 一.Adaboost理论部分 1.1 adaboost运行过程 注释:算法是利用指数函数降低误差,运行过程通过 ...

  9. 机器学习--聚类系列--DBSCAN算法

    DBSCAN算法 基本概念:(Density-Based Spatial Clustering of Applications with Noise) 核心对象:若某个点的密度达到算法设定的阈值则其为 ...

  10. 机器学习--聚类系列--K-means算法

    一.聚类 聚类分析是非监督学习的很重要的领域.所谓非监督学习,就是数据是没有类别标记的,算法要从对原始数据的探索中提取出一定的规律.而聚类分析就是试图将数据集中的样本划分为若干个不相交的子集,每个子集 ...

随机推荐

  1. 聊一聊 .NET高级调试 中必知的符号表

    一:背景 1. 讲故事 在高级调试的旅行中,发现有不少人对符号表不是很清楚,其实简而言之符号表中记录着一些程序的生物特征,比如哪个地址是函数(签名信息),哪个地址是全局变量,静态变量,行号是多少,数据 ...

  2. ubuntu 22.04.1安装雷池开源waf应用防火墙

    ubuntu 22.04.1安装雷池开源waf应用防火墙 雷池waf是开源应用防火墙,国内首创.业内领先的智能语义分析算法 官方网站:https://waf-ce.chaitin.cn/ 官方文档:h ...

  3. SpringCloudAlibaba-OSS文件上传

    一.引入相关依赖 <dependencyManagement> <dependencies> <dependency> <groupId>com.ali ...

  4. 【笔记整理】[案例]爱词霸翻译post请求

    import json if __name__ == '__main__': import requests resp = requests.post( url="http://ifanyi ...

  5. Python 潮流周刊第 32 期(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  6. 万界星空科技仓库管理wms系统

    ​ 企业在管理库存时,尤其是生产制造企业,使用传统方式比如纸笔.Excel 管理库存,由于工具和信息化存在局限,导致在管理库存时出现如下问题: 1.通过纸笔记录出入库申请,人为手动计算易出错,数据易丢 ...

  7. 【fmjava】 面试题突击训练-Java基础语法篇01

    JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称, Java 开发工具包, 提供了 Java 的开发环境和运行环境. JRE:Java Runtime Env ...

  8. CSS3学习笔记-句子排版效果

    CSS3提供了丰富的排版效果,可以通过样式属性来控制文本的排列方式.字体样式.行高.字间距等.以下是一些常用的句子排版效果示例: 文本对齐方式: .text-center { text-align: ...

  9. 如何更好的分析潜在人脉?聊聊华为云图引擎GES的Cypher子查询

    摘要:本文以华为云图引擎 GES 为例,来介绍如何使用图查询语言 Cypher 表达一些需要做数据局部遍历的场景. 本文分享自华为云社区<使用 Cypher 子查询进行图探索 -- 以华为云图引 ...

  10. Tarjan:这个算法大神

    摘要:图的算法是进行静态分析的基础数据算法,如何提高图的分析效率,就需要对图的算法有进一步的认识. 1. 引言 在静态分析技术中, 我们常用会将代码转成抽象语法树(AST), 然后采用深度遍历(DFS ...