【知识学习/复习】损失函数篇,包含理解应用与分类:回归、分类、排序、生成等任务

损失函数总结

  • 一、损失函数理解
  • 二、不同任务的损失函数的应用
      • 1.图像分类
      • 2.目标检测
      • 3.语义分割
      • 4.自然语言处理(NLP)
      • 5.图神经网络(GNN)
      • 6.生成式网络
  • 三、损失函数
    • 1. 回归任务损失函数
      • 常见损失函数
      • IoU系列损失函数
        • 1. IoU损失函数(基础版)
        • 2. GIoU损失函数(Generalized IoU)
        • 3. DIoU损失函数(Distance IoU)
        • 4. CIoU损失函数(Complete IoU)
        • 其他iou:
        • 总结:
    • 2. 分类任务损失函数
    • 3. 排序任务损失函数
    • 4. 生成任务损失函数

一、损失函数理解

损失函数(Loss Function),在机器学习和统计学中,是一个衡量模型预测值实际值之间差异的函数。

  1. 损失函数的目的是量化模型的预测误差,以便在训练过程中通过优化算法(如梯度下降)来最小化这个误差,从而提高模型的预测准确性。

  2. 损失函数的选择取决于问题的性质模型的类型。比如:
    1.均方误差(Mean Squared Error, MSE):常用于回归问题,计算预测值与实际值差的平方的平均值。
    2.交叉熵损失(Cross-Entropy Loss):常用于分类问题,衡量模型预测的概率分布与真实分布之间的差异。
    3.对数损失(Log Loss):是交叉熵损失的一种特殊情况,常用于二分类问题。

  3. 通俗理解:想象一下,你是一名射箭运动员,你的目标是射中靶心。每次射箭后,箭落在靶子上的位置与靶心之间的距离,可以看作是你的“损失”。你的任务是通过不断练习,调整你的射箭技巧,使得这个距离尽可能小。
    ▲在这个比喻中:
    靶心:代表实际值,也就是你想要达到的目标。
    你的箭:代表模型的预测值。
    箭与靶心的距离:代表损失函数的输出,即预测值与实际值之间的差异。
    损失函数的作用就是计算这个“距离”,告诉你离目标还有多远。在机器学习中,我们通过不断调整模型(就像运动员调整射箭技巧),来减小这个“距离”,也就是最小化损失函数的值,从而使模型的预测更加准确。
    选择不同的损失函数,就像是选择不同的衡量距离的方法。
    在这里插入图片描述

二、不同任务的损失函数的应用

在机器学习和深度学习的多个领域中,损失函数的选择对于模型性能至关重要。以下是不同任务中常用的损失函数:

1.图像分类

  • 交叉熵损失(Cross-Entropy Loss):用于多分类问题,衡量模型输出的概率分布与真实标签的概率分布之间的差异。
  • sigmoid 交叉熵损失:适用于二分类任务和多标签分类问题,度量每个类独立且不互斥的概率误差。

2.目标检测

  • IoU损失(Intersection over Union Loss):基于预测边界框和真实边界框之间的IoU,衡量两个矩形框的重叠程度。
  • GIoU损失(Generalized IoU Loss):在IoU损失的基础上增加了惩罚项,解决非重叠情况下的梯度消失问题。
  • DIoU损失(Distance IoU Loss):考虑了预测框与真实框中心点的归一化距离,尺度不变。
  • CIoU损失(Complete IoU Loss):在DIoU损失的基础上增加了对纵横比的考虑,提供了更全面的几何因子。

3.语义分割

  • 交叉熵损失:用于像素级别的分类,计算每个像素点的分类概率与真实标签之间的差异。
  • Dice系数:衡量两个集合的相似度,通常用于计算分割图像的相似度。
  • Tversky损失:是Dice系数的扩展,通过调整参数控制假阳性和假阴性的相对重要性。

