人工智能福利站,初识人工智能,图神经网络学习,第三课

在这里插入图片描述

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。
🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。
🎉欢迎 👍点赞✍评论⭐收藏

🔎 人工智能领域知识 🔎

链接专栏
人工智能专业知识学习一图神经网络专栏
人工智能专业知识学习二图神经网络专栏
人工智能专业知识学习三图神经网络专栏

文章目录

  • 🏆 初识人工智能(图神经网络)
    • 🔎 一、 图神经网络学习(3)
      • 🍁 21. 请解释图神经网络中的前向传播过程。
      • 🍁 22. 请解释图神经网络中的反向传播过程。
      • 🍁 23. 图神经网络的损失函数有哪些常见的选择?它们的区别是什么?
      • 🍁 24. 图神经网络中的优化算法有哪些常见的选择?
      • 🍁 25. 图神经网络的训练过程中常见的正则化技术有哪些?
      • 🍁 26. 图神经网络的训练过程中,如何处理大规模图数据和稀疏图数据?
      • 🍁 27. 图神经网络中的节点嵌入(node embedding)和图嵌入(graph embedding)有何作用?
      • 🍁 28. 请解释图神经网络中的批处理(batching)操作。
      • 🍁 29. 图神经网络的训练过程中,如何处理标签缺失的节点或图的情况?
      • 🍁 30. 图神经网络的训练过程中,如何处理大图上的训练效率问题?

🏆 初识人工智能(图神经网络)


🔎 一、 图神经网络学习(3)

在这里插入图片描述


🍁 21. 请解释图神经网络中的前向传播过程。

在图神经网络中,前向传播是指将输入数据从图的节点开始,通过网络的层层运算,最终得到输出结果的过程。下面是图神经网络的一般前向传播过程:

  1. 输入数据表示:首先,将图中的节点和边转化为合适的表示形式。通常情况下,节点会包含一个特征向量,描述节点的属性,而边可以用矩阵或邻接列表来表示节点之间的连接关系。

  2. 特征聚合:从图的节点开始,通过聚合邻居节点的特征,获取每个节点的上下文信息。这个聚合过程可以有不同的方式进行,如图卷积、图注意力等。聚合邻居特征的目的是为了丰富每个节点的表示,并考虑节点之间的连接关系。

  3. 网络层运算:通过多个网络层的计算,进一步将节点的特征进行变换和组合。每个网络层通常由线性变换和非线性激活函数组成,用于提取更高级别的特征。

  4. 输出预测:在最后一个网络层,根据任务的需求进行适当的汇聚或分类操作,得到最终的输出结果。可以根据任务的不同,如节点分类、图分类、链接预测等,采用不同的输出操作。

  5. 损失计算:将模型的输出结果与标签进行比较,计算损失值,用于后续的模型训练和优化过程。

整个前向传播过程涉及到通过邻居节点的特征聚合、网络层的变换和组合、以及输出预测和损失计算等步骤,最终输出模型的预测结果。每个步骤中的具体操作和网络结构会根据具体的图神经网络模型而有所区别。


🍁 22. 请解释图神经网络中的反向传播过程。

在图神经网络中,反向传播是指从损失函数开始,通过链式法则将误差从输出层向输入层逐层传播,并更新网络参数的过程。下面是图神经网络中的一般反向传播过程:

  1. 计算损失函数:首先,将模型的输出结果与标签进行比较,计算损失函数的值。损失函数通常是一个衡量模型预测结果与真实值之间差异的函数。

  2. 参数更新:通过最小化损失函数,来更新网络中的参数。这通常是通过梯度下降或其变种算法来实现的。

  3. 反向计算梯度:从最后一层开始,根据损失函数对输出层的梯度,使用链式法则逐层计算每个网络层的梯度。梯度表示了损失函数对于网络参数的变化趋势,是反向传播的核心。

  4. 参数更新:根据计算得到的梯度,使用优化算法来更新网络中的参数。常见的优化算法包括梯度下降、Adam、RMSprop等。

  5. 反向传播:通过计算每个节点的梯度,并将其传播到其邻居节点上,从而实现误差信号的反向传播。这样,每个节点都可以根据其误差信号调整自己的表示。

  6. 参数更新:根据节点梯度的计算结果,更新节点表示以及与之相关的权重。这部分通常涉及到邻居节点的聚合操作和权重的更新。

