ML读书笔记(集成学习)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/smartcat2010/article/details/102769444

A. 

Boosting:级联顺序训练,不能Model并行(只能每个弱分类器内部Data并行);样本有权重;弱分类器有权重;

Bagging:可并行训练;

偏差:由于分类器的表达能力有限导致的系统性错误,表现在训练误差不收敛;(例如假设错误,比如数据本来符合二次函数,而建模用了一次函数)(在训练集上即可体现出来)

方差:由于分类器对于样本分布过于敏感,导致在训练样本数较少时,产生过拟合;(模型的复杂度相对于样本数过高导致;例如一共100个训练样本,用了复杂的高阶模型)(在训练集上效果特好,在测试集上效果差)

Boosting: 通过逐步聚焦分错的样本,减少集成分类器的偏差

Bagging: 通过对训练集的多次采样,训练多个不同的模型,来减少集成分类器的方差

B.

合并基分类器的方法:voting,stacking;

Adaboost: 不是每次都用所有样本,根据样本权重,进行样本采样;

C. 

为什么常用的弱分类器是决策树:

1. 便于把样本权重正整合到训练里;(不需要用过采样来加权)

2. 决策树的表达能力和泛化能力,可以通过层数来做折中;

3. “不稳定学习器”更适合做弱分类器;样本点分裂时,随机选择一个特征子集找其中的最优特征,引入了随机性

神经网络也可,满足“不稳定”,可调各种参数来引入“随机性”;

RandomForest为什么常用决策树:

RandomForest属于Bagging类的集成学习,集成起来降低方差;所以弱分类器最好对样本分布敏感(即不稳定的分类器),这样Bagging才有用武之地。线性分类器或者KNN都是较稳定的分类器,本身方差不大。

D.

梯度提升(例如GBDT),是对函数空间F求导,新F沿着老F梯度的反方向走一步;

梯度下降,是对参数空间W求导,新W沿着老W梯度的反方向走一步;

GBDT的优点:

1. 预测阶段计算速度快(树和树之间可并行)

2. 在分布稠密的数据集上,泛化能力和表达能力都很好,竞赛之王;

3. 决策树做弱分类器,有较好的解释性和鲁棒性,能自动发现特征之间的高阶关系,不需要对输入数据做特征归一化;

GBDT的缺点:

1. 在高维稀疏的数据集上,效果差,不如SVM和DNN;

2. 在文本分类特征上,不如数值特征上效果好;

3. 训练需要串行训练,所以不适合online训练;

E. 

xgBoost, 对L(F_{t-1}(x)+f_{t}(x))+\Omega (f_{t})进行二阶泰勒展开(F_{t-1}(x)做自变量,f_{t}(x)做delta),然后求最优的f_{t}(x)来使式子最小化;

用贪心法构建不一定最优的树结构;

分裂前后损失函数的差值,一定要大于0,否则就应该停止分裂(预剪枝

猜你喜欢

转载自blog.csdn.net/smartcat2010/article/details/102769444