一文读懂ML中的解析解与数值解

作者:Jason Brownlee

翻译:王雨桐

校对:丁楠雅

本文约2300字,建议阅读8分钟。

本文将介绍解析解和数值解的定义,并介绍不同的解在机器学习中的应用。

你是否有如下疑问:

  • 什么数据最适合我的问题?
  • 什么算法最适合我的数据?
  • 如何对我的算法进行调参?

本文将为你解释为什么没有一个机器学习专家能对上述问题给出直接答案。事实上,找到合适的数据、算法、参数是应用机器学习的难题,也是你唯一需要努力解决的部分。

解析解与数值解

在数学运算中,有些问题可以通过解析法和数值法解决。

  • 解析解是用一种易于理解的形式描述问题,并计算精确解。
  • 数值解是先猜测解,随后检验此解是否足以解决问题。

平方根是一个能同时用两种方法解决的案例。

但通常我们更偏爱解析法。因为这种方法更快,并且能得到精确的解。尽管如此,有时由于时间和硬件性能的限制,我们必须采用数值法

找到线性回归方程的系数是一个很好的例子。它既可以通过解析法计算,比如使用线性代数;但当我们不能把所有数据都储存在一台电脑里来进行解析计算时,我们也可以运用数值法解决问题,比如通过梯度下降法。所以,当解析解是未知的时候,我们只能借助数值法。

解析解

一旦问题被界定之后,很多问题都有明确的解。我们可以遵循一系列逻辑步骤来计算最终的精确解。例如当给定一个具体的算术问题时(如加法或减法),你知道如何操作。在线性代数中,有一系列的方法可以用来分解矩阵,这取决于矩阵的特性是方阵、矩形阵、包含实数还是虚数等等。

附链接(机器学习中分解矩阵的简介): https://machinelearningmastery.com/introduction-to-matrix-decompositions-for-machine-learning/

我们可以将其更广泛地拓展到软件工程中,对于那些反复出现的问题,无论具体的应用场景如何,我们可以通过一系列广受好评的设计来解决它们。例如用访问者模式对列表中每一项执行操作。

一些问题在机器学习中已经界定明确并且得到了解析解。例如无论数据集中整数值有多少个,我们都可以用同样的方法很容易地将一个分类变量变为独热编码(one hot encoding)。然而不幸的是,机器学习中我们关心的大部分问题都没有解析解。

附链接(为什么在机器学习中使用独热编码): https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/

数值解

很多我们感兴趣的问题并没有精确解,或者至少没得到解析解。我们必须要猜测可能的解并测试它们,看看解是否合适。这涉及到构建问题并在一系列候选解中进行试错。从本质上来看,寻找数值解的过程可以看作一个搜索的过程。

这些解有一些有趣的特性:

  • 不合适的解与合适的解是很容易区分的。
  • 我们通常不知道合适的解长什么样,只能在已经测试的候选解中进行对比。
  • 我们的目标往往是找到一个近似的或“足够好”的解而不是唯一的最佳解。

最关键的是最后一点,因为通常情况下,我们尝试用数值解来解决的问题都非常有挑战性(因为我们没有简单的方法来解决它)。这种情况下,任何足够好的解都很实用。此外,需要强调的是一个给定的问题会有多种解,其中的许多解都足以解决问题。但机器学习中我们感兴趣的很多问题都需要数值解。比这更糟的是,随着进度的推进,每个子问题的数值解会影响后续子问题的解空间。

机器学习中的数值解

应用机器学习是个数值性质的学科。一个给定的机器学习模型,其核心是个优化问题,本质上是要寻找一系列有未知参数的项来完成等式。从广义上来讲,每个算法都有不同的“等式”和“项”。

等式一般是容易计算的,以便估计给定项的参数。但是对于给定的数据集,我们往往不知道要用什么项多少项才能得到“不错的”甚至是“最佳的”预测。

这就是我们经常要解决的数值优化问题。之所以是个数值问题,是因为我们要用有噪声的、不完整的和易出错的有限观测样本来解决优化问题。模型会尽可能地解释数据并在这些观测的输入和输出之间形成映射。

机器学习中更广泛的经验解

作为机器学习算法的核心,数值优化问题实际上属于一类更广泛的问题。具体的优化问题受很多因素影响,这些因素在很大程度上影响了最终解的“优化程度”,并且都没有解析解。例如:

  • 使用什么数据
  • 使用多少数据
  • 在建模前如何处理数据
  • 使用什么模型或算法
  • 如何给算法调参
  • 如何评估算法效果

