集成算法原理概述, 算法实现

▨ 

Ensemble learning - 集成算法

原理概论

▒ 目的

让机器学习的效果更好, 量变引起质变

▒ 分类

▨ Bagging - bootstrap aggregation

◈ 公式

  集成算法原理概述, 算法实现

 

◈ 原理 

  训练多个分类器取平均, 并行 的训练一堆的分类器 

◈ 典例 

  随机森林

  集成算法原理概述, 算法实现

◈ 随机

  输入  -  数据源采样随机   -   在原有数据上的进行 60% - 80% 比例的有放回的数据取样 

  特征  -  特征选择随机 

◈ 森林 

  集成算法原理概述, 算法实现

  多个决策树并行放在一起

  每个树的特征数一样, 数据量一样

  由于二重的随机性,  每个树基本上都不会一样, 最终的结果也不一样

  随机保证了泛化能力, 如果每个树都是一样, 那就无意义了

◈ 优势

  能够处理 高纬度  ( feature 很多 ) 的数据, 而且不用做特征选择

  在训练后, 可以对  feature 重要程度 进行比对 

  集成算法原理概述, 算法实现

  容易做成 并行化 方法, 速度较快

  可进行 可视化展示 , 便于分析

◈ 注意点

  随机森林中的树模型理论上是越多越好, 但是其实也会达到临界值

  达到一定数量后就会在临界点附近上下浮动

  集成算法原理概述, 算法实现

▨ Boosting

◈ 公式 

  集成算法原理概述, 算法实现

◈ 原理 

  串行算法, 后面的树基于前面树的残差计算

  从弱学习器开始加强, 通过加权来进行训练 ( 加入一颗比原来强的树 )

◈ 典例

  AdaBoost 

  Xgboost  -  后续会专门写博客, 这里先留个跳转  -   点击这里

◈ AdaBoost  原理

  根据前一次的分类效果调整数据权重

  如果某一个数据分错了, 那么在下一次的分配中会给与更高的权重使其更加精准

  最终的结果根据每个分类器自身的准确性确定各自的权重再合并

 

▨ Stacking

聚合多个分类或者回归模型. ( 可以分阶段来做 )