视频链接
视频链接
博客链接
一、基本架构
随机森林是Bagging(Bootstrap Aggregating) =“自助采样 + 平均/投票”的一种
有很多决策树,不同决策树训练的数据集不一样,看问题的角度不一样,运行结果不一样,将不同结论综合起来,得到随机森林最终的输出。特点是处理多个特征的样本数据
二、原理
(一)随机森林的随机在于哪里?
体现在数据集样本的随机抽样选择和待选特征的随机抽样选择,使得每一棵树的样本、特
征都是不同的。使得每一棵树的样本、特征都是不同的。
数据集样本的随机抽样选择
从原始的数据集中采取有放回的抽样(BaggingBootstrap Aggregating),构造子数据集,子数据集的数据量是和
原始数据集相同的。不同子数据集的元素可以重复,同一个子数据集中的元素也可以重复。
待选特征的随机抽样选择
与数据集的随机选取类似,随机森林中的子树的每一个分裂过程并未用到所有的待选特
征,而是从所有的待选特征中随机选取一定的特征,之后再在随机选取的特征中选取最优的
特征。
(二)要点
训练数据从总数据中取小n个样本,小d个数据,保证每个训练数据都不一样
对regression问题,通过求均值整合结果
对classification问题,通过求众数整合结果
(三)步骤
(1)先采用放回抽样的方式抽取样本
(2)用不同的样本分别训练不同的决策树
(3)假设有M个特征,选择有一部分数据,特征为m(m<<M),每一次分裂都是从m中选一个出来;减小m,树之间的相关性降低,增大m,树之间相关性变高。研究之后m取(样本数开根号)
(4)每个决策树会产生一个输出,如果是分类问题,就通过众数决定(投票),如果是回归就取平均
(四)影响模型效果好坏的因素
(1)每个树的特征数,前面提到的m,一般取
(2)决策树的棵树一般默认为100
(3)树深,太深每棵树都会过度学习,会过拟合
(五)评价指标
三、优缺点
优点
1.它可以处理很高维度(特征很多)的数据,并且不用降维,无需做特征选择
2.它可以判断特征的重要程度
3.可以判断出不同特征之间的相互影响
4. 不容易过拟合
5.训练速度比较快,容易做成并行方法
6.实现起来比较简单
7.对于不平衡的数据集来说,它可以平衡误差。
8.如果有很大一部分的特征造失,仍可以维持准确度。
缺点
1.随机森林已经被证明在某些噪音较大的分类或回归问题上会过拟合。
2.对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响,所以随机森林在
这种数据上产出的属性权值是不可信的
四、决策树
、
如何选择最优的决策条件?不同的分支选显示的特征不同。
熵ENTROPY:Measures The Uncertainty in a mode
样本一致性低,熵越大,不确定性越高,
决策树的整体流程
决策树的优缺点
优点:直观,好理解
缺点:
1.对于树的最大深度这个预制参数很敏感
深度太大,可能overfit
深度太小,可能underfit
树的深度:
(1)太浅,分类过程没有完全结束,underfit
(2)太深,模型缺乏普适性,过拟合,overfit
2.计算效率不高
决策树有什么缺点才需要随机森林
决策树(特别是深树)在“单兵作战”时有三大**原生缺陷**,随机森林正是逐条对症下药:
1.高方差—— 数据稍微动一下,树就长得面目全非
成因:分裂准则(信息增益/Gini)是 贪婪最大化 ,把训练集每一丝波动都当成“真理”刻进去。
后果:换一批样本或调几个点,树结构、预测结果都可能剧变,稳定性极差。
→ 随机森林用 Bootstrap + 平均/投票 把方差直接砍到 1/B 量级。
2.极易过拟合—— 只要一直分层,总能把叶子纯度刷到 100 %
成因:节点可无限细分,训练误差能压到 0。
后果:训练集 100 %,测试集 70 %,经典“背题库”现场。
→ 随机森林靠 多树集成 + 随机特征子集 引入扰动,让单棵树“背不下来”,集成后反而泛化更好。
3.对噪声、异常值敏感—— 一个脏点就能把整棵树的早期分裂带歪
成因:顶层分裂由全局最优指标决定,脏数据一旦成为“最佳切点”,误差一路向下放大。
后果:一条异常记录可让预测偏差飞出边界。
→ 随机森林的 样本重采样 + 特征随机 让异常点大概率进不了部分子树,即使进入也只影响少数树,最终投票被稀释。
额外副作用
- 线性/加性结构捕捉差、对旋转敏感、无法外推等,随机森林也能顺带缓解(虽非主因)。
总结:
决策树把“偏差压到极低、方差飙到极高”当成默认选项;随机森林用Bootstrap 采样和随机特征子集人为注入扰动,再把多棵高方差树“平均”掉波动,于是方差骤降、过拟合收敛、鲁棒性飙升——这就是“树必须抱团”才堪大用的根本原因。