WSDM 2024 Oral | 港大提出DiffKG:融合知识图谱与扩散模型,为推荐系统赋能

news2024/11/19 11:22:49

8ce9f2fb4aaf9124931edcff272a5555.gif

de7092c4b94d8057edd937bc4b740c9e.png

论文链接:

https://arxiv.org/abs/2312.16890

代码链接:

https://github.com/HKUDS/DiffKG

实验室链接:

https://sites.google.com/view/chaoh

964a84c50151ee631e0544139a085518.png

TLDR

知识图谱已成为提升推荐系统性能的重要资源,能提供丰富的事实信息并揭示实体间的深层语义联系。然而,并非图谱中的每一种关系都与推荐任务息息相关。事实上,一些无关的实体关系可能掺杂噪音,干扰系统对用户偏好的精准学习。

针对这一挑战,研究者们提出了 DiffKG——一种创新的知识图谱扩散模型,专为推荐系统设计。该模型巧妙地融合了生成式扩散模型和数据增强策略,有效地促进了知识图谱表示的稳健学习。这种独特的融合方式极大地优化了物品的知识感知语义及其内在的协同关系建模。此外,研究者引入了一种创新的协同知识图卷积机制,该机制能够利用用户与物品交互模式中的协同信号,有指导地促进知识图谱的有效扩散。

876c1c4d8496ff7dd129f52de7c8b92f.png

研究背景

在当今信息爆炸的时代背景下,推荐系统在现代网络社会扮演了极其重要的角色,有效地连接了用户与符合其个性化兴趣的物品。其中,协同过滤(Collaborative Filtering, CF)作为推荐系统的核心范式之一,基于一个核心假设:具有相似交互模式的用户可能对物品有相近的偏好。这种方法已广受关注,并已被证明在提供个性化推荐方面非常有效。

在现实应用中,推荐系统的表现往往受限于用户-物品交互数据的固有稀疏性。为了克服这一难题,将知识图谱(Knowledge Graph, KG)作为一种丰富的物品信息网络,纳入协同过滤已逐渐成为行业内的新趋势。

尽管基于知识图谱的推荐方法已展示出其有效性,但这些方法的性能极度依赖于输入的知识图谱质量,并可能受到噪音污染的负面影响。现实中的知识图谱常受限于其固有的稀疏性和噪音问题,包括长尾实体分布和大量与推荐任务无关的实体关系。

为应对这些挑战,最新研究开始探索利用对比学习(Contrastive Learning, CL)来增强基于知识图谱的推荐方法。例如,KGCL [1] 提出了一种在知识图谱上进行随机图增强的方法,并采用对比学习策略来解决知识图谱的长尾分布问题。同理,MCCLK [2] 和 KGIC [3] 方法采用了跨视图对比学习范式,该范式致力于将外部的物品知识与用户-物品交互模式整合,以更好地建模交互。

但这些方法主要依赖于简单的随机增强或是直观的跨视图信息传递,并未充分考虑到知识图谱中大量与特定推荐任务不相关的信息。因此,有效地筛选知识图谱中的噪声,对于实现更健壮的用户偏好建模至关重要。

为解决上述问题,本研究提出了 DiffKG,一种创新的知识图谱扩散模型,专门用于提升推荐系统性能。受到最新扩散模型研究的启发,该模型采用了一种独特的知识图谱扩散范式,有效实现了破坏与重构的平衡。

在模型的前向过程中,原始知识图谱逐步被引入的随机噪声破坏,模拟了知识图谱在现实世界中逐渐累积噪声的过程,并通过迭代恢复机制来还原图谱结构。这一创新的前向过程构建了一个可靠的后验分布,并通过反向生成的神经网络模型来迭代地建模复杂分布。

为了有效应对知识图谱中的噪声和无关信息,本研究还设计了一种协同知识图谱卷积机制,该机制通过整合用户-物品交互中的协同信号到知识图谱的扩散过程,进一步强化了知识图谱扩散范式。这种机制能够引导扩散过程,确保保留与推荐任务紧密相关的知识,从而帮助扩散模型更准确地识别和利用有价值的信息。