客观地讲,以上这些是机器学习中的开放性问题的一部分。它们没有解析解,你必须探索哪些元素的组合能最好地解决你的问题,对各种组合方案进行测试和评估,这个过程相当于一个巨大的搜索问题。在这种情况下,你需要知道其他候选方案的得分,才能知道高分应当是多少。除了试错法,还可以从其他已经得到解的相关问题中借鉴想法,除此以外没有其他客观路径能解决这个问题。

这种凭经验的方法经常被称为“搜索式机器学习”,后文提供的文献中进行了进一步探索。

回答你的疑问

我们回到开头的问题,在一个具体的建模预测问题中,什么样的数据、算法和参数最合适呢。没人能通过看你的数据或问题描述,就告诉你怎样解决它最好,甚至是相对好。经验可以帮助领域内的专家找到着手点,并帮助他们验证早期猜测,但通常情况下早期猜测过于复杂或存在低级错误。

要找的足够好的解,往往需要预测建模。并且作为机器学习从业者,这也是你的职责。这是应用机器学习的艰难工作,也是需要练习的部分。掌握好这个部分可以使你在业内更有竞争力。

拓展阅读

关于本文如果想了解更多,可以参阅以下资源:

  • 基于数据驱动选择机器学习算法

https://machinelearningmastery.com/a-data-driven-approach-to-machine-learning/

  • 将应用机器学习问题归为搜索问题的简介

https://machinelearningmastery.com/applied-machine-learning-as-a-search-problem/

  • 为什么应用机器学习很难?

https://machinelearningmastery.com/applied-machine-learning-is-hard/

  • 解析法和数值法有什么差别?

https://math.stackexchange.com/questions/935405/what-s-the-difference-between-analytical-and-numerical-approaches-to-problems

总结

通过本文的介绍,你应当明白了解析解和数值解之间的区别,以及应用机器学习的经验性质。具体来说如下:

  • 解析解是得到精确解的逻辑过程
  • 数值解是更慢的试错过程并且只能得到估计解。
  • 在对一个具体的预测建模问题选择数据、算法和参数时,应用机器学习的核心思想是寻找一个数值解

原文标题:Analytical vs Numerical Solutions in Machine Learning

原文链接:https://machinelearningmastery.com/analytical-vs-numerical-solutions-in-machine-learning/

译者简介

王雨桐,统计学在读,数据科学硕士预备,跑步不停,弹琴不止。梦想把数据可视化当作艺术,目前日常是摸着下巴看机器学习。

原文发布于微信公众号 - 数据派THU(DatapiTHU)

原文发表时间:2018-04-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

一场深度学习引发的图像压缩革命

雷锋网 AI 研习社按,2012 年,AlexNet 横空出世,以 15.4% 的低失误率夺得当年 ILSVRC(ImageNet 大规模视觉识别挑战赛)冠军,...

19720
来自专栏张俊红

实战—用户价值模型搭建

40650
来自专栏人工智能头条

八大步骤,用机器学习解决90%的NLP问题

18930
来自专栏灯塔大数据

提高机器学习模型准确率的八大可靠方法

介绍 想要提高模型的性能有时会是一件难度不小的事情。如果你也遇到过类似的情况,相信一定会认同我这一看法。在一一尝试毕生所学的对策和算法之后,依然没能够提高模型的...

33780
来自专栏人工智能头条

模仿学习(Imitation Learning)完全介绍

63950
来自专栏量子位

怎样让机器学会推理?伯克利AI研究所一文详解神经模块网络

王小新 编译自 BAIR博客 量子位 出品 | 公众号 QbitAI 最近,加州大学伯克利分校人工智能研究所(BAIR)的博士生Jacob Andreas在博客...

35170
来自专栏量子位

224秒!ImageNet上训练ResNet-50最佳战绩出炉,索尼下血本破纪录

刚刚,索尼在arXiv上发文宣布:他们用224秒在ImageNet上完成了ResNet-50训练,没有明显的准确率损失。

12520
来自专栏灯塔大数据

塔秘 | 详解用深度学习方法处理结构化数据

导读 鉴于使用深度学习方法按照本文所介绍的步骤处理结构化数据有以下的好处:快;无需领域知识;表现优良,本文主要详细讲述如何用深度学习方法处理结构化数据。 在机器...

40980
来自专栏ATYUN订阅号

赫尔辛基大学AI基础教程:机器学习的类型(4.1节)

每张图片上方都会显示正确的标签(本应写入的数字)。请注意,某些“正确的”类标签是存疑的:例如,请参阅左侧的第二个图像:那是7还是4?

11180
来自专栏机器之心

深度 | David Silver全面解读深度强化学习:从基础概念到AlphaGo

机器之心原创 作者:Duke Lee 参与:马亚雄、吴攀、吴沁桐、Arac Wu 强化学习在与之相关的研究者中变得越来越流行,尤其是在 DeepMind 被 G...

29380

扫码关注云+社区

领取腾讯云代金券