当前位置: 首页 > news >正文

数据分析 | 为什么Bagging算法的效果优于单个评估器

1. 回归问题如何降低方差

        以随机森林为例,假设随机森林中含有n个弱评估器,由于子样本集的相似性以及使用的是同种模型,因此各模型有近似相等的方差和偏差,因此假设任意弱评估器上输出结果为x_{i},方差均为\sigma,则随机森林的输出结果为\frac{\sum x_i}{n},当各棵树相互独立时有如下关系:

         由上述公式可知,随机森林在经过Bagging之后的方差一定小于单个评估器的方差,这也是随机森林的泛化能力总是强于单一决策树的根本原因。其中泛化误差为模型在测试集上的误差,有如下关系:

2. 分类问题如何降低方差

        Bagging在执行分类任务时总是遵循少数服从多数的原则,同样可以通过回归器进行预测,只是在回归的基础上套上sigmoid函数,以0.5为阈值进行划分,即能将回归转化为分类。其中,sigmoid函数如下:

         由于sigmoid函数是二阶可导函数,根据泰勒展开以及方差的运算性质有如下关系:

        一阶导后平方的sigmoid函数值域为[0,0.0625],因此在分类问题上Bagging算法也是能降低方差的。

3. Bagging有效的条件

        由于Bagging不能降低偏差,因此要求弱评估器的偏差较低,准确率至少在50%以上;由于方差降低的必要条件是各个弱评估器之间相互独立,因此要求弱评估器之间的相关性尽可能弱,可以通过随机采样来降低相关性。其中,ESL(p588)教材有如下公式。由此可知弱评估器的相关性越强,随机森林输出结果的方差就越大。 

http://www.lryc.cn/news/120163.html

相关文章:

  • mysql架构介绍
  • EIK+Filebeat+Kafka
  • python安装xgboost报错
  • 语音芯片的型号有哪些?为什么强烈推荐使用flash型可擦写的
  • 【OpenCV常用函数:轮廓检测+外接矩形检测】cv2.findContours()+cv2.boundingRect()
  • opencv,opengl,osg,vulkan,webgL,opencL,cuda
  • golang拥有wireshark数据包解析能力
  • Redis_分片集群
  • 测试提升方向:你选测试开发?还是性能测试?
  • 无涯教程-Perl - print函数
  • python搜索文件夹内类似的文件名
  • [保研/考研机试] KY3 约数的个数 清华大学复试上机题 C++实现
  • cmake扩展(2)——windows下动态设置输出文件(dll/exe)版本
  • Python-OpenCV中的图像处理-颜色空间转换
  • yolov5目标检测多线程Qt界面
  • [ubuntu]创建root权限的用户 该用户登录后自动切换为root用户
  • 大连交通大学813软件工程考研习题
  • 分布式协议与算法——Paxos算法
  • Spring中的Websocket身份验证和授权
  • 【果树农药喷洒机器人】Part7:静态PWM变量喷药实验
  • C++ 网络编程项目fastDFS分布是文件系统(一)
  • PoseiSwap 开启“Poseidon”池,治理体系或将全面开启
  • 【C/C++】重载运算符特性
  • HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
  • 24届近3年南京信息工程大学自动化考研院校分析
  • 【LeetCode】1572.矩阵对角线元素的和
  • 2023-08-08 Ubuntu 挂载U盘 fdisk -l 、sudo mount /dev/sdb1 /mnt/mydisk
  • make/makefile/cmake/nmake
  • 实用的开源应用全新开源源码Vue3+TS的前后台分离的开发平台源码开源技术社区平台
  • C++复习笔记——primer第五版