机器学习:不要低估树模型的威力
来源:51CTO.COM
时间:2023-05-01 08:11:47 416浏览 收藏
最近发现不少小伙伴都对科技周边很感兴趣,所以今天继续给大家介绍科技周边相关的知识,本文《机器学习:不要低估树模型的威力》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~
由于神经网络的复杂性,它们常常被认为是解决所有机器学习问题的「圣杯」。而另一方面,基于树的方法并未得到同等重视,主要原因在于这类算法看起来很简单。然而,这两种算法看似不同,却像一枚硬币的正反面,都很重要。
树模型 VS 神经网络
基于树的方法通常优于神经网络。本质上,将基于树的方法和基于神经网络的方法放在同一个类别中是因为,它们都通过逐步解构来处理问题,而不是像支持向量机或 Logistic 回归那样通过复杂边界来分割整个数据集。
很明显,基于树的方法沿着不同的特征逐步分割特征空间,以优化信息增益。不那么明显的是,神经网络也以类似的方式处理任务。每个神经元监视特征空间的一个特定部分(存在多种重叠)。当输入进入该空间时,某些神经元就会被激活。
神经网络以概率的视角看待这种逐段模型拟合 (piece-by-piece model fitting),而基于树的方法则采用确定性的视角。不管怎样,这两者的性能都依赖于模型的深度,因为它们的组件与特征空间的各个部分存在关联。
包含太多组件的模型(对于树模型而言是节点,对于神经网络则是神经元)会过拟合,而组件太少的模型根本无法给出有意义的预测。(二者最开始都是记忆数据点,而不是学习泛化。)
要想更直观地了解神经网络是如何分割特征空间的,可阅读这篇介绍通用近似定理的文章:https://medium.com/analytics-vidhya/you-dont-understand-neural-networks-until-you-understand-the-universal-approximation-theory-85b3e7677126。
虽然决策树有许多强大的变体,如随机森林、梯度提升、AdaBoost 和深度森林,但一般来说,基于树的方法本质上是神经网络的简化版本。
基于树的方法通过垂直线和水平线逐段解决问题,以最小化熵(优化器和损失)。神经网络通过激活函数来逐段解决问题。
基于树的方法是确定性的,而不是概率性的。这带来了一些不错的简化,如自动特征选择。
决策树中被激活的条件节点类似于神经网络中被激活的神经元(信息流)。
神经网络通过拟合参数对输入进行变换,间接指导后续神经元的激活。决策树则显式地拟合参数来指导信息流。(这是确定性与概率性相对应的结果。)
信息在两个模型中的流动相似,只是在树模型中的流动方式更简单。
树模型的 1 和 0 选择 VS 神经网络的概率选择
当然,这是一个抽象的结论,甚至可能是有争议的。诚然,建立这种联系有许多障碍。不管怎样,这是理解基于树的方法何时以及为什么优于神经网络的重要部分。
对于决策树而言,处理表格或表格形式的结构化数据是很自然的。大多数人都同意用神经网络执行表格数据的回归和预测属于大材小用,所以这里做了一些简化。选择 1 和 0,而不是概率,是这两种算法之间差异的主要根源。因此,基于树的方法可成功应用于不需要概率的情况,如结构化数据。
例如,基于树的方法在 MNIST 数据集上表现出很好的性能,因为每个数字都有几个基本特征。不需要计算概率,这个问题也不是很复杂,这就是为什么设计良好的树集成模型性能可以媲美现代卷积神经网络,甚至更好。
通常,人们倾向于说「基于树的方法只是记住了规则」,这种说法是对的。神经网络也是一样,只不过它能记住更复杂的、基于概率的规则。神经网络并非显式地对 x>3 这样的条件给出真 / 假的预测,而是将输入放大到一个很高的值,从而得到 sigmoid 值 1 或生成连续表达式。
另一方面,由于神经网络非常复杂,因此使用它们可以做很多事情。卷积层和循环层都是神经网络的杰出变体,因为它们处理的数据往往需要概率计算的细微差别。
很少有图像可以用 1 和 0 建模。决策树值不能处理具有许多中间值(例如 0.5)的数据集,这就是它在 MNIST 数据集上表现很好的原因,在 MNIST 中,像素值几乎都是黑色或白色,但其他数据集的像素值不是(例如 ImageNet)。类似地,文本有太多的信息和太多的异常,无法用确定性的术语来表达。
这也是神经网络主要用于这些领域的原因,也是神经网络研究在早期(21 世纪初之前)停滞不前的原因,当时无法获得大量图像和文本数据。神经网络的其他常见用途仅限于大规模预测,比如 YouTube 视频推荐算法,其规模非常大,必须用到概率。
任何公司的数据科学团队可能都会使用基于树的模型,而不是神经网络,除非他们正在建造一个重型应用,比如模糊 Zoom 视频的背景。但在日常业务分类任务上,基于树的方法因其确定性特质,使这些任务变得轻量级,其方法与神经网络相同。
在许多实际情况下,确定性建模比概率建模更自然。例如,预测用户是否从某电商网站购买一样商品,这时树模型是很好的选择,因为用户天然地遵循基于规则的决策过程。用户的决策过程可能看起来像这样:
- 我以前在这个平台上有过愉快的购物经历吗?如果有,继续。
- 我现在需要这件商品吗?(例如,冬天我应该买太阳镜和泳裤吗?)如果是,继续。
- 根据我的用户统计信息,这是我有兴趣购买的产品吗?如果是,继续。
- 这个东西太贵吗?如果没有,继续。
- 其他顾客对这个产品的评价是否足够高,让我可以放心地购买它?如果是,继续。
一般来说,人类遵循基于规则和结构化的决策过程。在这些情况下,概率建模是不必要的。
结论
- 最好将基于树的方法视为神经网络的缩小版本,以更简单的方式进行特征分类、优化、信息流传递等。
- 基于树的方法和神经网络方法在用途的主要区别在于确定性(0/1)与概率性数据结构。使用确定性模型可以更好地对结构化(表格)数据进行建模。
- 不要低估树方法的威力。
本篇关于《机器学习:不要低估树模型的威力》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于科技周边的相关知识,请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
350 收藏
-
263 收藏
-
448 收藏
-
229 收藏
-
182 收藏
-
479 收藏
-
485 收藏
-
344 收藏
-
231 收藏
-
249 收藏
-
226 收藏
-
500 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习