54d3ec8e29b1bfa7a436205ee1ceb6e1.png

模型方法

DiffKG 的架构在下图中展示,它整合了三大关键模块:首先是异构知识聚合模块,其目的是汇聚知识图谱中的丰富信息;随后是知识图谱扩散模型,负责创造出经过精细去噪处理的知识图谱;最后是一个增强的数据增强范式,该范式利用知识图谱扩散的成果来提升推荐系统的综合表现。

在具体实践中,经扩散模型处理后得到的洁净知识图谱将通过异构知识聚合以及用户-物品交互网络的图卷积操作,从而得到一个全新的视图。这一视图与从原始知识图谱中以相似方式得到的视图相互对照,在对比学习的框架下,借助 InfoNCE 损失函数进行优化。此外,为了精确调优推荐任务,系统还采用了 BPR 损失函数进行优化,确保推荐结果的准确性和个性化。

a757129811c69960602ecdd7b965a26f.png

3.1 异构知识聚合

现实世界中的知识图谱中的知识关系往往是异构的,为了捕捉知识图谱连接结构中固有的多样化关系,作者受到过往工作中使用的图注意力机制的启发,设计了一种关系感知知识嵌入层。通过引入参数化的注意力矩阵,该嵌入层能够将实体相关的上下文和关系相关的上下文投影到特定的表示中,克服了在知识图谱上手动设计路径的局限性。物品与其连接的实体之间的消息聚合机制如下:

1ee353e64e568c1e668f74147f870708.png

3.2 知识图谱增强的数据增强范式

目前对比学习在推荐系统领域取得了巨大的成功。在知识图谱感知的推荐系统相关工作中,比如 KGCL [1],MCCLK [2] 及 KGIC [3] 都引入了对比学习技术。这些方法要么依赖简单的随机增强方式,要么通过在知识图谱视图和协同过滤视图之间进行简单的跨视图对比。

然而,随机的数据增强会引入不必要的噪声,并且额外的知识图谱视图也包含与下游推荐任务不相关的信息。只有一部分原始知识图谱的子集包含推荐任务相关的信息,不相关信息的引入会对推荐系统的性能产生负面影响。

为了解决这一问题,作者提出使用一个生成模型来重建知识图谱  的子图 ,该子图  特别包含与下游推荐任务相关的物品-实体关系。在完成任务相关的知识图谱的构建后,作者通过图协同过滤范式和异构知识聚合两种编码器的组合来得到用户和物品的表示。具体地,作者受 LightGCN [4] 影响,设计了本地图嵌入传播层:

fa94d545d19b4f9dc7b3561c62dc5110.png

通过多个图传播层,基于图的协同过滤范式可以捕捉高阶的协同关系。在作者设计的模型流程中,原始知识图谱  和生成的知识图谱  都进行异构知识聚合,以获得保留知识图谱语义信息的物品特征向量。这些物品特征向量之后会被进一步进入基于图的协同过滤范式以再次提升表达建模。

在构建完成两个知识增强的图视图后,作者将同一个节点的两个视图的嵌入表示作为正对((, )|),将不同节点在两个视图的嵌入表示作为负对((, )|, )。作者使用一个对比损失函数来最大化正对之间的一致性并最小化负对之间的一致性:

8a55c52cbf62b7e5da11c9d23528b213.png

3.3 知识图谱扩散模型

受到扩散模型在从噪声输入中生成数据方面的有效性的启发,作者提出了一个知识图谱扩散模型。作者的目标在于从原始知识图谱 中生成与推荐相关的子图 。

