无论是决策树 ,包括集成树 还是神经网络都是非常强大、有效的学习方法。
下面是各自的优缺点:
决策树和集成树通常在表格数据上表现良好,也称为结构化数据,这意味着如果你的数据集看起来像一个巨大的电子表格,那么决策树是值得考虑的。例如,在房价预测应用中,我们有一个数据集,其包含于房屋大小、卧室数量、楼层数量和房龄相关特征,这种类型的数据存储在电子表格中,带有分类或连续值特征,无论是用于分类任务还是回归任务,当你试图预测一个离散类别或预测一个数值时,所有这些问题都是决策树可以做得很好的。相比之下,不推荐在非结构化数据上使用决策树和集成树,例如:图像、视频、音频和文本,这些数据不太可能以电子表格格式存储。
决策树和集成树的一个巨大优势是它们训练速度非常快,小型决策树可能更容易被人类理解,如果你只训练一个决策树,而且这个决策树只有几十个节点,那么可以打印出决策树,以确切了解它是如何做出决策的。当你构建包含100棵树的集成模型,而每棵树都有数百个节点时,要弄清楚集成模型在做什么变得困难,可能需要某些单独的可视化技术。但如果你有一个小型决策树,实际上可以查看它并通过观察某些特征,以某种方式来分类某物是不是一只猫。如果你决定使用决策树或集成树,在大多数情况下会使用XGBoost。集成树的一个小缺点 是:它比单个决策树稍微昂贵一些,所以如果你的预算非常有限,你也许会使用单个决策树,但除此之外,几乎总是使用集成树,特别是使用XGBoost.
神经网络更适合处理非结构化数据任务 。与决策树和集成树不同,神经网络在所有类型的数据上都表现良好,包括表格或结构化数据,也包括非结构化数据,以及包含结构化和非结构化组建的混合数据。在表格结构化数据上,神经网络和决策树都具有竞争力,而在非结构化数据上,神经网络是首选,而不是决策树或集成树,神经网络的一个缺点 是:神经网络可能比决策树更慢,一个大型的神经网络可能需要很长时间来训练,神经网络的其他优势 包括:它可以与迁移学习结合,因为在许多应用中,如果你的数据集很小,能够适应迁移学习并在一个更大的数据集上进行预训练,这是获得竞争性表现的关键。
最后,有一些技术上的原因,可能更容易使得将多个神经网络串联使用,构建一个更大的机器学习系统,基本原因是:神经网络将输出y计算为输入x的平滑或连续函数,因此即使串联了很多不同的模型,这些不同模型的输出本身也是微小的,所以可以同时使用梯度下降法训练它们。而对于决策树,只能一次训练一棵树。如果要构建一个由多个机器学习模型协同工作的系统,串联和训练多个神经网络可能比多个决策树更容易。