GenAI大模型应用方法选择深度解析: 模型训练,微调,检索增强RAG和提示工程

news2024/11/13 7:55:06

重点摘要

每种生成式人工智能学习方法都有其独特的优势和理想应用场景:

  • 模型训练(Model Training):需要大量的数据和计算资源来从头构建一个人工智能模型。它具有高度的可定制性和可扩展性,但耗时较长。

  • 微调(Fine-Tuning):专注于将现有模型适应特定任务,提供了定制性和效率之间的平衡。

  • 检索增强生成(Retrieval-Augmented Generation -RAG):通过整合外部知识库来增强模型,非常适合需要当前或广泛信息的任务。

  • 提示工程(Prompt Engineering):依赖于设计有效的提示来引导预训练模型,需要在提示设计方面的技能,但计算资源需求较低。这种方法不仅具有成本效益,而且非常有效,然而其潜力经常被低估。

每种方法在不同应用中都有其优势和限制,取决于数据可及性、计算资源、特定的任务、对最新信息的需求以及所需技能等因素。

介绍

在生成AI领域中,选择适当的AI模型优化方法至关重要。本文深入探讨了四种关键技术:模型训练、微调、检索增强生成(RAG)和提示工程。我们将对这些方法进行比较,以使您全面了解何时以及如何使用每种方法来获得最佳的AI性能。

模型训练(Model Training):AI的基础

了解模型训练

模型训练类似于AI系统开发的基础阶段(例如重新开发一个ChatGPT)。它涉及从零开始构建AI模型的过程,类似于将种子培育成长成一棵大树。这个过程非常重要,因为它奠定了AI的基本能力和智能。

工作原理

  • 数据收集:第一步是收集大量且多样化的数据集。这些数据的质量和种类决定了训练模型的有效性。这就像让年轻人有各种各样的经历,塑造他对世界的理解。

  • 算法选择:选择正确的算法或算法集合至关重要。这是您决定学习方法的地方,可以是监督学习、无监督学习或强化学习。

  • 训练过程:在训练过程中,模型学会根据输入数据识别模式、做出决策和预测。这是一个计算过程,模型会逐步提高其准确性和效率。

何时使用模型训练

  • 新领域:当涉足现有模型不适用或不足的领域时。例如,开发一种尚未被探索的新型医学诊断AI

  • 独特数据集:在数据对特定需求具有独特性的情况下,例如公司使用客户数据来预测购买模式。

  • 创新和研究:非常适合研究和开发,用于测试新理论或模型。

优点

  • 定制化:专为当前任务量身定制,提供高度定制化的功能。

  • 控制:完全掌控学习过程,从数据选择到模型架构。

  • 突破的潜力:提供可能创建具有划时代意义的模型,从而重新定义特定领域的人工智能能力。

挑战

  • 资源密集:需要大量计算资源和时间。

  • 成本很高: 因为需要算力资源和数据资源以及大量的训练工作,成本在四个方法里面是最高的

  • 数据依赖:数据的质量和数量直接影响模型的有效性。

  • 失败风险:在未知领域中,失败或次优性能的风险更高。

真实世界的例子

假设你正在开发一个用于预测特定地理位置的天气模式的人工智能模型。气候数据的独特性以及该特定目的缺乏现有模型将需要从头开始训练一个新模型。

另一个值得注意的例子是开发类似于 OpenAI 的 GPT-3 的大型语言模型。最初,这些模型经历了广泛的训练过程,涉及来自互联网的大量文本数据,以理解和生成类似人类的文本。这种基础训练使得 GPT-3 能够执行多种语言任务,并在人工智能能力方面树立了新的基准。

总结起来,模型训练是人工智能发展的基石,提供了无与伦比的定制化和创新潜力。然而,它需要大量资源,成本很高,并带有固有的风险,因此更适用于需要定制解决方案或在人工智能应用领域开辟新天地的情况。

微调(Fine Tuning):专业化的艺术

深入了解微调

在人工智能中,微调类似于磨练技艺娴熟的艺术家,使其在特定类型中表现出色。它涉及对经过预训练的模型进行调整,即对已经从大规模数据集中学到一般模式的模型进行专门任务或数据集方面的进一步提高。这一过程对于将通用人工智能模型适应特殊需求至关重要。例如基于医学文献训练微调成一套更适合回答健康护理相关的问题。

