集成算法:
集成是提高模型的精度和性能的一个很好的方式。简单地说,是各种简单模型的结合创造了一个强大的模型。
投票分类器,bagging,random_forest,adaboost,梯度提升,xgboost
1.投票分类器:
将不同的的简单的机器学习模型的预测结合起来的最简单的方法,基于
各个模型的预测,给出平均预测结果。
2.bagging:
自动抽取样本,n个弱学习器中选择投票数最高的(分类)或者算术平均得到
的值(平均)
3.Random_Forest随机森林【重点掌握】:
bagging算法的优化,自助抽样,弱学习期,随机选择样本特征列,增加泛化
能力,n个弱学习器选择投票数最高的(分类)或者回归结果进行算术平均得到
的值(回归)。
4、adaboost(自适应增强):非自助抽取样本,初始化权重,弱学习器
用学习器的误差更新学习器的权重,用样本误差率更新样本权重,用平均加权法得到最终分类模型或者回归模型。
损失函数:指数损失。
优点:分类精度高,支持各回归分类模型来构建学习器,不容易过拟合,构造简单
缺点:对异常样本敏感。
5、梯度提升(GDBT)
gdbt中的树都是回归树,不是分类树
一阶导数
非自助抽样样本,学习器,每个分类器基于上一轮分类器残差做训练,需要累加所有的树结果,所以只能通过回归来完成。
优点:非线性变换多,表达能力强,不需要做复杂的特征工程和特征变化,能灵活处理各种类型的数据(离散,连续)。
缺点:学习器之间存在因果关系,难以并行训练数据,计算复杂度高,不适合高维度系数特征。
6、xgboost
与gdbt的区别:
1、泰勒展开式(使用二阶导数),代价函数中进行了二阶泰勒展开
2、loss中加入了正则
优点:速度更快,内存消耗更低,基于预排序方法,决策树方法,支持高效并行,支持类别特征等。