随机森林原理

随机森林是近年来机器学习中常用的方法,典型的随机森林是由一系列的二叉决策树构成,森林中树的数目由我们自己根据情况来定。

随机森林的训练是在用随机森林解决问题时最主要的问题。


所谓训练一个森林可以简单的用y=f(x)描述:

1、可以将所有训练样本看作输入-------x

2、所训练的森林看作分f(x)-----即训练出一个可以解决问题的函数

3、y即为test时的输出


随机森林的建造:

1、Sampling

抽样是随机森林中每棵树的建造的第一步,抽样利用放回的方式。

假设训练样本一共有N个,每次随机的从样本中有放回抽取一个,一共抽取N次,用这抽取的N个样本去训练森林中的一棵树;如此循环直到训练了我们     需要的数目的树。

2、节点分裂test的选择

节点test的选择采用 随机抽样+CART的方式。

所谓随机抽样即:假设每个样本都有M个属性,随机的从这M个属性中选择m个属性(其中m<<M)

CART即:使用这m个属性中最具有区分能力的某个属性用以使节点分裂。----------------详情参见Decision Tree and Regression Tree

这一步是针对于森林中每棵树的创建,其中的样本集合是每次用Bootstrap方式抽样得到的N个样本。

3、分裂的终止条件

分裂终止条件有很多种变种,有些是给节点中的属性数目设个阀值,具体可以根据实际情况来定。


随机森林建好后并不需要对森林中的剪枝,它可以用于解决分类问题以及回归问题。

Classification:

其输出结果是:所有树中获得投票(votes)最多的那个类,即为当前对象所属的类

Regression:

其输出结果是:所有树的输出值的平均值



在opencv的samples文件夹里有一个随机森里的样例,配置一下包含目录,库目录,和连接器便可以运行,下面是我的运行结果

随机森林是一种集成学习算法,它由多个决策树组成。每个决策树都是一个分类器,通过对输入样本进行多次随机采样和特征选择来构建。在随机森林中,每个决策树都会根据随机选择的特征和样本进行训练,并且通过投票或平均来决定最终的分类结果。 随机森林的几个重要原理如下: 1. 随机性:随机森林中引入两个随机性,分别是对样本的随机采样和对特征的随机选择。通过这两个随机性的引入,可以避免过拟合,并提高模型的泛化能力。 2. 决策树的构建:随机森林中的每个决策树都是通过对样本的随机采样和对特征的随机选择来构建的。采用随机采样可以保证每个决策树都是基于不同的样本集训练的,增加了模型的多样性。而对特征的随机选择可以避免某些特征对模型的过度依赖。 3. 集成学习:随机森林通过对每个决策树的分类结果进行投票或平均来得到最终的分类结果。这样可以减少单个决策树的误差,并提高整体模型的准确性。 4. 抗噪能力:由于随机森林中的每个决策树都是基于不同的样本集和特征集训练的,因此它对噪声和缺失值具有很好的鲁棒性,对于异常值和噪声的影响相对较小。 总结起来,随机森林通过构建多个决策树,并通过集成学习的方式来提高模型的性能和鲁棒性。它具有较好的泛化能力、抗噪能力和计算效率,是一种常用的机器学习算法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值