工作原理

  • 从预训练模型开始:该过程以一个已经在广泛数据集上训练过的模型为起点。这个模型具有一般知识,但可能对于特定任务未经过优化。

  • 专门训练数据:然后模型被进一步训练,即微调,使用与当前任务相关的更小、更具体的数据集。就像给一位有经验的画家提供一组新的颜色和一个主题一样。

  • 调整和优化:在微调过程中,略微调整模型的参数,以便更好地理解和执行特定的任务。相比初始训练,这个过程不需要太多的计算能力或数据。

    图片

何时使用微调

  • 特定任务应用:适用于需要模型的一般理解与特定需求相匹配的任务,例如使语言模型适应医学术语。

  • 有限资源:适用于无法负担完整模型训练所需的大量资源的情况。

  • 提升模型性能:当您需要提高预训练模型在特定领域准确性时。

优势

  • 效率成本:与从头开始训练模型相比,资源利用较少,成本较低。

  • 快速结果:由于已具备基本理解能力,它在较短时间内实现更好的性能。

  • 针对性能:提高模型在特定领域的能力,使其对特定任务更具相关性和准确性。

挑战

  • 依赖基础模型:精调的有效性严重依赖于预训练模型的质量和相关性。

  • 过拟合风险:对非常特定或小型数据集进行精调可能导致模型过拟合,在训练数据上表现良好但在新的、未见过的数据上表现不佳。

  • 范围有限:改进的范围仅限于基础模型的能力,不适用于完全重构模型的基本能力。

现实世界的例子

考虑一个设计用于英语情感分析的 AI 模型。如果你希望将其适应西班牙语情感分析,使用西班牙语数据集对现有模型进行精调比训练一个新模型更高效。

再举一个例子,考虑将 OpenAI 的 GPT 模型优化为烹饪聊天机器人。初始时模型经过广泛的通用文本训练,它具备各个领域的广泛知识。然而,为了在烹饪对话中表现出色,它会通过使用包含烹饪指导、食谱和与食物相关的查询的丰富数据集进行精调。这种有针对性的训练显著提升了模型在烹饪术语、烹饪方法和饮食偏好方面的熟练度。结果,经过精调的聊天机器人能够更准确、更有上下文适应性地回应食谱问题或烹饪建议,实际上成为一个在厨房中能够深入进行烹饪对话的专业助手。

总而言之,在 GenAI 中,微调是将通用模型转变为专业模型的艺术。它在效率和性能增强之间取得平衡,非常适合有针对性改进的场景。这种方法最适用于基础扎实但需要特定专业知识的情况。

检索增强生成 (RAG):拓宽视野

探索RAG

检索增强生成 (RAG) 是生成式人工智能领域的重大进展,它通过整合外部知识源来增强传统的大型语言模型 (LLM)。这种方法拓宽了人工智能的视野,使其能够访问和利用除初始训练数据之外的大量信息。可以将 RAG 想象为一位学者,除了拥有自己的知识外,还可以即时访问到一座全面的图书馆。

RAG的工作原理

  • 与外部数据库的集成:RAG 模型将预训练语言模型的能力与实时检索外部数据的功能相结合。这个过程类似于访问一个动态、不断更新的数据库。

  • 查询和获取相关信息:当面临查询任务时,RAG 系统会搜索其外部信息源以找到相关信息。这个步骤对于提供准确和即时的回答至关重要。

  • 将检索到的数据与模型知识结合:然后,该模型将检索到的信息与其预先存在的知识库综合起来,生成全面且充分知情的回答。

图片

何时使用 RAG

  • 复杂问题回答:适用于需要涉及当前事件、特定知识或训练数据中未包含的详细信息的应用场景。

  • 动态信息需求:在信息持续更新的场景下至关重要,例如新闻聚合、金融分析或医学研究。

  • 增强现有模型:为了拓宽预训练模型的能力,特别是在提供具有上下文丰富和相关性的回答方面。

  • 减少产生幻觉:在关键场景下,最大限度地减少人工智能生成不准确或虚构信息的情况,即所谓的幻觉。通过从可靠的外部数据库获取信息,RAG 模型可以提供更准确且可验证的回答。

优势

  • 获取广泛信息:使得AI模型能够以详细和相关的水平回答查询问题,这只凭借预训练知识是不可能的。

  • 实时响应:持续更新其知识库,确保AI提供当前和准确的信息。

  • 应用的多样性:可以应用于需要在信息处理中融合深度和广度的各个领域。

