随机森林算法梳理

  1. 集成学习概念
    集成学习就是组合多个弱监督模型以期得到一个更好更全面的强监督模型,集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。集成学习通过构建并结合多个学习器来完成学习任务。只包含同种类型的个体学习器,这样的集成是“同质”的;包含不同类型的个体学习器,这样的集成是“异质”的。

  2. 个体学习器概念
    个体学习器是继承学习的基本组成单元。相当于决策树之于随机森林。

  3. boosting bagging

  • Bagging是bootstrap aggregating的简写,是一种有放回的抽样方法,并行的模式,可以减小方差。得到若干个数据集,每个数据集上训练一个模型。对于分类问题而言,若干模型投票确定;回归问题,求平均。随机森林用的是bagging思想。
  • Boosting:是一种可以用来减小监督学习中偏差的机器学习算法,串行的模式。常用的有:Adaboost通过提高判错样本的权重进行训练,不断关注判错样本。GBDT在训练过程中,不断降低模型上一时刻的残差,最终逼近真实值。常用的基分类器是决策树,即每一棵新建的树都是对之前所有树的残差的拟合。
  1. 结合策略(平均法,投票法,学习法)
  • 平均法:简单平均:对结果求平均值;加权平均:对结果求加权平均值。
  • 投票法:绝对多数投票法(超一半);相对多数投票法(最多的);加权投票法。
  • 学习法:将结果通过另外的学习器得到最终结果。比如Stacking。
  1. 随机森林思想
    在决策树的基础上,通过对数据有放回的抽样得到不同的数据集分别训练不同的决策树,在节点分裂时也随机随机选择特征进行分裂,得到多个结果,对结果进行汇总得到最后的结果。

  2. 随机森林的推广
    Isolation Forest

  3. 优缺点

  • 优点:
    简单。
    不用做特征选择。
    高度可并行化,对于大样本数据在训练速度上有优势。
    可随机选择节点划分特征,可在高样本特征维度下保持高效的训练速度。
    在训练后,可以得到各个特征对于输出的重要性,有特征选择的作用。
    随机采样加特征随机选择可以使得结果泛化能力强。
    对特征缺失不敏感。
  • 缺点:
    当特征的选择情况多时,会影响模型的结果。
    当数据中存在的噪声较大时可能会过拟合。
  1. sklearn参数
    Sklearn.ensemble.RandomForestClassifier对随机森林的分类算法进行了实现,以下是经常调整的超参数:
    n_estimators:随机森林中基分类器的数量
    criterion:节点分裂标准
    max_depth:建树的最大深度
    min_samples_leaf:叶子节点所需最小样本数
    max_leaf_nodes:最大叶子节点数,控制树的宽度

    具体应用场景中,超参数的选择很重要,往往通过网格搜索、贝叶斯搜索等找到最优参数组合。

  2. 应用场景

  • 大数据量
  • 多维度特征

你可能感兴趣的:(随机森林算法梳理)