概述
- 个体学习器之间存在强依赖关系,必须串行生成的序列化方法*
- 个体学习器之间不存在强依赖关系,可同时生成的并行化方法
1.【机器学习基础】决策树及其ensemble方法(RF, LGBM, Xgboost, GBDT, 梯度提升boosting)
1. Boosting
降低偏差(bias)
2. Bagging
降低方差
偏差和方差的区别
偏差:预估值与真实值的偏离程度,是算法对数据的拟合能力。
方差:数据扰动,训练集变化时,模型的学习性能。
噪声:任何学习算法在泛化能力的下界,是学习问题本身的难度。
3. Stacking
将第一层的输出train再结合其他的特征集再做一层,就是stacking。例如gbt+lr
4. Dropout训练
Dropout 训练继承模型的方式 from 花书7.12
Dropout 训练的集成包括所有从基础网络除去非输出单元后形成的子网络。在 Dropout 的情况下,所有模型共享参数,其中每个模型继承父神经网络参数的不同子集。
Random Forest
1.原理
在Bagging集成的基础上,进一步在决策树的训练过程中引入了随机特征选择。过程分为四个部分:
- 随机选择样本(bootstrap放回抽样)
- 随机选择特征
- 构建决策树
- 随机森林投票(平均)
2.优缺点
(1)缺点:
- 随机森林在分类的效果比回归好。因为RF并不能给出一个连续型的输出。而且预测的时候不能超出数据的范围,可能导致有噪声的数据出现过拟合。
- 忽略属性之间可能存在的相关性
- 无法控制模型内部的运行,只能在不同的参数和随机种子之间进行尝试
(2)优点: - 高度并行,易于分布式实现
- 随机森林可以解决分类和回归,方差和偏差都较低,泛化性能比较好
- 对高维数据处理很好,并确定最重要的变量,因此被认为是一个不错的降维方法。
- 存在分类不平衡时,可以提供平衡数据集误差的方法?
- 由于是树模型,不需要归一化即可直接使用
拓展:【RF模型能够输出特征的重要性程度】
利用随机森林对特征重要性进行评估
本质:计算该特征在分支前后对树的平均gini提升占比所有特征的值。
步骤:
- 计算所有树中该特征节点分支前后的所有 gini 指数,包括分支前一个,分支后两个。
- 计算每棵树中gini指数的变化量 = gini前 - gini后一 - gini后二
- sum(每棵树的delta gini)/所有特征的delta gini
GBDT
1. GBDT适用范围?
- GBDT 可以适用于回归问题(线性和非线性);
- GBDT 也可用于二分类问题(设定阈值,大于为正,否则为负)和多分类问题。
2. GBDT和随机森林(RF)的区别?
相同点:) 都是多棵树
(2) 最终结构由多棵树共同决定
不同点:
(1) RF的组成可以是分类树、回归树;组成 GBDT 只能是回归树。
(2) RF的树可以并行生成(Bagging);GBDT 只能串行生成(Boosting)
(3) 对于最终的输出