挑战

  • 对外部来源的依赖性:RAG模型的有效性严重依赖外部数据库的质量和可用性。

  • 复杂的系统集成:将检索系统与AI模型集成在一起可能会带来技术挑战和资源投入的问题。

  • 平衡相关性和准确性:确保检索到的信息既相关又准确可能是困难的,尤其是在知识领域不断发展的情况下。

实际例子

如果您正在为医学诊断助手创建AI模型,需要访问最新的医学研究和患者数据,RAG将允许系统从医学数据库和期刊中检索和整合最新信息。

作为另一个例子,RAG技术正在通过基于AI的研究助手革新学术研究。这些助手提供对庞大的知识库的快速访问,包括学术论文和期刊。当学术研究人员查询AI时,它使用RAG从这些数据库中提取最相关和最新的信息。这在医学或技术等快速发展的领域中尤为有价值,因为保持更新至关重要。此外,这些AI工具不仅能够检索数据,还能够综合和总结复杂信息,突出关键发现并提供新的研究方向建议。在进行文献综述时,这一功能尤为有益,因为AI能够迅速整理和提炼相关研究,显著节省研究人员的时间和精力。

总之,检索增强生成代表了AI的重要发展,显著扩展了语言模型的能力。通过利用外部数据库,RAG模型提供了详细、及时和具有上下文的丰富回复,使其在知识广博且不断发展的领域中价值非凡。然而,它们的有效性取决于外部来源的质量和复杂系统的集成,这带来了独特的挑战。

提示工程(Prompt Engineering):释放潜力的关键

提示工程通常是生成型人工智能领域中被低估的一环,它是一种微妙但强大的技术,可以从预训练模型中提取出卓越的能力。其威力不在于改变人工智能内部机制,而是通过巧妙地引导输出,以精心设计的提示。

提示工程就像指挥家指导管弦乐团一样;输出的质量在很大程度上取决于指挥的技巧。在这个背景下,人工智能是管弦乐团,而提示则是指挥的指示。一个精心设计的提示可以引导人工智能生成一些乍看起来似乎不可能的输出。

图片

提示工程又分为三种主要类型

  • Zero-shot: 零样本提示;

  • Few-shot: 少样本提示;

  • CoT 思维链: 将思考和推理的过程也教给模型,帮助模型提高其推理能力;

Zero-shot 零样本提示

在Zero-shot提示中,我们在用户的查询前面添加一条特定的指令,而不提供模型任何直接的示例。想象一下,您正在开发一个使用大型语言模型的技术支持聊天机器人。为了确保模型专注于提供技术解决方案而无需先前的示例,您可以在所有用户输入前添加一个特定的指令:

提示

基于以下用户关注,提供技术支持解决方案。

用户关注:我的电脑无法开机。

解决方案:

通过在用户查询前面添加一条指令(“我的电脑无法开机”),我们给模型提供了期望回答的上下文。即使没有明确的技术解决方案示例,这是一种使其输出适用于技术支持的方法。

Few-Shot 少样本提示

在少样本提示中,我们在用户的查询之前添加了一些示例。这些示例本质上是一对样本输入和期望模型输出。

想象一下创建一个健康应用程序,使用语言模型将菜肴分类为“低脂肪”或“高脂肪”。为了定向模型,我们在用户查询之前添加了一些例子:

根据脂肪含量对以下菜肴进行分类:烤鸡、柠檬、香草。

回答:低脂肪

根据脂肪含量对以下菜肴进行分类:含有重奶油和黄油的奶酪通粉。

回答:高脂肪

根据脂肪含量对以下菜肴进行分类:鳄梨土司配橄榄油

回答:

在提示中受到的示例的启发下,一个足够大且经过良好训练的语言模型将可靠地回答:“高脂肪”。

少样本提示是使模型采用特定的响应格式的好方法。回到我们的技术支持应用程序示例,如果我们希望模型的响应符合特定的结构或长度限制,我们可以通过少样本提示来实现。

链式思维提示

链式思维提示通过引导模型经过中间步骤,实现了详细的问题解决。搭配少样本提示可以提高在需要在生成答案之前进行深思熟虑分析的任务上的性能。

例如:

Subtracting the smallest number from the largest inthis group results in an even number: 5, 8, 9.