通过反向传播,梯度可以从损失函数传播回网络的每一个参数,从而实现对参数的优化。这一过程需要用到链式法则,将误差信号从输出层向输入层逐层传播,计算各个参数的梯度,并利用优化算法更新这些参数。最终,使得模型的预测结果与真实标签更加接近。


🍁 23. 图神经网络的损失函数有哪些常见的选择?它们的区别是什么?

图神经网络的损失函数通常根据不同的任务和应用场景进行选择。以下是一些常见的图神经网络损失函数:

  1. 交叉熵损失(Cross-Entropy Loss):适用于节点分类和图分类任务。它可以衡量预测类别和真实类别之间的差异,常用于多分类问题。通过将预测概率与真实类别进行比较,计算交叉熵损失。

  2. 均方误差损失(Mean Square Error Loss):适用于回归任务,用于衡量预测值与真实值之间的差距。它计算预测值与真实值之间的平方差,并取平均值作为损失。

  3. 边缘损失(Margin Loss):适用于图嵌入任务,旨在最大化正样本之间的距离,并最小化负样本之间的距离。这有助于更好地区分不同节点之间的相似度。

  4. 对比损失(Contrastive Loss):适用于孪生网络(Siamese Network)任务,用于衡量同一类别样本之间的相似度,以及不同类别样本之间的差异。通过比较样本的距离,鼓励同类别样本聚集而不同类别样本分离。

这些损失函数的区别在于其衡量的目标和计算方式。交叉熵损失用于多分类问题,均方误差损失用于回归问题,而边缘损失和对比损失则用于学习节点/图嵌入的任务。选择合适的损失函数应考虑任务类型、数据属性以及最优化目标。


🍁 24. 图神经网络中的优化算法有哪些常见的选择?

在图神经网络中,常见的优化算法主要包括以下几种:

  1. 随机梯度下降(Stochastic Gradient Descent,SGD):SGD是一种基本的优化算法,通过计算每个样本对应的梯度平均值来更新网络参数。它具有简单、易于实现的特点,但可能会受到局部最小值的困扰。

  2. Adam:Adam是一种自适应学习率算法,结合了动量法和自适应学习率的思想。它通过计算梯度的一阶矩估计和二阶矩估计,自适应地调整学习率。Adam通常被认为在很多任务中效果较好。

  3. Adagrad:Adagrad也是一种自适应学习率算法,通过对每个参数的学习率进行自适应调整,使得稀疏梯度对应的参数有更大的学习率,而频繁出现的梯度对应的参数有较小的学习率。

  4. RMSprop:RMSprop是Adam算法的一种变体,它也采用了自适应学习率的策略,但更新的方式不同。RMSprop计算梯度的指数加权平均值,并按比例调整学习率。

除了以上算法,还有一些其他优化算法可以根据具体情况选择,如带动量的梯度下降(Momentum)、Nesterov 加速梯度方法(Nesterov Accelerated Gradient,NAG)等。这些优化算法在应对不同的梯度优化问题时具有不同的效果和性能表现,可根据具体任务需求选择合适的算法进行使用。


🍁 25. 图神经网络的训练过程中常见的正则化技术有哪些?

在图神经网络的训练过程中,常见的正则化技术有以下几种:

  1. L1 正则化(L1 Regularization):通过向损失函数添加 L1 范数惩罚项来约束模型参数的绝对值。L1 正则化可以促使模型学习稀疏权重,即让一些不重要的特征对应的权重趋近于零,有助于特征选择和模型解释性。

  2. L2 正则化(L2 Regularization):通过向损失函数添加 L2 范数惩罚项来约束模型参数的平方和。L2 正则化的效果是让模型的权重尽量少波动,以避免过拟合,并使模型更平滑。它可以有效降低参数的幅度,防止过度依赖少量特征。

  3. Dropout:Dropout 是一种随机正则化技术,通过以一定的概率将网络层的神经元输出置为零,以减少神经元之间的过度依赖。这样可以强制网络学习更鲁棒和泛化能力更强的特征,并减少过拟合。

  4. Batch Normalization:Batch Normalization 是一种用于加速神经网络训练的技术,通过对每个批次的输入进行标准化处理,将其均值归一化为零,方差归一化为一,以平衡不同层之间的数据分布。它有助于提高梯度的传播和网络的稳定性,并减轻了对参数初始化的依赖。

  5. 图正则化(Graph Regularization):图正则化方法利用图结构的信息来提高模型的泛化能力。常见的图正则化方法包括拉普拉斯正则化、图卷积正则化等,它们通过将模型的输出与图结构的相似度进行正则化,鼓励相邻节点具有相似的表示。这有助于保留节点之间的拓扑结构信息并提高模型性能。

