如何确定一个问题是否适合应用机器学习?

机器算法验证 机器学习 监督学习
2022-03-22 19:01:15

具体来说,我说的是监督学习。如果出现以下情况,则问题似乎是应用 ML 的良好候选者:

  1. 我们的数据集中有相当高精度的真实标签。数据集是从底层分布中随机采样并统一标记的。
  2. 采样数据的分布保持相对恒定;该模型将应用于从同一分布中采样的数据。换句话说,我们试图学习的功能保持不变。
  3. 我们试图学习的输出实际上是给定输入的函数。
  4. 我们的数据集中独立样本的有效数量足以满足数据集中的噪声水平(噪声源是输入中的噪声、标签中的噪声、协变量偏移)以及我们试图建模的关系的复杂性.
  5. 我们希望模型优化的指标是可量化的。

那会准确吗?是否应该在此列表中添加或更改任何内容?

3个回答

Yaser Abu-Mostafa 教授在他的加州理工学院机器学习课程的第一堂课中简要谈到了这一点。他确定了在考虑将机器学习应用于您的问题之前必须考虑的 3 个基本点:

第一个。存在模式

为了能够使用您的特征来预测任何事物,这些特征与您所预测的事物之间必须存在某种关系。

这方面的一个例子可能是试图通过使用关于他昨天吃什么的数据来预测人的身高。这两者之间可能没有关系,因此机器学习不适用。

第二。该模式不能用数学方法写下来

如果您可以使用数学公式解决输入变量和预测之间的关系,则无需应用机器学习。

这一点的例子可能是使用机器学习来尝试预测轮盘游戏中的赔率。您可以通过使用概率论中的方程式计算所有概率来做到这一点。计算出来的几率是准确的,机器学习只会产生不太可靠的解决方案。

第三。你有数据

机器学习尝试根据示例估计参数。如果没有数据,您将无法开始使用机器学习。

这方面的例子可能是试图通过使用关于政治气候、双方拥有的技术、军事支出等的各种数据来预测谁将赢得一场战争。如果你有很多战争的数据,你也许可以做到这一点。但是由于战争非常罕见,而且没有办法按需生产更多的战争——机器学习将无法工作。


这些是主要的要求——机器学习的本质

简要介绍问题中的示例:

1)我们的数据集中有相当高精度的真实标签。

这似乎是高度主观的和上下文相关的。考虑预测一个人的死亡年龄,当你拥有的数据只有他们医生的“最佳猜测”时。数据会非常嘈杂,但是如果我们在应用机器学习后可以将未知因素减少 5% 左右 - 这可能是值得的:算法将与专业人士的猜测一样好。

2) 采样数据的分布保持相对恒定。

这不是硬性要求。机器学习的一个子领域试图处理此类问题,称为概念漂移

3)我们试图学习的输出实际上是我们给定的输入的函数。

这与教授提到的第一个相同。阿布-穆斯塔法。“模式存在”。

4)我们的数据集中独立样本的有效数量对于数据集中的噪声水平足够高。

这是非常相关的,但同时也是主观的,就像问题中提到的第一点一样。对于某些问题,百分之几的改进可能被认为是足够好的。

5) 我们希望模型优化的指标是可量化的。

不知道我是否理解这一点。从评论看来,它似乎是在讨论不同解决方案的比较,以便选择更好的解决方案。我不能很快想到一个不满足的场景。除非练习者心中并没有明确的目标。

我会考虑更新 #5,因为可量化的指标不一定容易优化。例如,直接优化 0-1 损失是NP-hard所以#5 可以改为:

  1. 我们希望我们的模型优化的指标是可量化的并且是可行的(或具有适当的替代项)。

除此之外,你的清单对我来说看起来很不错。我希望更多的人在将机器学习应用于问题之前坐下来进行对话!