A: Subtracting 5 from 9 gives 4. The answer is True.

Subtracting the smallest number from the largest inthis group results in an even number: 10, 15, 20.

A: Subtracting 10 from 20 gives 10. The answer is True.

Subtracting the smallest number from the largest inthis group results in an even number: 7, 12, 15.

A:

实际上,可以将思维链激励与Zero-shot激励相结合,以增强需要逐步分析的任务的性能。回到我们的技术支持应用程序示例,如果我们想改善模型的性能,我们可以要求它逐步分解解决方案。

根据以下用户问题,逐步分解技术支持解决方案。

用户问题:我的电脑无法开机。

解决方案:

图片

一般提示和思维链提示区别

对于各种应用程序来说,对一个非常庞大的LLM进行基本提示工程可以提供足够准确的结果。它提供了一种经济适应的方法,因为它速度快,不需要大量的计算能力。缺点是对于需要附加背景知识的用例来说,它并不够准确或稳健。

为什么提示工程的潜力极度被低估

看不到的复杂性:低估提示工程往往源于其表面上的简单性。表面上看,它似乎就像在搜索引擎中输入一个查询一样简单,这被认为是一项不需要太多技巧或思考的任务。然而,这种观念掩盖了精心设计提示所需的精妙艺术和深入理解。技巧不在于输入的行为,而在于所使用的语言的微妙之处、设计高效提示所需的创造力、对人工智能处理方式的理解以及预测不同提示如何塑造输出的能力。这种复杂性隐藏在看似简单的撰写提示行为背后,导致许多人低估了该领域所需的专业知识。

缺乏工程严谨性:低估的另一个关键原因是对待提示工程的历史方法。与传统的工程学科不同,其特征是结构化的方法和严格的培训,提示工程往往被视为一门更多依靠直觉、较少涉及技术的艺术。缺乏正式的结构和将其视为一门直觉和技术性较低学科的观念,导致提示工程被低估。在许多情况下,创建提示更多地是试错的过程,而不是应用系统、有原则的方法。因为在提示工程中缺乏公认的标准和方法论,人们对其复杂性和深度的认识通常不及其他工程领域。

基本提示和专家提示工程之间的区别类似于正式对话和有说服力的演讲之间的区别。虽然大多数人都可以进行基本对话,但要撰写能够感动和影响观众的演讲,就需要对语言、心理学和修辞学有更深入的了解。

填补提示工程的空白

有效的提示工程既是一门艺术又是一门科学。它需要理解人工智能模型的能力和限制、语言的微妙之处,以及预测模型如何解释和回应不同提示的能力。这种技能不是天生具备的;它需要实践、实验和对人工智能行为的敏锐理解。

为了弥补这一差距并提升提示工程的实践水平,像开创性的书籍《提示设计模式》这样的资源是非常宝贵的。这本书为提示工程提供了结构化和系统化的方法,就像软件工程中的设计模式为构建高质量软件提供框架一样。

提示工程的使用时机:优先考虑效率和精通

首选方案

在AI优化技术工具包中,应将提示工程视为首选方案。在深入研究诸如模型训练或微调等资源密集型方法,或更复杂的RAG之前,建议先探索提示工程的潜力。在许多情况下,巧妙而策略性地设计提示语可以有效解决需求,而无需对其他方法进行额外投资。

精通提示工程的力量

提示工程的有效性取决于精通其细微差别,即理解语言的艺术和AI行为的科学。通过掌握这项技能,您可以利用预训练模型的广泛能力,精确地引导其朝着预期的结果发展。通过提炼这种技能,您通常可以仅通过提示工程就达到您的目标,而无需使用更昂贵和耗时的方法。

经济性

提示工程在AI优化策略中是最经济的选择。它避免了对大量数据集、额外计算资源以及训练或微调模型所需的时间的需求。在预算和资源受限的情况下,提示工程不仅提供了一种可行的解决方案,而且通常是最高效的解决方案。

适合提示工程的场景

  • 创造性和动态输出生成:无论是生成独特内容、创作文学作品还是生成动态响应,提示工程都允许高度创造性和特定性。

  • 快速解决方案测试:当时间紧迫时,您需要测试各种方法或获得即时结果时,提示工程提供了快速迭代和寻找解决方案的方式。

  • 资源有限的环境:在无法获得额外的训练或微调资源的情况下,提示工程不仅成为首选方案,而且可能是唯一可行的方案。

