算法这个词最近变得非常流行。它已经从仅使用数学家的东西转变为大多数营销团队用来推动人工智能解决方案的东西。
在我的项目中,我意识到一些创业公司只是使用算法这个词而没有真正解释他们使用算法的事实如何使项目成为“AI”。我希望这篇文章能帮助您理解“AI”算法与其他算法之间的区别。
什么是算法?
好吧,让我们从一个简单的定义开始吧。
算法:在计算或其他解决问题的操作中要遵循的过程或规则集,尤其是计算机。
基本上,算法的目标是解决特定问题,通常由某人将其定义为一系列步骤。
例如,制作蛋糕的食谱 – 这是一种算法。
换句话说,算法是帮助我们向计算机发出指令的快捷方式。算法只是通过“and”,“or”或“not”语句告诉计算机下一步该做什么。显然,就像大多数与数学相关的事情一样,它开始时非常简单,但在扩展时变得无限复杂。重要的是要指出并非所有算法都与AI或机器学习有关。
算法为您能想到的几乎任何AI系统提供指导。
听起来不错,但实际上传统算法存在问题。实际上,您必须告诉您创建一个一步一步的过程来实现您的目标。一些计算机算法不是仅遵循明确的程序指令,而是设计为允许计算机自己学习。
机器学习
它是什么?
机器学习:一组算法,使软件能够更新并“学习”以前的结果,而无需程序员干预。它由结构化数据提供,以完成任务而无需编程如何操作。
机器学习由一系列算法组成。基本上,AI(机器学习是AI的一个子集)旨在以与孩子相同的方式学习。由于数据集,AI可以根据这些发现找到模式并构建假设。
这称为基于模型的学习,它允许AI做出比人类更好的决策,因为它可以考虑更多因素并在几毫秒内分析它们。
算法就像遵循食谱一样。您按照一系列说明进行操作:准备配料,将烤箱加热至200c,然后烘烤10分钟。输出/结果将是一个伟大的蛋糕。
现在,让我们想象你的烤箱太热了。通过机器学习,系统从过去了解到烤箱变得太热,因此将其关闭。
机器学习可以与经验丰富的厨师进行比较(如果您有一个好的数据集)。它知道食谱,并从以前的经验中学到了很多东西。例如,该系统已经发现这种成分与这种蛋糕配合良好(基于数据),并且可以提出建议/预测。通过使用ML,您可以获得超出其各部分总和的东西。
正如我们所看到的,算法是一种数学技术。它由统计学家和数学家推导出来,用于特定任务,例如预测。
机器学习中的算法并不新鲜。在最基本的层面上,机器学习程序是代码。因此,它们是用Python或Java或某种编程语言编写的代码。但是,只有当它们以代码的形式实现时,算法的实用性才会增加,因为计算机可以处理高计算。
AI存在许多算法,但我认为它们通常有3个类:
你当然有这3个类的子类,你甚至可以找到试图包含两者的力量的混合方法。
AI和“聪明”算法之间的区别
AI和聪明的算法之间的区别在于它是如何编程的。
作为用户,我们倾向于只关注收集输入的时刻并将其输入到系统中,其中输出作为系统的结果产生。
然而,中间发生的事情最重要的是:让我们把它称为隐藏的步骤。
隐藏的步骤通常是不为人知的,因此难以区分AI和算法。
一些元素可以帮助我们使用AI和聪明的算法对系统进行分类
- 基本算法
如果定义的输入导致定义的输出,则系统的行程可以归类为算法。该程序模仿公式决策背后的基本计算能力。
- 复杂算法
如果一组复杂的规则,计算或问题解决操作可以导致定义的输出,那么该系统的旅程可以被归类为复杂的算法。
- 机器学习(AI)
在AI系统中,输出不是确定的,而是基于数据的复杂映射来指定,然后与每个输出相乘。
机器学习做出假设,重新评估模型并重新评估数据,所有这些都无需人工干预。这是一个改变游戏规则的游戏。基本上,人类工程师不需要为每个可能的动作/反应编码。ML系统将以人类无法达到的速度和能力找出所有可能的模式。
传统算法。
它需要一些输入和一些代码形式的逻辑,并为您提供输出。
传统算法基于算法中描述的步骤产生输出。给出算法输入,它根据您自己硬编码的规则和参数生成输出。
机器学习算法。
它需要输入和输出,并为您提供一些逻辑,然后可以使用它来处理新输入以提供输出。产生的逻辑就是这个ML的原因。
ML算法基于通过提供给它的输入进行学习来预测输出。通过输入进行的学习称为训练过程。
给出要学习的算法数据,并调整参数来解释数据。然后,您可以使用这些参数集来解释/预测新数据。
但并非所有ML算法都基于神经网络,解决许多业务用例的算法可以通过回归或基于树的算法来解决。
一切都与复杂性有关……
这些算法通常需要较少的计算和较少的数据,以便在许多问题上表现得相当好,这些问题对于某些业务问题是完美的。当你看到用于定义这些算法的术语AI时,我相信它没有意义。
大多数AI以某种方式修改其算法。换句话说,相同的输入不需要在以后产生相同的输出/响应。例如,神经网络基于先前猜测/对输入的响应的正确性来修改其路径中的某些接合点的“权重”。
神经网络:一系列算法,通过模仿人类大脑运作方式的过程,努力识别一组数据中的潜在关系。当链接在一起时,算法(如代码行)变得更加健壮。它们被组合起来构建像神经网络这样的AI系统。
机器学习算法的行为取决于它在训练过程中学到的内容,然后是它与现实生活中的相似之处 – 在生产中。这与大多数常见算法非常不同,它要求公司能够以机器学习算法独有的方式评估模型性能。
ML与经典算法
我已经看到客户对机器学习和经典算法项目应用类似的升级,在那里你有一些实验开发(PoC),然后是全面生产。
然而,其他一切都完全不同。我举几个例子。
- ML解决方案是真正的AI,如果它没有被编程为执行任务,而是被编程为学习执行任务
- 传统的学习方法,例如基于历史训练数据训练模型以及根据输入数据评估结果模型是不可行的,因为环境总是在变化
- 传统方法具有更严格的数学方法,而机器学习算法则更加数据密集
在大多数情况下,其中一个根本区别在于机器学习可以有一系列结果,这些结果都是有效的,但不一定能提前确定。
根据我的经验,机器学习还需要大量时间才能完美地工作。例如,在生产中运行的ML项目可能根本不显示任何错误,从任何类型的度量标准(如CPU利用率)中获得完全良好的行为,但仍然会产生错误的预测。
总之,传统的算法以代码的形式获取一些输入和一些逻辑并鼓励输出。与此相反,机器学习算法采用输入和输出,并给出一些逻辑,然后可以使用这些逻辑来处理新输入以给出一个输出。生成的逻辑是使它成为ML的原因。
ML算法可以从数据中学习,而经典算法指定确切的规则来找到整体答案。
本文转载于medium,原文地址
Comments