机器学习 基本算法 (5 (adaboost、 Gradient boost
2017-04-01 17:12
417 查看
adaboost
boosting: 增强的 adaboost 适应的增强适应的增强 就是给你好多个弱的方案,让你经过不断地适应增强 得到一个新的好方案。
就是让孩童来讨论一个问题,比如什么是太阳 一人只能说一条
那就有很多说法 太阳是圆的,发光的 等等
但每个人说法都是片面的 弱的
adaboost的所求目标
这里 我们要得个每个 弱方案的权重 和弱方案
对第一个方案,给每一个样本都赋予一个权重 w,这些权重变成了D向量
用任意的弱方法 做分类。
因为是弱方法,肯定会有很多错误。错误率 e e=没做对的做对的
好了 这个弱方案的权重就订下来了 做对越多 权重越高
(但弱方案 权重高也高不到哪去,这是为了防止 被独占了发言权)
权重随你定 这边用 12ln1−ee
做错的 Dt+1i=DtieaSum(D)
好了 新的方案也找出来了 开始进行下一轮讨论
直到完成目标
Gradient boost
在分类问题中adaboost可以很有作用 但是如果是回归的问题 就不能用adaboost这样来做Gradient boost 梯度优化 既然不能直接优化 ,我改用梯度不就行了,梯度下降来拟合数据
adaboost 每轮直接定权重 Gradient boost 计算残差(实值和计算值的差) 梯度逼近残差
转化成数学计算 就是算下面这个
找一个最优的属性划分,使得两侧的真实值与各自平均值的差的平方和最小。然后求每个值的余数,进行下一次划分。
然后再确定权重
值得注意的是 求出g权重后 最后还要对η最优化 ,不过η只需要求导即可。
Gradient boost就是每次都是整体取 最优 而adaboost是把当前次的做到最好
代码
#Import Library from sklearn.ensemble import GradientBoostingClassifier # X Y for training data set and x_test_dataset # Create Gradient Boosting Classifier object model= GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, max_depth=1, random_state=0) model.fit(X, y) #Predict Output predicted= model.predict(x_test)
相关文章推荐
- 【机器学习笔记之四】Adaboost 算法
- 【机器学习笔记之四】Adaboost 算法
- 机器学习中的算法:决策树模型组合之GBDT(Gradient Boost Decision Tree)
- 机器学习(20)之Adaboost算法原理小结
- 机器学习教程 之 集成学习算法: 深入刨析AdaBoost
- 机器学习中的算法:决策树模型组合之GBDT(Gradient Boost Decision Tree)
- 机器学习提升算法之Adaboost、GB、GBDT与XGBoost算法
- 机器学习各个算法4--boosting,adaboost
- [机器学习]-Adaboost提升算法从原理到实践
- [置顶] 三张图读懂机器学习:基本概念、五大流派与九种常见算法
- 机器学习总结7_从模型融合到Adaboost
- 数据挖掘十大经典算法学习之Adaboost自适应增强学习算法
- 经典算法总结之AdaBoost与随机森林
- 【图像处理】Haar Adaboost 检测自定义目标(视频车辆检测算法代码)
- AdaBoost中利用Haar特征进行人脸识别算法分析与总结(转载)
- 机器学习理论之AdaBoost
- Gradient Boost 算法流程分析
- 【图像处理】Haar Adaboost 检测自定义目标(视频车辆检测算法代码)
- Adaboost算法原理分析和实例+代码
- AdaBoost中利用Haar特征进行人脸识别算法分析与总结1——Haar特征与积分图 .