4.自然语言处理(NLP)

  • 交叉熵损失:用于文本分类、机器翻译等任务,衡量预测概率与真实标签之间的差异。
    语言模型(Language Modeling):语言模型的目标是预测给定上下文的下一个单词或字符。常见的损失函数包括交叉熵损失函数(Cross-Entropy Loss)和负对数似然损失函数(Negative Log-Likelihood Loss)。
  1. 文本分类(Text Classification):文本分类任务涉及将文本分为不同的预定义类别。常见的损失函数包括交叉熵损失函数和多项式逻辑回归损失函数(Multinomial Logistic Regression Loss)。

  2. 序列标注(Sequence Labeling):序列标注任务涉及对输入序列中的每个标记进行分类。例如,命名实体识别(Named Entity Recognition)和词性标注(Part-of-Speech Tagging)等任务。常见的损失函数包括交叉熵损失函数和条件随机场损失函数(Conditional Random Field Loss)。

  3. 机器翻译(Machine Translation):机器翻译任务涉及将源语言文本翻译成目标语言文本。常见的损失函数包括交叉熵损失函数和最大似然损失函数(Maximum Likelihood Loss)。

  4. 序列生成(Sequence Generation):序列生成任务涉及生成符合某种规则的序列,例如文本摘要(Text Summarization)和机器对话(Chatbot)等任务。常见的损失函数包括交叉熵损失函数、自定义的目标函数(例如,基于BLEU分数的损失函数)以及强化学习中的策略梯度损失函数(Policy Gradient Loss)。

5.图神经网络(GNN)

  • 基于重构损失的GNN:通过最小化节点重构的误差来进行图结构数据的表示学习。
  • 基于对比损失的GNN:使用对比学习的方法来学习图结构数据的表示。

6.生成式网络

  • 均方误差损失(Mean Squared Error, MSE):常用于生成对抗网络(GAN)中,衡量生成图像与真实图像之间的差异。

在实际应用中,损失函数的选择和设计对于模型能否有效学习以及其最终性能具有决定性作用。此外,损失函数的组合使用或者变种设计也常常根据具体任务的需求来进行调整。

三、损失函数

按任务类型分类,损失函数可以分为以下几类,并且我将为每个类别提供具体的例子:

1. 回归任务损失函数

回归任务的目标是预测一个连续值,常用损失函数包括:
任务: 预测一个连续值,如房价、温度等。

  • 均方误差(Mean Squared Error, MSE):
    MSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1i=1n(yiy^i)2MSE是真实值与预测值的差值的平方然后求和平均。其中, y i y_i yi 是真实值, y ^ i \hat{y}_i y^i 是预测值。

