我们每天都听到人工智能的突破。然而,你想知道它面临哪些挑战吗?
在 DNA 测序、信用卡交易,甚至网络安全等高度非结构化数据中,都面临挑战,网络安全是保护我们在线存在免受欺诈者侵害的支柱。这种想法是否让你渴望更多地了解这些系统背后的科学和推理?不用担心!我们已经为您服务了在网络时代,机器学习 (ML) 为我们提供了梯度提升机器 (GBM) 实施后解决这些问题的解决方案。我们有足够的算法可供选择,为我们的训练数据做梯度提升,但我们仍然会遇到不同的问题,如精度低,损耗高,结果差异大。
在这里,我们将向您介绍由陈天琪构建的最先进的机器学习算法XGBoost,它不仅将克服问题,而且对回归和分类问题也表现卓越。此博客将帮助您了解 XGBoost 的见解、技术和技能,然后您可以将其带到机器学习项目中。
XGBoost 一览!
eXtreme 梯度提升 (XGBoost)是一种可扩展和改进的梯度提升算法(术语警报)版本,旨在实现有效性、计算速度和模型性能。它是一个开源库,是分布式机器学习社区的一部分。XGBoost 是软件和硬件功能的完美融合,旨在以最短的时间内以精确度增强现有提升技术。下面快速查看 XGBoost 与其他梯度提升算法与随机林与 500 棵树训练的客观基准比较,由Szilard Pafka执行。
XGBoost 的基准性能
快速闪回提升
提高通常意味着提高性能。在ML中,提升是一种连续的合奏学习技术(另一种术语警报,不烦恼!我们也将解释这一点),将弱假设或弱学习者转化为强壮的学习者,以提高模型的准确性。
我们可以通过一个简单的分类示例理解提升的必要性:在基础规则的帮助下将 Twitter 帐户分类为机器人或人类(范围有限):
规则:
- 无帐户信息和个人资料照片 • 机器人
- 用户名是胡言乱语 + 机器人
- 以多种语言发推文 • 机器人
- 它有足够的活动和配置文件*
- 每天大量的推文 » 机器人
- 其他帐户链接 = 人
现在,我们知道了这些规则,让我们在下面的示例中应用这些规则:
场景 – 以英语和法语发布推文的帐户。
第 3 条规则将将其归类为自动程序,但这将是一个错误的预测,因为一个人可以知道和推特多种语言。因此,基于单个规则,我们的预测可能存在缺陷。由于这些单独的规则不够强大,不足以做出准确的预测,因此它们被称为弱学习者。从技术上讲,弱学习者是一个与实际值关联较弱的分类器。因此,为了使我们的预测更准确,我们设计了一个模型,结合弱学习者的预测,使一个强大的学习者,这是使用促进技术完成。
弱规则由基础学习算法在每次迭代中生成,在我们的例子中,这些算法可以是两种类型:
- 树作为基础学习者
- 线性基础学习者
通常,决策树是默认基础学员,用于提升
首先,让我们了解上面提到的合奏学习技巧。
集合学习
与单个 ML 模型相比,组合学习是结合多个机器学习模型的决策以减少错误和改进预测的过程。然后,将最大投票技术用于聚合决策(或机器学习行话中的预测),以推导最终预测。困惑?
把它想象成组织到你的工作/学院/或杂货店的有效路线。由于您可以使用多条路线到达目的地,您倾向于了解流量和延迟,在一天的不同时间可能会给您带来延迟,让您设计出一条完美的路线,Ensemble 学习是一样的!
此图像显示了单个 ML 模型相对于”组合学员”的明确区别:
单模型预测与集合学习者
集合学习的类型:
可以通过两种方式执行组合学习方法:
- 装袋(平行合奏)
- 提升(顺序合奏)
虽然两者都有一些迷人的数学封面,我们不需要知道它能够拿起它作为一个工具。由于 Boost 在 XGBoost 中的相关性,我们的重点将更多地放在对 Boost 的理解上。
增压算法的工作:
增压算法创建新的弱学习者(模型),并按顺序组合他们的预测,以提高模型的整体性能。对于任何不正确的预测,将较大的权重分配给错误分类的样本,将较低的权重分配给正确分类的样本。在最终合奏模型中表现更好的弱学习者模型具有更高的权重。
提升永远不会改变以前的预测变量,并且只能通过从错误中学习来更正下一个预测变量g. 树基学习者的树深),以防止训练数据过度拟合。提升的第一个实现被命名为 AdaBoost(自适应增强)。
F(i) is current model, F(i-1) is previous model and f(i) represents weak
model
提升算法的内部工作
感觉被做好了准备?在深入探讨该主题之前,请查看另外两种算法(CART 和梯度提升),以了解 XGBoost 的机制。
分类和回归树 (CART):
决策树是一种受监督的机器学习算法,用于根据多个独立变量的输入预测对因变量(目标)进行建模。它有一个树状的结构,根在顶部。代表分类和回归树的 CART 用作总括术语,用于指以下类型的决策树:
分类树:当目标变量是固定的或分类的,此算法用于标识目标最有可能落在其中的类/类别。
回归树:目标变量是连续的,树/算法用于预测其值,例如预测天气。
渐变提升:
梯度提升是提升算法的一个特例,其中通过梯度下降算法将误差降至最低,并生成弱预测模型(例如决策树)形式的模型。
提升和梯度提升之间的主要区别是算法如何从错误的预测中更新模型(弱学习者)readthedocs.io/en/latest/gradient_descent.html”rel=”nofollow”目标=”_blank”=梯度下降,通过更新权重来迭代优化模型损失。损失通常是指预测值和实际值之间的差值。对于回归算法,我们使用 MSE(均方误差)损耗,而对于分类问题,我们使用对数损耗。
w represents the weight vector, η is the learning rate
梯度提升过程:
梯度提升的过程流
渐变提升使用附加建模,其中一次向模型添加新决策树一个,使用梯度下降将损失降至最低。模型中的现有树保持不变,从而减慢了过度拟合的速度。新树的输出与现有树的输出相结合,直到损失最小化到阈值或达到指定的树限制。
数学中的增增建模是函数细分为 N 子函数的添加。在统计方面,它可以被看作是一个回归模型,其中响应y是预测变量x的个体效应的算术总和。
XGBOOST 在行动!
是什么让 XGBoost 成为赢得机器学习和卡格尔竞赛的算法?