当前位置: 首页 > news >正文

集成学习笔记

集成学习

简介

在这里插入图片描述

决策树

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

GBDT

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
拟合残差
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一般 GBDT

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

XGBOOST

1
能表达样本落入的子节点,但是不能把表示结构
在这里插入图片描述
2
在这里插入图片描述

3.正则项 – 惩罚

防止过拟合,比如一个值总共有10颗树都是由同一颗树决定的,过拟合
5
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
找到一种方式不依赖于损失函数 – 二阶泰勒
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述gi – 一阶梯度 hi–二阶梯度
损失
在这里插入图片描述
凸函数Hj为正,lambda为正
在这里插入图片描述
7 确定树结构

  • 穷举 – 所有组合,复杂度太高,不可行
  • gain – 贪心算法
    • 增益 = obj前 - obj后

不需要考虑排列组合的过程
在这里插入图片描述
停止分裂:
1 max(gain) <= 0
2 叶子节点个数
3 效果

作者代码
在这里插入图片描述
在这里插入图片描述

唐宇迪

O b j ( Θ ) = L ( Θ ) + Ω ( Θ ) Obj(\Theta) = L(\Theta)+\Omega(\Theta) Obj(Θ)=L(Θ)+Ω(Θ)

损失:
L = ∑ i = 1 n l ( y i , y i ^ ) L = \sum_{i=1}^{n}{l(y_i,\hat{y_i})} \hspace{4cm} L=i=1nl(yi,yi^)

O b j = ∑ i = 1 n l ( y i , y i ^ ) + ∑ = 1 t Ω ( f i ) Obj= \sum_{i=1}^{n}{l(y_i,\hat{y_i})}+\sum_{=1}^{t}\Omega({f_i)} \hspace{4cm} Obj=i=1nl(yi,yi^)+=1tΩ(fi)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

样本的遍历转化为叶子节点的遍历是等价的

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Gain
在这里插入图片描述

xgboost的安装
https://www.lfd.uci.edu/~gohlke/pythonlibs/
搜索xgboost
https://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

xgboost参数:

‘booster’:‘gbtree’,
‘objective’: ‘multi:softmax’, 多分类的问题
‘num_class’:10, 类别数,与 multisoftmax 并用
‘gamma’:损失下降多少才进行分裂
‘max_depth’:12, 构建树的深度,越大越容易过拟合
‘lambda’:2, 控制模型复杂度的权重值的L2正则化项参数,参数越大,模型越不容易过拟合。
‘subsample’:0.7, 随机采样训练样本
‘colsample_bytree’:0.7, 生成树时进行的列采样
‘min_child_weight’:3, 孩子节点中最小的样本权重和。如果一个叶子节点的样本权重和小于min_child_weight则拆分过程结束
‘silent’:0 ,设置成1则没有运行信息输出,最好是设置为0.
‘eta’: 0.007, 如同学习率
‘seed’:1000,
‘nthread’:7, cpu 线程数

在这里插入图片描述

为什么xgboost要用二阶泰勒展开,优势在哪里?

xgboost进行了二阶泰勒展开, 使用梯度下降求解时收敛速度更快。
引入二阶泰勒展开是为了统一损失函数求导的形式,以支持自定义损失函数。二阶泰勒展开可以在不选定损失函数具体形式的情况下, 仅仅依靠输入数据的值就可以进行叶子分裂优化计算, 本质上也就把损失函数的选取和模型算法优化(参数选择)分开了。 这种去耦合方法增加了xgboost的适用性, 使得它可以自定义损失函数, 可以用于分类, 也可以用于回归。
————————————————
版权声明:本文为CSDN博主「Yasin_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Yasin0/article/details/82154768

Adaboost

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 特征选择

2.1

在这里插入图片描述

2.2 参数
1.1 weight

特征在所有树中作为划分属性的次数。

1.2 gain

特征在作为划分属性时loss平均的降低量(也就是特征的信息增益),以特征k=1,2,…,K为例,其重要度计算可以表述如下:
在这里插入图片描述
这里k表示某节点,T表示所有树的数量,N(t)表示第t棵树的非叶子节点数量, [公式] 表示第t棵树的第i个非叶子节点的划分特征,所以 [公式] ,I(.)是指示函数, [公式] 分别表示落在第t棵树的第i个非叶子节点上所有样本的一阶导数和二阶导数之和,[公式]分别表示落在第t棵树上第i个非叶子节点的左、右节点上的一阶导数之和,同理,[公式]分别表示落在第t棵树上第i个非叶子节点的左、右节点上的二阶导数之和,所以有
在这里插入图片描述
λ为正则化项的超参数。

1.3 cover

这个计算方法,需要在定义模型时定义。之后再调用model.feature_importance_得到的便是cover得到的贡献度。

cover形象地说,就是树模型在分裂时,特征下的叶子节点涵盖的样本数除以特征用来分裂的次数。分裂越靠近根部,cover值越大。比如可以定义为:特征在作为划分属性时对应样本的二阶导数之和的平均值:
在这里插入图片描述

在这里插入图片描述

相关文章:

  • Python-GEE遥感云大数据分析、管理与可视化及多领域案例教程
  • 2020年09月C语言二级真题
  • Docker高级篇之Dockerfile解析
  • 【sklearn】【逻辑回归1】
  • 华为机考入门python3--(33)牛客33-图片整理
  • C++构造器设计模式
  • 后端大量数据返回,采用数据压缩+分片操作,加快前端响应速度,个人技术总结
  • Nginx介绍
  • opencv进阶 ——(十三)基于三角剖分实现换脸
  • Unity【入门】重要组件和API
  • AIGC的算力与云边协同及应用创新
  • 笔记 | 软件工程04:软件项目管理
  • 收银系统源码-千呼新零售2.0【合作案例】
  • 【Spring Cloud】Feign详细介绍及底层原理解析
  • 深度学习_02_卷积神经网络循环神经网络
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • Bootstrap JS插件Alert源码分析
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • in typeof instanceof ===这些运算符有什么作用
  • iOS编译提示和导航提示
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JavaScript新鲜事·第5期
  • js
  • LeetCode29.两数相除 JavaScript
  • Node + FFmpeg 实现Canvas动画导出视频
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Swift 中的尾递归和蹦床
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 为视图添加丝滑的水波纹
  • 新版博客前端前瞻
  • ​​​【收录 Hello 算法】9.4 小结
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • #传输# #传输数据判断#
  • $.ajax中的eval及dataType
  • (11)MATLAB PCA+SVM 人脸识别
  • (vue)el-tabs选中最后一项后更新数据后无法展开
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (简单) HDU 2612 Find a way,BFS。
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (十五)使用Nexus创建Maven私服
  • (一) storm的集群安装与配置
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)C#调用WebService 基础
  • (转)jQuery 基础
  • (转)德国人的记事本
  • (转)树状数组
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET MVC之AOP
  • .Net6使用WebSocket与前端进行通信
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法