强调最便宜且往往最有效的路径

值得强调的是,尽管提示工程是最经济的方法,但它通常也是最有效的方法。通过精心设计的提示语来发挥复杂AI模型的全部能力,可能会产生出乎意料的强大结果。然而,这种方法需要理解,设计有效提示语是一项需要创造性和分析思维的技能。

提示工程应成为任何AI优化努力的起点。它在成本效益和效能方面提供了独特的结合,特别是在掌握了该技术后。对于许多AI应用而言,解决方案不在于构建或重新训练模型,而在于通过提示工程的艺术和科学巧妙地利用现有模型。

优点

  • 效率:不需要额外的培训或计算资源,使其高效运作。

  • 灵活性:可以适应各种任务而无需改变基础模型。

  • 创造力:允许对模型的输出进行高度创造性的控制。

挑战

  • 依赖技能:提示工程的有效性在很大程度上取决于用户构建有效提示的能力。

  • 试错:通常涉及实验过程,可能耗时。利用“Prompt Design Patterns”可以解决这个问题,并节省大量时间。

真实世界的例子

Google推出了其最先进的通用模型Gemini,在32个重要学术基准中有30个超越了OpenAI的GPT-4。值得注意的是,Gemini Ultra成为第一个在MMLU(大规模多任务语言理解)中以90%的分数超越人类专家的模型,测试了数学、物理和伦理等领域的知识和问题解决能力。然而,微软研究的最新发现展示了GPT-4未被开发的潜力。通过运用他们从Medprompt策略衍生出来的新的提示技术,该策略最初是为了提高GPT-4在医学查询中的性能,他们显著改进了GPT-4在普通领域中的结果。这个改进版本的Medprompt使得GPT-4在MMLU测试套件中甚至超过了Gemini Ultra。这一突破强调了提示工程在最大化AI模型性能方面的巨大而常常被低估的作用,而无需进一步开发或训练模型。

在另一个案例中,Anthropic的Claude 2.1是一个拥有大量2万标记上下文窗口的AI模型,它是一个显著的例子,展示了提示工程如何显著增强AI功能。该模型展示了战略性提示构建在推进AI技术方面的关键作用。通过熟练地创建有效的提示,用户可以使Claude 2.1更加高效地处理信息,有效地规避其固有的局限性。这个案例充分说明了用 提示工程充分发挥 AI 潜力的重要性,并强调了用户交互质量与 AI 模型固有能力同样重要的性质。

总之,提示工程是AI工具箱中一种强大但常常被低估的工具。通过巧妙设计提示语,它能够释放AI模型的潜力,从而在需要创造力和足智多谋的领域改变游戏规则。随着AI的不断发展,掌握提示工程的重要性无疑会增加,为实现卓越的结果提供一条路径,而无需采用更加资源密集的方法。

深入比较分析

大模型应用方法对照表

图片

图片

效率与灵活性:选择正确路径的艺术

在生成式人工智能优化的世界中,选择方法可以类比于在道路建设中选择最佳路线:

  • 模型训练:这相当于修建一条新的道路。它是一个需要大量资源、时间和数据投入的过程。虽然为创建高度定制和强大的人工智能模型铺平了道路,但这是一个庞大的任务,不总是必要或可行的。

  • 微调:这种方法类似于修改现有的道路。在这里,您从一个预先存在的模型(道路)开始,并进行特定的调整,以更好地适应您的需求。它比修建新道路所需的资源要少,并且可以非常有效,但仍受限于原始模型的局限性。

  • 检索增强生成(RAG):将RAG与这个类比相结合,就好像给道路配备了动态标志,可以从各个位置获取信息。RAG结合了预训练模型的优点和获取和整合外部最新信息的能力。与模型训练和微调相比,它更具灵活性,可以适应新的信息。但是,其效率取决于外部数据源的整合和处理,这可能需要大量资源。

  • 提示工程:这种方法就像找到一个聪明的捷径。它涉及使用智能、有策略的提示来引导预训练的人工智能模型产生期望的结果。这种方法快速、灵活且资源高效,可以利用先进的人工智能模型的能力,而无需大量数据、计算能力或时间。这是一种创新的方式来应用人工智能的能力,往往能够以最小的投入取得令人印象深刻的成果。

