由于神经网络的复杂性,它们通常被认为是所有机器学习问题的“圣杯”。另一方面,基于树的方法没有受到同样的关注,主要是因为这种算法明显的简单性。不过,这两个算法看似不同,但是就像硬币的正面和背面一样,都很重要。树模型与神经网络基于树的方法通常优于神经网络。本质上,基于树的方法和基于神经网络的方法被归为一类,因为它们都是通过逐步解构来解决问题,而不是像支持向量机或逻辑回归那样通过复杂的边界分割整个数据集。很明显,基于树的方法逐渐沿着不同的特征划分特征空间以优化信息增益。不太明显的是,神经网络以类似的方式处理任务。每个神经元监视特征空间的特定部分(具有多个重叠)。当输入进入这个空间时,某些神经元会被激活。神经网络对这种逐段模型拟合采用概率观点,而基于树的方法采用确定性观点。无论如何,两者的性能都取决于模型的深度,因为它们的组件与特征空间的各个部分相关联。组件太多的模型(树模型的节点,神经网络的神经元)会过度拟合,而组件太少的模型根本不会给出有意义的预测。(两者都是从记忆数据点开始,而不是学习概括。)为了更直观地了解神经网络如何划分特征空间,请阅读这篇介绍一般逼近定理的文章: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数据集上表现很好,其中像素值几乎都是黑色或白色,但其他数据集中的像素值却不是(例如ImageNet)。同样,文本包含太多信息和太多异常,无法用确定性术语来表达。这就是神经网络主要用于这些领域的原因,也是神经网络研究在早期(2000年代初之前)停滞不前的原因,当时没有大量的图像和文本数据。神经网络的其他常见用途仅限于大规模预测,例如YouTube视频推荐算法,它非常大,以至于必须使用概率。任何公司的数据科学团队都可能会使用基于树的模型而不是神经网络,除非他们正在构建重型应用程序,例如模糊Zoom视频的背景。但是在日常的业务分类任务中,基于树的方法由于其确定性性质而使这些任务变得轻量级,就像神经网络一样。在许多实际情况下,确定性建模比概率建模更自然。例如,在预测用户是否会从电子商务网站购买商品时,树模型是一个不错的选择,因为用户自然会遵循基于规则的决策过程。用户的决策过程可能是这样的:我以前在这个平台上有过良好的购物体验吗?如果是这样,请继续。我现在需要这个项目吗?(例如,冬天要不要买太阳镜和泳裤?)如果是,那就买吧。根据我的用户统计数据,这是我有兴趣购买的产品吗?如果是,继续。这东西是不是太贵了?如果没有,请继续。其他客户对这个产品的评价是否足够高,我可以放心购买?如果是,继续。一般来说,人类遵循基于规则和结构化的决策过程。在这些情况下,概率建模是不必要的。结论最好将基于树的方法视为神经网络的缩小版,以更简单的方式进行特征分类、优化、信息流等。基于树的方法和神经网络方法在用法上的主要区别是确定性(0/1)与概率数据结构。使用确定性模型可以更好地对结构化(表格)数据进行建模。不要低估树方法的力量。