这些正则化技术都可以在图神经网络的训练过程中使用,以缓解过拟合问题,提高模型的泛化能力。在实际应用中,可以根据具体问题和数据集的特点选择适合的正则化方法进行使用。


🍁 26. 图神经网络的训练过程中,如何处理大规模图数据和稀疏图数据?

处理大规模图数据和稀疏图数据是图神经网络训练过程的一个挑战,以下是一些常用的处理方法:

  1. Mini-batch 训练:为了处理大规模图数据,可以采用 mini-batch 训练的方式,在每个训练步骤中仅使用一个小的图数据子集。这样可以减少计算和存储的负担,并加速模型的训练过程。通常会采用节点采样或图采样的方式生成 mini-batch。

  2. 节点采样:对于大规模图数据,可以考虑使用节点采样的方法来训练模型。节点采样是指在每个训练步骤中,只选择部分节点和其对应的邻居节点进行计算,从而减少计算量。可以根据节点在图中的重要性进行采样,例如使用随机采样、基于度数的采样等方式。

  3. 图采样:对于大规模图数据,也可以采用图采样的方式来训练模型。图采样是指在每个训练步骤中,只选择部分子图进行计算。可以采用随机游走等方法生成子图。图采样可以帮助减少节点和边的数量,从而降低计算和存储的开销。

  4. 稀疏图数据处理:对于稀疏图数据,可以使用稀疏矩阵的表示方法来存储图结构,以节省内存空间。同时,针对稀疏图数据,可以使用特定的图卷积算法,如GCN(Graph Convolutional Network)或GraphSAGE(Graph Sampling and Aggregation),对节点进行有效的聚合计算,以减少计算复杂度。

  5. 分布式训练:对于特别大规模的图数据,可以考虑使用分布式训练的方法,将图数据划分为多个子图进行并行计算。可以使用分布式存储系统和计算框架来实现分布式训练,并通过消息传递机制进行节点之间的通信和信息交换。

这些方法可以帮助处理大规模图数据和稀疏图数据,减少计算和存储的开销,并提升图神经网络的训练效率和性能表现。具体使用哪种方法,需要根据具体的数据规模和计算资源进行选择和调整。


🍁 27. 图神经网络中的节点嵌入(node embedding)和图嵌入(graph embedding)有何作用?

在图神经网络中,节点嵌入和图嵌入是将图数据中的节点和整个图映射到低维空间的表示。它们具有以下作用:

1.节点嵌入(Node Embedding):

  • 特征学习:节点嵌入可以学习到节点的低维表示,从而捕捉节点的结构和语义特征。这些嵌入向量可以用于节点分类、节点聚类、链接预测等任务。通过学习到的节点嵌入,可以更好地理解节点的特性和相互关系。
  • 节点相似性度量:节点嵌入可以度量节点之间的相似性或距离。可以使用嵌入向量的余弦相似度或欧氏距离来评估节点之间的相似程度,从而帮助进行相似节点的检索、推荐等任务。
  • 降维和可视化:节点嵌入将高维节点特征映射到低维空间,可以用于将复杂的图数据可视化。通过将节点嵌入可视化,可以展示图的结构、节点聚类等信息,有助于直观地理解图的特征和模式。

2.图嵌入(Graph Embedding):

  • 图分类和图聚类:图嵌入可以将一个图映射到一个低维向量,从而用这个向量来表示整个图的特征和模式。通过比较图之间的嵌入向量,可以进行图的分类和聚类任务,例如判断两个图是否属于相同的类别,或将相似的图分组在一起。
  • 图生成和重构:图嵌入可以作为图生成模型的输入,用于生成新的图样本。通过学习到图的嵌入表示,可以从嵌入向量中重建原始的图结构,或者生成与训练图类似的新图样本。
  • 图对齐和图匹配:图嵌入可以用于比较两个不同的图的相似性或匹配度。通过计算图嵌入向量之间的距离或相似度,可以评估两个图之间的相似程度,从而帮助图对齐和图匹配的任务。