为了实现这一目标,模型需要在经过训练后,能够识别出在经过噪声扩散处理后的知识图谱中物品和实体之间的真实关系。作者通过一个逐步引入噪声的前向过程来模拟知识图谱中关系的破坏,之后,再通过迭代学习来恢复知识图谱中的原始关系,这种迭代去噪训练使得模型能够建模复杂的关系生成过程,并减少噪声关系的影响。最终,恢复的关系概率被用于从原始知识图谱 中重建子图 。

ae6af9b697859781fe728b8e6a9f9faf.png

3.3.1 噪声扩散过程

和其他的扩散模型类似,知识图谱扩散包含两个主要的过程,分别是前向过程和逆向过程。为了在知识图谱上实现这两个过程,作者将知识图谱表示为一个邻接矩阵。

具体地,考虑一个与实体集合 中的实体有关系的物品 ,将这些关系定义为 ,这里 的值为 1 或者 0,表示物品 与实体 是否存在连接。

在前向过程中,知识图谱的原始结构通过逐步添加高斯噪声而被破坏。作者使用一个初始状态 来表示物品 的原始邻接矩阵。这个前向过程之后在 步中逐渐添加高斯噪声,以马尔可夫链的形式构建 ,其中 到 的转化如下:

c08d809d193c350aef9a3a566d2805b6.png

当 时,状态 逐渐趋向于一个标准的高斯分布。作者使用重参数技巧并且利用了两个独立高斯噪声可相加的性质,直接从初始状态 得到状态 :

7abf395ae98403ec46eef25ee03d612a.png

其中, 可以进行重参数:

07a83a1d61fffa85ff7a587cb4195188.png

在这之后,扩散模型需要使用神经网络学习如何从 中去除之前添加的噪声以恢复 。从 开始,逆向过程通过去噪转化步逐渐重建知识图谱中的关系。去噪转化步如下:

e46407682ac230400c687b9fa23b2bbf.png

作者使用参数为 的神经网络来生成一个高斯分布的均值 和协方差 。

3.3.2 知识图谱扩散过程的训练

为了训练扩散模型,作者最大化原始知识图关系 的似然的 Evidence Lower Bound(ELBO)。作者提出的概率扩散模型的优化目标可以总结如下:

5a5565a37732f11a14d5e6ff2a816198.png

该优化目标包含两部分,第一部分衡量了 的恢复概率,表示模型重建原始知识图谱的能力,第二部分则调节了反向过程中 从 到 的 的恢复。

优化目标中的第二部分旨在通过 KL 离散度使分布 近似于可计算的分布 。第二项 在时间步 时表示如下:

393551a6644cd5fb9970e2048f40d6ea.png

为了计算上式,作者使用神经网络实现了 。具体而言,作者通过一个多层感知器(MLP)来实例化 ,该 MLP 以 和时间步 的嵌入表示作为输入来预测 。

对于优化目标中的第一部分,作者经过推导得出其是第二部分的一个特殊情况()。最终,ELBO 可以被表示为 。因此,为了最大化 ELBO,可以通过最小化 来优化 中的 。具体而言,作者对时间步 均匀采样,以便在 上优化 : 

7617bfb4144c91cd5ffb32a70f194141.png

3.3.3 使用扩散模型进行知识图谱的生成

与其他扩散模型随机抽取高斯噪声进行逆向生成的方法不同,作者设计了一种简单的推理策略,这与 DiffKG 在知识图谱中的关系预测训练相一致,避免了用纯噪声破坏知识图谱,因为这可能会对知识图谱的结构信息造成严重损害。

具体而言,作者通过逐步在前向过程中破坏原始知识图谱关系 ,从而得到 。之后使得 ,进行逆向去噪过程,这其中作者忽略了方差并且使用 进行确定性推理。

