文章目录

  • 一、定义
  • 二、概念梳理
    • 1.有监督学习
    • 2.集成学习
    • 3. bootstrap
    • 4. bagging
    • 5. 决策树
    • 6.剪枝
  • 二、实现

一、定义

随机森林 是由多个 决策树 组成的 bagging 算法,bagging是 集成学习 的一种,集成学习是 有监督学习 的一种


二、概念梳理

1.有监督学习

根据已有的数据集,知道输入和输出结果之间的关系。根据这种已知的关系,训练得到一个最优的模型。也就是说,在监督学习中训练数据既有特征(feature)又有标签(label),通过训练,让机器可以自己找到特征和标签之间的联系,在面对只有特征没有标签的数据时,可以判断出标签。
例如:回归问题中的房价预测,用已知的房屋面积、房间朝向、卧室数量等特征和已知的房屋成交价格标签训练一个模型,让机器自己找到房屋特征和房屋成交价格之间的内在联系,从而达到房价预测的目的

2.集成学习

在有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好)。集成学习就是组合这里的多个弱监督模型以期得到一个更好更全面的强监督模型,集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。

集成学习在各个规模的数据集上都有很好的策略,如下:

  1. 当数据集足够大时:划分成多个小数据集,学习多个模型进行组合
  2. 数据集较小时:利用bootstrap方法进行抽样,得到多个数据集,分别训练多个模型再进行组合

3. bootstrap

bootstrap也称为自助法,它是一种有放回的抽样方法,目的为了得到统计量的分布以及置信区间。具体步骤如下:

  1. 采用重抽样方法(有放回抽样)从原始样本中抽取一定数量的样本
  2. 根据抽出的样本计算想要得到的统计量T
  3. 重复上述N次(一般大于1000),得到N个统计量T
  4. 根据这N个统计量,即可计算出统计量的置信区间

4. bagging

Bagging是bootstrap aggregating的简写
在Bagging方法中,利用bootstrap方法从整体数据集中采取有放回抽样得到N个数据集,在每个数据集上学习出一个模型,最后的预测结果利用N个模型的输出得到。
具体到不同类型的问题采取如下策略↓

  1. 分类问题:采用N个模型预测投票的方式
  2. 回归问题:采用N个模型预测平均的方式

5. 决策树

决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。
在决策树算法中,有对应的剪枝算法。将比较复杂的决策树,化简为较为简单的版本,并且不损失算法的性能。

6.剪枝

剪枝是决策树算法应对过拟合的一种策略,因为在学习过程中,决策树根据训练样本进行拟合,生成了针对于训练数据集精确性极高的模型。但是训练数据集,不可避免是一种有偏的数据。所以我们为了提高决策树的泛化性能,采取了剪枝的策略。使得决策树不那么对于训练数据精确分类,从而适应任何数据。

剪枝的策略可以分为预剪枝和后剪枝两种↓

概念

  1. 预剪枝:对每个结点划分前先进行估计,若当前结点的划分不能带来决策树的泛化性能的提升,则停止划分,并标记为叶结点。
  2. 后剪枝:现从训练集生成一棵完整的决策树,然后自底向上对非叶子结点进行考察,若该结点对应的子树用叶结点能带来决策树泛化性能的提升,则将该子树替换为叶结点。

优缺点

  1. 预剪枝
    优点:思想简单,算法高效,可以降低过拟合风险,减少训练时间。
    缺点:可能存在欠拟合的风险。
  2. 后剪枝
    优点:欠拟合风险小,泛化能力优于预剪枝。
    缺点:相较于预剪枝,训练开销大。

二、实现

将训练样本用bootstrap方法有放回地随机抽取k个新的自助样本集,并由此构建k棵决策树,再根据每棵树的决策结果进行综合判断。

代码部分可以参考这篇文章

