机器学习 基本算法 (5 (adaboost、 Gradient boost
来源:互联网 发布:清理恶意软件 编辑:程序博客网 时间:2024/06/08 06:51
adaboost
boosting: 增强的 adaboost 适应的增强
适应的增强 就是给你好多个弱的方案,让你经过不断地适应增强 得到一个新的好方案。
就是让孩童来讨论一个问题,比如什么是太阳 一人只能说一条
那就有很多说法 太阳是圆的,发光的 等等
但每个人说法都是片面的 弱的
adaboost的所求目标
这里 我们要得个每个 弱方案的权重 和弱方案
对第一个方案,给每一个样本都赋予一个权重 w,这些权重变成了D向量
用任意的弱方法 做分类。
因为是弱方法,肯定会有很多错误。错误率 e
好了 这个弱方案的权重就订下来了 做对越多 权重越高
(但弱方案 权重高也高不到哪去,这是为了防止 被独占了发言权)
权重随你定 这边用
好 那下一个方案也可以出来了 什么叫自适应 就是在原来的地方 自己调整
把那些做错的给注明出来 对的先不看了 (就是 增加做错的权重)
这个方法也很多
这边用 做对的
做错的
好了 新的方案也找出来了 开始进行下一轮讨论
直到完成目标
Gradient boost
在分类问题中adaboost可以很有作用 但是如果是回归的问题 就不能用adaboost这样来做
Gradient boost 梯度优化 既然不能直接优化 ,我改用梯度不就行了,梯度下降来拟合数据
adaboost 每轮直接定权重 Gradient boost 计算残差(实值和计算值的差) 梯度逼近残差
转化成数学计算 就是算下面这个
找一个最优的属性划分,使得两侧的真实值与各自平均值的差的平方和最小。然后求每个值的余数,进行下一次划分。
然后再确定权重
值得注意的是 求出g权重后 最后还要对η最优化 ,不过η只需要求导即可。
Gradient boost就是每次都是整体取 最优 而adaboost是把当前次的做到最好
代码
#Import Libraryfrom sklearn.ensemble import GradientBoostingClassifier# X Y for training data set and x_test_dataset# Create Gradient Boosting Classifier objectmodel= GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, max_depth=1, random_state=0)model.fit(X, y)#Predict Outputpredicted= model.predict(x_test)
- 机器学习 基本算法 (5 (adaboost、 Gradient boost
- 机器学习算法-Adaboost
- 机器学习-AdaBoost算法
- 机器学习--AdaBoost算法
- 机器学习算法-Adaboost
- 【机器学习】AdaBoost算法详解
- 机器学习--AdaBoost元算法
- 【机器学习算法】之Adaboost
- 机器学习-adaboost元算法
- 机器学习之Adaboost算法
- 机器学习中的算法:决策树模型组合之GBDT(Gradient Boost Decision Tree)
- 机器学习中的算法:决策树模型组合之GBDT(Gradient Boost Decision Tree)
- 机器学习笔记(七)Boost算法(GDBT,AdaBoost,XGBoost)原理及实践
- 机器学习笔记 Boost算法(GDBT,AdaBoost,XGBoost)原理及实践
- 《机器学习实战》代码片段学习5 AdaBoost元算法
- 机器学习算法-boost
- 一些关于bootstrap,bagging,Adaboost,random forest, gradient boost的基本理解
- 机器学习算法(三):Adaboost算法
- PHP内核探索之变量(4)- 数组操作
- java pinyin实例,拼音写法支持多音字自动识别(本测试实例使用了pinyin4j,pinyin1.0,jetbrick-pinyin)
- Cygwin下安装软件包的方法
- java多线程编程核心技术5-Timer定时器
- 如何开启Linux双网卡的转发功能
- 机器学习 基本算法 (5 (adaboost、 Gradient boost
- Unity-使用Shader裁剪图片
- 你真的了解volatile关键字吗?深入解析java并发与volatile
- Haskell快排代码
- HandlerThread用法
- MongoDB基本管理命令
- 第一个OpenGL出现无法识别glGenVertexArrays问题
- 算典05_例题_01_UVA-10474
- java多线程编程核心技术6-单例模式与多线程