所谓ensemble learning,简单来说,是指综合多种基础模型或弱分类器来完成最终的决策的机器学习方法。

Bagging和Boosting(之前所提到的Adaboost)都属于这类方法。

Combining a series of T learned classifiers C1,…,CT

with the aim of creating an improved composite classifier C*

Random Forest也是一种基于ensemble learning思想的算法,该算法在决策树Bagging的基础上又增加了一层随机因素,在实际的分类和回归任务中,都取得了非常好的效果。 Random Forest是基于多棵分类回归树(CART)应用Bagging思想发展而来。。

分类回归树是一种基于2叉决策树的非线性机器学习算法,可以解决分类和回归的问题。

CART是一种有监督的学习方法,它解决分类和回归问题需要经过“训练”和“预测”两个阶段。

随机因素:Random Forest由很多CART树组合构成,同时还融入了random的思想。在实际的实现中,random体现在训练样本选择和分裂特征选择过程中

1) 随机训练样本选择

随机森林算法在生成每一颗决策树的过程中,不是采用所有的训练样本,而是随机采用一部分训练样本作为单颗决策树生长的训练数据。样本随机选取一般采用无放回的方式。

2) 随机分裂特征选择

子学习器独立性:在ensemble learning算法的一般经验表明,子学习器之间的独立性越好,集成之后的效果也就越好。相对于一些基于训练集合全局优化的机器学习算法,CART训练分裂过程基于贪心算法,训练参数相对不稳定,加上在训练样本选择和分裂特征选择中的随机因素,进一步增强了子学习器之间的独立性。因此,CART是集群学习中理想的子学习器,同时一些实验也表明,增加了随机因素的Random Forest相比一般的多CART bagging策略有明显的提升。

Random Forest算法

训练阶段:

1. For b = 1 to M

a) 从训练数据集合N中随机选取K个样本

b) 基于K个样本,训练CART

i. 在p个特征中随机选取m个特征

ii. 在m个特征中选取最优的分割特征和分割点

iii. 根据分割特征和分割点将树节点分裂成两个子节点

2. 保存所有生成的M个CART

预测阶段:

回归任务:R_predict =

分类任务:C_predict = Majority{C_CART[i]|i }

Ensemble Approaches分类技术的更多相关文章

  1. soso官方:网页分类技术介绍

    http://www.wocaoseo.com/thread-190-1-1.html 1.    技术背景     分类问题是人类所面临的一个非常重要且具有普遍意义的问题.将事物正确的分类,有助于人 ...

  2. OVS+DPDK Datapath 包分类技术

    本文主体内容译于[DPDK社区文档],但并没有逐字翻译,在原文的基础上进行了一些调整,增加了对TSS分类器的详细阐述. 1. 概览 本文描述了OVS+DPDK中的包分类器(datapath class ...

  3. RNA分类|技术策略|终极目标

    如何在转录水平分类所有RNA分子?可以罗列所有的可能性.技术策略和终极目标. 可能性:见纸 技术策略:RNA单细胞直测技术 终极目标:单细胞水平RNA直测技术决定新的人类RNA组和人类表观组学两个核心 ...

  4. <数据挖掘导论>读书笔记4--其他分类技术

    1.基于规则的分类器 2.最近邻分类器 3.贝叶斯分类器 4.人工神经网络 5.支持向量机 6.组合方法 7.不平衡类问题 8.多类问题

  5. 易百教程人工智能python修正-人工智能监督学习(分类)

    分类技术或模型试图从观测值中得出一些结论. 在分类问题中,我们有分类输出,如“黑色”或“白色”或“教学”和“非教学”. 在构建分类模型时,需要有包含数据点和相应标签的训练数据集. 例如,如果想检查图像 ...

  6. Java Web编程技术学习要点及方向

    学习编程技术要点及方向亮点: 传统学习编程技术落后,应跟著潮流,要对业务聚焦处理.要Jar, 不要War:以小为主,以简为宝,集堆而成.去繁取简 Spring Boot,明日之春(future of ...

  7. [Search Engine] 搜索引擎分类和基础架构概述

    大家一定不会多搜索引擎感到陌生,搜索引擎是互联网发展的最直接的产物,它可以帮助我们从海量的互联网资料中找到我们查询的内容,也是我们日常学习.工作和娱乐不可或缺的查询工具.之前本人也是经常使用Googl ...

  8. Web挖掘技术

      一.数据挖掘 数据挖掘是运用计算机及信息技术,从大量的.不全然的数据集中获取隐含在当中的实用知识的高级过程.Web 数据挖掘是从数据挖掘发展而来,是数据挖掘技术在Web 技术中的应用.Web 数据 ...

  9. Netflix工程总监眼中的分类算法:深度学习优先级最低

    Netflix工程总监眼中的分类算法:深度学习优先级最低 摘要:不同分类算法的优势是什么?Netflix公司工程总监Xavier Amatriain根据奥卡姆剃刀原理依次推荐了逻辑回归.SVM.决策树 ...

随机推荐

  1. fr

    8.3 credit sales(bad debt , ar) method1:direct write off method2:allowance method for bad debt allow ...

  2. XHR2 和[FromBody]使用说明

    [FromBody]必须是application/json 否则会报415 不支持的类型 //Forms function FormsPost(data) { //Default Type x-www ...

  3. Linux常用的一些命令

    linux 关闭防火墙命令 servers iptables stop  关闭 servers  iptables status  状态 servers  iptables restart 重启 关闭 ...

  4. SQL 调试:无法启动 T-SQL 调试。未能附加到 SQL Server 进程

    将 Windows 登录帐户添加为 sysadmin 已经具有 sysadmin 特权的用户必须执行以下命令: sp_addsrvrolemember 'Domain\Name', 'sysadmin ...

  5. HDU 4405 Aeroplane chess 概率DP 难度:0

    http://acm.hdu.edu.cn/showproblem.php?pid=4405 明显,有飞机的时候不需要考虑骰子,一定是乘飞机更优 设E[i]为分数为i时还需要走的步数期望,j为某个可能 ...

  6. C# 子窗体点击按钮产生的新子窗体放在父窗体里

    情景展示: 父窗体Form1,左边是按钮,右边是panel(放置子窗体) 父窗体点击按钮,在panel显示第一个子窗体AA, AA有个按钮,点击按钮,是第二个子窗体ZZ, 怎样将AA的子窗体ZZ也显示 ...

  7. Java并发编程(三)后台线程(Daemon Thread)

    后台线程,守护线程(Daemon Thread) 所谓的后台线程,就是指这种线程并不属于程序中不可或缺的部分,因此当所有的非后台线程结束时,程序也就终止了,同时会杀死进程中的所有后台线程.通过setD ...

  8. iOS如何生成.a文件

    首先来谈谈为何要使用.a文件 Objective-c语言有.h .m 文件组成.静态库可以将 .m文件封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的 ...

  9. 开发基于Handoff的App(Swift)

            iOS8推出一个新特性,叫做Handoff.Handoff中文含义为换手(把接力棒传给下一个人),可以在一台Mac和iOS设备上开始工作,中途将工作交换到另一个Mac或iOS设备中进行 ...

  10. Discuz 论坛的搭建(五)

    配置discus论坛 1.下载discus论坛代码 2.解压缩到ApacheProject目录下 3.把discuz的upload文件copy到discuz文件夹下,然后删除upload文件夹 4.修 ...