随机森林的相关理论知识相关推荐

  1. trunk口_南京课工场IT培训:VLAN、Trunk与三层交换机的相关理论知识

    各位小伙伴大家好,本次和大家分享的是VLAN.Trunk与三层交换机的相关理论知识,接下来我会从下面几个方面为大家进行解析: 1.VLAN的概念及优势 2.VLAN的种类 3.静态VLAN的配置 4. ...

  2. 制冷与空调设备安装维修相关理论知识在线模拟考试题库

    制冷与空调设备安装维修相关理论知识在线模拟考试题库 从事特殊工种作业人员必须熟悉相应特殊工种作业的安全知识及防范各种意外事故的技能,要求从业人员必须持国家安全生产监督管理局颁发<中华人民共和国特 ...

  3. 条件随机场(CRF)相关理论知识

    文章目录 无向概率图模型 条件随机场 CRF 实例 线性链条件随机场的简化形式 线性链条件随机场的矩阵形式 linear-CRF的三个基本问题 1,概率计算问题 前向后向概率概述 前向后向概率计算 l ...

  4. 产品设计相关理论知识

    1.伯斯塔尔法则(Postel's Law) 系统/产品应保有一定程度的容错能力,在设计中表现为允许用户进行任何操作,即便是错的或无效的 Blilibili安卓端头部区域除了[搜索栏]和其他几个按钮之 ...

  5. 【软件测试-04】Web应用程序测试的测试流程和相关理论知识;

    目录 web测试: 测试方法: 1.1界面测试: web测试的主要页面元素: 测试技术 1.2 界面测试要素: 2.1功能测试 连接: 表单提交: Cookies 验证: 功能易用性测试 2. 2.测 ...

  6. 三轴试验相关理论知识(1)

    一.基本概念 常用术语 法向力--垂直于滑动面上的应力,也叫正应力σ.σ=N/A(N:作用于滑动面的力:A:滑动面的面积) 剪应力--与法向力垂直的切向应力τ.τ=F/A(F:与法向力相垂直的摩擦力) ...

  7. Unity3DCPU优化方法相关理论知识

  8. Python 决策树与贝叶斯相关理论知识和例题

    目录 ID3算法 例题 贝叶斯 例1 例2 朴素贝叶斯 例题 参考 信息有顺序排列,意思明确 信息无序,意思多 描述信息的混乱度用信息熵 ID3算法 将无序的数据变得更加有序. 信息熵计算公式 信息增 ...

  9. matlab中随机森林实现,随机森林实现 MATLAB

    matlab 中随机森林工具箱的下载地址: http://code.google.com/p/randomforest-matlab/downloads/detail?name=Windows-Pre ...

最新文章

  1. C++ 虚函数与存虚函数
  2. 序列比对-BLAST
  3. python @修饰符作用
  4. 【音频处理】Adobe Audition 快捷键设置
  5. case 关键字后面的的值有什么要求吗?
  6. Leetcode224 基本加减计算器-双栈和状态转换
  7. SQL SERVER 子查询的用法
  8. python实现雪花飘落效果_jQuery实现雪花飘落效果
  9. Android listview优化以及listview混合itemview
  10. 【代码笔记】Web-ionic单选框
  11. Linux文本编辑器vim
  12. Q82:三角形网格[Triangle Mesh]图形的平滑着色[Smooth Shading]
  13. error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
  14. MATLAB指纹识别算法实现
  15. CTPN/CRNN的OCR自然场景文字识别理解(一)
  16. cdr拼版工具不见了_cdr排版及各种问题解决方法
  17. ZZULIOJ:1088: 手机短号 (多实例)
  18. 内鬼黑客狂卖个人信息 “年产值”飙上千亿
  19. 抖音播放量为什么那么少?如何提升抖音账号权重?
  20. 电脑录音软件怎么录音

热门文章

  1. 如何在 Windows 10 上为单个用户安装应用程序
  2. 2022-2028全球霍尔效应位置传感器行业调研及趋势分析报告
  3. 2020年终总结:星光不负赶路人--又是折腾的一年
  4. 2014年GDG西安 -- DevFest Season1
  5. 编写一个Java程序,对于给定的年份,回答“Leap Year”(闰年)或者“Not a Leap Year”(平年)。
  6. GPT-4推理提升1750%!DeepMind提出全新思维树框架,让LLM反复思考
  7. 细品RibbonX(31):buttonGroup元素详解
  8. 百度实习学弟深夜吐槽:原来大厂是这种生活啊
  9. React之批量上传图片
  10. 【笔记】IDEA运行主方法时报Command iline is too long Shorten command line....