准确性和可扩展性:平衡精准度与覆盖范围

每种人工智能方法在准确性和可扩展性方面都有其独特的优势:

  • 模型训练:在使用高质量数据构建时,模型训练可以达到卓越的准确性。然而,它是一种广泛的方法,旨在为人工智能提供通用能力,适应各种任务。其中的权衡是,如果没有额外的调整,它可能没有对特定任务进行精细调整。

  • 微调:这种技术提供了更多的特异性。通过调整预先存在的模型,它可以量身定制,在特定领域或任务中表现出色。然而,它的适应能力范围受到基础模型的约束。

  • 检索增强生成(RAG):RAG在提供最新准确性方面表现突出。通过整合外部知识源,它确保人工智能可以获取最新信息,对于需要当前数据的任务特别有用。然而,它的可扩展性可能受到其依赖的外部数据源的效率和可访问性的影响。

  • 提示工程:或许是所有方法中最多才多艺的一种,提示工程极大地利用了预训练模型的潜能。通过构建合适的提示,人们可以引导人工智能执行各种任务,同时保持高准确性和可扩展性。这种方法在最大化现有人工智能模型的能力方面表现出色,而无需进一步的训练或广泛的资源。这表明有时,释放人工智能潜力的关键不在于构建更复杂的模型,而在于更智能地与它们进行互动。

结论

每种AI方法都具有独特的优势:

  • 模型训练:适用于全新的突破性应用。

  • 微调:用于对现有模型进行特定改进。

  • RAG:适用于需要大量实时信息的应用。

  • 提示工程:以高效地利用现有模型进行创造性运用。

理解和选择正确的方法可以确保您充分发挥AI的潜力,使其完全符合您的特定需求和约束条件。

总而言之,尽管所有这些方法在AI生态系统中发挥着关键作用,但提示工程的艺术凭借其低成本、高效率和出色的灵活性,成为一个极其有效但未充分利用的工具。现在是AI从业者和爱好者接受并探索这种方法的时候了,为AI应用开辟新的视野。

记住,在人工智能的世界中,重要的不仅仅是模型的能力,还有您使用它时的创造力和智慧。提示工程不仅仅是一个工具;它是等待艺术家的触摸的画布。

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2069585.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

win11成功点亮 WSL 创建的 Linux 子系统 jupyter服务 并配合 conda 环境运行代码【保姆级教程】

🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 零、前言一、安装 jupyter notebook二、生成jupyter notebook配置文件三、设置J…

力扣top100-链表类题易错点总结-c++实现(更新中)

首先给一个我之前写的双指针在链表类题中的妙用的link:双指针在链表中的妙用 tip1 来自“合并两个有序链表” 题目链接戳这里 这道题注意的就是如果是要返回一个新链表的头结点,一定要新建一个头结点: ListNode* prehead new ListNode…

备考计算机二级Python之Day5

第5章 函数和代码 一、函数的基本使用 函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。 函数的使用包括两部分:函数的定义和函数的使用 1、函数的定义 Python语言通过保留字def定义函数,语法形式如下: …

判别分析2|Bayes判别分析|Fisher判别分析|软件求解

Bayes判别分析 引入先验信息 距离判别只要求知道总体的数字特征,不涉及总体的分布函数 当均值和协方差未知时,就用样本的均值和协方差矩阵做估计值。距离判别方法简单实用,但没有考虑到每个总体出现的机会大小,即先验概率&#…

数据结构(邓俊辉)学习笔记】优先级队列 09——左式堆:合并算法

文章目录 1. LeftHeap模板类2. 算法3. 实现4. 实例 1. LeftHeap模板类 接下来这节,来讨论左式堆的合并算法。再给出具体算法之前,首先要给出左式堆模板类的定义。 比如这就是一种可能的实现方式,可以看到,我们这里再次利用了 C…

srm供应商一体化招采系统解决方案,需求功能清单以及源码实现(JAVA)

1. 供应商管理 2. 采购需求管理 3. 采购寻源管理 4. 采购合同管理 5. 采购订单管理 6. 采购协同管理 7. 外部商城采购管理 8. 报表查询管理 9. 系统管理 10. 集成管理 资料获取:本文末个人名片。

在Activity中使用Menu

