随机森林 + 梯度提升树 算法小结

决策分类树
决策分类树是一种用于预测离散数值的一种数据结构,基本原理是遍历每一个特征和每一个特征的阈值,使得在进行节点分解时,找到合适的特征或者分隔阈值,从而使得两个子分支的熵最大,熵最大直观的理解(以预测是否晴天为例)就是左分支都是晴天,而右分支都是雨天,也就是每个子分支的晴天和雨天的比例最大化,远离1:1的比例

决策回归树
决策回归树是一种用于预测连续数值的一种数据结构,基本原理是遍历每一个特征和每一个特征的阈值,使得在进行节点分解时,找到合适的特征或者分隔阈值,从而使得两个子分支的均方差最小化,均方差最小化直观的理解(以预测人类寿命为例)就是左分支的平均寿命和最终寿命的方差加上右分支的平均寿命和最终寿命的方差最小化,注意对于回归树而言,每个叶子节点的数值等于包含在叶子节点中的数值的平均值。

由于随机森林分类树和随机森林回归树原理类似,所以以下使用回归树作为总结:
随机森林回归树
随机森林回归树是基于决策回归树的构建的,基本原理就是类似于我们成语:三个臭皮匠顶一个诸葛亮,用多颗回归树的平均来最为最终的结果,训练数据时,每个树使用一部分数据进行训练,互不干扰,所以随机森林多颗回归树的训练可以并行进行,一般来说,每个树为了达到在自身训练范围内的均方差最小化的效果,所以随机森林的每颗回归树的层数都比较深,每个树之间是没有关联的

梯度提升回归树
梯度提升回归树也是基于多颗决策回归树的构建的,但和随机森林不同的是,后面一个树的训练目标是前面一棵树的残差,所谓的残差就是前面一个树的结果和目标结果的差值,比如目标寿命值(90,80,70,100), 前面一个树预测出来的值是(80,100,60,90),那么后面一棵树要预测的值就变成了预测寿命(90-80,80-100,70-60,100-90),这就是所谓的残差,这样每一颗都是学习了部分的预测值,最终的预测值就是所有这些树预测结果值相加的结果

梯度提升树vs随机森林
1.梯度提升回归树的训练是串行的,速度肯定比随机森林差好多,不过它的效果大部分情况下比随机森林好,
2.对于随机森林来说,回归树的数量越多,就越不容易过拟合,也就是越健壮,而梯度提升树不是这样:随着回归树数量的增加,一开始效果确实越来越好,但是随着回归树数量到达一个阈值,就很容易发生过拟合,训练中判断是否发生过拟合的最简单的方式就是看训练数据的方差 和 验证数据(这部分数据没有参与)的方差,如果两者相差很大,那就表明发生了过拟合现象
3.梯度提升树一般来说比随机森林的层数要低,因为梯度提升树追求的是多颗回归树之间的协作,它不需要每棵树都像随机森林的回归树一样要达到最好的回归效果,而且层数越深反倒容易过拟合.

你可能感兴趣的:(python机器学习,算法,随机森林,回归)