Task1 随机森林算法梳理

集成学习:Task1 随机森林算法梳理

1.1. 集成学习的概念 &

1.2. 个体学习器的概念

  • 又称为“多分类器系统”(multi-classifier system)、“基于委员会的学习”(committee-based learning)等。
    基本的想法是结合多个学习器,获得比单一学习器泛化性能更好的学习器。
    根据个体学习器的生成方式,目前集成学习大致可分为两大类:

    • 序列化方法:个体学习器间存在强依赖关系、必须串行生成,代表是Boosting;
    • 并行化方法:个体学习器间不存在强依赖关系、可同时生成,代表是Bagging和“随机森林”(Random Forest)。
  • 集成学习的理论基础是 PAC 理论强可学习弱可学习理论。

    • 集成学习的理论基础表明强可学习器与弱可学习器是等价的。(因此可以寻找方法将弱可学习器转换为强可学习器,而不必去直接寻找较难发现的强可学习器。)
      具有代表性的集成学习方法有Boosting,Bagging,随机森林。

1.3. boosting bagging的概念、异同点

集成算法中主要分为bagging算法与boosting算法,

  • Bagging算法,过程如下:

    • 从原始样本集中使用Bootstraping 方法随机抽取n个训练样本,共进行k轮抽取,得到k个训练集
      (k个训练集之间相互独立,元素可以有重复)。
    • 对于n个训练集,我们训练k个模型,(这个模型可根据具体的情况而定,可以是决策树,knn等)
    • 对于分类问题:由投票表决产生的分类结果;
    • 对于回归问题,由k个模型预测结果的均值作为最后预测的结果(所有模型的重要性相同)。
  • Boosting(提升法),过程如下:

    • 对于训练集中的每个样本建立权值wi,表示对每个样本的权重
      其关键在与对于被错误分类的样本权重会在下一轮的分类中获得更大的权重(错误分类的样本的权重增加)。
    • 加大分类误差率较小的弱分类器的权值,使其在表决中起到更大的作用,
    • 减小分类误差率较大的弱分类器的权值,使其在表决中起到较小的作用。
    • 每一次迭代都得到一个弱分类器,需要使用某种策略将其组合,最为最终模型,
      (adaboost给每个迭代之后的弱分类器一个权值,将其线性组合作为最终的分类器,误差小的分类器权值越大。)
  • Bagging和Boosting 的主要区别

主要区别BaggingBoosting
样本选择随机有放回的取样(Bootstraping)每一轮训练的样本是固定的,改变的是每个样本的权重
样本权重均匀取样,且每个样本的权重相同根据错误率调整样本权重,错误率越大的样本权重会变大
预测函数所有的预测函数权值相同误差越小的预测函数其权值越大
计算过程各个预测函数可以并行生成各个预测函数必须按照顺序串行生成
  • 将决策树与以上框架组合成新的算法
    Bagging + 决策树 = 随机森林
    AdaBoost + 决策树 = 提升树
    Gradient + 决策树 = GDBT

1.4. 理解不同的结合策略(平均法,投票法,学习法)

  • 结合策略作用
    1.提高泛化性能
    2.降低进入局部最小点的风险
    3.扩大假设空间

  • 平均法:简单平均、加权平均
    1.规模大的集成,学习的权重较多,加权平均法易导致过拟合
    2.个体学习器性能相差较大时宜使用加权平均法,相近用简单平均法。

  • 投票法
    1.绝对多数投票法:某标记超过半数;
    2.相对多数投票法:预测为得票最多的标记,若同时有多个标记的票最高,则从中随机选取一个。
    3.加权投票法:提供了预测结果,与加权平均法类似。

  • 学习法
    1.先从初始数据集中训练出初级学习器,然后“生成”一个新数据集用于训练次级学习器。
    2.在新数据集中,初级学习器的输出被当做样例输入特征,初始样本的标记仍被当做样例标记。

1.5. 随机森林的思想

随机森林(Random Forest)算法原理

随机森林实际上是一种特殊的bagging方法,它将决策树用作bagging中的模型。

  • 首先,用自助法(bootstrap方法生成m个训练集,
  • 然后,对于每个训练集,构造一颗决策树,
    • 在节点找特征进行分裂的时候,并不是对所有特征找到能使得指标(如信息增益)最大的,
    • 而是在特征中随机抽取一部分特征,在抽到的特征中间找到最优解,应用于节点,进行分裂。

随机森林的方法由于有了bagging(集成的思想)在,

  • 实际上相当于对于样本和特征都进行了采样,所以可以避免过拟合。
  • 如果把训练数据看成矩阵,就像实际中常见的那样,那么就是一个行和列都进行采样的过程

1.6. 随机森林的推广

Bagging与随机森林算法原理小结
1.extra trees
2.Totally Random Trees Embedding
3.Isolation Forest

1.7. 随机森林的优缺点

  • RF的主要优点有:
  1. 训练可以高度并行化,对于大数据时代的大样本训练速度有优势。个人觉得这是的最主要的优点。
  2. 由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型。
  3. 在训练后,可以给出各个特征对于输出的重要性
  4. 由于采用了随机采样,训练出的模型的方差小,泛化能力强。
  5. 相对于Boosting系列的Adaboost和GBDT, RF实现比较简单。
  6. 对部分特征缺失不敏感。
  • RF的主要缺点有:
  1. 在某些噪音比较大的样本集上,RF模型容易陷入过拟合。
  2. 取值划分比较多的特征容易对RF的决策产生更大的影响,从而影响拟合的模型的效果。

1.8. 随机森林在sklearn中的参数解释

class sklearn.ensemble.RandomForestClassifier(
	n_estimators=10, 					#	森林里(决策)树的数目
	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=1, 							#	线程数
	random_state=None, 					#	随机数生成器使用的种子
	verbose=0, 							#	控制决策树建立过程的冗余度
	warm_start=False, 					#	热启动
	class_weight=None					#	分类权重
	)

1.9. 随机森林的应用场景

分类?多分类?
回归?
有缺失值的样本?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
knn修正的随机森林算法是一种改进的随机森林算法,主要针对全样本训练忽视局部样本规律的问题进行改进。在传统的随机森林中,每棵决策树的训练样本是随机选择的,并且每棵树的训练特征集合也是随机从所有特征中抽取的。然而,由于全样本训练忽视了局部样本的规律,导致各个决策树趋于相同,使得随机森林失去了一定的随机性。 在knn修正的随机森林算法中,引入了knn的思想来修正每棵决策树的训练样本。具体来说,对于每个样本,在构建每棵决策树时,通过knn算法找出其k个最近邻样本,并将这k个最近邻样本与该样本一起作为该棵树的训练样本。这样做的目的是引入局部样本的规律,增加每棵树的差异性,提高随机森林的泛化能力。 通过knn修正的随机森林算法,可以有效地解决全样本训练忽视局部样本规律的问题,增强随机森林的随机性和泛化能力。这种算法在处理具有缺失值的特征向时也表现出良好的性能。同时,由于随机森林本身具有抗噪能力,对于缺失值不敏感,因此knn修正的随机森林算法在处理缺失值问题时也能够取得较好的效果。 总结来说,knn修正的随机森林算法通过引入knn思想修正每棵决策树的训练样本,增加了随机森林的随机性和泛化能力,并在处理缺失值问题上表现出较好的性能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [决策树- 随机森林/GBDT/XGBoost](https://blog.csdn.net/weixin_36378508/article/details/120914675)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值