首页 > 编程语言 >机器学习算法终极对比:树模型VS神经网络

机器学习算法终极对比:树模型VS神经网络

时间:2023-04-17 11:46:12浏览次数:45  
标签:基于 模型 神经网络 VS 拟合 终极 方法 神经元

树模型和神经网络,像一枚硬币的两面。在某些情况下,树模型的性能甚至优于神经网络。

由于神经网络的复杂性,它们常常被认为是解决所有机器学习问题的「圣杯」。而另一方面,基于树的方法并未得到同等重视,主要原因在于这类算法看起来很简单。然而,这两种算法看似不同,却像一枚硬币的正反面,都很重要。

树模型 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 和深度森林,但一般来说,基于树的方法本质上是神经网络的简化版本

  • 基于树的方法通过垂直线和水平线逐段解决问题,以最小化熵(优化器和损失)。神经网络通过激活函数来逐段解决问题

  • 基于树的方法是确定性的,而不是概率性的。这带来了一些不错的简化,如自动特征选择

  • 决策树中被激活的条件节点类似于神经网络中被激活的神经元(信息流)。

  • 神经网络通过拟合参数对输入进行变换间接指导后续神经元的激活。决策树则显式地拟合参数来指导信息流。(这是确定性与概率性相对应的结果。)

 

标签:基于,模型,神经网络,VS,拟合,终极,方法,神经元
From: https://www.cnblogs.com/qiynet/p/17325347.html

相关文章

  • 如何在VS Code中安装和使用CodeGPT
    人工智能改变世界的众多方式之一是通过智能代码完成和将自然语言转换为代码。在这一领域,OpenAI凭借其GPT-3系列Codex模型和最新的GPT-4模型一直处于领先地位。因此,如果你想在VisualStudioCode本身中使用ChatGPT,请按照本教程了解CodeGPT。它是一个位于VSCode中的AI助手,您可以与......
  • vscode number of cursors limited to 10000 bug All In One
    vscodenumberofcursorslimitedto10000bugAllInOnevscode全局替换光标限制最多10000个❌demos$manopenssl>man-openssl.md#全选"替换,报错提示信息❌#❌$openssl--version#✅$opensslversionLibreSSL3.3.6(......
  • Visual Studio Code开发常用的工具栏选项,查看源码技巧以及【vscode常用的快捷键】
    一、开发常用的工具栏选项1、当前打开的文件快速在左侧资源树中定位:其实打开了当前的文件已经有在左侧资源树木定位了,只是颜色比较浅2、打开太多文件的时候,可以关闭3、设置查看当前类或文件的结构OUTLINE相当于idea查看当前类或接口的结构Structure二、查看......
  • 3.线性神经网络
    线性模型当我们的输入包含d个特征时,我们将预测结果表示为:向量化:矩阵化:损失函数平方误差损失函数:在n个样本上度量:最优化:解析解:随机梯度下降:矢量化加速importmathimporttimeimportnumpyasnpimporttensorflowastfimportmatplotlib.pyplotaspl......
  • Visual Studio Code 常见的配置、常用好用插件以及【vsCode 开发相应项目推荐安装的插
    一、VsCode常见的配置1、取消更新把插件的更新也一起取消了2、设置编码为utf-8:默认就是了,不用设置了3、设置常用的开发字体:Consolas,默认就是了,不用设置了字体对开发也很重要,不同字体,字母形态都不太一样,尤其是标点符号,逗号和分号的区分,有的字体看着这两者就很像......
  • vs 2017编译bootst库
    1.下载boost源码,这里下载boost_1_69_0:boost_1_69_0.7z.2.解压后,已管理员身份打开VS2017的x86_x64兼容工具.例如我的路径是F:F://切换到F盘cdwork\C++\boost_1_69_0执行bootstrap.bat生成b2.exe执行b2.exe--toolset=msvc-14.1install--prefix="D:\Project\Boos......
  • VS版本对应关系
    VS全名是MicrosoftVisual Studio,是很⼤的⼀个开发环境,包含很多⾼级语⾔的开发环境,VC只是VS其中的⼀个开发环境。Visual Studio 6 : vc6Visual Studio 2003 : vc7Visual Studio 2005 : vc8Visual Studio 2008 : vc9Visual Studio 2010 : vc10Visua......
  • 【Visual Leak Detector】VS 中 VLD 输出解析
    说明使用VLD内存泄漏检测工具辅助开发时整理的学习笔记。同系列文章目录可见《内存泄漏检测工具》目录目录说明1.使用方式2.输出报告1.使用方式在VS中使用VLD的方法可以查看另外一篇博客:在VS2015中使用VLD。2.输出报告在VS中使用VLD时的输出报告,与在QT......
  • TensorFlow 卷积神经网络实用指南:1~5
    原文:Hands-OnConvolutionalNeuralNetworkswithTensorFlow协议:CCBY-NC-SA4.0译者:飞龙本文来自【ApacheCN深度学习译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。不要担心自己的形象,只关心如何实现目标。——《原则》,生活原则2.3.c一、TensorFlow的设置和介绍T......
  • 【Visual Leak Detector】在 VS 2015 中使用 VLD
    说明使用VLD内存泄漏检测工具辅助开发时整理的学习笔记。本篇介绍在VS2015中使用VLD。同系列文章目录可见《内存泄漏检测工具》目录目录说明1.使用前的准备3.在VS2015中使用VLD3.1无内存泄漏时的输出报告3.2有内存泄漏时的输出报告4.无法正常使用的可能原因1.......