机器学习笔记:随机森林

1 集成学习

  • 集成学习通过构建多个学习器采用加权的方式来完成学习任务
  • 一般来讲,多个学习器同属于一种模型,比如决策树,线性模型,而不会交叉用多种模型
  • 为了保证集成学习的有效性,多个弱分类器之间应该满足两个条件
    • 准确性:个体学习器要有一定的准确性,这样才能有好的效果
    • 多样性:学习器之间要有一些差异,完全相同的几个学习器集成起来后几乎不会有提升

2 随机森林

  • 随机森林是集成学习中Bagging方式的代表
    • 采样多组训练集,并行训练弱分类器
  • 相对于决策树而已,有一个很重要的优点:防止过拟合
    • 防止过拟合的方式与Dropout有点类似
      • 随机选择样本作为训练集(Bootstrap Sampling)
      • 训练集中特征随机选择

2.1 Bootstrap Sampling

  • Bootstrap Sampling 是一种统计学上的采样方法
    • 对于有m个样本的数据集D,进行m次有放回采样得到数据集D' 
    • 这样D与D'的大小一致。
    • 有放回采样使得中D'有的样本重复出现,有的样本则没有出现
  • 某个样本在m次采样中使用没有被采到的概率为(1-\frac{1}{m})^m
    • 当m趋近于∞时

    • ——>D中样本差不多63.2%在D'中
  • 用这种方式采样B个样本集\{D_1,D_2,\cdots,D_B\}
    • 对这B个样本集分别训练一个基学习器T_b(x)

2.2 决策

决策时,在分类任务中通常采用投票法,若两个类别票数一样,最简单的做法是随机选择一个;

回归任务则一般使用平均法

2.3 基学习器和随机森林

  • 早期的Bagging方法是每个基学习器都是一个决策树,完全按照决策树的规则建树
  • 随机森林则在Bagging的基础继续采用特征随机,每个基学习器只对在k个特征构成的子集下进行建树
    • 随机选择k个特征
    • 一般k=logd
    • ——>这样构建的决策树相对于完整的决策树是一个“浅决策树”,这样就构成了特征的随机性

3 随机森林的偏差和方差(bias,variance)

  • 因为基学习器相同,因此各个学习器有近似的Bais和Variance
  • bias

     

  • Variance
    • 如果各个基学习器独立
    • Bagging通过降低Variance来防止过拟合
    • 严格来说每个学习器之间不严格独立,所以Variance的降低会小于B倍

     

    参考内容:【机器学习】随机森林 (qq.com) 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/36712.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【附3.7安装包】python安装包下载及安装(超详细)

python3.7链接:https://pan.baidu.com/s/1Ett3XBMjWhkVOxkOU8NRqw?pwdqz3l 提取码:qz3l 今日资源:Python 适用系统:WINDOWS ​ Python 3.7.0 软件介绍: Python是一款通用型的计算机程序设计语言,Pytho…

4.5 x64dbg 探索钩子劫持技术

钩子劫持技术是计算机编程中的一种技术,它们可以让开发者拦截系统函数或应用程序函数的调用,并在函数调用前或调用后执行自定义代码,钩子劫持技术通常用于病毒和恶意软件,也可以让开发者扩展或修改系统函数的功能,从而…

unbuntu 22.04 安装和卸载企业微信

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 记录有关在ubuntu22.04上安装和卸载企业微信 以及企业微信无法打开问题处理 1. 正文 1.1 安装 下载wine环境 http://archive.ubuntukylin.com/softwar…

【JMeter】同步定时器Synchronizing Timer集合点功能

LoadRunner 中有一个可以设置集合点的功能,顾名思义是设置多个虚拟用户等待到一个时间点,都到齐集合后一起发请求达到并发的目的 集合点是什么意思呢? 阻塞线程,直到指定的线程数量到达后,再一起释放,可以…

这一次,Python 真的有望告别 GIL 锁了?

