logo资料库

随机森林算法介绍.ppt

第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
资料共28页,剩余部分请下载后查看
机器学习与模式识别算法之 Random Forest随机森 林
Outlines: 1、随机森林发展史、算法介绍、应用范围 2、随机森林之分类 3、随机森林之特征选择 4、随机森林优缺点
随机森林的发展史 谈及随机森林算法的产生与发展,我们必须回溯到20世纪80 年代。可以说,该算法是Leo Breiman, Adele Cutler, Ho Tin Kam, Dietterich, Amit和Geman这几位大师呕心沥血的共同结 晶,他们中的每个人都对随机森林算法的早期发展作出了重要 的贡献。Leo Breiman和 Adele Cutler最早提出了执行随机森 里的关键算法,这一算法也成为了他们的专利之一。Amit, Gemen和Ho Tim Kam各自独立地介绍了特征随即选择的思想 ,并且运用了Breiman的“套袋”思想构建了控制方差的决策 树集合。在此之后,Deitterich在模型中引入了随即节点优化 的思想,对随机森里进行了进一步完善。
什么是随机森林? 随机森林顾名思义,是用随机的方式建立一个森林,森林里面有 很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。 在得到森林之后,当有一个新的输入样本进入的时候,就让森林中 的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类 (对于分类算法),然后看看哪一类被选择最多,就预测这个样本 为那一类。 随机森林是一种多功能的机器学习算法,能够执行回归和分类的 任务。同时,它也是一种数据降维手段,用于处理缺失值、异常值 以及其他数据探索中的重要步骤,并取得了不错的成效。另外,它 还担任了集成学习中的重要方法,在将几个低效模型整合为一个高 效模型时大显身手。
决策树 决策树(decision tree)是一个树结构(可以是二叉树或非二叉 树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表 这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。 使用决策树进行决策的过程就是从根节点开始,测试待分类项中相 应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将 叶子节点存放的类别作为决策结果。 决策树实际上是将空间用超平面进行划分的一种方法,每次分割 的时候,都将当前的空间一分为二,比如说下面的决策树:
随机森林算法介绍 随机森林的具体实现过程如下: (1)原始训练集为N,应用bootstrap法有放回地随机抽取k个新的自助样本集, 并由此构建k棵分类树,每次未被抽到的样本组成了k个袋外数据; (2)设有mall个变量,则在每一棵树的每个节点处随机抽取mtry个变量 (mtry << mall),然后在mtry中选择一个最具有分类能力的变量(信息增益、增 益率等),变量分类的阈值通过检查每一个分类点确定; (3)每棵树最大限度地生长, 不做任何修剪; (4)将生成的多棵分类树组成随机森林,用随机森林分类器对新的数据进行判别 与分类,分类结果按树分类器的投票多少而定。 随机森林中的每一棵分类树为二叉树,其生成遵循自顶向下的递归分裂原则,即 从根节点开始依次对训练集进行划分;在二叉树中,根节点包含全部训练数据, 按照节点纯度最小原则,分裂为左节点和右节点,它们分别包含训练数据的一个子 集,按照同样的规则节点继续分裂,直到满足分支停止规则而停止生长。
随机森林算法介绍
随机森林算法介绍 在建立每一棵决策树的过程中,主要包括采样与完全分裂两步。 1、是两个随机采样的过程,random forest对输入的数据要进行行、列 的随机采样。 - 对于行采样,采用有放回的方式,也就是在采样得到的样本集合中,可能 有重复的样本。假设输入样本为N个,那么采样的样本也为N个。这样使得 在训练的时候,每一棵树的输入样本都不是全部的样本,使得相对不容易 出现over-fitting。 - 然后进行列采样,从M个feature中,选择m个(m << M)。 2、是对采样之后的数据使用完全分裂的方式建立出决策树。 - 这样决策树的某一个叶子节点要么是无法继续分裂的,要么里面的所有样 本的都是指向的同一个分类。一般很多的决策树算法都一个重要的步骤— —剪枝,但是这里不这样干,由于之前的两个随机采样的过程保证了随机 性,所以就算不剪枝,也不会出现over-fitting。
分享到:
收藏