目录

集成学习

目录

集成学习方法使用多种学习算法来获得比单独使用任何单独的学习算法更好的预测性能
另外集成学习希望的就是每个分类器的差异越大越好,这样每个分类器都能表述关于数据的一些不同的信息,然后通过集成,得到一个好的分类结果

根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类,即个体学习器间存在强依赖关系、必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系、可同时生成的并行化方法;前者的代表是Boosting,后者的代表是Bagging

bagging是一种并行方法,boosting是一种序列方法;bagging在于减少方差,boosting在于减少偏差

bagging

方式:

  1. 假设一共要训练100个学习器,对于每个学习器的训练,我们随机从训练集M中有放回地选取m个不重复样本用于训练,剩下的M-m个样本可用于测试;再随机选取m个样本进行第2个学习器的训练….
  2. 训练好学习器后,若要对数据进行分类预测,则分别将数据输入到100个学习器中,选取预测值相同数最多的结果作为输出

随机森林(Random Forest):

推荐参考

随机森林是Bagging的一个扩展变体.RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机特征选择

随机森林就是一个基学习器为决策树的bagging思想的集成学习,比单个决策树的泛化能力更强

随机森林只是在bagging的基础之上又进行了特征的随机筛选
即先从该节点的特征集合(共d个)中随机选取k个(一般$k=\log{d}$),再在k个特征中选取最好的特征

特征选取策略:

学习器的多样性越多,泛化能力越强。随机森林的多样性不仅来自样本扰动(通过对初始训练集采用),还来自特征扰动

参考链接

/images/ML/featureSele.png

/images/ML/oob.png

boosting

Adaboost

前向分步算法、加法模型、指数损失函数

GBDT

对于一般性的损失函数模型:梯度提升算法

XGBoost、LightGBM、CatBoost

提升树

提升树模型可以表示为以决策树为基本学习器的加法模型,之后的树都是对之前树产生的残差的拟合,一步步来提升的树就称为提升树
求解这个加法模型的算法:因为是加法模型,所以从前向后迭代求解,即前向分步算法

对于回归问题:

损失函数:平方损失函数

更一般来说,可以用负梯度来近似代替残差

  • 回归树
    • 提升树算法
    • 平方损失函数
  • 分类树