接下来,作者使用得到的 来重建去噪后的知识图谱 的结构。对于每个物品 ,选择前 个 (,,并在物品 和实体 ()之间添加 个关系。这旨在在前向过程中引入噪声的同时保留知识图谱的信息结构,并在逆向过程中进行确定性推理。

3.3.4 协同知识图卷积

为了缓解扩散模型在生成去噪知识图谱方面可能存在的局限性,以包含下游推荐任务所需的相关的关系信息,作者提出了一种协同知识图卷积(CKGC)机制。这种方法利用用户-物品历史交互数据,将推荐任务中的监督信号融入到知识图谱扩散模型的训练过程中。

通过融合用户-物品历史交互数据,扩散模型能够学习捕捉用户偏好,并将其无缝地融入到去噪的知识图谱中去,从而增强其与推荐任务的相关性。这种用户偏好的融合有效地将知识图谱去噪和推荐任务相联系。CKGC 损失的定义如下:

4a2c394baca0118aaae695223e1f7230.png

3.3.5 DiffKG的训练

DiffKG 的训练主要包括两个部分:推荐任务的训练和知识图谱扩散模型的训练。知识图谱扩散模型的联合训练包括两个损失:ELBO 损失和 CKGC 损失,它们同时进行优化。

b79aca0a98f6ef634522cfe82632b32a.png

对于推荐任务,作者使用了贝叶斯个性化排名(BPR)推荐损失和前文提到的对比损失 ,BPR 损失定义如下:

2a352a1baae0e55e12e7676ccfdb6982.png

因此,对于推荐任务的集成优化目标如下:

50599cb234ed8ea5b44a3e2613341e0a.png

cdf0666309d80b890d708b763f908b3b.png

实验结果

本文在三个公开数据集上对比了多个最新的基线模型,并进行了广泛而充分的实验,实验结果表明提出的 DiffKG 在总体性能上具有最优的性能。

b0eecb11bf31cfe1e1a90ec407f61745.png

作者进一步研究了 DiffKG 在知识图谱噪声以及数据稀疏问题上的表现,结果表明知识图谱扩散模型可以有效地缓解知识图谱中存在不相关关系的噪声问题,而知识增强的数据增强范式则有效地缓解了数据稀疏问题,提升了模型的性能。

8583df8cfd17470a48b82e8fd78e07fc.png

f3318463504548e42dbb87cef693bc71.png

作者还进行了完整的消融实验,实验结果表明所提出的各个子组件均有提升推荐效果的功能:

a2bd096dbc13243aa1bb5a541370ce27.png

对于所提出的 DiffKG,作者对一些重要超参数进行了分析,包含了数据增强范式中的超参数和扩散模型训练及推理过程中的时间步:

c72f68882e720d1d2c17e8bddd89a126.png

除此之外,作者还在新闻推荐的数据集上进行了案例分析,通过关于 George Lucas 的新闻,对与其相关的知识图谱关系进行去噪,发现去噪后的知识图关系能够更准确地引导推荐系统进行相关新闻的推荐,证明了所提出的知识图谱扩散模型的有效性。

8d612f0480bc722df43d8185137907ea.png

8037f9477b6cb337d6380a1bb260e617.png

总结

本文提出了一种新颖的推荐模型,名为 DiffKG,它利用任务相关的物品知识来增强协同过滤范式。该框架提出了一种从包含噪声的知识图谱中提取高质量信息的独特方法。

通过将一个生成扩散模型与专为知识感知推荐系统定制的知识图学习框架无缝集成,该模型有效地将知识增强物品的语义信息与协同关系建模对齐,从而进行精准的推荐。通过在多样化的基准数据集上进行广泛的评估,作者提出的 DiffKG 框架相较于各种基线模型表现出了显著的性能提升。

outside_default.png

参考文献

outside_default.png

[1] Yuhao Yang, Chao Huang, Lianghao Xia, and Chenliang Li. 2022. Knowledge graph contrastive learning for recommendation. In SIGIR. 1434–1443.

[2] Ding Zou, Wei Wei, Xian-Ling Mao, Ziyang Wang, Minghui Qiu, Feida Zhu, and Xin Cao. 2022. Multi-level cross-view contrastive learning for knowledge-aware recommender system. In SIGIR. 1358–1368.

[3] Ding Zou, Wei Wei, Ziyang Wang, Xian-Ling Mao, Feida Zhu, Rui Fang, and Dangyang Chen. 2022. Improving knowledge-aware recommendation with multi-level interactive contrastive learning. In CIKM. 2817–2826.

[4] Xiangnan He, Kuan Deng, Xiang Wang, Yan Li, Yongdong Zhang, and Meng Wang. 2020. Lightgcn: Simplifying and powering graph convolution network for recommendation. In SIGIR. 639–648.

更多阅读

5f9e327163cb41b66711b1ba0ef7662f.png

cabd578ad91022d25b5580154a0508ea.png

8fb5d57952c4dd37ebdf7a02c31b4963.png

6009194d305589d27e08a2840fd3c0a0.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

c5f74daac3ba06719dfe7f6d44e7beff.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

·

81388c6ece5ed390e44e2c1d187f2c52.jpeg

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

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

相关文章

Element-Puls Form表单内嵌套el-table表格,根据表格复选框多选或单选动态设置行的验证规则

需求 根据 Table 表格内的复选框来控制当前选中行是否添加必填校验规则 效果图 实现思想 我们需要设置一个 flag 来标识已勾选的行,el-table渲染数据结构是数组对象形式,我们可以在每个对象中手动加如一个标识,例如默认:selected …

Embeddings: What they are and why they matter

embeddings 是什么意思https://simonwillison.net/2023/Oct/23/embeddings/推荐原因:GPT 模型的基础是一种叫做 embeddings 的技术,用来将文本转换成向量,从而可以计算出文本之间的相似度。这篇文章详细地介绍了embeddings及应用 Embeddings…

NLP论文阅读记录 - 2021 | WOS 抽象文本摘要:使用词义消歧和语义内容泛化增强序列到序列模型

文章目录 前言0、论文摘要一、Introduction二.前提三.本文方法3.1 总结为两阶段学习3.1.1 基础系统 3.2 重构文本摘要 四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 Abstractive Text Summarization: Enhancing Sequen…

【CSS】保持元素宽高比

保持元素的宽高比,在视频或图片展示类页面是一个重要功能。 本文介绍其常规的实现方法。 实现效果 当浏览器视口发生变化时,元素的尺寸随之变化,且宽高比不变。 代码实现 我们用最简单的元素结构来演示,实现宽高比为4&#xf…

AI大模型学习笔记二

文章目录 一、Prompt Engineering1)环境准备 二、LangChain(一个框架名字)三、Fine-tuning(微调) 一、Prompt Engineering 1)环境准备 ①安装OpenAI库 pip install --upgrade openai附加 安装来源 pyth…