节点嵌入和图嵌入可以帮助图神经网络从原始图数据中提取重要的特征信息,并将其转化为低维向量表示,从而应用于各种图分析和图学习任务中。通过合理的嵌入方法,可以提高模型的性能,并且方便可视化和理解图结构和节点之间的关系。


🍁 28. 请解释图神经网络中的批处理(batching)操作。

在图神经网络中,批处理(batching)是一种常用的训练策略,用于处理图数据中的多个子图。

通常,在图数据中,每个节点的邻居节点数目是不同的,导致图结构的大小和形状各不相同。为了高效地处理这样的变化规模的图数据,批处理操作引入了以下概念和步骤:

  1. Mini-batch:批处理过程中的基本单位是 mini-batch,即一组具有相同大小和形状的图数据。一个 mini-batch 由多个子图组成,每个子图的节点数和边数相同。

  2. 节点对齐:为了形成 mini-batch,需要将不同图的节点对齐到相同的节点数目。对于子图中的节点数目较少的图,可以选择重复采样节点,使其节点数目达到均一的标准。对于子图中的节点数目较多的图,可以选择随机地去除一些节点,使其节点数目变得均一。

  3. 邻居对齐:在批处理中,为了处理不同图的不同邻居数目,可以使用邻居采样的方法保证邻居节点的对齐。例如,可以对每个节点随机采样一定数目的邻居,或者根据节点的度数进行邻居采样,使得每个节点的邻居数目一致。

  4. 填充操作:为了将子图对齐到相同的维度,可能需要进行填充操作。对于节点的特征和邻接矩阵,可以通过添加零元素来完成对齐。

  5. 并行计算:批处理能够有效利用并行处理的能力,将具有相似形状和大小的图数据一起进行计算。这样可以提高计算的效率,并加速图神经网络的训练过程。

通过批处理操作,可以高效地处理具有不同大小和形状的图数据,减少训练过程中的计算和存储开销,并提高图神经网络的训练效率。它允许在相同的计算步骤中处理多个图数据,从而更好地利用硬件设备和资源。


🍁 29. 图神经网络的训练过程中,如何处理标签缺失的节点或图的情况?

在图神经网络的训练过程中,处理标签缺失的节点或图的情况通常有以下几种方法:

  1. 剔除缺失样本:最简单的方法是直接剔除具有缺失标签的节点或图样本。通过将这些样本从训练集中移除,避免了缺失标签对模型训练的影响,但也可能导致数据丢失以及模型训练数据不足的问题。

  2. 标签传播(Label Propagation):标签传播方法试图通过已有标签的节点来预测缺失标签的节点或图。可以使用传统的图算法,如基于邻居的标签传播算法或基于图结构的半监督学习算法。在这种方法中,通过利用已有标签的节点信息,将标签在图中传播和更新,以填补缺失标签的节点。

  3. 弱监督学习(Weakly Supervised Learning):弱监督学习是一种使用不完整或不精确标签进行训练的方法。对于具有缺失标签的节点或图,可以将其标记为一种特殊的标签,表示其缺失的状态。然后,通过设计合适的损失函数和训练策略,使得模型能够在缺失标签的情况下进行学习和预测。

  4. 多标签学习(Multi-label Learning):如果图数据中的节点或图具有多个标签,并且只有部分标签缺失,可以将问题看作是多标签学习问题。在多标签学习中,可以利用已有标签的节点或图来预测缺失标签,通过训练模型来学习不同标签之间的关联性,从而填补缺失标签。

总的来说,处理标签缺失的节点或图时,需要根据具体情况选取合适的方法。选择的方法应该考虑数据的特点、缺失标签的比例以及任务的要求,以使得模型能够在缺失标签的情况下尽可能地进行有效训练和预测。


🍁 30. 图神经网络的训练过程中,如何处理大图上的训练效率问题?

