过拟合

教程丨 一文详尽CatBoost

柔情痞子 提交于 2020-10-26 04:03:00
转载自:Datawhale(ID:Datawhale) 作者:潘华引 本文 13867 字 ,建议阅读 35 分钟 。 本文详尽介绍CatBoost 。 CatBoost CatBoost是俄罗斯的搜索巨头Y andex在2017年开源的机器学习库,也是Boosting族算法的一种,同前面介绍过的XGBoost和LightGBM类似,依然是在GBDT算法框架下的一种改进实现,是一种基于对称决策树(oblivious trees)算法的参数少、支持类别型变量和高准确性的GBDT框架,主要说解决的痛点是高效合理地处理类别型特征,这个从它的名字就可以看得出来,CatBoost是由catgorical和boost组成,另外是处理梯度偏差(Gradient bias)以及预测偏移(Prediction shift)问题,提高算法的准确性和泛化能力。 集成学习 CatBoost主要有以下五个特性: 无需调参即可获得较高的模型质量,采用默认参数就可以获得非常好的结果,减少在调参上面花的时间; 支持类别型变量,无需对非数值型特征进行预处理; 快速、可扩展的GPU版本,可以用基于GPU的梯度提升算法实现来训练你的模型,支持多卡并行; 提高准确性,提出一种全新的梯度提升机制来构建模型以减少过拟合; 快速预测,即便应对延时非常苛刻的任务也能够快速高效部署模型。

[scikit-learn 机器学习] 8. 非线性分类和决策树

懵懂的女人 提交于 2020-10-24 13:05:12
文章目录 1. 特征选择标准 2. 网页广告预测 2.1 数量处理 2.2 网格搜索模型参数 3. 决策树优缺点 本文为 scikit-learn机器学习(第2版) 学习笔记 相关知识:《统计学习方法》 决策树(Decision Tree,DT) 1. 特征选择标准 信息增益,得知特征X的信息而使得类Y的信息的不确定性减少的程度。 信息增益比,信息增益的占比,选择大的特征 基尼系数,表示经特征 A 分割后集合 D 的不确定性,选择基尼系数小的特征 2. 网页广告预测 import pandas as pd from sklearn . tree import DecisionTreeClassifier from sklearn . model_selection import train_test_split from sklearn . metrics import classification_report from sklearn . pipeline import Pipeline from sklearn . model_selection import GridSearchCV df = pd . read_csv ( './ad.data' , header = None ) df . head ( 10 ) 数据前3列为广告图片的宽高、长宽比

时间序列神器之争:prophet VS lstm

扶醉桌前 提交于 2020-10-24 00:43:10
一、需求背景 我们福禄网络致力于为广大用户提供智能化充值服务,包括各类通信充值卡(比如移动、联通、电信的话费及流量充值)、游戏类充值卡(比如王者荣耀、吃鸡类点券、AppleStore充值、Q币、斗鱼币等)、生活服务类(比如肯德基、小鹿茶等),网娱类(比如QQ各类钻等),作为一个服务提供商,商品质量的稳定、持续及充值过程的便捷一直是我们在业内的口碑。 在整个商品流通过程中,如何做好库存的管理,以充分提高库存运转周期和资金使用效率,一直是个难题。基于此,我们提出了智能化的库存管理服务,根据订单数据及商品数据,来预测不同商品随着时间推移的日常消耗情况。 二、算法选择 目前成熟的时间序列预测算法很多,但商业领域性能优越的却不多,经过多种尝试,给大家推荐2种时间序列算法:facebook开源的Prophet算法和LSTM深度学习算法。 现将个人理解的2种算法特性予以简要说明: (1)、在训练时间上,prophet几十秒就能出结果,而lstm往往需要1个半小时,更是随着网络层数和特征数量的增加而增加。 (2)、Prophet是一个为商业预测而生的时间序列预测模型,因此在很多方便都有针对性的优化,而lstm的初衷是nlp。 (3)、Prophet无需特征处理即可使用,参数调优也明确简单。而lstm则需要先进行必要的特征处理,其次要进行正确的网络结构设计,因此lstm相对prophet更为复杂。

标签平滑Label Smoothing

