机器学习的实际局限性

数据挖掘 机器学习 机器学习模型
2021-10-11 18:24:14

在处理一些应用机器学习问题时,我已经开始遇到一些实际困难。这些困难与 - 但不限于 - 学习过程的收敛、重新校准的稳定性、可解释性、可解释性重新校准的稳定性有关。这些问题有点难以处理,主要是因为:

  • 它们在介绍性理论书籍中并没有真正涉及。(但是,有一些高级资源可以单独处理它们。)

  • 与更标准的方法相比,它们主要针对高级 ML 模型。

  • 只有在通过一些非常具体的测试偶然发现它们时,你才会意识到它们。

我会对与机器学习相关的主要实际问题的一些严肃资料感兴趣(不一定是如何处理它们)。如果我必须对任何未来的 ML 解决方案提出一些担忧,这既可以作为要避免的陷阱清单,也可以作为权威论据。你能帮我提供任何资源吗?

2个回答

甚至如何开始描述这些实际限制?

与机器学习相关的主要实际(和理论)问题的最权威来源是描述它的正式框架。数学。

在这里我们有一个问题,即使你仔细查看所有这些 ML 算法并得出其数学结论,我们也不会解释 ML 问题的整个过程。我找不到引文,但 Bengio 或其他人说计算机科学是硬科学,因为你有一切的数学基础,而 ML 更像是一门软科学,你通过尝试学习,但只有在你尝试之后。(当然并非总是如此,这就是为什么现在每个人都在研究 ML 以赋予它一些结构)

以一个简单的神经网络为例。你知道它的矩阵乘法,反向传播bla bla。伟大的。但是某些架构的拓扑属性是什么,收敛标准是什么,它可以逼近什么功能。其中一些问题是已知的和/或正在研究中。让我们看一下这个例子:我们可以保证(在形式上)神经网络可以近似的函数以及在什么条件下?

好吧,我们可以将任务表达为优化任务。并且为了收敛到最优解,在一定的约束条件下,我们需要满足一定的假设。

关于 DNN(深度神经网络)及其背后的数学理论,著名的通用逼近定理给出了收敛保证,该定理指出,在给定足够参数的情况下,可以估计每个平滑函数。

警告只是因为我们在理论上可以做到这一点并不意味着它是可能的。例如,逼近一个生成随机数的函数将需要无限的资源




但是非平滑函数(例如时间序列)呢?

DNNS FOR NON-SMOOTH FUNCTIONSTL;DR对于一组特殊的分段平滑函数,“DNN 泛化的收敛率几乎是估计非平滑函数的最佳值”

什么是分段平滑函数函数,其域可以局部划分为有限多个相对的“片段”,在这些片段上保持平滑,并且在片段的连接处保持连续性。

在此处输入图像描述

好的,但是为什么DNN 可以近似这些类型的函数呢?

” 最值得注意的事实是,由于激活函数和多层结构,DNN 可以用少量参数逼近非平滑函数。两个 ReLU 函数的组合可以逼近阶跃函数,而阶跃函数的组合在网络其他部分的组合可以很容易地表达受限于片段的平滑函数。相比之下,其他方法即使具有通用逼近特性,但它们需要更多的参数来逼近非平滑结构"

结论有一种数学理论可以确保使用 DNN 逼近一组特定的非平滑函数。因此,如果我们有满足这些约束的非光滑函数,我们可以找到最优架构并获得最优收敛率。

结束你的问题有不断发展的最佳实践,您可以获得一个不相关的清单(以计算机视觉问题为例,2年前的清单与今天不同)。但是什么是不变的并且仍然是最好的权威是在数学等固定下的形式。它可以直接告诉你什么时候尝试逼近一个函数都是徒劳的“最佳实践”。

我想我找到了我当时的想法。Andriy Burkov的《机器学习工程》一书(总体来说非常好)列出了一系列无法​​用 ML 解决的问题,或者换句话说,是 ML 的一些实际限制。这本书是按照“先读后买”的原则访问的(见这里)我复制粘贴有趣的部分:

第 1.5 章何时不使用机器学习。

有很多问题是机器学习无法解决的;很难描述所有这些。这里我们只考虑几个提示。您可能不应该在以下情况下使用机器学习:

  • 系统的每一个动作或它做出的决定都必须是可解释的,
  • 在类似情况下,系统行为与其过去行为相比的每一次变化都必须是可解释的,
  • 系统出错的成本太高,
  • 你想尽快进入市场,
  • 获得正确的数据太难或不可能,
  • 您可以以较低的成本使用传统的软件开发解决问题,
  • 一个简单的启发式方法可以很好地工作,
  • 这种现象有太多结果,而您无法获得足够数量的示例来表示它们(例如在视频游戏或文字处理软件中),
  • 你构建了一个不需要随着时间的推移而频繁改进的系统,
  • 您可以通过为任何输入提供预期输出来手动填充详尽的查找表(也就是说,可能的输入值的数量不会太大,或者获取输出既快速又便宜)。