处理大图上的训练效率问题是图神经网络中的一个重要挑战。下面列举几种处理大图训练效率问题的方法:

  1. 批处理(Batching):通过批处理操作将大图划分为较小的子图进行训练,可以减少内存的占用和计算的开销。批处理可以使模型同时处理多个子图,从而提高训练的效率。

  2. 采样方法:对于大图中的节点和边,可以采用随机采样或者近邻采样的方法来减少训练数据的规模。随机采样可以从大图中随机选择一部分节点和边进行训练,而近邻采样可以只考虑每个节点周围的邻居节点和边。

  3. 增量学习:大图可能会不断增长或者更新,增量学习可以在不重新训练整个模型的情况下,逐步更新模型以适应新的图数据。增量学习可以减少训练的时间和计算的开销。

  4. 图切割(Graph Partitioning):将大图划分为多个子图,并通过分布式计算的方法对每个子图进行训练,可以提高训练的并行性和效率。图切割方法可以根据节点的属性、连接模式或者算法自动进行图划分。

  5. 采用近似算法:在大图上的精确计算可能非常耗时,可以尝试使用近似算法来加速计算过程。近似算法可以通过牺牲一定的精确性来换取计算的效率,在训练过程中可以采用一些近似计算技术,如随机采样、低秩近似等。

需要根据具体的应用场景和问题,选择适合的方法来处理大图上的训练效率问题。综合考虑计算资源、训练需求和模型性能等因素,进行合理的权衡和选择,以达到高效训练的目标。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

九思OA user-list-3g sql注入

【产品&&漏洞简述】 九思OA办公软件全面实现协同工作、公文、流程审批、知识管理、项目管理、综合办公、信息共享、移动办公 等应用功能,并能够与其他异构系统整合,打破信息孤岛,建立完整的有效的企业工作平台和移动办公软件。 九思…

(2)(2.14) SPL Satellite Telemetry

