所谓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. BZOJ1747 [Usaco2005 open]Expedition 探险

    首先我们可以发现如果错过了一个加油站,而继续往前走的时候没有油了,可以再假装之前经过加油站的时候加过油 于是我们维护一个大根堆,表示错过的加油站是哪些,每当没有油的时候从堆顶取出最大值加上去即可 /* ...

  2. mysql 索引长度限制

    MyISAM存储引擎引键的长度综合不能超过1000字节 InnoDB单列索引长度不能超过767bytes,联合索引还有一个限制是3072

  3. SQL逻辑读变成零

    使用缓存HINT 让逻辑读变成0. create table t as select * from dba_objects; insert into t select * from t; commit ...

  4. php不解析的排查步骤

    php不解析的排查步骤:1. /usr/local/apache2/bin/apachectl -M 看一下有没有加载libphp5.so2. 查看配置文件中是否有 AddType applicati ...

  5. easy_install jinja2 mac linux

    error: can't create or remove files in install directory The following error occurred while trying t ...

  6. HDU 4036 存疑题目,数论 难度:1

    http://acm.hdu.edu.cn/showproblem.php?pid=4036 一开始以为需要用斜抛,结果发现只需要用能量守恒定律?+与最大速度的坏土豆速度保持一致 #include & ...

  7. java中的native方法和修饰符(转)

    Java中的native修饰符 今天偶然看代码,发现别人有这样写的方法,并且jar里面有几个dll文件,比较奇怪,于是把代码打开,发现如下写法. public native String GSMMod ...

  8. 使用read write 读写socket

    一旦,我们建立好了tcp连接之后,我们就可以把得到的fd当作文件描述符来使用. 由此网络程序里最基本的函数就是read和write函数了. 写函数: ssize_t write(int fd, con ...

  9. 在Win7下安装IIS

    由于工作上的需要,有朋友在问在windows7系统下如何来配置IIS,大部分用户平时都很少接触到这个功能,所以对于安装配置十分陌生也是在所难免的,下面就让小编与你分享下windows7系统下IIS详细 ...

  10. JavaScript中字符串转Json方法小记

    例如: JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JS ...