目录
1 什么是提升方法?
1.1 定义
提高任意学习算法准确度的方法
集成学习:模型融合策略和方法
“三个臭皮匠,顶过一个诸葛亮”
1.2 起源
Valiant,PAC学习模型
弱学习:准确率(略)> 50%,仅比随机猜略高
强学习:准确率很高,多项式时间内完成
弱学习器提升为强学习器
1.3 分类
(1)boosting:基分类器,强依赖,串行训练
逐步聚焦分错样本,减少偏差
(2)bagging:基分类器,无依赖,并行训练
分而治之,多次采样训练,加权投票,减少方差
基分类器错误=偏差+方差
偏差:表达能力有限——》训练误差不收敛
方差:对样本分布过于敏感——》样本少,易过拟合
1.4 步骤
(1)确定基分类器(误差相互独立)
(2)训练基分类器
(3)合并基分类器结果(stacking,voting)
2 boosting方法
基分类器,串行训练,相互有依赖
2.1 基本思想
迭代式学习
(1)训练:
基分类器,串行,层层叠加
训练当前层时,对前一层分类错的样本,给高权重
(2)测试:
各层分类结果加权
类似人类学习:
学第一遍,记住一部分,记错一部分
学第二遍,对错误印象深,减少错误
不断迭代,降低错误
2.2 算法
2.2.1 AdaBoost(Adaptive Boosting)
(1)确定基分类器(任何分类模型)
ID3决策树(常用原因:简单,易产生随机性)
(2)训练基分类器
- 初始化采样分布D
- 假设有T个基分类器,循环T次
- 每次从D中采一个子集S
- 训练分类器h
- 计算错误率e
- 计算h的权重a(错误率高,合并权重小)
- 根据e设置下一次采样,并归一化(错误率高,采样权重大)
(3)合并基分类器
输入新样本
输出加权投票后的结果
2.2.2 GBDT(Gradient Boosting Descion Tree)
核心思想:每棵树学的都是,之前所有树,输出和的残差(真实-预测)
基分类器:CART
特点:
(1)机器学习算法
(2)无正则项
(3)使用了代价函数一阶导
(4)基分类器是CART
(5)每次迭代,用全部数据
(6)缺失值不处理
2.2.3 XGBoost
陈天奇
基分类器:多种(CART,线性等)
特点:
(1)GBDT的工程实现
(2)加入了正则项
(3)使用了代价函数一阶导,二阶导
(4)基分类器支持多种类型
(5)每次迭代,支持数据采样
(6)缺失值自动处理
3 bagging方法
Boostrap Aggregating 再抽样
基分类器,并行训练,相互无依赖
3.1 基本思想
单独学习(个体差异),集体决策(投票)
单独学习的内容可以是:一样,部分一样,不一样
多数投票:一般以上分类器错误,会随分类器数量增加而减小