文章目录 前言 1 本地 Wi-Fi(费用:30 美元以上,范围:室内) 2 蜂窝电话(费用:100 美元以上,范围:蜂窝电话覆盖区域) 3 手机卫星(费用&#xff…

ChatGPT学习第一周

📖 学习目标 掌握ChatGPT基础知识 理解ChatGPT的基本功能和工作原理。认识到ChatGPT在日常生活和业务中的潜在应用。 了解AI和机器学习的基本概念 获取人工智能(AI)和机器学习(ML)的初步了解。理解这些技术是如何支撑…

介绍一个关于 JSON 可视化的网站

最近在看到一个比较好玩的网站,可以将 JSON以可视化的方式展现出现,比如存在一下JSON数据: {"id": "f3bbc3bc-9f34-4bf7-8a0f-7e6f6e6fbb9a","isActive": false,"age": 25,"name": "…

阿里云服务器Windows系统无法远程连接到服务器桌面怎么办,选择通过Workbench远程连接进入不是桌面,而是命令行界面

最近发现阿里云的Windows系统服务器,点击“远程连接”后,如果直接点击默认的“通过Workbench远程连接”。 并不能直接进入服务器桌面,而是进入了命令行界面(我记得以前是可以的) 那么如何进入Windows系统服务器桌面呢 …

C语言第二十弹---指针(四)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 指针 1、字符指针变量 2、数组指针变量 2.1、数组指针变量是什么? 2.2、数组指针变量怎么初始化 3、⼆维数组传参的本质 4、函数指针变量 4.1…

蓝桥杯Web应用开发-CSS3 新特性

CSS3 新特性 专栏持续更新中 在前面我们已经学习了元素选择器、id 选择器和类选择器,我们可以通过标签名、id 名、类名给指定元素设置样式。 现在我们继续选择器之旅,学习 CSS3 中新增的三类选择器,分别是: • 属性选择器 • 子…

Mysql进阶(锁)

一、锁概述 两个事务的写操作之间的互相影响。隔离性要求同一时刻只能有一个事务对数据进行写操作,InnoDB通过锁机制来保证这一点。 锁机制基本原理: 事务在修改数据之前,需要先获得相应的锁;获得锁之后,事务便可以…

day03.C++函数与指针(含new与delete关键字,函数指针,指针函数,指针数组)

一.指针 #include<iostream> using namespace std; #define pi 3.14159//定义常量int main(){cout<<pi<<endl;int a10;int *pNULL;//定义指针p&a;cout<<"a的地址为&#xff1a;"<<p<<endl;cout<<"a"<&l…

python函数入参、类成员引用支持灵活参数可配

一、背景 python编码时&#xff0c;有可能在不同场景下输入修改的参数&#xff0c;不方便直接写死&#xff0c;因此需要灵活配置这些函数入参&#xff0c;类成员 二、函数入参支持灵活可配 场景&#xff1a;如下场景&#xff0c;对于hello函数&#xff0c;不同场景下想要对不…

如何修改远程端服务器密钥

前言 一段时间没改密码后&#xff0c;远程就会自动提示CtrlAltEnd键修改密码。但我电脑是笔记本&#xff0c;没有end键。打开屏幕键盘按这三个键也没用。 解决方法 打开远程 1、远程端WINC 输入osk 可以发现打开了屏幕键盘 2、电脑键盘同时按住CtrlAlt&#xff08;若自身电…

学习Spring的第十六天

AOP底层两种生成Proxy的方式 我来解释这两种方式 1 目标类有接口 , 调用JDK的动态代理实现 2 目标类没有接口 , 用Cglib实现 , 即生成目标类的子类 , 来实现动态代理 , 所以要求目标类不能时final修饰的 . (若有接口 , 也可用Cglib方式实现 , 需要手动配置<aop: config pr…

java设计模式- 建造者模式

一 需求以及实现方式 1.1 需求描述 我们要创建一个表示汽车的复杂对象&#xff0c;汽车包含发动机、轮胎和座椅等部分。用传统方式创建&#xff0c;代码如下 1.2 传统实现方式 1.抽象类 public abstract class BuildCarAbstaract {//引擎public abstract void buildEng…

Swift Combine 管道 从入门到精通三

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二 1. 用弹珠图描述管道 函数响应式编程的管道可能难以理解。 发布者生成和发送数据&#xff0c;操作符对该数据做出响应并有可能更改它&#xff0c;订阅者请求并接收这些数据。 这…

Python程序员面试题精选(1)

本文精心挑选了10道Python程序员面试题&#xff0c;覆盖了Python的多个核心领域&#xff0c;包括装饰器、lambda函数、列表推导式、生成器、全局解释器锁(GIL)、单例模式以及上下文管理器等。每道题都附有简洁的代码示例&#xff0c;帮助读者更好地理解和应用相关知识点。 题目…

Python模拟点赞助手

背景 之前公司一直会安排各种学习任务&#xff0c;视频章节很多的视频&#xff0c;有些是技术的有些是政策相关的&#xff0c;如果没有按时完成学习任务会被通报。但是&#xff0c;这些学习内容不一定有帮助&#xff0c;所以大家就养成了刷课的习惯&#xff0c;也就是点开视频…

服务器运存使用率多少正常?

服务器运存使用率多少正常&#xff0c;这是一个相对主观的问题&#xff0c;因为服务器的正常运行不仅取决于运存使用率&#xff0c;还与服务器的工作负载、应用程序的特性和需求、服务器的配置和用途等多种因素有关。然而&#xff0c;一般来说&#xff0c;大多数服务器在运存使…

###C语言程序设计-----C语言学习(10)#函数再探

前言&#xff1a;感谢您的关注哦&#xff0c;我会持续更新编程相关知识&#xff0c;愿您在这里有所收获。如果有任何问题&#xff0c;欢迎沟通交流&#xff01;期待与您在学习编程的道路上共同进步。 目录 一. 基础知识的学习 1.不返回结果函数 2.局部变量 3.全局变量 4.…

AIGC ChatGPT4 实战案例教你VLOOKUP用法

实际需求&#xff1a; 像这样的案例可以通过VLOOKUP来完成&#xff0c;如果不会使用VLOOKUP也没有关系&#xff0c;我们可以先让ChatGPT来帮我们介绍一下VLOOKUP函数的具体用法。 VLOOKUP是Excel中的一个非常有用的函数&#xff0c;用于查找和检索数据。"V"在VLOOKUP…

Java面向对象 this

this 在Java中&#xff0c;this 是一个特殊的引用变量&#xff0c;它引用了当前对象实例。当在类的非静态方法或构造方法中使用时&#xff0c;this 关键字指代当前的对象实例。它经常用于区分对象的成员变量和局部变量&#xff0c;或者调用其他重载的方法。 以下是一些使用 t…