gbdt

超参数的调优(lightgbm)

自作多情 提交于 2019-11-30 08:43:12
参考 原文 Automated Hyperparameter Optimization 超参数的优化过程:通过自动化 目的:使用带有策略的启发式搜索(informed search)在更短的时间内找到最优超参数,除了初始设置之外,并不需要额外的手动操作。 实践部分 贝叶斯优化问题有四个组成部分: 目标函数:我们想要最小化的对象,这里指带超参数的机器学习模型的验证误差 域空间:待搜索的超参数值 优化算法:构造代理模型和选择接下来要评估的超参数值的方法 结果的历史数据:存储下来的目标函数评估结果,包含超参数和验证损失 通过以上四个步骤,我们可以对任意实值函数进行优化(找到最小值)。这是一个强大的抽象过程,除了机器学习超参数的调优,它还能帮我们解决其他许多问题。 代码示例 数据集:https://www.jiqizhixin.com/articles/2018-08-08-2 目标:预测客户是否会购买一份保险产品 监督分类问题 观测值:5800 测试点:4000 不平衡的分类问题,本文使用的评价性能的指标是受试者工作特征曲线下的面积(ROC AUC),ROC AUC 的值越高越好,其值为 1 代表模型是完美的。 什么是不平衡的分类问题? 如何处理数据中的「类别不平衡」? 极端类别不平衡数据下的分类问题S01:困难与挑战 hyperropt1125.py - 导入库 import

携程一面凉经

对着背影说爱祢 提交于 2019-11-29 22:15:37
1 介绍一下项目:项目背景,使用的方法 1.1 特征组合如何组合的 1.2 如何选择的特征,GBDT如何选择特征?(没懂什么意思,gbdt训练的时候应该是用的所有的特征,为什么还会有特征选择) 1.3 介绍一下blending方法。 1.4 介绍一下所有的模型各自使用的特征? 2 介绍一下特征提取的方法 3 如何对大量的特征进行特征选择?(只答上来一个方面) Filter(过滤法):按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。 Wrapper(包装法):根据目标函数(通常是预测效果),每次选择若干特征,或者排除若干特征。 Embedded(嵌入法):先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。 4 由于本科是学数学的,有学统计相关的知识,如果特征之间存在多重共线性,会对lr造成什么影响,如何消除这种影响(从理论分析),没答上来 5 知道项目使用python写的,就好像没有什么兴趣了 6 目前企业上用的较多的还是sql,但是简历上没写,也就没问,就说了一下。 7 介绍一下svm的基本原理,为什么转化成对偶问题? 一方面是为了降维,另一方面也是为了引入核函数。 总体:太紧张了,很多东西都忘了,导致面试效果不佳 来源: https://www

【深度森林第三弹】周志华等提出梯度提升决策树再胜DNN

≡放荡痞女 提交于 2019-11-29 16:41:33
【深度森林第三弹】周志华等提出梯度提升决策树再胜DNN 技术小能手 2018-06-04 14:39:46 浏览848 分布式 性能 神经网络 还记得周志华教授等人的“深度森林”论文吗?今天,ArXiv上公布了深度森林系列最新的第三弹——可做表示学习的多层GBDT。 在这篇题为“Multi-Layered Gradient Boosting Decision Trees”的论文中,作者冯霁、俞扬和周志华提出了一种新颖的具有显式表示学习能力的多层GBDT森林(mGBDT),它可以与目标传播(target propagation)的变体进行共同训练。由于树集成(tree ensembles)的优异性能,这种方法在很多神经网络不适合的应用领域中具有巨大的潜力。这项工作还表明,一个不可微分的系统,也能够具有可微分系统的关键功能(多层表示学习)。 用决策树也能做多层分布式表示学习 深度神经网络的发展在近十年来在机器学习领域取得了显著的进展。通过构建层次结构或“深层”结构,模型能够在监督或非监督的环境中从原始数据中学习良好的表示,这被认为是成功的关键因素。成功的应用领域包括计算机视觉、语音识别、自然语言处理等等。 目前,几乎所有的深度神经网络都是利用随机梯度下降的反向传播作为训练过程中对训练更新参数的主力。的确,当模型由可微组件组成(例如,带有非线性激活函数的加权和)时

计算广告CTR预估系列(七)--Facebook经典模型LR+GBDT理论与实践

