首页 > 其他分享 >机器学习——束搜索、贪心搜索、穷举搜索

机器学习——束搜索、贪心搜索、穷举搜索

时间:2023-11-15 17:33:39浏览次数:29  
标签:Search 搜索算法 搜索 穷举 最优 贪心

束搜索(Beam Search)、贪心搜索(Greedy Search)和穷举搜索(Exhaustive Search)是在搜索领域常用的三种搜索算法,它们在不同的场景下有着不同的特点和应用。

  1. 束搜索(Beam Search):

    • 束搜索是一种用于寻找最有可能的输出序列的搜索算法,常用于序列生成任务,比如机器翻译和语音识别。
    • 算法通过在每个时间步保留概率最高的前K个候选,然后基于这些候选继续向前搜索,直到生成完整的序列。这样可以保证不会错过全局最优解,同时控制搜索空间的大小。
    • 束搜索相对于贪心搜索来说,能够更好地处理局部最优解问题,但也需要更大的搜索空间和计算资源。
  2. 贪心搜索(Greedy Search):

    • 贪心搜索是一种简单且高效的搜索算法,它每次选择当前看起来最佳的选项作为当前的解,并希望通过一系列这样的选择最终得到全局最优解。
    • 在序列生成任务中,贪心搜索每次选择概率最高的单词作为输出,然后将其作为输入继续生成下一个单词,直到生成完整的序列。
    • 贪心搜索的优势在于速度快,但由于每次只考虑局部最优解,可能无法获得全局最优解,容易陷入局部最优解而无法跳出。
  3. 穷举搜索(Exhaustive Search):

    • 穷举搜索是一种简单粗暴的搜索方法,它通过遍历所有可能的解空间来寻找最优解。
    • 对于小规模问题,穷举搜索可以保证找到最优解,但对于大规模问题,由于解空间的指数级增长,穷举搜索往往是不可行的。
    • 穷举搜索的优势在于能够找到全局最优解,但缺点是计算量巨大,不适用于大规模问题。

总的来说,束搜索通过保留多个候选路径来平衡全局最优和搜索空间大小;贪心搜索通过每次选择局部最优解来迅速得到结果;穷举搜索通过遍历所有可能的解空间来保证找到最优解。不同的搜索算法可以根据具体任务的需求和搜索空间的大小来选择合适的方法。

标签:Search,搜索算法,搜索,穷举,最优,贪心
From: https://www.cnblogs.com/yccy/p/17834354.html

相关文章

  • TienChin-课程管理-课程搜索
    后端新建CourseVO.java:/***CourseVO类是一个课程的值对象,用于存储课程的相关信息。*它包含了课程的名称、类型、适用对象、最低价格和最高价格等属性。*/publicclassCourseVO{privateStringname;//课程名称privateStringtype;//课程类型privat......
  • 【算法基础】贪心算法 LeetCode 135. 分发糖果
    分发糖果题目介绍n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。测试用......
  • ASP.net MVC3 报错"未找到视图“Index”或其母版视图,或没有视图引擎支持搜索的位置 "
    https://www.cnblogs.com/allenhua/p/3746578.html注意添加MVC3视图不能直接在View文件下新建视图,而是在控制器的Index右击添加视图,就会在View下面产生一个Product文件夹(包含Index.cshtml)就可以解决这个问题。具体如图:  ......
  • 结合大语言模型与亚马逊云科技基础服务,构建知识库智能搜索问答方案
     背景 本篇主要介绍LangChain和开源大语言模型集成,结合亚马逊云科技的云基础服务,构建基于企业知识库的智能搜索问答方案。  LangChain介绍 LangChain是一个利用大语言模型的能力开发各种下游应用的开源框架,它的核心理念是为各种大语言模型应用实现通用的接口,简化大语言模型应......
  • 直播系统代码,常用搜索中搜索历史,搜索推荐功能
    直播系统代码,常用搜索中搜索历史,搜索推荐功能HTML: <template><view><view><view><inputv-model="inpuValue"type="text" @confirm="search" /><imagesrc="https://shanxi-petrochina.oss-cn-hangzhou.aliyuncs.com......
  • 力扣-35-搜索插入位置
    一、题目力扣地址:https://leetcode.cn/problems/search-insert-position/二、解法思路与标准的二分查找一直,唯一的区别为,若所需target不在nums中,需要找到insert的索引fromtypingimportListclassSolution:"""leetcode:35在二分法的基础上延伸,若无法找到......
  • 二叉搜索树的插入 查找 删除
    //1、定义二叉搜索树类,封装查找、插入、删除操作删除最为麻烦,其中对于parent的保存用循环来记录while的条件需多加考虑#include<queue>#include<iostream>usingnamespacestd;classBinaryTreeNode{  private:  intvalue;  BinaryTreeNode*leftChild;......
  • C++U5-05-广度优先搜索2
    广搜逻辑  广搜代码核心思路 广搜伪代码前面讲解的广度优先搜索案例都类似迷宫类的问题,但有些非迷宫类问题也可以使用广搜的思路解决[【广搜2】填涂颜色]【算法分析】可以在外面增加一圈0,然后从(0,0)位置开始广搜所有为0的位置,没有被搜索到且为0的......
  • Elasticsearch【正则搜索】分析&实践
    Elasticsearch【正则搜索】分析&实践RegexpQueryregexp允许使用正则表达式进行term查询.注意regexp如果使用不正确,会给服务器带来很严重的性能压力。比如.*开头的查询,将会匹配所有的倒排索引中的关键字,这几乎相当于全表扫描,会很慢。因此如果可以的话,最好在使用正则前,加上匹配的......
  • NLP技术如何为搜索引擎赋能
    在全球化时代,搜索引擎不仅需要为用户提供准确的信息,还需理解多种语言和方言。本文详细探讨了搜索引擎如何通过NLP技术处理多语言和方言,确保为不同地区和文化的用户提供高质量的搜索结果,同时提供了基于PyTorch的实现示例,帮助您更深入地理解背后的技术细节。关注TechLead,分享AI......