为什么传统的机器学习模型仍然在深度神经网络上使用?

人工智能 机器学习 深度学习 喀拉斯 比较
2021-10-19 10:14:48

我仍处于数据科学领域的第一步。我以前玩过一些 DL 框架,比如 TensorFlow(纯)和 Keras(在上面),并且知道一些“经典机器学习”算法,比如决策树、k-最近邻等。

例如,图像分类问题可以通过深度学习来解决,但有些人也使用 SVM。

如果神经网络似乎优于传统的机器学习模型,为什么传统的机器学习模型仍然优于神经网络?Keras 使用起来相当简单,那么为什么人们不直接将深度神经网络与 Keras 一起使用呢?每种方法的优缺点是什么(考虑到相同的问题)?

3个回答

这个问题非常广泛,所以让我尝试用我自己的时间序列分析背景来回答它。

例如,我为什么要继续使用 ARIMA 来预测时间序列?为什么不简单地默认使用 LSTM 模型,因为这是一种考虑时间相关依赖性的循环神经网络?

好吧,LSTM 模型并不擅长对所有时间序列进行建模。它在对易失性数据建模时很有效,但在预测趋势数据时 ARIMA 仍然表现出色——LSTM 在未来预测中倾向于过分强调易失性模式。

让我们以预测潜在客户每周取消酒店的情况为例。第二个时间序列显示每周酒店取消数量的变化比第一个要大得多:

H1 时间序列

h1 时间序列

H2 时间序列

h2 时间序列

基于MDA(平均方向精度)、RMSE(均方根误差)和MFE(平均预测误差)——ARIMA 在第一个时间序列中表现出优异的整体性能,而 LSTM 在第二个时间序列中表现出更好的性能:

表现

基于这个例子——考虑到你的问题的广泛性,这个例子非常具体——并不总是使用深度学习技术,因为更简单的模型在某些情况下可以表现得更好。这一切都是为了理解你正在使用的数据,然后选择模型——而不是相反。

如果神经网络似乎优于传统的机器学习模型,为什么仍然使用传统的机器学习 (ML) 模型而不是神经网络?

当然,实现 state-of-the-art 性能的模型取决于问题、可用数据集等,因此对传统 ML 模型和深度神经网络进行全面比较不适合本网站,因为它需要很多的时间和空间。然而,与传统的机器学习模型相比,深度神经网络存在一定的劣势,如k近邻、线性回归、逻辑回归、朴素贝叶斯、高斯过程、支持向量机、隐马尔可夫模型和决策树。

  • 通常,传统的 ML 模型在概念上更简单(例如,k-NN 或线性回归比深度神经网络(如 LSTM)简单得多)。

  • 就个人而言,我注意到与深度神经网络相比,传统的 ML 模型更容易使用,因为存在像 scikit-learn 这样的库,它们确实有一个简单直观的 API(即使你显然不同意这一点) )。

  • 深度神经网络通常需要比传统 ML 模型更多的数据,以免过度拟合。根据经验,我曾经观察到某些传统 ML 模型在小型训练数据集的情况下可以达到与深度神经网络相当的性能。

  • 尽管已经有一个新的、有前途的研究领域称为贝叶斯深度学习,但大多数深度神经网络并没有真正提供任何不确定性保证,它们只为您提供点估计。这是一个很大的限制,因为在医疗保健等领域,需要采取不确定性措施。在这些情况下,高斯过程可能更合适。

对于标准机器学习任务,SVM 通常被认为客观上优于深度学习。

SVM 或决策树。

当数据中存在某种类型的内核无法轻松表示的结构时,深度学习是有益的。

我真的很感兴趣,为什么决策树没有与深度学习特征提取一起用于计算机视觉。