『迷你教程』解决方案分析方法的博弈,解析法Vs数值法

文章目录

是否曾经有这样的疑问:

  • 什么数据最适合我的问题?
  • 什么算法最适合我的数据?
  • 如何最好地配置我的算法?

解析法Vs数值法

在数学中,有些问题可以通过解析和数值求解。

  • 分析解决方案涉及以易于理解的形式构建问题并计算精确解决方案。
  • 数值解决方案意味着对解决方案进行猜测并测试问题是否解决得足够好以停止。

我们通常更喜欢分析方法,因为它更快并且解决方案是精确的。然而,有时由于时间或硬件容量的限制,我们必须求助于数值方法。

一个很好的例子是在线性回归方程中找到可以解析计算的系数(例如使用线性代数),但是当我们无法将所有数据放入单个计算机的内存中以执行解析时,可以通过数值求解计算(例如通过梯度下降)。

有时,解析解是未知的,我们只需要使用数值方法即可。

分析法方案

许多问题都有明确定义的解决方案,一旦问题被定义,这些解决方案就显而易见了。

我们可以遵循一组逻辑步骤来计算确切的结果。

『迷你教程』解决方案分析方法的博弈,解析法Vs数值法

例如,知道在给定特定算术任务(例如加法或减法)时使用什么运算。

在线性代数中,有一套方法可用于对矩阵进行因式分解,具体取决于矩阵的属性是正方形、矩形、包含实数值还是虚数值等等。

我们可以将其更广泛地扩展到软件工程,在软件工程中,无论的应用程序的具体情况如何,都可以通过已知有效的设计模式来解决反复出现的问题。例如访问者模式,用于对列表中的每个项目执行操作。

应用机器学习中的一些问题是明确定义的,并且有解析解。

例如,将分类变量转换为单热编码的方法简单、可重复并且(实际上)始终是相同的方法,而不管集合中的整数值有多少。

不幸的是,我们在机器学习中关心的大多数问题都没有分析解决方案。

数值法方案

有许多我们感兴趣的问题没有确切的解决方案。或者至少我们已经找到了分析解决方案。

『迷你教程』解决方案分析方法的博弈,解析法Vs数值法

我们必须对解决方案进行猜测并测试它们以查看解决方案的好坏。这涉及构建问题并在一组候选解决方案中使用试错法。

本质上,寻找数值解的过程可以描述为搜索。这些类型的解决方案有一些有趣的特性:

  • 我们通常很容易分辨出好的解决方案和坏的解决方案。
  • 我们通常不客观地知道什么是“好的”解决方案;我们只能比较我们测试过的候选解决方案之间的优劣。
  • 我们通常对近似或“足够好”的解决方案而不是单一的最佳解决方案感到满意。

最后一点很关键,因为我们试图用数值解来解决的问题通常具有挑战性(因为我们没有简单的方法来解决它们),其中任何“足够好”的解决方案都是有用的。它还强调了给定问题有许多解决方案,甚至其中许多可能已经足够好以供使用。

我们在应用机器学习中感兴趣的大多数问题都需要数值解。沿途每个子问题的数值解会影响后续子问题的可能解的空间。

机器学习中的数值解

应用机器学习是一门数值学科。

给定机器学习模型的核心是一个优化问题,它实际上是搜索一组具有未知值的项来填充方程。每个算法都有不同的“方程”和“术语”,松散地使用这个术语。

该方程很容易计算,以便对给定的一组术语进行预测,但我们不知道要使用哪些术语才能对给定的一组术语进行“好的”甚至“最佳”的预测。数据。

这是我们一直寻求解决的数值优化问题。

它是数值型的,因为我们正在尝试使用来自我们领域的噪声、不完整和容易出错的有限观测样本来解决优化问题。该模型正在努力解释数据并在这些观察的输入和输出之间创建映射。

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

所选机器学习算法的核心数值优化问题嵌套在更广泛的问题中。
『迷你教程』解决方案分析方法的博弈,解析法Vs数值法

具体的优化问题受很多因素的影响,所有这些因素对最终解的“优度”都有很大的贡献,而且都没有解析解。

例如:

  • 使用什么数据。
  • 要使用多少数据。
  • 如何在建模之前处理数据。
  • 使用什么建模算法或算法。
  • 如何配置算法。
  • 如何评估机器学习算法。

客观地说,这些都是的特定预测建模机器学习问题所代表的开放问题的一部分。

没有解析解;必须发现这些元素的哪种组合最适合的特定问题。这是一个很大的搜索问题,其中元素的组合被试验和评估。相对于尝试过的其他候选解决方案的分数,只真正知道什么是好分数。

在这个迷宫中没有客观的路径,除了反复试验,也许借鉴其他相关问题的想法,这些问题确实知道“足够好”的解决方案。

上一篇:C#·对于BOM头之完全解决方案


下一篇:碟刹vs鼓刹