中职组安全-win20230217-环境-解析

*任务说明: 仅能获取win20230217的IP地址 用户名:test,密码:123456 访问服务器主机,找到主机中管理员名称,将管理员名称作为Flag值提交; john 访问服务器主机,找到主机中补丁信息,将补丁编号作为Flag值提交&#xff…

NLP论文阅读记录 - 2022 | WOS 一种新颖的优化的与语言无关的文本摘要技术

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.前提三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 A Novel Optimized Language-Independent Text Summarization Techni…

【OJ】环形链表

目录 1. 环形链表||(142)1.1 题目描述1.2 题目分析1.3 代码 2. 环形链表(141)2.1 题目描述2.2 题目分析2.3 代码 1. 环形链表||(142) 1.1 题目描述 1.2 题目分析 带环链表:尾节点的next指向链…

QLExpress和Groovy对比

原理 Groovy groovy基于JVM运行。 编译时:将源文件编译成class文件后,用java的classLoader加载;运行时:直接用groovy classLoader加载 QLExpress QLExpress将文本解析成AST,用java对象表达后执行。 特点 Groo…

【JaveWeb教程】(27)Mybatis的XML配置文件与Mybatis动态SQL 详细代码示例讲解

目录 2. Mybatis的XML配置文件2.1 XML配置文件规范2.2 XML配置文件实现2.3 MybatisX的使用 3. Mybatis动态SQL3.1 什么是动态SQL3.2 动态SQL-if3.2.1 条件查询3.2.2 更新员工 3.3 动态SQL-foreach3.4 动态SQL-sql&include 2. Mybatis的XML配置文件 Mybatis的开发有两种方式…