常见损失函数

  • 均方根误差(Root Mean Squared Error, RMSE):
    RMSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2} RMSE=n1i=1n(yiy^i)2 均方根误差是预测值与真实值偏差的平方观测次数n比值平方根。衡量的是预测值与真实值之间的偏差,并且对数据中的异常值较为敏感

  • 平均绝对误差(Mean Absolute Error, MAE):
    MAE = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| MAE=n1i=1nyiy^i
    通俗解释:
    想象你是一名学生,每次考试后,老师会检查你答对的题目数量。在MAE的情况下,老师不会关心你答对的题目比别人多多少,只会简单地数一数你答错了多少题,然后计算全班平均每个学生答错的题目数量。在机器学习中,这就像是计算模型预测值与实际值之间差异的总和,然后取平均值。

  • Huber损失:
    L δ ( a ) = { 1 2 a 2 for  ∣ a ∣ ≤ δ , δ ∣ a ∣ − 1 2 δ 2 otherwise , L_{\delta}(a) = \begin{cases} \frac{1}{2}a^2 & \text{for } |a| \le \delta, \\ \delta |a| - \frac{1}{2}\delta^2 & \text{otherwise}, \end{cases} Lδ(a)={21a2δa21δ2for aδ,otherwise,
    其中 a = y i − y ^ i a = y_i - \hat{y}_i a=yiy^i δ \delta δ是一个阈值。
    Huber损失可以看作是MAE和MSE的结合。 它对小的误差(比如小于某个阈值δ)使用平方惩罚,而对大的误差使用线性惩罚。这就像是老师对学生的答错题目数量有一个容忍度,当学生答错的题目少于这个数量时,老师会严苛地惩罚;但一旦超过这个数量,老师会认为学生可能需要额外的帮助而不是惩罚,因此惩罚会变得轻一些。

IoU(交并比,Intersection over Union)及其衍生的损失函数是目标检测领域中用于评估预测边界框与真实边界框之间相似度的关键工具。以下是IoU及其发展至今的多种变体损失函数的介绍,以及它们通俗易懂的解释:

IoU系列损失函数

1. IoU损失函数(基础版)

通俗解释
IoU损失函数是最直观的衡量预测边界框与真实边界框相似度的方法。如果预测框和真实框完全不重叠,IoU为0,损失为1;如果完全重合,IoU为1,损失为0。这就像是用一个橡皮圈去套一个固定在地面上的小物体,橡皮圈和物体重叠的区域除以橡皮圈整个区域的大小,就是IoU。
在这里插入图片描述

数学公式
IoU = A∩B A∪B \text{IoU} = \frac{\text{A∩B}}{\text{A∪B}} IoU=A∪BA∩B
缺点:

  1. 非重叠时的梯度问题:当预测边界框和真实边界框没有重叠时,IoU值为0,此时IoU损失函数的梯度也为0,导致无法通过梯度下降法来优化模型。
  2. 尺度敏感性:IoU对边界框的尺度变化比较敏感,这可能导致在不同尺度的目标上性能不稳定。
  3. 无法精确反映重合度:IoU无法精确反映两个边界框的重合程度,特别是当两个框部分重叠或者角度差异较大时。下面三个iou相同,但可以看出重合度是不同的。
    在这里插入图片描述
2. GIoU损失函数(Generalized IoU)

通俗解释
GIoU损失函数在IoU的基础上增加了一个惩罚项,这个惩罚项是两个边界框的最小闭合框与它们实际面积的比值。当两个框不重叠时,IoU为0,但GIoU损失仍然可以提供梯度,帮助模型学习。
在这里插入图片描述

数学公式
GIoU = I o U − C − (A∩B) C \text{GIoU} = IoU-\frac{\text{C}-\text{(A∩B)}}{\text{C}} GIoU=IoUCC(A∩B)其中C是两个框的最小外接矩形的面积
解决的问题:

  1. 梯度消失问题: 当预测边界框和真实边界框没有重叠时,IoU为0,其梯度也为0,导致无法提供有意义的反馈给模型。GIoU通过引入最小闭合框(smallest enclosing box)的概念,即使在非重叠情况下也能提供梯度,从而解决了这个问题。
  2. 尺度敏感性: GIoU考虑了预测框和真实框的面积,使得损失函数对尺度更敏感,有助于模型学习到更准确的边界框尺寸。
3. DIoU损失函数(Distance IoU)

通俗解释
DIoU损失函数在GIoU的基础上,进一步考虑了预测框和真实框中心点之间的距离。这就像是不仅考虑橡皮圈和物体的重叠程度,还要考虑橡皮圈中心与物体中心的距离。

数学公式
L DIoU = 1 − IoU − Center Distance Term L_{\text{DIoU}} = 1 - \text{IoU} - \text{Center Distance Term} LDIoU=1IoUCenter Distance Term
Center Distance Term = ρ 2 c 2 \text{Center Distance Term} = \frac{\rho^2}{c^2} Center Distance Term=c2ρ2

其中, ρ \rho ρ 是预测框与真实框中心点的距离, c c c 是最小闭合框的对角线长度。

4. CIoU损失函数(Complete IoU)

通俗解释
CIoU损失函数是DIoU的扩展,它不仅考虑重叠区域和中心点距离,还考虑了两个框的宽高比。这就像是在橡皮圈游戏中增加了一个规则,如果橡皮圈和物体的形状接近,也会得到额外的分数。

数学公式
L CIoU = 1 − IoU − Center Distance Term − Aspect Ratio Term L_{\text{CIoU}} = 1 - \text{IoU} - \text{Center Distance Term} - \text{Aspect Ratio Term} LCIoU=1IoUCenter Distance TermAspect Ratio Term
Aspect Ratio Term = β ( v ) ( 4 π 2 arctan ⁡ w p h p − 1 4 ) \text{Aspect Ratio Term} = \beta(v) \left( \frac{4}{\pi^2} \arctan \frac{w_p}{h_p} - \frac{1}{4} \right) Aspect Ratio Term=β(v)(π24arctanhpwp41)

其中, β ( v ) \beta(v) β(v) 是一个根据重叠区域面积调整权重的函数, v v v 是预测框与真实框重叠区域的面积, w p w_p wp h p h_p hp 分别是预测框和真实框的宽度和高度。

其他iou:
  1. SIoU (Smooth IoU): SIoU损失函数通过融入角度考虑和规模敏感性,引入了一种更为复杂的边界框回归方法。它包含角度损失、距离损失、形状损失等组成部分,旨在实现更好的训练速度和预测准确性。

  2. EIoU (Enhanced IoU): EIoU损失函数的核心在于提高边界框回归的准确性和效率。它通过增加中心点距离损失、考虑尺寸差异以及结合最小封闭框尺寸来优化目标检测。

  3. WIoU (Wise IoU): WIoU损失函数引入了动态聚焦机制,旨在改善边界框回归损失,适用于需要动态调整损失焦点的情况,如不均匀分布的目标或不同尺度的目标检测。

  4. XIoU、NWD、RepulsionLoss: 这些损失函数是YOLOv8提出的70多种IoU损失函数的改进之一,用于进一步优化目标检测性能。

总结:

从IoU到CIoU的发展,反映了目标检测领域对于边界框预测精度要求的提高。每种损失函数都试图以不同的方式解决边界框预测中的特定问题,如非重叠情况下的梯度消失、尺度不变性、以及形状相似性等。通过这些损失函数的应用,目标检测模型能够更准确地定位图像中的对象。

2. 分类任务损失函数

分类任务的目标是预测离散类别的标签,常用损失函数包括:
任务: 预测一个离散类别,如垃圾邮件检测、手写数字识别等。

  • 二元交叉熵损失(Binary Cross-Entropy Loss): 用于二分类问题。
    L = − ( y i ⋅ log ⁡ ( y ^ i ) + ( 1 − y i ) ⋅ log ⁡ ( 1 − y ^ i ) ) L = -\left( y_i \cdot \log(\hat{y}_i) + (1 - y_i) \cdot \log(1 - \hat{y}_i) \right) L=(yilog(y^i)+(1yi)log(1y^i))假设我们有一个二分类问题,比如判断邮件是否为垃圾邮件。这个损失函数衡量的是模型认为邮件是垃圾邮件的概率与实际标签(是或否)之间的差异。

  • 多类交叉熵损失(Categorical Cross-Entropy Loss): 用于多分类问题。
    L = − ∑ c = 1 M y i c ⋅ log ⁡ ( y ^ i c ) L = -\sum_{c=1}^{M} y_{ic} \cdot \log(\hat{y}_{ic}) L=c=1Myiclog(y^ic)对于有多于两个类别的问题,比如手写数字识别(0到9的数字)。这个损失函数衡量的是模型对每个类别预测概率的分布与真实标签的分布之间的差异。其中, M M M是类别的数量, y i c y_{ic} yic是一个指示器,当类别 c c c是正确的类别时为1,否则为0。

  • Hinge损失(Hinge Loss): 支持向量机(SVM)中使用。
    L = max ⁡ ( 0 , 1 − ( y i ⋅ y ^ i ) ) L = \max(0, 1 - (y_i \cdot \hat{y}_i)) L=max(0,1(yiy^i))
    例子: 假设你正在尝试区分猫和狗的图片。如果一张图片是猫,那么它的正确标签是-1。如果模型预测图片是猫(即输出了一个负值),并且很准确,那么 y i ⋅ y ^ i y_i \cdot \hat{y}_i yiy^i会是一个较大的负数,乘积为正值,Hinge损失就会是0,因为模型已经很好地分类了这个样本。反之,如果模型预测是一个正值(认为图片是狗),那么损失就会是一个正数,意味着模型犯了一个错误,需要调整。

  • Focal损失(Focal Loss):
    Focal损失是为了解决类别不平衡问题而提出的。在一些情况下,某些类别的样本数量可能远多于其他类别,导致模型对多数类过拟合,而对少数类则难以学习。Focal损失通过减少对“简单”样本(即模型已经很好分类的样本)的关注,而增加对“困难”样本(模型分类不够准确的样本)的关注来解决这个问题。这就像是老师在课堂上决定花更多的时间帮助那些学习有困难的学生,而不是已经表现很好的学生。
    L = − α t ( 1 − y ^ i ) γ ⋅ log ⁡ ( y ^ i ) L = -\alpha_t (1 - \hat{y}_i)^{\gamma} \cdot \log(\hat{y}_i) L=αt(1y^i)γlog(y^i)
    其中, α t \alpha_t αt 是平衡因子, γ \gamma γ是调节因子。
    例子: 继续上面猫狗图片分类的例子,假设“猫”类别的图片非常多,而“狗”类别的图片非常少。如果模型大多数时间都在学习区分不同种类的“猫”,而对“狗”的图片关注不足。使用Focal损失后,模型会对那些分类错误的“狗”图片给予更多的权重,从而鼓励模型更关注少数类,改善分类性能。

3. 排序任务损失函数

排序任务通常涉及到对一组项进行排序,常用损失函数包括:
任务: 预测项目之间的相对顺序,如搜索引擎结果排序。

  • Pairwise排序损失: 如三元组损失(Triplet Loss)。
    用于训练一个系统,比如面部识别,要求系统能够识别出人脸之间的相似性或差异性。三元组损失会取一个锚点样本,一个相似样本和一个不同样本,然后确保锚点与相似样本之间的距离小于锚点与不同样本之间的距离。
    L = ∑ i = 1 n max ⁡ ( 0 , d ( a i , p i ) − d ( a i , n i ) + m a r g i n ) L = \sum_{i=1}^{n} \max(0, d(a_i, p_i) - d(a_i, n_i) + margin) L=i=1nmax(0,d(ai,pi)d(ai,ni)+margin)
    其中 a i a_i ai是锚点, p i p_i pi 是正样本, n i n_i ni 是负样本, d d d是样本之间的距离, m a r g i n margin margin是边界。

  • Listwise排序损失: 如直接优化排序任务的NDCG(Normalized Discounted Cumulative Gain)。

4. 生成任务损失函数

生成任务如生成对抗网络(GANs)中使用特殊的损失函数:
任务: 创建新的数据实例,如生成图片、音乐等。

  • 最小二乘GAN(Least Squares GAN):
    L D = 1 n ∑ i = 1 n ( D ( x i ) − r ) 2 L_D = \frac{1}{n} \sum_{i=1}^{n} (D(x_i) - r)^2 LD=n1i=1n(D(xi)r)2
    L G = 1 n ∑ i = 1 n ( D ( G ( z i ) ) − ( 1 − r ) ) 2 L_G = \frac{1}{n} \sum_{i=1}^{n} (D(G(z_i)) - (1 - r))^2 LG=n1i=1n(D(G(zi))(1r))2
    其中 D D D是判别器, G G G是生成器, r r r是介于0和1之间的常数。

  • Wasserstein损失: 提高GAN训练的稳定性。
    用于生成对抗网络(GANs),比如生成看起来像梵高画风的图片。这个损失函数能够更稳定地训练GAN,通过最大化真实图片与生成图片之间的Wasserstein距离。
    L D = ∑ i = 1 n D ( x i ) − E q ( z ) [ D ( G ( z ) ) ] L_D = \sum_{i=1}^{n} D(x_i) - \mathbb{E}_{q(z)} [D(G(z))] LD=i=1nD(xi)Eq(z)[D(G(z))]
    L G = − E q ( z ) [ D ( G ( z ) ) ] L_G = -\mathbb{E}_{q(z)} [D(G(z))] LG=Eq(z)[D(G(z))]
    其中 q ( z ) q(z) q(z)是先验噪声分布。

这些损失函数的选择和设计对于模型能否有效学习和其最终性能至关重要。在设计损失函数时,研究人员会考虑任务特性、模型架构以及训练目标。

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

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

相关文章

微信开发api、微信视频号开发

接口地址: http://api.videostui.com/finder/v2/api/login/checkLogin 接口说明 获取到登录二维码后需每间隔5s调用本接口来判断是否登录成功新设备登录平台,次日凌晨会掉线一次,重新登录时需调用获取二维码且传appId取码,登录成…

Outlook邮箱如何撤回一封已发送邮件?~网页版上

点【已发送邮件】 双击要撤回的已发送的那个邮件 点【…】 点击【撤回消息】 点【确定】 结束!

使用LocalGPT+cpolar打造可远程访问的本地私有类chatgpt服务

文章目录 前言环境准备1. localGPT部署2. 启动和使用3. 安装cpolar 内网穿透4. 创建公网地址5. 公网地址访问6. 固定公网地址 前言 本文主要介绍如何本地部署LocalGPT并实现远程访问,由于localGPT只能通过本地局域网IP地址端口号的形式访问,实现远程访问…

【源代码】使用Vision Pro远程操控机器人

1、OpenTeleVision 是一个开源项目,提供远程操作功能 2、可以从 VisionPro 或 Meta Quest 3 中流式传输头部、手部和腕部数据 3、可以将实时立体视频从摄像头流式传输到 VR 设备 4、需要在 Ubuntu 机器上安装 Zed SDK 和 mkcert,以便在本地进行测试 …

全新突破:「Paraverse平行云」实现3D/XR企业级应用全面接入Apple Vision Pro

在前不久举行的GTC开发者大会上,英伟达引领行业风向,宣布其Omniverse平台能够助力企业将3D/XR应用流畅传输至Apple Vision Pro混合现实头显。在英伟达与苹果这两大科技巨头的合作下,此举标志着3D/XR技术迈向新纪元的关键一步。「Paraverse平行云」实时云…

基于STM32单片机的汽车胎压、速度及状态监测系统设计与实现

基于STM32单片机的汽车胎压、速度及状态监测系统设计与实现 摘要: 随着汽车电子技术的快速发展,车辆状态实时监控系统的需求日益增长。本文设计并实现了一种基于STM32单片机的汽车胎压、速度及状态监测系统。该系统能够实时监测汽车的胎压、速度以及其他…

算法设计与分析4.1 迷宫问题 栈与队列解法、打印矩阵、三壶问题、蛮力匹配

1.ROSE矩阵 实现&#xff1a; 使用算法2 分析&#xff1a; 每半圈元素值的增长规律变换一次 设增量为t&#xff0c;每半圈变换一次t <— -t . 设矩阵边长为i&#xff0c;每半圈的元素个数是2*(i-1)个&#xff0c;hc为记数变量&#xff0c;则1≤hc<2i-1&#xff0c;前1/…

ChatGLM2-6B的部署步骤_A3

ChatGLM2-6B 下载地址 一、VisualGLM-6B环境安装 1、硬件配置 操作系统&#xff1a;Ubuntu_64&#xff08;ubuntu22.04.3&#xff09; GPU&#xff1a;4050 显存&#xff1a;16G 2、配置环境 建议最好自己新建一个conda环境 conda create -n chatglm2 python3.8pip …

【go项目01_学习记录day01】

博客系统 1 vscode开发go项目插件推荐1.1 CtrlShiftP&#xff08;俗称万能键&#xff09; &#xff1a;打开命令面板。在打开的输入框内&#xff0c;可以输入任何命令。1.2 开发时&#xff0c;我们需要经常查阅 Go 语言官方文档&#xff0c;可惜因国内访问外网不稳定&#xff0…

STM32开启停止模式,用外部中断唤醒程序运行

今天学习了一下STM32的停止模式&#xff0c;停止模式下&#xff0c;所有外设的时钟和CPU的电源都会被关闭&#xff0c;所以会很省电&#xff0c;打破这种停止模式的方式就是外部中断可以唤醒停止模式。要想实现这个功能&#xff0c;其实设置很简单的&#xff0c;总共就需要两步…

《C语言深度解剖》(10):数组指针、指针数组和数组指针数组

&#x1f921;博客主页&#xff1a;醉竺 &#x1f970;本文专栏&#xff1a;《C语言深度解剖》《精通C指针》 &#x1f63b;欢迎关注&#xff1a;感谢大家的点赞评论关注&#xff0c;祝您学有所成&#xff01; ✨✨&#x1f49c;&#x1f49b;想要学习更多C语言深度解剖点击专栏…

情感类ppt素材

小清新手绘插画风毕业季毕业相册同学录画册纪念册PPT下载 - 觅知网这是一张关于清新毕业相册的PPT模板&#xff0c;清新风格设计&#xff0c;加上风为装饰元素&#xff0c;包含毕业相册、毕业季、毕业、同学、纪念等主题内容&#xff0c;也可用作毕业相册PPT、毕业季PPT、毕业P…

陪诊小程序:温情陪伴,就医无忧

在快节奏的现代生活中&#xff0c;健康问题时常困扰着我们。每当身体出现不适&#xff0c;前往医院就诊便成为了一项必要的任务。然而&#xff0c;面对陌生的医院环境、繁琐的就诊流程&#xff0c;许多人往往会感到无助和困惑。此时&#xff0c;一款贴心的陪诊小程序便显得尤为…

国内首个图计算平台团体标准发布,创邻科技参与编撰

2024年&#xff0c;由中国通信标准协会批准的团体标准《大数据 图计算平台技术要求与测试方法》&#xff08;编号&#xff1a;T/CCSA 470—2023&#xff09;&#xff08;下称&#xff1a;标准&#xff09;正式实施。该标准于1月4日在全国团体标准信息平台&#xff08;https://w…

AI系列:大语言模型的RAG(检索增强生成)技术(上)

前言 大型语言模型&#xff08;LLM&#xff09;虽然在生成文本方面表现出色&#xff0c;但仍然存在一些局限性&#xff1a;数据是静态的&#xff0c;而且缺乏垂直细分领域的知识。为了克服这些限制&#xff0c;有时候会进行进一步的模型训练和微调。在实际应用中&#xff0c;我…

在Android中,如何通过Kotlin协程处理多个API调用

在Android中&#xff0c;如何通过Kotlin协程处理多个API调用 在Android开发中&#xff0c;如何使用Kotlin协程处理多个API调用的示例呢&#xff1f;假设我们已经对Kotlin协程有了一定的了解&#xff0c;包括定义、简单用例和示例等。现在&#xff0c;让我们来看一些真实的Andr…

如何下载钉钉群直播回放:完整步骤解析

在当今快节奏的商业和教育环境中&#xff0c;钉钉群直播已经成为了沟通和学习的重要工具。直播结束后&#xff0c;很多观众都希望回顾内容&#xff0c;但却不知如何开始。如果你错过了实时直播&#xff0c;或者只是想再次观看精彩的演讲和讨论&#xff0c;那么下载钉钉群直播回…

常见的数据结构,附带图解

概述 数据结构是指计算机底层存储、组织数据的方式。是指数据相互之间是以什么方式排列在一起的。 常见数据结构&#xff1a;栈、队列、数组、链表、二叉树、二叉查找树、平衡二叉树、红黑树... 栈 后进先出、先进后出 队列 先进先出&#xff0c;后进后出 数组 查询速度快…

Spark01 —— Spark基础

文章目录 Spark01 —— Spark基础一、为什么选择Spark&#xff1f;1.1 MapReduce编程模型的局限性1.2 Spark与MR的区别1.3 版本1.4 优势1.5 Spark其他知识1、多种运行模式2、技术栈3、spark-shell&#xff1a;Spark自带的交互式工具4、Spark服务 二、Spark的基础配置三、Spark实…

【蓝桥杯省赛真题42】python独立海域 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析

目录 python独立海域 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python独立海域 第十三届蓝桥杯青少年组python省赛真题 一、题目要求 &…