TASK1 随机森林算法梳理

1 集成学习概念

集成学习是训练多个个体学习器(常为弱分类器),根据一定的结合策略形成一个强监督模型,其思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。集成学习可用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等。

根据个体学习器的生成方式分为:
个体学习器间存在强依赖关系、必须串行生成的序列方法。如:Boosting
个体学习器间不存在强依赖关系、可同时生成的并行化方法。如:Bagging 和随机森林(Rasdom Forest)

2 个体学习器概念

个体学习器通常是用一个现有的学习算法从训练数据产生,例如C4.5决策树算法、BP神经网络算法等。此时集成中只包含同种类型的个体学习器,例如“决策树集成”中的个体学习器全是决策树,“神经网络集成”中就全是神经网络,这样的集成是“同质”(homogeneous)的,同质集成中的个体学习器也称为“基学习器”(baselearner),相应的学习算法称为“基学习算法”(baselearning algorithm)。有同质就有异质(heterogeneous),若集成包含不同类型的个体学习器,例如同时包含决策树和神经网络,那么这时个体学习器一般不称为基学习器,而称作“组件学习器”(componentleaner)或直接称为个体学习器。

3.1 Boosting

Boosting方法训练基分类器时采用串行策略,各个基分类器之间有依赖。eg:AdaBoost 算法、GBDT 算法

基本思路:
先从初始训练集训练一个基学习器;初始训练集中各样本的权重是相同的;根据上一个基学习器的表现,调整样本权重,使分类错误的样本得到更多的关注;基于调整后的样本分布,训练下一个基学习器;测试时,对各基学习器加权得到最终结果。
特点:
每次学习都会使用全部训练样本

3.2 Bagging

Bagging在训练时基分类器采用并行策略,最终根据基分类器的结果投票做出最终决策,典型的有基于决策树基分类器的随机森林(Random Forest)。

基本思路:
利用自助采样法对训练集随机采样,重复进行 T 次;基于每个采样集训练一个基学习器,并得到 T 个基学习器;
预测时,集体**投票决策****。

特点:
训练每个基学习器时只使用一部分样本

Bagging方法是一个集体决策的过程,每个个体都进行单独学习,学习的内容可以相同,也可以不同,也可以部分重叠。但由于个体之间存在差异性,最终做出的判断不会完全一致。在最终做决策时,每个个体单独作出判断,再通过投票的方式做出最后的集体决策。

4结合策略(平均法,投票法,学习法)

集成学习的第二类模型,为了提高集成的泛化能力,每个基学习器之间不存在很强的依赖性,所以最终预测结果时,需要一定的策略对T个结果进行结合。

4.1 平均法

个体学习器性能差别较大时,用加权平均法;
个体学习器性能相近时,宜简单平均法。

4.2 投票法

绝对多数投票法:若某标记得票过半数,则预测为该标记;否则拒绝预测。
相对多数投票法:预测为得票最多的标记。若同时有多个标记获得最高票,则从中随机选取一个。
加权投票法

4.3 学习法

当训练数据很多时,可通过另一个学习器来进行结合。

5 随机森林思想

随机森林利用随机的方式将许多决策树组合成一个森林,当有一个新的输入样本进入的时候,让森林中的每一棵决策树分别进行一下判断。对于分类问题,按多棵树分类器投票决定最终分类结果;对于回归问题,由多棵树预测值的均值决定最终预测结果。

构建过程:
从原始训练集中使用Bootstraping随机有放回采样选出m个样本,共进行n_tree次采样,生成n_tree个训练集;
对于n_tree个训练集,我们分别训练n_tree个决策树模型;
对于单个决策树模型,假设训练样本特征的个数为n,那么每次分裂时根据信息增益/信息增益比/基尼指数选择最好的特征进行分裂;
每棵树都一直这样分裂下去,直到该节点的所有训练样例都属于同一类。在决策树的分裂过程中不需要剪枝;
将生成的多棵决策树组成随机森林。

7 随机森林的推广

7.1 extra trees

原理几乎和RF一模一样,区别有:
1) 对于每个决策树的训练集,RF采用的是随机采样bootstrap来选择采样集作为每个决策树的训练集,而extra trees一般不采用随机采样,即每个决策树采用原始训练集。
2) 在选定了划分特征后,RF的决策树会基于基尼系数,均方差之类的原则,选择一个最优的特征值划分点,这和传统的决策树相同。但是extra trees比较的激进,他会随机的选择一个特征值来划分决策树。

7.2 Totally Random Trees Embedding

TRTE是一种非监督学习的数据转化方法。它将低维的数据集映射到高维,从而让映射到高维的数据更好的运用于分类回归模型。

7.3 Isolation Forest

Isolation Forest(以下简称IForest)是一种异常点检测的方法。IForest采样个数要远远小于训练集个数。IForest随机选择一个划分特征,对划分特征随机选择一个划分阈值。IForest一般会选择一个比较小的最大决策树深度,用少量的异常点检测一般不需要这么大规模的决策树。

8 随机森林的优缺点

优点:准确率高;随机性的引入,不容易过拟合;很好的抗噪声能力;能处理很高维度的数据,并且不用做特征选择;既能处理离散型数据,也能处理连续型数据,数据集无需规范化;训练速度快,可以得到变量重要性排序;容易实现并行化。
缺点:当随机森林中的决策树个数很多时,训练时需要的空间和时间会较大;在某些噪音比较大的样本集上,RF模型容易陷入过拟合。

9 sklearn 参数

scikit-learn中,随机森林的分类函数是RandomForestClassifier,回归函数是RandomForestRegressor 。

RandomForestClassifier(n_estimators=’warn’, criterion=’gini’, max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=’auto’, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=None, random_state=None, verbose=0, warm_start=False, class_weight=None)

具体含义和使用见文档:
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html
https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html

9应用场景

随即森林可用于多分类或二分类问题,容易处理高维的数据,可用于大量的训练数据的场景。随即森林不需要很多参数调整就可以达到不错的效果,基本上不知道用什么方法的时候都可以先试一下随机森林。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值