基于ssm的理财通的设计与实现+jsp论文

摘 要 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对理财信息管理的提升&#xff0c…

DeepFloyd IF:由文本生成图像的强大模型,能够绘制文字的 AI 图像工具

文章目录 一、DeepFloyd IF 简介二、DeepFloyd IF模型架构三、DeepFloyd IF模型生成流程四、DeepFloyd IF 模型定义 一、DeepFloyd IF 简介 DeepFloyd IF:能够绘制文字的 AI 图像工具 之前的 Stable Diffusion 和 Midjourney 都无法生成带有文字的图片,…

09Bean的生命周期/作用域不同管理方式不同/自己new的对象纳入Spring容器管理

Spring其实就是一个管理Bean对象的工厂。它负责对象的创建,对象的销毁等。 所谓的生命周期就是:对象从创建开始到最终销毁的整个过程。 Bean的生命周期之5步 ● 第一步:实例化Bean(无参构造方法执行) ● 第二步:Bean属性赋值(注…

python的库或函数不会用:使用help函数查看函数

help(time) # 查看time这个库 FUNCTIONS #函数;都可以调用asctime(...)asctime([tuple]) -> string #调用这个函数的参数需要一个元组(tuple),->:代表返回值是string类型的#下面是简单的介绍Convert a time tup…

强化学习应用(六):基于Q-learning的物流配送路径规划研究(提供Python代码)

一、Q-learning算法简介 Q-learning是一种强化学习算法,用于解决基于马尔可夫决策过程(MDP)的问题。它通过学习一个值函数来指导智能体在环境中做出决策,以最大化累积奖励。 Q-learning算法的核心思想是使用一个Q值函数来估计每…

LDR伪指令和ADR指令的区别

关于 ldr x5, lable 与 adr x5, label 首先,看ARM官方的手册: 对于 ADR 指令: 看 Operation 即可看出作用,Xd 赋值为 $PC imm 要求 label 和 $PC 位置在 正负1MB的范围内(这个数值和上面提到的imm有关)…

【2023 我的编程之旅】

前言 转眼 2024 年都过去 14 天了。回顾 2023 有太多技术上的思考以及人生的感悟,接下来趁着 CSDN 官方活动,顺便记录下来。 技术的价值 与现在的年轻人一心只想搞钱不同,刚毕业的时候,我的梦想是进入一家有实力的科技企业&…

光鉴科技的反卷思维,让科技不再难做

文 | 智能相对论 作者 | 陈壹 中国企业的全球竞争力,正从“拼人力、拼产能”转为“拼技术、拼创新”的新阶段。据世界知识产权组织发布的《世界知识产权指标报告》显示,2022年中国专利申请量约160万件,排名世界第一。而在最近发布的全球百强…

【GitHub项目推荐--AI 开源项目/涵盖 OCR、人脸检测、NLP、语音合成多方向】【转载】

今天为大家推荐一个相当牛逼的AI开源项目,当前 Star 3.4k,但是大胆预判,这个项目肯定要火,未来 Star 数应该可以到 10k 甚至 20k! 着急的,可以到 GitHub 直接去看源码 传送门:https://github.c…

02 时间复杂度和空间复杂度

目录 算法效率时间复杂度空间复杂度练习 1. 算法效率 1.1 如何衡量一个算法的好坏 比如裴波那切数列: long long Fib (int N) { if (N < 3) return 1 ; return Fib(N-1) Fib(N -2) ; } 它的递归方式很简洁&#xff0c;但一定好吗&#xff1f;怎么衡量算法的好坏&#xf…