You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算数字间的归一化相似度得分并跨集合求平均?

数字相似度归一化与跨集合得分计算方案

问题背景

需要评估集合中每个数字与参考数字的相似度,完全相同时相似度为100%;同时要将得分归一化到[0,100]或[0,1]区间,实现跨集合复用,最终计算多集合的平均得分。目前已算出各数字与参考值的绝对差值,但缺乏归一化方法。

核心思路

相似度与绝对差值负相关:差值越小,相似度越高;差值为0时得满分100%。通过集合内最大绝对差值作为归一化基准,将每个数字的差值映射到目标区间,确保同一集合内得分相对合理,不同集合间得分可对比。

具体步骤与公式

1. 确定集合内最大绝对差值

对每个待评分集合,计算所有待评数字与参考数字的绝对差值,找出其中的最大值max_d——这是该集合中相似度最低的情况,对应得分0。

2. 归一化相似度计算

对于集合内任意数字x,参考数字为ref,绝对差值d = |ref - x|,则:

  • 归一化到[0,100]区间:
    相似度得分 = 100 * (1 - d / max_d)
    
  • 归一化到[0,1]区间:
    相似度得分 = 1 - d / max_d
    

注:若集合内所有数字都与参考值相同(max_d=0),直接给满分100%或1。

3. 示例计算

第一组

参考数字:0,待评数字:1、-1、2、-2

  • 绝对差值:1、1、2、2,max_d=2
  • 各数字得分:
    • 1、-1:100*(1-1/2)=50分
    • 2、-2:100*(1-2/2)=0分

第二组

参考数字:600,待评数字:700、-700、800、-800

  • 绝对差值:100、1300、200、1400,max_d=1400
  • 各数字得分:
    • 700:100*(1-100/1400)≈92.86分
    • -700:100*(1-1300/1400)≈7.14分
    • 800:100*(1-200/1400)≈85.71分
    • -800:100*(1-1400/1400)=0分

4. 跨集合平均最终得分

可根据需求选择两种计算方式:

  • 先计算每个集合内的得分平均值,再对所有集合的平均值求平均
  • 直接将所有集合的所有得分合并,计算总平均值

以示例为例:

  • 第一组平均得分:(50+50+0+0)/4=25分
  • 第二组平均得分:(92.86+7.14+85.71+0)/4≈46.43分
  • 最终平均得分:(25+46.43)/2≈35.71分

内容的提问来源于stack exchange,提问作者Damian Zborowski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 21:00:19