南楼画角 提交于 2019-11-29 06:44:17
计算广告CTR预估系列(七)--Facebook经典模型LR+GBDT理论与实践 2018年06月13日 16:38:11 轻春 阅读数 6004 更多 分类专栏: 机器学习 机器学习荐货情报局 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/u010352603/article/details/80681100 计算广告CTR预估系列(七)–Facebook经典模型LR+GBDT理论与实践 计算广告CTR预估系列(七)–Facebook经典模型LR+GBDT理论与实践 一、介绍 二、评估函数 2.1 Normalized Cross-Entropy(NE) 2.2 Calibration 三、模型架构 3.1 决策树Feature Transforms 3.2 Data freshness 3.3 LR线性分类器 四. 线上模型架构 4.1 label标注 4.2 模型架构 4.3 挑战 五、处理大量训练数据 5.1 Uniform subsampling 5.2 Negative down sampling 5.3 Model Re-Calibration 六、各种实验结果 6.1 Number of boosting trees 6.2 Boosting

推荐系统遇上深度学习(十)--GBDT+LR融合方案实战

梦想与她 提交于 2019-11-29 06:43:07
推荐系统遇上深度学习(十)--GBDT+LR融合方案实战 0.8012018.05.19 16:17:18字数 2068阅读 22568 推荐系统遇上深度学习系列: 推荐系统遇上深度学习(一)--FM模型理论和实践: https://www.jianshu.com/p/152ae633fb00 推荐系统遇上深度学习(二)--FFM模型理论和实践: https://www.jianshu.com/p/781cde3d5f3d 推荐系统遇上深度学习(三)--DeepFM模型理论和实践: https://www.jianshu.com/p/6f1c2643d31b 推荐系统遇上深度学习(四)--多值离散特征的embedding解决方案: https://www.jianshu.com/p/4a7525c018b2 推荐系统遇上深度学习(五)--Deep&Cross Network模型理论和实践: https://www.jianshu.com/p/77719fc252fa 推荐系统遇上深度学习(六)--PNN模型理论和实践: https://www.jianshu.com/p/be784ab4abc2 推荐系统遇上深度学习(七)--NFM模型理论和实践: https://www.jianshu.com/p/4e65723ee632 推荐系统遇上深度学习(八)--AFM模型理论和实践:

xgboost与gdbt的不同和优化

夙愿已清 提交于 2019-11-29 00:32:38
XGBoost 是GBDT算法的一种变种,是一种常用的有监督集成学习算法;是一种 伸缩性强、便捷的可并行构建模型的Gradient Boosting算法 Xgboost和GBDT不同之处 xgboost在目标函数中显示的加上了正则化项,基学习器为CART时,正则化项与树的叶子节点的数量T和叶子节点的值有关。 上面提到CART回归树中寻找最佳分割点的衡量标准是最小化均方差,xgboost寻找分割点的标准是最大化,lamda,gama与正则化项相关 上面提到CART回归树中寻找最佳分割点的衡量标准是最小化均方差,xgboost寻找分割点的标准是最大化,lamda,gama与正则化项相关 支持并行化,这是XGBoost的闪光点,虽然树与树之间是串行关系,但是同层级节点可并行。具体的对于某个节点,节点内选择最佳分裂点,候选分裂点计算增益用多线程并行。训练速度快。 xgboost算法的步骤和GBDT基本相同,都是首先初始化为一个常数,GBDT是根据一阶导数gi,xgboost是根据一阶导数gi和二阶导数hi,迭代生成基学习器,相加更新学习器。 XGBoost的其它特性 列采样(column subsampling):借鉴随机森林的做法,支持列抽样,不仅可以降低过 拟合,还可以减少计算量; 支持对缺失值的自动处理。对于特征的值有缺失的样本,XGBoost可以自动学习分裂方 向;

《集成学习》

北城以北 提交于 2019-11-28 14:41:53
介绍 Stacking 、 Bagging 和 Boosting 三种方式。 一、 Stacking 思想:由原始的训练集训练出若干个单模型,将单模型的输出结果作为样本特征进行整合,并把原始样本标记作为新数据样本标记,生成新的训练集。再根据训练集训练一个新模型,并对样本进行预测。 注意:模型训练时,如果直接使用一级模型对初始的训练样本进行预测来产生二级训练集,会产生较大的过拟合风险。因而,常采用 " 交叉验证法 " 或 " 留一法 " 来由一级模型未使用的样本产生二级模型的训练集。将样本划分为 K 份,选择 K-1 份作为 " 训练集 " ,剩余的一份作为 " 测试集 ", 因而总共有 K 种组合方式。每次使用一种方式来训练 T 个模型(模型可以是 " 异质的 " ,也可以是 " 同质的 " ),利用测试集产生一份训练数据作为样本特征,对应的原始测试集数据的样本标记被作为新数据样本标记来使用。最后,将由一级模型产生的 K 次结果组合到一起,作为二级模型的输入进行训练模型。 二、 Bagging 思想:对训练集进行有放回的抽样得到子训练集,比较著名的是 0.632 自助法。每个基学习器基于不同的子训练集进行训练,然后综合所有基学习器的预测值得到最终的预测结果。常采用 " 投票法 " ,即将票数最多的类别作为预测类别。 三、 Boosting 思想:模型的训练是按照顺序的

