链接预测常用评价指标

本文介绍链路预测在复杂网络中的应用,重点讨论了AUC和精确度两种评估指标的计算方法及其应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文参考2011年吕琳媛等发表的综述文章--Link prediction in complex networks: A survey,截止目前被引用量已达到1678次,可见该论文的影响力。

 前提:链路预测只能预测边,不能预测节点。只预测边!!!

论文中提出两种链路预测的评价指标:AUC和精确度(Precision)

1、 AUC:

 AUC指标的具体计算方法:

        首先我们知道衡量一个算法的好坏,需要把数据集划分为训练集和测试集,如何划分?比如可以删除10%的边(只删除边),那么这10%就是测试集,其余的90%的边和网络的全部节点就为训练集。那么还有其它的边吗?我想绝大数现实的网络都不是完全图吧,所以肯定有两个节点之间没有连边的情况,那这部分边,我们称之为不存在的边。

        一个算法(如CN)经过训练集训练得到网络中每一对节点之间的一个相似值(包括训练集中的边也会得到,测试集的边以及不存在的边显然也会得到)。

       AUC指标就是比较测试集中的边的相似值  与  不存在的边的相似性的大小。

       如果测试集中边的相似值大于不存在边的相似值,就说明效果好啊,+ 1呗;

      如果测试集中边的相似值等于不存在边的相似值,就说明跟随机选择差不多啊,那就+ 0.5呗,没啥意义,还不如不用算法;

      如果测试集中边的相似值小于不存在边的相似值,就说明你这算法也太差了吧,随机的都比不过,反其道行之啊兄弟,+ 0吧;

      那么分母就是测试集中的边与不存在中的边的比较次数,比如测试集中2条边,不存在中3条边,那么比较次数就是6次啦。

2、 精确度(Precision)

注意:这里提到的精确度和你之前听到的二分类问题的precision、accuracy、recall、F1都毫无关系!!!

那么这种精确度怎样计算呢?

       算法(如CN)不是得到每一个节点对之间的相似值了嘛,这时候去掉训练集中的边,还剩什么了?就剩测试集中的边和不存在的边以及边对应的相似值,按相似值的大小倒序排列这些边。排序后取前L个(比如给它赋值50,即L=50),看一看这里有几个是测试集中的啊,比如有20个,那么精确度就等于20/50。

        那具体在编程时怎么知道这50个里面有几个是测试集中的呢?简单啊,取前50个&测试集所有的,然后再len,计算个数,分子部分就搞定了,分母就是50呗。

        L的值如何设定,这是一个好问题!阅读其他论文,有的研究者选择了L=50,100,150,200,250都计算一遍,然后画了个折线图,不论L等于多少,你提出的算法的精确度比其它算法好就行呗。

      以上两个评价指标就说完了,个人感觉链路预测AUC还是首选,在AUC区分不大的时候,采用精确度进一步比较,精确度这个评价指标只需要检查较少的排在前面的边就能找到更多正确的预测。

      总之,AUC是最常用的,它从整体上衡量算法;精确度只考虑前多少位是否预测正确。

<think>好的,我现在需要回答用户关于MMYOLO模型输出评估指标的问题。首先,我得确保自己正确理解用户的问题。用户想了解MMYOLO模型在评估时会用到哪些指标,特别是输出评价指标包括哪些。 首先,我应该回忆一下目标检测领域常用的评估指标。通常,目标检测任务中常用指标包括平均精度(Average Precision, AP)、平均精度均值(Mean Average Precision, mAP)、精确率(Precision)、召回率(Recall)、F1分数,以及IoU(交并比)等。此外,可能还有一些特定于框架或数据集的指标,比如COCO数据集中的AP50、AP75等不同IoU阈值下的AP值。 接下来,我需要确认MMYOLO是否遵循这些通用指标,或者是否有其特有的评估指标。根据用户提供的引用内容,特别是引用[2]中的文档链接,我应该参考MMYOLO的官方文档来获取准确的信息。用户提到的参考文档是关于MMYOLO快速入门的指南,可能里面会有关于评估指标的说明。 然后,我需要检查MMYOLO的模型评估流程。通常,在MMYOLO中,评估过程可能通过配置文件中的评价器(evaluator)来设置,比如使用COCO的评价指标或者VOC的评价指标。不同的评价器会计算不同的指标。例如,COCO评价器通常会计算mAP、AP50、AP75、AR(平均召回率)等,而VOC评价器可能主要关注mAP和AP50。 此外,用户提到的引用[1]中提到了模型转换和训练到评测的流程,说明MMYOLO在模型评测部分有详细的设置。可能评测指标在配置文件中通过`val_evaluator`和`test_evaluator`来定义。因此,用户需要查看他们的配置文件,确定使用了哪种评价器,从而得知具体的评估指标。 还需要考虑是否有其他指标,如推理速度(FPS)、模型参数量(Parameters)、计算量(FLOPs)等,这些虽然不是直接的评价指标,但也是模型性能的重要参考。 最后,应该将这些信息整理成清晰的中文回答,分点列出主要的评估指标,并适当引用用户提供的参考资料,特别是官方文档中的说明,以增强回答的可信度。同时,生成的相关问题需要围绕评估指标的细节、如何配置以及与其他框架的对比等方面展开。</think>MMYOLO模型的评估指标主要围绕目标检测任务的核心性能参数设计,包含以下关键指标: ### 一、基础评估指标 1. **平均精度(AP, Average Precision)** - 以不同IoU阈值划分的精度曲线下面积,例如: $$AP_{50}$$(IoU=0.5时的精度) $$AP_{75}$$(IoU=0.75时的精度)[^2] 2. **平均精度均值(mAP, mean Average Precision)** - 多类别检测中所有类别AP的平均值,常以$$mAP_{50:95}$$表示IoU阈值从0.5到0.95步长0.05的均值 3. **召回率(Recall)与精确率(Precision)** - 召回率=正确检测框数/实际目标总数 - 精确率=正确检测框数/总预测框数 ### 二、进阶性能指标 1. **推理速度** - FPS(Frames Per Second)衡量模型实时性 - 硬件资源消耗(如GPU内存占用) 2. **模型复杂度** - 参数量(Parameters) - 计算量(FLOPs) ### 三、MMYOLO特有配置 通过`val_evaluator`或`test_evaluator`指定评测器类型: ```python # 示例配置片段 val_evaluator = dict( type='mmdet.CocoMetric', metric=['bbox', 'segm'], # 同时评估检测与分割 ann_file='annotations/instances_val2017.json') ``` 支持COCO/VOC/Pascal等数据集的评价标准
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值