生来就可爱ヽ(ⅴ<●) 提交于 2020-10-23 03:28:28
Lable Smoothing 是分类问题中错误标注的一种解决方法。 对于分类问题,特别是多分类问题,常常把向量转换成one-hot-vector(独热向量) one-hot带来的问题:(对于独热的简单解释:https://blog.csdn.net/qq_43211132/article/details/96141409) 对于损失函数,我们需要用预测概率去拟合真实概率,而拟合one-hot的真实概率函数会带来两个问题: 1)无法保证模型的泛化能力,容易造成过拟合; 2) 全概率和0概率鼓励所属类别和其他类别之间的差距尽可能加大,而由梯度有界可知,这种情况很难适应。会造成模型过于相信预测的类别。 使用下面的 label smoothing 可以缓解这个问题: 原理:对于以Dirac函数分布的真实标签,我们将它变成分为两部分获得(替换)。 第一部分:将原本Dirac分布的标签变量替换为(1 - ϵ)的Dirac函数; 第二部分:以概率 ϵ ,在u(k) 中份分布的随机变量(u(k)是类别分之一) 代码: def label_smoothing(inputs, epsilon=0.1): K = inputs.get_shape().as_list()[-1] # number of channels return ((1-epsilon) * inputs) + (epsilon

Kaggle竞赛入门教程案例

时光毁灭记忆、已成空白 提交于 2020-10-23 02:54:00
Kaggle比赛入门新手教程(房价预测案例:前篇) Kaggle房价预测全流程详解 竞赛链接与背景介绍 竞赛代码解析 导入工具包 数据加载 数据预处理 异常值初筛 标签值对数变换 明确变量类型 缺失值处理 特征工程 特征创建:基于已有特征进行组合 对影响房价关键因子进行分箱 数值型变量偏度修正 删除单一值特征 特征简化:0/1二值化处理 特征编码 异常值复查:基于回归模型 消除one-hot特征矩阵的过拟合 Kaggle房价预测全流程详解 对于 刚刚入门 机器学习的童孩来说,如何快速地通过不同实战演练以提高代码能力和流程理解是一个需要关注的问题。 Kaggle平台 正好提供了数据科学家的所需要的交流环境,并且为痴迷于人工智能的狂热的爱好者举办了各种类型的竞赛(如, 数据科学/图像分类/图像识别/自然语言处理/漏洞检测 )。 Kaggle社区是一种全球性的交流社区,集中大量优秀的AI科学家和数据分析家,能够相互分享实战经验和代码,并且有基础入门教程,对新手非常友好~ 竞赛链接与背景介绍 Kaggle平台官网 :https://www.kaggle.com 房价预测竞赛网址 : https://www.kaggle.com/c/house-prices-advanced-regression-techniques 房价 是一个生活中耳熟能详的概念

机器学习训练中常见的问题和挑战

守給你的承諾、 提交于 2020-10-21 13:29:38
来源:Datawhale 本文 约4300字 ,建议 阅读8分钟 本文主要从坏数据出发,带大家了解目前机器学习面临的常见问题和挑战,从而更好地学习机器学习理论。 由于我们的主要任务是选择一种学习算法,并对某些数据进行训练,所以最可能出现的两个问题不外乎是“坏算法”和“坏数据”,本文主要从坏数据出发,带大家了解目前机器学习面临的常见问题和挑战,从而更好地学习机器学习理论。 一、训练数据的数量不足 要教一个牙牙学语的小朋友什么是苹果,你只需要指着苹果说“苹果”(可能需要重复这个过程几次)就行了,然后孩子就能够识别各种颜色和形状的苹果了,简直是天才! 机器学习还没达到这一步,大部分机器学习算法需要大量的数据才能正常工作。即使是最简单的问题,很可能也需要成千上万个示例,而对于诸如图像或语音识别等复杂问题,则可能需要数百万个示例(除非你可以重用现有模型的某些部分)。 数据的不合理有效性 在2001年发表的一篇著名论文中,微软研究员Michele Banko和Eric Brill表明,给定足够的数据,截然不同的机器学习算法(包括相当简单的算法)在自然语言歧义消除这个复杂问题上注8,表现几乎完全一致(如下图所示)。 数据与算法的重要性注 正如作者所说:“这些结果表明,我们可能会重新思考如何在二者之间做权衡—将钱和时间花在算法的开发上,还是花在语料库的建设上。” 对复杂问题而言,数据比算法更重要

【2020最新干货综述】 基于知识图谱嵌入的链接预测综述, 43页pdf

喜欢而已 提交于 2020-10-15 00:24:55
来源 | 专知 摘要 知识图谱(KGs)在工业和学术领域有很多应用,这反过来又推动了朝着大规模地从各种来源提取信息大量的研究工作。尽管付出了这些努力,但众所周知,即使是最先进的KGs也是不完整的。链路预测(Link Prediction, LP)是一种根据KG中已存在的实体去预测缺失事实的任务,是一种有前途的、广泛研究的、旨在解决KG的不完整的任务。在最近的LP技术中,基于KG嵌入的LP技术在一些基准测试中取得了很好的性能。尽管这方面的文献在迅速增加,但对这些方法中各种设计选择的影响却没有引起足够的注意。此外,这一领域的标准做法是通过测试大量的事实来报告准确性,其中一些实体被过度表示;这允许LP方法通过只修改包含这些实体的结构属性来展示良好的性能,而忽略KG的主要部分。 本篇综述分析提供了基于嵌入的LP方法的全面比较,将分析的维度扩展到常见的文献范围之外。 我们通过实验比较了16种最先进的方法的有效性和效率,考虑了一个基于规则的基准,并报告了文献中最流行的基准的详细分析。 介绍 知识图谱(KGs)是真实世界信息的结构化表示。在一个KG中,节点表示实体,例如人和地点;标签是连接它们的关系类型;边是用关系连接两个实体的特定事实。由于KGs能够以机器可读的方式对结构化、复杂的数据进行建模,因此它被广泛应用于各个领域,从问答到信息检索和基于内容的推荐系统

机器学习基础---机器学习诊断法

泄露秘密 提交于 2020-10-13 06:39:32
一:决定下一步做什么 在懂机器学习的人当中依然存在着很大的差距,一部分人确实掌握了怎样高效有力地运用这些学习算法。而另一些人可能没有完全理解怎样运用这些算法。因此总是把时间浪费在毫无意义的尝试上。 应该是确保你在设计机器学习的系统时,你能够明白怎样选择一条最合适、最正确的道路。 因此,将介绍一些实用的建议和指导,帮助怎样进行选择。 具体来讲,重点关注的问题是假如你在开发一个机器学习系统,或者想试着改进一个机器学习系统的性能,你应如何决定接下来应该选择哪条道路? 为了解释这一问题,我想仍然使用预测房价的学习例子,假如你已经完成了正则化线性回归,也就是最小化代价函数J 的值: 假如,在你得到你的学习参数以后,如果你要将你的假设函数放到一组新的房屋样本上进行测试,假如说你发现在预测房价时产生了巨大的误差,现在你的问题是要想改进这个算法,接下来应该怎么办? 实际上你可以想出很多种方法来改进这个算法的性能: 1.其中一种办法是使用更多的训练样本。具体来讲,也许你能想到通过电话调查或上门调查来获取更多的不同的房屋出售数据。遗憾的是,我看到好多人花费了好多时间想收集更多的训练样本。他们总认为,要是我有两倍甚至十倍数量的训练数据,那就一定会解决问题的是吧? 但有时候获得更多的训练数据实际上并没有作用。 在后面,将解释原因。 我们应该避免把过多的时间浪费在收集更多的训练数据上。 2. 另一个方法

周志华新作《机器学习理论导引》阅读攻略

南楼画角 提交于 2020-10-09 00:23:48
↑ ↑↑ 点击上方 蓝字 ,回复 资料 ,10个G的惊喜 文末赠书福利 最近在读 《机器学习理论导引》 。这本书是西瓜书的作者 周志华 老师领衔、南大 LAMDA 四位教授共同撰写的新书,权威就自不必说。封面画了一只充满了阿里巴巴和四十大盗风格的木箱子,一看就是童话故事官方指定用来装宝贝的那一种,大家就按惯例起了个绰号,叫 “ 宝箱书 ” 。 刚接触机器学习应该都有一个共同的感觉,就是机器学习不太好学习。主要的难题有两个,第一个自然是 数学 ,机器学习需要大量的数学基础知识,一个个张牙舞爪的数学公式很容易让人望而却步。可是,当我们好不容易鼓起勇气,为了学好机器学习,决心和数学死磕到底,我们很快又会遇到第二个难题, 知识面太过宽泛 ,就算愿意硬啃,也让人无从下嘴。 我在以前的文章反复说过, 机器学习是算法,不是一种算法,是一群算法的总称 。机器学习虽然要求解的问题来来去去就那几个大类,但解题思路是一个赛一个精奇,不同思想下设计出来的算法自然也就犹如八仙过海。精彩是挺精彩的,但是自然涉及的数学基础自然五花八门,从学习的角度来看,总感觉要学的东西东一块西一块的不成体系,缺乏一条循序渐进的主轴,甚至连起点在哪里都不太好找。 《机器学习理论导引》就是要解决这个问题。这本书的定位是 “ 给学习和研究机器学习理论提供一个入门引导 ” ,这话是我从书里抄的,写得相当官方,如果没看完这本书

七种回归分析方法,个 个 经 典

与世无争的帅哥 提交于 2020-10-07 15:54:44
什么是回归分析? 回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。 回归分析是建模和分析数据的重要工具。在这里,我们使用曲线/线来拟合这些数据点,在这种方式下,从曲线或线到数据点的距离差异最小。我会在接下来的部分详细解释这一点。 我们为什么使用回归分析? 如上所述,回归分析估计了两个或多个变量之间的关系。下面,让我们举一个简单的例子来理解它: 比如说,在当前的经济条件下,你要估计一家公司的销售额增长情况。现在,你有公司最新的数据,这些数据显示出销售额增长大约是经济增长的2.5倍。那么使用回归分析,我们就可以根据当前和过去的信息来预测未来公司的销售情况。 使用回归分析的好处良多。具体如下: 它表明自变量和因变量之间的显著关系; 它表明多个自变量对一个因变量的影响强度。 回归分析也允许我们去比较那些衡量不同尺度的变量之间的相互影响,如价格变动与促销活动数量之间联系。这些有利于帮助市场研究人员,数据分析人员以及数据科学家排除并估计出一组最佳的变量,用来构建预测模型。 我们有多少种回归技术? 有各种各样的回归技术用于预测。这些技术主要有三个度量(自变量的个数,因变量的类型以及回归线的形状)