Fork me on GitHub
摘要: lightgbm是继xgboost之后的又一大杀器,它训练速度快,且精度高,下面就其主要创新点做介绍,本文主要参考自>>> 一.单边梯度采样算法 GOSS(Gradient-based One-Side Sampling)是一种样本采样方法,它基于梯度的绝对值对样本进行采样,主要包含如下几个步骤: 阅读全文
posted @ 2021-07-04 19:57 努力的番茄 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 样本采样与特征采样 类似于randomforest,xgboost也可进行bootstrap的样本采样,和随机列采样,以增强模型的泛化能力,避免过拟合 稀疏/缺失值处理 xgboost会为稀疏/缺失值选择一个默认方向,如果训练集中有稀疏/缺失值,通过计算其增益来选择往左还是往右作为默认方向,如果训练 阅读全文
posted @ 2021-07-04 19:54 努力的番茄 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 一.简介 xgboost分类分两种情况,二分类和多分类: (1) 二分类的思路与logistic回归一样,先对线性函数套一个sigmoid函数,然后再求交叉熵作为损失函数,所以只需要一组回归树并可实现; (2)而多分类的实现,思路同gbm_classifier一样,即同时训练多组回归树,每一组代表一 阅读全文
posted @ 2021-07-04 19:51 努力的番茄 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 一.原理介绍 这一节将树模型的预测与概率分布相结合,我们假设树模型的输出服从某一分布,而我们的目标是使得该输出的概率尽可能的高,如下图所示 而概率值最高的点通常由分布中的某一个参数(通常是均值)反映,所以我们将树模型的输出打造为分布中的该参数项,然后让树模型的输出去逼近极大似然估计的结果即可,即: 阅读全文
posted @ 2021-07-04 19:47 努力的番茄 阅读(1435) 评论(0) 推荐(0) 编辑
摘要: 一.损失函数 这一节对xgboost回归做介绍,xgboost共实现了5种类型的回归,分别是squarederror、logistic、poisson、gamma、tweedie回归,下面主要对前两种进行推导实现,剩余三种放到下一节 squarederror 即损失函数为平方误差的回归模型: \[ 阅读全文
posted @ 2021-07-04 19:42 努力的番茄 阅读(837) 评论(0) 推荐(0) 编辑
摘要: 一.简介 xgboost在集成学习中占有重要的一席之位,通常在各大竞赛中作为杀器使用,同时它在工业落地上也很方便,目前针对大数据领域也有各种分布式实现版本,比如xgboost4j-spark,xgboost4j-flink等。xgboost的基础也是gbm,即梯度提升模型,它在此基础上做了进一步优化 阅读全文
posted @ 2021-07-04 19:39 努力的番茄 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 介绍 前面对模型的组合主要用了两种方式: (1)一种是平均/投票; (2)另外一种是加权平均/投票; 所以,我们有时就会陷入纠结,是平均的好,还是加权的好,那如果是加权,权重又该如何分配的好?如果我们在这些模型预测的结果上再训练一个模型对结果做预测,那么岂不是就免除了这些烦恼;而训练后,也可以方便的 阅读全文
posted @ 2021-05-06 20:41 努力的番茄 阅读(155) 评论(1) 推荐(0) 编辑
摘要: 一.简介 为了让学习器越发的不同,randomforest的思路是在bagging的基础上再做一次特征的随机抽样,大致流程如下: 二.RandomForest:分类实现 import os os.chdir('../') from ml_models import utils from ml_mod 阅读全文
posted @ 2021-05-06 20:39 努力的番茄 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 一. 简介 Bagging的思路很简单,对大小为$n$的样本集进行$n$次重采样得到一个新的样本集,在新样本集上训练一个基学习器,该过程执行$m$,最后对这$m$个基学习器做组合即得到最后的强学习器: 二.代码实现:分类 import os os.chdir('../') from ml_model 阅读全文
posted @ 2021-05-06 20:35 努力的番茄 阅读(568) 评论(0) 推荐(0) 编辑
摘要: 一.利用回归树实现分类 分类也可以用回归树来做,简单说来就是训练与类别数相同的几组回归树,每一组代表一个类别,然后对所有组的输出进行softmax操作将其转换为概率分布,然后再通过交叉熵或者KL一类的损失函数求每颗树相应的负梯度,指导下一轮的训练,以三分类为例,流程如下: 二.softmax+交叉熵 阅读全文
posted @ 2021-05-05 21:49 努力的番茄 阅读(443) 评论(0) 推荐(1) 编辑