集成算法原理概述, 算法实现
▨
Ensemble learning - 集成算法
原理概论
▒ 目的
让机器学习的效果更好, 量变引起质变
▒ 分类
▨ Bagging - bootstrap aggregation
◈ 公式
◈ 原理
训练多个分类器取平均, 并行 的训练一堆的分类器
◈ 典例
随机森林
◈ 随机
输入 - 数据源采样随机 - 在原有数据上的进行 60% - 80% 比例的有放回的数据取样
特征 - 特征选择随机
◈ 森林
多个决策树并行放在一起
每个树的特征数一样, 数据量一样
由于二重的随机性, 每个树基本上都不会一样, 最终的结果也不一样
随机保证了泛化能力, 如果每个树都是一样, 那就无意义了
◈ 优势
能够处理 高纬度 ( feature 很多 ) 的数据, 而且不用做特征选择
在训练后, 可以对 feature 重要程度 进行比对
容易做成 并行化 方法, 速度较快
可进行 可视化展示 , 便于分析
◈ 注意点
随机森林中的树模型理论上是越多越好, 但是其实也会达到临界值
达到一定数量后就会在临界点附近上下浮动
▨ Boosting
◈ 公式
◈ 原理
串行算法, 后面的树基于前面树的残差计算
从弱学习器开始加强, 通过加权来进行训练 ( 加入一颗比原来强的树 )
◈ 典例
AdaBoost
Xgboost - 后续会专门写博客, 这里先留个跳转 - 点击这里
◈ AdaBoost 原理
根据前一次的分类效果调整数据权重
如果某一个数据分错了, 那么在下一次的分配中会给与更高的权重使其更加精准
最终的结果根据每个分类器自身的准确性确定各自的权重再合并
▨ Stacking
聚合多个分类或者回归模型. ( 可以分阶段来做 )