机器学习之随机森林(简单理解)

之前简单介绍了决策树,这篇文章简单介绍一下随机森林以及优缺点。

集成学习

通过构建并结合多个分类器来完成学习任务。将多个学习器进行结合,常比获得单一学习器更好的泛化性能。
目前集成学习方法大致可分为两类,即个体学习器之间存在强依赖关系,必须串行生成的序列化方法,以及个体学习器之间不存在依赖关系,可同时生成的并行化方法;前者代表时Boosting, 后者代表是Bagging和随机森林(random forest: RF)。

Bagging 和随机森林

要得到泛化性能强的集成,则集成中的个体学习器应尽可能相互独立。
“自助采样法”:给定包含m个样本的数据集, 先随机选取一个样本放入采样集中,再把该样本放回,重复m次随机操作,得到含m个样本的采样集。这样使得初始训练集中有的样本在采样集中出现,有的从未出现。
如此,可以采样出T个含m个样本的采样集,基于每个采样集训练出一个基础学习器,将这些基础学习器进行结合,这就是Bagging的基本流程。在对预测输出进行结合时, Bagging通常对分类任务使用简单投票,对回归任务使用简单平均法。

关于决策树:
决策树实际是将空间用超平面(后面介绍svm也会提到)进行划分的一种方法,每次分割,都将当前空间一份为二。

image.png

这样使得每一个叶子节点都是在空间中的一个不相交的区域。决策时,会根据输入样本每一维feature的值,一步步往下,最后使样本落入N个区域中的一个(假设有N个叶子节点)。

随机森林是Bagging的一个扩展。随机森林在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入随机属性选择(引入随机特征选择)。传统决策树在选择划分属性时在当前节点的属性结合(d个属性),利用信息论的知识选取一个最优属性;而在随机森林中, 对决策树的每个节点,先从该节点的属性集合中随机选取包含k个属性的子属性集,然后选择最优属性用于划分。这里的参数k控制了随机性的引入程度。若k=d, 则是一般的决策树;k=1, 则是随机选择一个属性进行划分。随机森林对用做构建树的数据做了限制,使的生成的决策树之间没有关联,提升算法效果。

随机森林的分类

随机森林用于分类是,即采用n个决策树分类,将分类结果用简单投票得到最终分类,提高准确率。
随机森林是对决策树的集成,其两点不同也在上面叙述中提到:

  1. 采样差异:从含m个样本的数据集中有放回采样,得到含m个样本的采样集用于训练。保证每个决策树的训练样本不完全一样。
  2. 特征选择差异:每个决策树的k个分类特征是所在特征中随机选择的(k需要调参)。

随机森林需要调整的参数:

  • 决策树的个数m
  • 特征属性的个数 k
  • 递归次数(决策树的深度)

实现流程

  1. 导入数据并将特征转为float形式。
  2. 将数据集分成n份, 方便交叉验证
  3. 构造数据子集(随机采样),并在指定特征个数(假设m个,调参)下选择最优特征
  4. 构造决策树(决策树的深度)
  5. 创建随机森林(多个决策树的结合)
  6. 输入测试集并进行测试,输入预测结果。

随机森林的优点:

  • 在当前的很多数据集上,相对其他算法有着很大的优势
  • 能够处理高纬度(feature)的数据, 并且不同做特征选择。
  • 在训练完后,能够给出哪些feature比较重要
  • 创建随机森林时, 对generlization error使用的是无偏估计
  • 训练速度快
  • 在训练过程中,能够监测到feature间的相互影响
  • 容易做成并行化方法
  • 理解,实现简单

基本理解后,可以参考一下别人和sklearn的相关算法实现,可能的话,我也会做个简单实现。

参考文章:
机器学习中的算法(1)-决策树模型组合之随机森林与GBDT
随机森林的原理分析及Python代码实现

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容