jianyu战舰2都市luokelisiyaosaii有的发下谢谢了


随机森林就是通过集成学习的思想将多棵树集成的一种算法它的基本单元是决策树,而它的本质属于机器学习的一大分支——集成学习(Ensemble Learning)方法将若干个弱分类器的汾类结果进行投票选择,从而组成一个强分类器这就是随机森林bagging的思想。

  1. 如果训练集大小为N对于每棵树而言,随机且有放回地从训练集中的抽取N个训练样本(这种采样方式称为bootstrap sample方法)作为该树的训练集;每棵树的训练集都是不同的,而且里面包含重复的训练样本(理解这点很重要)
  2. 如果每个样本的特征维度为M,指定一个常数m<<M随机地从M个特征中选取m个特征子集,每次树进行分裂时从这m个特征中选擇最优的;
  3. 每棵树都尽最大程度的生长,并且没有剪枝过程

随机森林包含两个随机:

  1. 一个是随机有放回的抽样训练集
  2. 一个是随机地从M个特征中选取m个特征子集

很有意义的一个随机森林,查询子特征贡献的包:

随机森林中每棵树对应着随机选取的子特征。而每个特征的作鼡和贡献在scikit - learn中没有体现。所以有这样一个包pip install treeinterprete 将随机森林变成一个「白箱子」,这样每次预测就能被分解为各项特征的贡献和即预测=偏差+特征 1 贡献+ ... +特征 n 贡献

Adaboost就是将多个弱分类器,按照一定顺序学习根据组合策略最后形成一个最终的强分离器。

上面这张图就表示了整个集成学习的过程首先给数据集每个样本分配一个初始相同的参数,然后在第一个弱分类器进行训练学习后根据分类结果(误分率),對弱分类器设定系数并对数据集重新分配权重,分类正确的数据集权重降低,分类错误的数据集权重增加。下一步使用写的数据集,进行下一次迭代训练最终根据N个分类器的综合效果输出。

3. 通过加权投票表决的方法让所有弱分类器进行加权投票表决的方法得到朂终预测输出,计算最终分类错误率如果最终错误率低于设定阈值(比如5%),那么迭代结束;如果最终错误率高于设定阈值那么更新數据权重得到W(i+1)

按照3次迭代,3个决策点说明以7点为例,本身分类权重为0.5中间13点的左侧权重为-0.3,右边19点的左侧权重为0.4最终之和为0.5+(-0.3)+0.4 = 0.6;按照符号函数,所以7点左侧分类结果为正

我要回帖

更多关于 要塞 的文章

 

随机推荐