传统推荐算法(五)LR+GBDT(1)剑指GBDT

大城市里の小女人 提交于 2019-11-28 05:55:27
文章目录 写在前面 1. GBM 1.1 从参数空间到函数空间: 1.2 从非参估计到参数估计 1.3 泰勒展开近似 2. GBM的基学习器 2.1 基学习器选择 2.2 CART回归树 3. GBDT之回归 4. GBDT之分类 4.1 二类逻辑回归和分类 4.2 多类逻辑回归和分类 5. 反思总结 5.1 样本权重调整 5.2 GBDT优缺点 6. GBDT资料推荐 参考 公众号 写在前面 学习GBDT的时候,被网上的几篇文章搞晕了,就去看了下GBDT的论文,整理了一些思路,结合参考中的一些内容,整理了这篇文章。本文将循序渐进,从GB,DT讲到GBDT,细致分析下GBDT的原理。本人才疏学浅,有些地方可能理解得不对,欢迎指出错误。学习过程中,薛大佬的这篇文章给了我很多启发:http://xtf615.com/paper/GBM.html。他本人也很热心地帮我解答疑问,在此特别感谢。 机器学习中的 Boosting 算法族有两大类,一类是 weight_boosting,其中以 adaboost 为主要代表,另一类是 gradient_boosting,其中以 gbdt 为主要代表[1]。GBDT是机器学习竞赛中常用的一种算法,据统计,Kaggle比赛中50%以上的冠军方案都是基于GBDT算法[2]。有人称之为机器学习TOP3算法。 1999年,Jerome Harold

xgboost和GBDT对比;xgboost和lightGbm

为君一笑 提交于 2019-11-28 03:55:55
1. 传统GBDT以CART作为基分类器,特指梯度提升决策树算法,而XGBoost还支持线性分类器(gblinear),这个时候XGBoost就相当于带L1正则和L2正则项的 logistics回归(分类问题)或者线性回归(回归问题) 2. 传统的GBDT只用到一阶导数信息,xgboost则对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导数。 3. xgboost在代价函数里加入了正则项,用于控制模型的复杂度。正则项里包含了树的叶子节点个数、每个叶子节点上输出的score的L2模的平方和。从Bias variance tradeoff角度来讲,正则项降低了模型的variance,使学习出来的模型更加简单,防止过拟合,这也是xgboost优于传统的GBDT的一个特性 来源: https://www.cnblogs.com/ivyharding/p/11390735.html

GBDT算法

时间秒杀一切 提交于 2019-11-26 23:58:12
一、简介 在GBDT的迭代中,假设我们前一轮迭代得到的强学习器是 f t-1 (x) 损失函数是 L(y,f t-1 (x)) 我们本轮迭代的目标是学习到弱学习器h t (x),让本轮的损失 L(t,f t-1 (x)+h t (x)) 最小。 假如有个人30岁,我们首先用20岁去拟合,发现损失有10岁,这时我们用6岁去拟合剩下的损失,发现差距还有4岁,第三轮我们用3岁拟合剩下的差距,差距就只有一岁了。如果我们的迭代轮数还没有完,可以继续迭代下面,每一轮迭代,拟合的岁数误差都会减小。 也就是说我们要求的是高偏差,然后一步一步慢慢缩小这个偏差。 二、负梯度拟合 初始化若学习分类器是: 每一轮都有一个损失函数要去拟合,因为是偏差,所以找不到一个真实值来去拟合。因此提出了一种方法: 用损失函数的负梯度来拟合本轮损失的近似值,进而拟合一个cart回归树 。 第t轮的第i个样本的损失函数的负梯度表示为: 利用(x i ,r ti )(i=1,2,...m),我们可以拟合一颗CART回归树,得到了第t颗回归树,其对应的叶节点区域Rtj,j=1,2,...,J。其中J为叶子节点的个数。 每个叶子节点里有多个样本,然后求出使损失函数最小时的输出值ct j (类似于标签): 这样我们就得到了本轮的决策树拟合函数如下: 本轮最终得到的强学习器的表达式如下: 三、GBDT常用损失函数 分类 指数损失函数