1-5 是理想的,但我不认为是 100% 需要的。有些人会理所当然地对这句话感到畏缩。要记住的最重要的事情是“没有免费的午餐定理”,它提醒我们机器学习在管道的每个阶段都基于理论、假设和/或假设。如果我们假设某些输入特征集独立于我们的目标(因变量),我们只能定义 ML 是否会帮助我们完成任务。我不会把这篇文章写成一篇文章(nvm),所以我会评论每个项目并在你的列表中添加一些。我的回答是作为讨论写的,而不是做和不做的事情。如果您觉得有帮助,请至少点赞。(免责声明:以下所有注释均考虑到有监督的 ML 编写)。

1)我们必须有一些假设的基本事实,但我们不能总是量化标签的准确性。标签可能反映感知和意见(例如数据来自人类输入)或来自大自然的无法解释的随机性。对于公平的实验设置,随机和平衡采样是首选,但不需要使用 ML。一些算法可以处理少数标签(例如,通过添加权重),尽管如果您不合理地平衡(上/下样本)数据,大多数算法会做得很差。一些算法(例如,Breiman 的随机森林和衍生的额外树)被设计为对无法解释的方差具有鲁棒性,而其他算法(逻辑回归和朴素贝叶斯)被设计为概率性的。

2)在更简单的问题中,输入/输出的分布将保持不变。在许多难题中,情况并非如此。图像、音频、文本和时间序列就是很好的例子。股市预测受到近期数据的严重影响,不太可能尊重全球分布。这并不意味着我们不能做出好的预测。例如,亚马逊股票在过去 5 年中的增长速度略快于线性增长,并且可能会在很长一段时间内继续保持这种增长速度。

3) 理想情况下,目标将完全取决于输入。例如,Y = f(x) = 2x+1。实际上,我们正在建模 Y = f(x,z) = 2x+1 + g(z),其中 z 表示独立信号(如果您不确定这意味着什么,请将其视为特征)可以解释我们模型的错误,但不可用,并且可能只存在于理论上(例如,一个人的思维过程在某个时间实例引起了影响目标结果的动作,即弦理论)。说输入必须与输出具有某种相关性可能更正确,我们将假设输出是输入的函数。

4)是的,很好的描述。更简单,我们只需要“足够”的数据来做出合理的预测。多少才够?据我们所知,它实际上可能是五个样本。如果我们创建一条学习曲线,并看到当我们有 N 个样本时性能符合我们的目标,并且在 N+M 个样本时性能并没有好多少,那就足够了。在许多情况下,我们希望获得更多数据,这会显着改善结果,但收集或处理的成本太高。所以在这种情况下,样本数量也反映在成本上,即使这意味着我们的数据科学目标变得极其困难。因此,要求降低了是否可以在某种程度上从输入推断输出,我们将假设有足够的数据,因为我们想要一个快速、廉价的系统,

5)是的,@schem 也是对的。输出必须在某种程度上可以根据我们想要的结果来衡量,否则我们如何优化并知道我们做得如何?顺便说一下,“可测量”不一定意味着数字损失函数。我可以使用序数但不是数字的模糊度量来制作损失函数,例如我的不好玩的损失函数输出“估计是[太冷,冷,恰到好处,热,太热]”或[好,好,坏]。这就是为什么我的意思是“有点可衡量”。

添加的项目:6、7、8、...)理想情况下,构建和使用 ML 解决方案的成本(时间、金钱、计算......)应该比人类或编程显式解决方案的成本要低得多。通过部署 ML 实现的价值应该提高质量、一致性或成本。您应该阅读四个 V(http://www.ibmbigdatahub.com/infographic/extracting-business-value-4-vs-big-data)和荒谬的后续,42 V(https://www.elderresearch .com/blog/42-v-of-big-data),其中也有许多与此讨论相关的优点。

稍后我将对其进行编辑,因为我记得我还想写什么。如果这个问题只适合您,那么我建议您阅读一下 Witten、Frank 和 Hall 的“数据挖掘”一书。它对这个话题进行了很好的讨论。如果您要制作培训材料、进行演示或类似的交流,我建议您为 ML 的新手简化此列表。有创造力的数据科学家将处理他们拥有的东西,发明解决方案(例如,当您的数据太少而无法直接使用 ML 并使用可用的真实数据来验证模拟练习时构建问题的逻辑模拟)并打破规则。我们的假设、我们对实验结果的满意度和 5-8 决定了 ML 是否合适。