Python 中有一把著名的锁——全局解释器锁(Global Interpreter Lock,简写 GIL),它的作用是防止多个本地线程同时执行 Python 字节码,这会导致 Python 无法实现真正的多线程执行。(注:本文中 Pyt…

Java设计模式之结构型-代理模式(UML类图+案例分析)

目录 一、基础概念 二、UML类图 1、静态代理类图 2、动态代理类图 三、角色设计 四、案例分析 1、静态代理 2、JDK动态代理 3、Cglib动态代理 五、总结 一、基础概念 代理模式是一种结构型设计模式,它用一个代理对象来封装一个目标对象,通常…

NP问题的通俗解释

本博客参考: https://zhuanlan.zhihu.com/p/348250098https://zhuanlan.zhihu.com/p/348020672https://zhuanlan.zhihu.com/p/260512272以及相关的1-6。 是什么 NP的全称是Non Deteministic Polynomial,是线性所不能判别的问题的集合。 NP这个东西是…

使用RabbitMQ

使用RabbitMQ 1 Docker安装RabbitMQ 1.1 安装RabbitMQ # 下载含有管理页面的镜像 docker pull rabbitmq:3.8.8-management# 创建容器 # 5672:应用访问端口;15672:控制台Web端口号; docker run -itd \ --namemy-rabbitmq \ --re…

第六章:YOLO v1网络详解(统一的实时目标检测)

(目标检测篇)系列文章目录 第一章:R-CNN网络详解 第二章:Fast R-CNN网络详解 第三章:Faster R-CNN网络详解 第四章:SSD网络详解 第五章:Mask R-CNN网络详解 第六章:YOLO v1网络详解 第七章:YOLO v2网络详解 第八章:YOLO v3网络详解 文章目录 系列文章目录技…

记录一个heatmap.js在strict模式下的bug

ImageData的data属性只读&#xff0c;无法修改 出问题的在原始代码的490行~528行 var img this.shadowCtx.getImageData(x, y, width, height);var imgData img.data;var len imgData.length;var palette this._palette;for (var i 3; i < len; i 4) {var alpha imgD…

springboot项目中引入本地依赖jar包,并打包到lib文件夹中

1.springboot项目中引入本地依赖jar包&#xff0c;并打包到lib文件夹中 描述&#xff1a;下载了第三方相关jar包后&#xff0c;项目中引入本地jar&#xff0c;测试环境正常&#xff0c;打包线上报错提示为找到该jar 原因&#xff1a;应该在/WEB-INF/lib/xxx.jar&#xff0c;被…

基于深度学习的高精度刀具检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度刀具检测识别系统可用于日常生活中或野外来检测与定位刀具目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的刀具目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型…

当你按下键盘A键

CPU 里面的内存接口&#xff0c;直接和系统总线通信&#xff0c;然后系统总线再接入一个 I/O 桥接器&#xff0c;这个 I/O 桥接器&#xff0c;另一边接入了内存总线&#xff0c;使得 CPU 和内存通信。再另一边&#xff0c;又接入了一个 I/O 总线&#xff0c;用来连接 I/O 设备&…

前端框架Layui的使用讲解(Layui搭建登录注册页面)

目录 一、前言 1.什么是Layui 2.Layui的背景 3.为什么要使用Layui 4.Layui的模块化 二、Layui使用讲解 1.初识Layui 2.搭建登录页面 静态效果图​ 封装引入文件页面&#xff08;公用页面&#xff09; jsp页面搭建 userDao编写 Servlet页面编写 xml文件配置 3.搭…

DAY41:贪心算法(十)监控二叉树

文章目录 968.监控二叉树思路遍历顺序空节点处理情况列举 最开始的写法debug测试&#xff1a;travelsal的输出多了1 修改版二叉树注意点时间复杂度总结 968.监控二叉树 给定一个二叉树&#xff0c;我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及…

​python接口自动化(三十一)--html测试报告通过邮件发出去——下(详解)​

简介  本篇总结了 QQ &#xff08;SSL&#xff09;邮箱和 163&#xff08;非SSL&#xff09; 邮箱发送邮件&#xff0c;专治各种不行&#xff0c;总之看完这篇以后麻麻再也不用担心我的邮件收不到了。以下代码兼容 python2 和 python3&#xff0c;运行无异常&#xff0c;放心大…

语义分割大模型SAM论文阅读(二)

论文链接 Segment Anything 开源代码链接 SAM 论文阅读 摘要 We introduce the Segment Anything (SA) project: a new task, model, and dataset for image segmentation. Using our efficient model in a data collection loop, we built the largest segmentation dat…

Vue数据项加圆点

目录 Html 样式 方法 Html <el-table-column prop"status" label"数据状态" header-align"center" width"200"><template slot-scope"scope"><div style"display: flex; justify-content: center; a…

fun函数方法体=返回值,kotlin

fun函数方法体返回值&#xff0c;kotlin var str: String "fly"fun main(args: Array<String>) {println(getMyString())println(getMyInt())str "phil"println(getMyString())println(getMyInt()) }fun getMyInt(): Int {return if (str.equals(&…

使用OpenCV在图像上绘制质心

这段代码中已经实现了在图像上绘制质心的功能。质心,也称为重心,是物体质量分布的几何中心,可以通过物体质量和位置的加权平均来求得。 在这个程序中,图像的质心(重心)是通过计算像素强度(可以被看作是“质量”)的加权平均位置得到的。图像上每一个像素都有一个位置(…
最新文章