搜索和学习有什么区别?
在人工智能的背景下:
搜索指的是 Simon & Newell 的General Problem Solver,它是许多(许多)后代算法。这些算法采用以下形式:
一个。将世界某个部分的当前状态表示为图中的一个顶点。
湾。通过边连接到当前状态,表示通过单个动作改变世界可以从当前状态到达的世界的所有状态,并以相同的方式表示所有后续状态。
C。通过在此图上四处走动,通过算法找到从当前状态到某个更理想的目标状态的一系列动作。
使用搜索的应用程序的一个示例是 Google 地图。另一个是谷歌航班。
学习是指通过接触经验或他人经验的例子来提炼对世界的信念的任何算法。学习算法没有明确的父级,因为它们是在许多不同的子领域或学科中单独开发的。一个合理的分类法是5 个部落模型。一些学习算法实际上使用自身内部的搜索来找出如何改变他们的信念以响应新的体验!
今天使用的学习算法的一个例子是Q-learning,它是更通用的强化学习算法家族的一部分。Q-learning 的工作原理是这样的:
一个。学习程序(通常称为代理)被赋予了世界当前状态的表示,以及它可以选择执行的动作列表。
湾。如果代理以前没有看到过这种世界状态,它会为执行每个动作所期望获得的奖励分配一个随机数。它将这个数字存储为,它对执行动作质量的猜测状态内.
C。经纪人看着对于它可以执行的每个操作。它以一定的概率选择最佳动作否则随机动作。
d。代理的行为会导致世界发生变化,并可能导致代理从环境中获得奖励。代理记下它是否获得了奖励(以及奖励是多少),以及世界的新状态是什么样的。然后,它会调整其对在过去状态下执行该动作的质量的信念,以便它对该动作质量的信念更接近它获得的奖励的现实,以及它在哪里执行的质量。告终。
e. 代理永远重复步骤 bd。随着时间的推移,它对不同状态/动作对质量的信念将越来越接近现实。
使用学习的应用程序的一个例子是 AI.SEs 推荐,它是由一个程序提出的,该程序可能分析成对的帖子中不同单词组合之间的关系,以及有人点击它们的可能性。每次有人点击它们时,它都会了解将帖子列为相关是否是一个好主意。Facebook 的提要是另一个日常示例。
考虑搜索和学习之间区别的一种方法是,搜索通常需要一个搜索关键字,并且算法会在结构中寻找关键字与现有项目之间的匹配项。而学习首先是结构的创建。但是搜索和学习是相关的,因为在接收到输入(例如来自一个或多个传感器)时,首先搜索结构以查看输入是否已经存在,但如果不存在则当前输入(当满足某些条件时)被添加到结构中,学习遵循搜索失败。