在Activity中使用Menu 手机毕竟和电脑不同,它的屏幕空间非常有限,因此充分地利用屏幕空间在手机界面设计中就显得非常重要了。如果你的活动中有大量的菜单需要显示,这个时候界面设计就会比较尴尬,因为仅这些菜单就可能占用屏幕将…

构建高效的串行任务执行器:SerialExecutor深度解析

本文主要介绍怎么去实现一个支持串行执行任务的SerialExecutor执行器 摘要 在复杂的异步编程中,有时我们需要确保任务以串行的方式执行,以维护任务间的依赖关系或顺序。SerialExecutor 是一个自定义的执行器,它封装了 Java 的 Executor 接口…

Linux磁盘分区,增加磁盘应用实例,磁盘情况查询

目录 linux磁盘分区机制 原理介绍 示意图 硬盘说明 查看所有设备挂载情况 挂载的经典案例 给虚拟机添加硬盘 分区 删除挂载 永久挂载 磁盘情况查询 查询系统整体磁盘使用情况 查询指定目录的磁盘占用情况 linux磁盘分区机制 原理介绍 载入可以将一个分区和一个目录…

【精选】基于微信小程序的地铁站点查询系统(全网独一无二,阿龙原创设计)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

C#入门篇3

目录 一、练习 二、显示类型转换(强制类型转换) 三、Convert的转换工厂转换 四、算数运算符号之( /--) 五、关系运算符(比较运算) 六、逻辑运算符 七、复合运算符 一、练习 计算半径为5的圆的面积和周…

Windows平台SDKMAN工具使用

为方便jvm生态的软件版本管理,可以使用sdkman工具来安装和管理诸如java、gradle等软件的当前使用版本。尤其是大多数程序员都是在windows平台开发,团队开发通常都需要统一的jvm相关软件的版本。这里给大家演示下windows平台如何安装和使用sdkman来实现这…

普元EOS-自定义SDO代码生成模板

1 前言 普元EOS的数据实体生成SDO接口和实现类的代码,可以通过自定义代码生成模板,实现代码自定义。 2 模板存放位置 模板存放位置如下:安装目录/dropins/eostools/com.primeton.studio.entity.ui-x.x.x.x.jar里面,SDO模版都在/…

揭秘CAAC、AOPA、ALPA、ASFC和UTC无人机执照的差别及实用价值

CAAC、AOPA、ALPA、ASFC和UTC无人机执照各有其独特的差别及实用价值,以下是针对这些执照的详细解析: 一、CAAC无人机执照 颁发机构:中国民用航空局(CAAC) 差别: - 权威性:CAAC无人机执照是目…

Go机器学习框架之火重燃,Google前研究员开源期望媲美Jax的GoMLX

Go作为一门兼具高性能与简洁性的编程语言,近年来在各种领域得到广泛应用。然而,在机器学习领域,Go相比Python、C、Julia等语言,生态仍然较为薄弱。目前的Go机器学习框架无论在功能全面性上,还是在社区生态支持上都难以…

2024升级zblog小程序开源源码/基于uniapp开发的(支持微信小程序、百度小程序、安卓APP)

源码简介: 2024最新zblog多端小程序开源源码,它是基于uniapp开发的,它是针对和支持微信小程序、百度小程序和安卓APP哦!百度百科小程序源码下载。 这个基于uniapp开发的zblog多端小程序开源源码,听说对收录和SEO都有…

Android 添加系统服务的实现

和你一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 一、前言二、编写AIDL文件三、编写Manager类四、 编写系统服务五、 注册系统服务六、注册Manager七、App调用八、添…

设计模式 -- 七大原则(五)-- 开闭原则

1 基本介绍 开闭原则(Open Closed Principle,简称OCP)是编程中最基础、最重要的设计原则 一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。 …

伯努利朴素贝叶斯解析:面向初学者的带代码示例的视觉指南

通过二进制简单性释放预测能力,欢迎来到雲闪世界。 添加图片注释,不超过 140 字(可选) 与虚拟分类器的基线方法或基于相似性的 KNN 推理不同,朴素贝叶斯利用了概率论。它结合了每个“线索”(或特征&#xf…

宿舍管理系统设计与分析

第一章 管理信息系统概述 在人类进入21世纪之际,随着社会的组织化程度以及企业生产的社会化程度越来越高,信息作为一种资源已经和材料、能源并称为现代社会化发展的三大支柱之一。管理信息系统是融科学、信息科学、系统工程以及现代通讯技术、计算机技术…