深度学习中的查全率与查准率:如何实现有效权衡
📌 友情提示:
本文内容由银河易创AI(https://ai.eaigx.com)创作平台的gpt-4-turbo模型辅助生成,旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证,建议读者通过官方文档或实践进一步确认其准确性。
在深度学习和机器学习领域,性能评价指标的选择至关重要。查全率(Recall)与查准率(Precision)是用于分类模型性能评估的两个重要指标。在很多情况下,这两个指标之间存在着天然的权衡关系。本文将深入探讨查全率与查准率的定义、作用,以及在实际应用中的权衡策略。
一、查全率与查准率的定义
在深度学习和机器学习的模型评估中,查全率(Recall)和查准率(Precision)是评价分类模型性能的两种基本指标。为了更好地理解这两个概念,我们需要从它们的定义、计算方式,以及在多种应用场景中的具体意义进行深入剖析。
1.1 查全率(Recall)
查全率,有时也称为“敏感性”或“真正率”,反映的是模型识别正样本的能力。具体而言,查全率计算的是模型预测为正的样本中,实际为正的比例。它的高中反映了模型在捕捉正类样本(即关注对象,如疾病、某种事件等)的有效性。在许多实际应用中,查全率是一个非常重要的指标,尤其是在对待错误分类有严重后果的领域,例如医疗诊断、信用卡欺诈检测等。
查全率的计算公式为:
其中:
- TPTP(True Positive):真正例,指的是模型成功预测为正的样本数量,即那些模型正确地识别出的正样本。
- FNFN(False Negative):假负例,指的是那些实际为正但被模型错误预测为负的样本数量。漏掉这些样本往往会导致严重后果,因此查全率越高,表示模型对正样本的捕捉能力越强。
对于某些特定任务,例如肿瘤检测,获取高查全率是至关重要的,因为漏诊可能会对患者的生命健康造成直接威胁。因此,在这类场景中,即使这可能导致增加假阳性(即对正常样本的误判),也更倾向于优先关注提高查全率。
1.2 查准率(Precision)
查准率,也称为“精确率”,是衡量分类模型输出结果中正类预测的准确性。它表示的是在所有被预测为正的样本中,实际为正的比例。高查准率意味着模型对正样本的预测具有较高的准确性,从而避免了误报的风险。这在一些对假阳性非常敏感的领域中尤为重要,如垃圾邮件过滤、异常检测等。
查准率的计算公式为:
其中:
- TPTP(True Positive):同样指的是模型正确预测为正的样本数量。
- FPFP(False Positive):假正例,指的是那些实际为负但被模型错误预测为正的样本数量。若假正例过多,将导致误报,因此需要对其进行控制。
以垃圾邮件分类为例,如果模型将大量正常邮件误判为垃圾邮件,用户的体验将受到极大影响。因此,在这种情况下,我们更应关注查准率,确保分类结果的准确性。
1.3 实际应用中的重要性
在机器学习和深度学习模型的评估过程中,查全率和查准率不是孤立存在的,而是互相交织、相辅相成的。适当的平衡这两个指标的权重是实现最佳模型性能的关键。以下是一些具体案例,进一步说明了查全率和查准率在实际中的重要性:
- 医疗诊断:在某些疾病的筛查中,医生可能更倾向于降低查准率以提高查全率,确保不会漏掉任何患者。
- 金融欺诈检测:金融机构需要兼顾查全率和查准率,以保证能够捕捉到尽可能多的欺诈行为,同时又不至于对正常交易产生过多的误判。
- 图像识别:在物体识别任务中,确保模型能够正确检测到所有相关物体(高查全率),并且对于预测为物体的样本有较高的正确率(高查准率)同样重要。
通过以上分析,我们可以看到查全率和查准率在模型评估中的重要性与相互关系,为后续探讨二者的权衡提供了坚实的基础。
二、查全率与查准率的权衡
在实际应用中,查全率和查准率是评估分类模型性能的两个核心指标。它们各自代表了模型在不同方面的表现,然而,在许多情况下,提升一个指标往往会导致另一个指标的下降。这种现象在实际应用中经常出现,因此如何权衡查全率和查准率,是机器学习模型优化过程中的一个重要课题。
2.1 查全率与查准率的负相关性
查全率和查准率的负相关性源于模型预测的阈值设置。通常,分类模型会根据某个概率值来决定一个样本是否属于正类。例如,如果模型预测一个样本为正类的概率大于某个预设的阈值,那么该样本就会被预测为正类,否则预测为负类。
-
提高查全率:为了提高查全率,我们可以将这个阈值降低。这意味着模型会更容易将样本预测为正类,从而增加真正例的数量,这样可以捕捉更多的正样本。这样做的一个副作用是,模型也会误将一些负类样本预测为正类,导致假正例(FP)增多,从而降低查准率。
-
提高查准率:为了提高查准率,我们可以将阈值提高,只有那些预测为正类的概率非常高的样本才会被分类为正类。这样一来,模型会减少假正例的数量,从而提高查准率。然而,设置较高的阈值意味着许多真正的正类样本(特别是那些置信度较低的样本)可能会被漏掉,从而导致假负例(FN)增多,降低查全率。
因此,查全率和查准率之间的关系通常呈现负相关,即提升一个指标往往会牺牲另一个指标。
2.2 权衡的必要性
在许多实际任务中,我们无法单纯追求提高查全率或查准率中的某一个指标,而忽视另一个指标的重要性。不同应用场景下对查全率和查准率的要求不同,因此合理的权衡成为了模型优化的核心任务。
2.2.1 查全率高于查准率的场景
有些任务中,我们希望最大程度地捕获所有正类样本,即使这意味着会产生一些假正例。例如,在医疗诊断中,我们宁愿将一些正常的患者误诊为患病(假正例),也不希望漏掉任何一个实际患病的患者(假负例)。这种情况下,提升查全率比提高查准率更加重要。
- 癌症筛查:如果癌症筛查系统错过了一个实际患癌的患者,可能会导致患者错过最佳治疗时机,甚至危及生命。因此,增加查全率,即使会导致一些误报,依然是首要任务。
2.2.2 查准率高于查全率的场景
而在另一些场景中,我们更关心模型的准确性,避免产生过多的假正例。例如,在垃圾邮件过滤中,我们宁愿漏掉一些垃圾邮件(假负例),也不希望将正常邮件误判为垃圾邮件(假正例),因为误判正常邮件为垃圾邮件会严重影响用户体验。
- 垃圾邮件分类:如果一个正常邮件被误分类为垃圾邮件,用户可能会错过重要的邮件,影响工作和生活。因此,在这种情况下,提升查准率、减少误报才是优化的重点。
2.3 F1 Score:解决查全率与查准率的平衡
在很多情况下,我们需要同时考虑查全率和查准率,而不仅仅是专注于其中一个指标。在这种背景下,F1 Score作为一个综合指标,提供了一个查全率和查准率之间的平衡。
F1 Score是查全率和查准率的调和平均数,其计算公式为:
F1 Score的取值范围在0到1之间,值越大表示模型在查全率和查准率之间取得了较好的平衡。F1 Score尤其适用于那些对查全率和查准率都有较高要求的任务,例如多类分类问题和不均衡数据集中的分类问题。
在实际优化过程中,F1 Score能够有效地避免过度优化某一个指标,而忽视另一个指标。对于那些对查全率和查准率都需要兼顾的任务,F1 Score无疑是一个重要的评估标准。
2.4 通过调整模型阈值实现权衡
在实际操作中,调整模型的预测阈值是实现查全率和查准率平衡的重要手段。通过不同的阈值选择,我们可以控制模型在判定正类和负类样本时的“敏感度”和“专一性”,从而调整查全率和查准率之间的权衡。
-
降低阈值:适用于需要提高查全率的场景(如疾病筛查)。通过将预测为正类的阈值降低,模型会更容易将样本判定为正类,从而提高查全率,尽管这可能导致更多的假正例。
-
提高阈值:适用于需要提高查准率的场景(如垃圾邮件分类)。通过提高预测为正类的阈值,模型更严格地要求正类样本的预测置信度,这可以减少假正例,但可能导致一些正类样本被漏掉,降低查全率。
2.5 数据不平衡与权衡
在数据不平衡的情况下,查全率和查准率的权衡更加复杂。在不平衡数据集上,模型往往会偏向于多数类,从而影响对少数类的识别效果。在这种情况下,除了查全率和查准率,ROC曲线和AUC值等评估指标也变得尤为重要。为了应对数据不平衡问题,常常需要采用加权损失函数、过采样/欠采样技术,或者通过集成方法提高模型对少数类的识别能力。
2.6 综合策略:选择最合适的权衡
总的来说,查全率和查准率的权衡是一个根据具体任务需求而定的决策问题。在实际应用中,选择合适的权衡策略,结合任务的实际需求、业务场景以及性能要求,才能设计出最优的分类模型。
2.7 小结
查全率和查准率在深度学习模型优化过程中始终存在着相互制约的关系。为了更好地平衡这两个指标,我们可以通过调整阈值、选择合适的损失函数、引入F1 Score等综合性评估指标,来实现不同应用场景下的优化目标。最终,能够根据不同的应用背景和目标,灵活地调节查全率与查准率之间的关系,获得最佳的模型性能。
三、如何实现查全率与查准率的有权衡
在深度学习和机器学习中,高效地实现查全率(Recall)与查准率(Precision)的权衡是构建高性能分类模型的核心目标之一。为了实现这一目标,研究者和实践者可以采用多种策略,包括调整模型的预测阈值、设计加权损失函数、利用集成方法、优化特征选择和数据处理等。以下将对这些策略进行详细探讨。
3.1 选择合适的阈值
在二分类问题中,模型通常会输出一个概率值,表示某样本属于正类的可能性。通过调整这个概率阈值,我们能够有效控制查全率和查准率之间的平衡。
-
降低阈值:在需要提高查全率的场景中,可以选择较低的阈值。这将使得更多样本被分类为正类,从而增加查全率。在实际应用中,比如肿瘤筛查,优先捕捉到所有可能的病人即使会带来误报,这样可以保障病人得到及时检查。
-
提高阈值:反之,在需要提升查准率的场景中,可以提高阈值,只有那些概率高于某个较高的值的样本才会被标记为正类。这种方法常用于垃圾邮件分类等任务,能够有效减少误报,提升用户体验。
采用合适的阈值可以通过ROC曲线(接收者操作特征曲线)进行可视化分析,帮助我们直观了解查全率和查准率之间的权衡。在ROC曲线上,我们可以根据需要选择最佳的操作点。
3.2 采用加权损失函数
在不平衡数据集上,简单的损失函数可能会导致模型产生偏向于多数类的预测,从而影响少数类的识别能力。为了平衡查全率和查准率,可以设计加权损失函数,使得模型在训练过程中对不同类别的样本给予不同的关注度。
-
增加正类样本的权重:通过给予正类样本更大的权重,模型会在训练时更加注重提高查全率,从而有效减少假负例。这在医学影像分析等场景中尤为重要,因为我们希望最大程度地捕捉到所有患病的患者。
-
减少负类样本的权重:在某些情况下,可以减少负类样本的权重,从而使模型对正类样本的误分类保持敏感。
加权损失函数可以有效引导模型实现对查全率和查准率的综合优化,尤其是在数据不均衡的情况。
3.3 使用集成方法
集成学习通过结合多个模型的预测结果,可以显著提高性能,同时实现查全率和查准率的平衡。常见的集成方法包括随机森林、梯度提升树等。
-
随机森林:通过构建多个决策树,随机选择特征和样本,有效提高模型的稳定性。这种方法可以在集成过程中减少过拟合的风险,进一步优化查全率和查准率。
-
Bagging与Boosting:Bagging方法如随机森林,通过自助法从原始数据集中采样来训练多个模型,而Boosting方法如XGBoost通过逐步训练和加权调整来提高模型的性能。这些集成方法能够有效减少分类的不确定性,使得最终模型不仅在查全率上有所提升,也能在查准率上达到理想效果。
集成学习不仅提高了模型性能,也为实现查全率与查准率的平衡提供了强有力的工具。
3.4 特征选择与工程
特征选择是影响模型性能的重要因素,合适的特征集合能够帮助模型提取更具信息量的特征,从而实现更好的分类效果。
-
去除冗余特征:通过去除与目标变量无关或冗余的特征,可以减少模型的复杂性,提升最终结果的准确性,从而实现更高的查准率。
-
生成新特征:通过特征工程生成新的、更加代表性的特征,也能有效提高模型的综合性能。这些特征可以帮助模型在查全率与查准率之间达成权衡。
特征选择和工程不仅可以改善模型性能,还能提升查全率与查准率的协同作用。
3.5 数据处理技术
在实际应用中,数据的预处理和采样技巧也是实现查全率与查准率有效权衡的重要手段,包括数据清洗、过采样和欠采样等方法。
-
过采样(Oversampling) :对少数类样本进行重采样,通过生成新的样本(如SMOTE - 生成对抗样本)来提升少数类数量,从而提高查全率。重采样可以使模型在训练时获得更多的正类样本,提高其对正样本的捕捉能力。
-
欠采样(Undersampling) :减少多数类样本数量,以达到数据平衡。在特定数据集中,由于负类样本数量过多,会使得模型受到信息的不平衡影响。因此适当欠采样可以帮助模型在查全率与查准率之间达到平衡。
3.6 评估与监控
在整个模型开发与部署的过程中,保持对模型性能的持续监控至关重要。通过设置合适的监控指标,如F1 Score、查全率、查准率等,能够及时对模型性能进行评估,并根据反馈调整模型。
-
A/B测试:通过不同版本的模型对比测试,评估各版本在实际应用环境中的性能表现。根据测试结果,选择表现更好的模型,进而优化查全率和查准率。
-
后续优化:在模型上线后的实际应用中,持续收集数据和监控指标会帮助发现潜在的问题,并进行迭代优化。这不仅有助于提升模型在特定领域的准确性,还能针对变化不断调整查全率与查准率的平衡。
3.7 小结
实现查全率与查准率的有效权衡是训练高性能分类模型的关键步骤。在此过程中,选择合适的阈值、采用加权损失函数、应用集成方法、优化特征选择和数据处理,以及持续监控模型性能,无一不在为模型在查全率与查准率之间找到最佳平衡点提供了有力的支撑。通过这些策略,我们可以在不同的应用场景中取得理想的结果,满足特定业务需求。最终,这一过程将促使我们构建出更加稳健且性能优异的深度学习模型。
四、总结
查全率与查准率是深度学习与机器学习中评估模型性能的两个重要指标。在不同的应用场景中,两者可能存在明显的权衡关系。因此,在模型训练与评估的过程中,选择适合的权衡策略至关重要。通过合理地选择阈值、设计加权损失函数及利用集成方法,可以有效提升模型的综合性能。希望本篇文章能为读者在理解深度学习模型评估提供指导。
相关文章:
深度学习中的查全率与查准率:如何实现有效权衡
📌 友情提示: 本文内容由银河易创AI(https://ai.eaigx.com)创作平台的gpt-4-turbo模型辅助生成,旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证,建议读者通过官方文档或实践进一步确认…...
文件名是 E:\20250512_191204.mp4, EV软件录屏,未保存直接关机损坏, 如何修复?
去github上下载untrunc 工具就能修复 https://github.com/anthwlock/untrunc/releases 如果访问不了 本机的 hosts文件设置 140.82.112.3 github.com 199.232.69.194 github.global.ssl.fastly.net 就能访问了 实在不行,从这里下载,传上去了 https://do…...
界面控件DevExpress WinForms v24.2 - 数据处理功能增强
DevExpress WinForms拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜…...
Web UI测试效率低?来试Parasoft Selenic的智能修复与分析!
如果你正在使用Selenium进行Web UI测试,但被测试维护的繁琐、测试不稳定以及测试执行缓慢等问题困扰,不妨试试Parasoft Selenic! Parasoft Selenic能够通过智能修复与分析功能,帮你自动检测并修复测试中的不稳定因素,…...
计算机视觉最不卷的方向:三维重建学习路线梳理
提到计算机视觉(CV),大多数人脑海中会立马浮现出一个字:“卷”。卷到什么程度呢?2022年秋招CV工程师岗位数下降了16%,但求职人数增加了23%,求职人数与招聘岗位的比例达到了恐怖的15:1࿰…...
国产 ETL 数据集成厂商推荐—谷云科技 RestCloud
数字化转型加速推进的商业环境中,数据已成为企业最为关键的资产之一。然而,随着企业信息化的建设不断深入,各个业务系统之间数据分散、格式不一、难以互通等问题日益凸显,严重制约了企业对数据价值的深度挖掘与高效利用。在此背景…...
vscode extention踩坑记
# npx vsce package --allow-missing-repository --no-dependencies #耗时且不稳定 npx vsce package --allow-missing-repository #用这行 code --install-extension $vsixFileName --force我问ai:为什么我的.vsix文件大了那么多 ai答:因为你没有用 --n…...
AI时代的弯道超车之第十二章:英语和编程重要性?
在这个AI重塑世界的时代,你还在原地观望吗?是时候弯道超车,抢占先机了! 李尚龙倾力打造——《AI时代的弯道超车:用人工智能逆袭人生》专栏,带你系统掌握AI知识,从入门到实战,全方位提升认知与竞争力! 内容亮点: AI基础 + 核心技术讲解 职场赋能 + 创业路径揭秘 打破…...
关于数据湖和数据仓的一些概念
一、前言 随着各行业数字化发展的深化,数据资产和数据价值已越来越被深入企业重要发展的战略重心,海量数据已成为多数企业生产实际面临的重要问题,无论存储容量还是成本,可靠性都成为考验企业数据治理的考验。本文来看下海量数据存储的数据湖和数据仓,数据仓库和数据湖,…...
hbase shell的常用命令
一、hbase shell的基础命令 # 客户端登录 [rootCloud-Hadoop-NN-02 hbase]$ ./bin/hbase shell# 查看所有表 hbase> list### 创建数据表student,包含Sname、Ssex、Sage、Sdept、course列族/列 ### 说明:列族不指定列名时,列族可以直接成为…...
高并发内存池(四):Page Cache结构设计
目录 一,项目整体框架回顾 Thread Cache结构 Central Cache结构 二,Page Cache大致框架 三,Page Cache申请内存实现 Central Cache向Page Cache申请内存接口 从Page Cache中获取span接口 Page Cache加锁问题 申请内存完整过程 源码&a…...
易学探索助手-项目记录(九)
本文介绍本地大模型推理数据集构成 (一)古籍数据获取 以44种竖向从右至左排列的繁体古文为研究对象,通过OCR识别、XML结构化处理,最终生成符合大模型训练要求的数据集。 1.技术路线设计 图像处理层:PaddleOCR识别竖…...
Idea 设置编码UTF-8 Idea中 .properties 配置文件中文乱码
Idea 设置编码UTF-8 Idea中 .properties 配置文件中文乱码 一、设置编码 1、步骤: File -> Setting -> Editor -> File encodings --> 设置编码二、配置文件中文乱码 1、步骤: File -> Setting -> Editor -> File encodings ->…...
Redis缓存穿透、雪崩、击穿的解决方案?
Redis 缓存问题解决方案及Java实现 一、缓存穿透解决方案 (缓存穿透指查询不存在数据,绕过缓存直接访问数据库) 1. 布隆过滤器 空值缓存 注意点: 1.布隆过滤器是需要预热数据的,就是需要输入当前数据库已经存在的…...
第29节:现代CNN架构-Inception系列模型
引言 Inception系列模型是卷积神经网络(CNN)发展历程中的重要里程碑,由Google研究人员提出并不断演进。这一系列模型通过创新的架构设计,在保持计算效率的同时显著提升了图像识别任务的性能。从最初的Inception v1到最新的Inception-ResNet,每一代Inception模型都引入了突破…...
初识C++:类和对象(上)
概述:本篇博客主要讲解类和对象的学习。 目录 1. 类的定义 1.1 类定义格式 1.2 访问限定符 1.3 类域 2.实例化 2.1 实例化概念 2.2 this指针 3. 小结 1. 类的定义 1.1 类定义格式 class为定义类的关键字,Stack为类的名字,{} 中为类的…...
腾讯 IMA 工作台升级:新增知识库广场与 @提问功能
目录 一、引言 二、知识库广场功能 2.1 功能架构解析 2.2 技术实现突破 三、知识库提问功能 3.1 交互模式革新 3.2 技术底层逻辑 四、实战价值 4.1 知识管理方面 4.2 工作效率提升方面 4.3 团队协作方面 4.4 知识变现方面 五、未来展望 5.1 技术演进方向 5.2 商业…...
[目标检测] YOLO系列算法讲解
前言 目标检测就是做到给模型输入一张图片或者视频,模型可以迅速判断出视频和图片里面感兴趣的目标所有的位置和它 的类别,而当前最热门的目标检测的模型也就是YOLO系列了。 YOLO系列的模型的提出,是为了解决当时目标检测的模型帧率太低而提…...
Python 之 selenium 打开浏览器指定端口进行接续操作
一般使用 selenium 进行数据爬取时,常用处理流程是让 selenium 从打开浏览器开始,完成全流程的所有操作。但是有时候,我们希望用户先自己打开浏览器进入指定网页,完成登录认证等一系列操作之后(比如用户、密码、短信验…...
GPUGeek携手ComfyUI :低成本文生图的高效解决方案
一、文生图领域的困境与ComfyUI的优势 在当今数字化创意表达的时代,文生图技术日益受到关注。像豆包这类以语言交互为主的大模型,虽然在文本处理上表现出色,但在文生图方面,其生成效果难以达到专业图像创作的要求。而Midjourney&…...
OpenCV CUDA 模块中用于在 GPU 上计算两个数组对应元素差值的绝对值函数absdiff(
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 void cv::cuda::absdiff 是 OpenCV CUDA 模块中的一个函数,用于在 GPU 上计算两个数组对应元素差值的绝对值。 该函数会逐元素计算两…...
互联网大厂Java面试题:深入解析SpringCloud微服务架构中的服务注册与发现机制
互联网大厂Java面试题:深入解析SpringCloud微服务架构中的服务注册与发现机制 面试题 问题: 在SpringCloud微服务架构中,服务注册与发现是核心功能之一。请详细说明Nacos作为服务注册中心的实现原理,并对比其与Eureka的异同点。…...
东芝新四款产品“TB67Z830SFTG、TB67Z830HFTG、TB67Z850SFTG、TB67Z850HFTG系列三相栅极驱动器ic三相栅极驱动器IC
支持用于电动工具、吸尘器、工业机器人等的三相无刷DC电机 东芝电子设备与存储公司(简称“东芝”)推出了TB67Z83xxFTG系列三相栅极驱动器ic的四个产品和TB67Z85xxFTG系列三相栅极驱动器IC的四个产品,用于消费和工业设备的三相无刷DC电机。通过将新产品与作为电机控制…...
react+html-docx-js将页面导出为docx
1.主要使用:html-docx-js进行前端导出 2.只兼容到word,wps兼容不太好 3.处理分页换行 4.处理页眉 index.tsx import { saveAs } from file-saver; import htmlToDocxGenerate from ./HtmlToDocx;const handleExportByHtml async () > {const expor…...
Linux基础 -- SSH 流式烧录与压缩传输笔记
Linux SSH 流式烧录与压缩传输指南 一、背景介绍 在嵌入式开发和维护中,常常需要通过 SSH 从 PC 向设备端传输大文件(如系统镜像、固件)并将其直接烧录到指定磁盘(如 /dev/mmcblk2)。然而,设备端存储空间…...
<论文>(微软)避免推荐域外物品:基于LLM的受限生成式推荐
一、摘要 本文介绍微软和深圳大学合作发表于2025年5月的论文《Avoid Recommending Out-of-Domain Items: Constrained Generative Recommendation with LLMs》。论文主要研究如何解决大语言模型(LLMs)在推荐系统中推荐域外物品的问题,提出了 …...
2025年渗透测试面试题总结-360[实习]安全工程师(题目+回答)
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 1. 自我介绍 2. WAF及其绕过方式 3. IPS/IDS/HIDS 4. 云安全 5. 绕过安骑士/安全狗 6. Gopher扩展…...
【机器学习】支持向量回归(SVR)从入门到实战:原理、实现与优化指南
前言 在机器学习的广阔领域中,回归分析作为预测连续型变量的重要手段,被广泛应用于金融预测、工业生产、科学研究等诸多场景。支持向量回归(SVR)作为回归算法家族中的佼佼者,凭借独特的理论优势与强大的实践能力脱颖而…...
右值引用的学习
传统的C语法中就有引用的语法,而C11中新增了的右值引用语法特性,所以从现在开始我们之前学习的引用就叫做左值引用。无论左值引用还是右值引用,都是给对象取别名。 左值引用和右值引用 在讲之前,我们先来看一下什么是左值和右值…...
碎片笔记|AI生成图像溯源方法源码复现经验(持续更新中……)
前言:本篇博客分享一些溯源方法的复现经验,希望能帮助到大家🎉。 目录 1. Close-set AttributionRepmixDe-FakeDNA-Net 2. Open-set AttributionPOSE 3. Single-Model AttributionOCC-CLIPLatentTracer 1. Close-set Attribution Repmix 论…...
elementplus el-tree 二次封装支持配置删除后展示展开或折叠编辑复选框懒加载功能
本文介绍了基于 ElementPlus 的 el-tree 组件进行二次封装的 TreeView 组件,使用 Vue3 和 JavaScript 实现。TreeView 组件通过 props 接收树形数据、配置项等,支持懒加载、节点展开/收起、节点点击、删除、编辑等操作。组件内部通过 ref 管理树实例&…...
【C/C++】深度探索c++对象模型_笔记
1. 对象内存布局 (1) 普通类(无虚函数) 成员变量排列:按声明顺序存储,但编译器会根据内存对齐规则插入填充字节(padding)。class Simple {char a; // 1字节(偏移0)int b; …...
Spring MVC数据绑定和响应 你了解多少?
数据绑定的概念 在程序运行时,Spring MVC接收到客户端的请求后,会根据客户端请求的参数和请求头等数据信息,将参数以特定的方式转换并绑定到处理器的形参中。Spring MVC中将请求消息数据与处理器的形参建立连接的过程就是Spring MVC的数据绑…...
外贸礼品禁忌
一、亚洲 1.印度 牛是神圣动物,别送牛皮制品。另外,左手不洁,送礼得用右手或双手。 2.日本 “梳” 和 “苦” 谐音,不送梳子。日本男性不咋佩戴首饰,除结婚戒指。礼物得装盒、纸包、绳饰,白色包装得有…...
【MySQL 基础篇】深入解析MySQL逻辑架构与查询执行流程
1 MySQL逻辑架构概述 MySQL 的逻辑架构主要分为 Server 层和存储引擎层两部分。 Server 层:包含连接器、查询缓存、分析器、优化器、执行器等组件。同时,所有的内置函数(如日期、时间、数学和加密函数等)也在这一层实现。此外&a…...
基于C#实现中央定位服务器的 P2P 网络聊天系统
基于中央定位服务器的 P2P 网络聊天系统 1 需求分析与实现功能 本次作业旨在实现一个基于中央定位服务器的 P2P 网络聊天系统,也即通过中央定位服务器实现登入,登出与好友的 IP 查询等操作,在好友间的通信使用 P2P 来完成,具体见…...
【C++】map和set的模拟实现
1.底层红黑树节点的定义 enum Colur {RED,BLACK }; template<class T> struct RBTreeNode {RBTreeNode<T>* _left;RBTreeNode<T>* _right;RBTreeNode<T>* _parent;T _data;Colur _col;RBTreeNode(const T& data):_left(nullptr), _right(nullptr…...
数据结构·字典树
字典树trie 顾名思义,在一个字符串的集合里查询某个字符串是否存在树形结构。 树存储方式上用的是结构体数组,类似满二叉树的形式。 模板 定义结构体和trie 结构体必须的内容:当前结点的字符,孩子数组可选:end用于查…...
centos服务器,疑似感染phishing家族钓鱼软件的检查
如果怀疑 CentOS 服务器感染了 Phishing 家族钓鱼软件,需要立即进行全面检查并采取相应措施。以下是详细的检查和处理步骤: 1. 立即隔离服务器 如果可能,将服务器从网络中隔离,以防止进一步传播或数据泄露。如果无法完全隔离&…...
(C语言)超市管理系统(测试2版)(指针)(数据结构)(清屏操作)
目录 前言: 源代码: product.h product.c fileio.h fileio.c main.c 代码解析: 一、程序结构概述 二、product.c 函数详解 1. 初始化商品列表 Init_products 2. 添加商品 add_product 3. 显示商品 display_products 4. 修改商品 mo…...
可变形卷积简介(Deformable Convolution)
1. 核心原理 可变形卷积通过动态调整卷积核的采样位置,增强模型对几何形变(如旋转、缩放)的适应能力。其核心改进包括: 偏移量(Offset):为卷积核的每个采样点学习 x / y x/y x/y方向的偏移量 …...
02_Servlet
目录 一、简介二、Servlet入门案例2.1、编写Servlet2.2、配置Servlet2.3、访问Servlet2.4、常见错误 三、Servlet详解3.1、实现Servlet的三种方式3.1.1、实现Servlet接口3.1.2、继承GenericServlet类3.1.3、继承HttpServlet类 3.2、配置Servlet的两种方式3.2.1、web.xml方式3.2…...
stm32之FLASH
目录 1.简介2.闪存模块组织3.基本结构3.1 FPEC3.2 程序存储器3.2.1 标准编程3.2.2 页擦除3.2.3 全擦除 3.3 选项字节3.3.1 编程3.3.2 擦除 4.器件电子签名5.实验-读取内部FLASH 1.简介 STM32F1系列的FLASH内存是一个非常重要的存储区域,它主要由三个部分组成&#…...
第3.4节 调用链路分析服务开发
3.4.1 什么是Code Call Graph(CCG) Code Call Graph(CCG)即业务代码中的调用关系图,是通过静态分析手段分析并构建出的一种描述代码间关系的图。根据精度不同,一般分为类级别、方法级别、控制流级别&#x…...
超详细Docker教程
前言:大家在在Linux上部署mysql及其他软件时,大家想一想自己最大的感受是什么? 我相信,除了个别天赋异禀的人以外,大多数人都会有相同的感受,那就是麻烦。核心体现在三点: 命令太多了ÿ…...
探索AI新领域:生成式人工智能认证(GAI认证)助力职场发展
在数字化时代的大潮中,人工智能(AI)技术以其强大的影响力和广泛的应用前景,正逐步重塑我们的生活与工作方式。随着生成式AI技术的崛起,掌握这一前沿技能已成为职场竞争中的关键优势。那么,如何通过系统的学…...
sql sql复习
虽然之前学习过sql,但由于重在赶学习进度,没有学扎实,导致自己刷题的时候有的地方还是模模糊糊,现在主要是复习,补一补知识点。 今日靶场: NSSCTF 云曦历年考核题 在做题之前先回顾一下sql注入的原理&…...
初探 Skynet:轻量级分布式游戏服务器框架实战
在游戏服务器开发领域,高效、稳定且易于扩展的框架一直是开发者追求的目标。Skynet 作为一款轻量级、高性能的分布式游戏服务器框架,凭借其独特的设计理念和强大的功能,赢得了众多开发者的青睐 一.Skynet底层架构支持 1.Actor erlang 从语言…...
libarchive.so.19丢失
文章目录 绝对路径可以启动,相对路径不可以以绝对路径启动conda环境,运行python3.8(成功) 报错 Error while loading conda entry point: conda-libmamba-solver (libarchive.so.19: cannot open shared object file: No such file or directory) sudo a…...
vue-ganttastic甘特图label标签横向滚动固定方法
这个甘特图之前插件里,没有找到能固定label标签在屏幕上的办法,用css各种办法都没有实现,所以我我直接手写定位,用js监听滚动条滚动的距离,然后同步移动甘特图label标签,造成一种定位的错觉,以下…...