分类算法中的相似度量

时间:2014-10-13 04:04:19

标签: algorithm computer-vision classification similarity

我开发了一种算法,使用一些速度值,VSL(直线速度),VCL(曲线速度)和LIN(线性)将精子活力分为四类(1,2,3和4)。我从视频的精子轨迹上做到这一点。

我的信息是: Video_n结果(使用启发式算法):

  • 1级:10%(10%的精子属于此类动力类)
  • 第2类:20%
  • 3级:30%
  • 第4类:40%

Video_n结果(据专家介绍)

  • 1级:10%
  • 第2类:30%
  • 3级:20%
  • 第4类:40%

我很难找到一种方法来衡量这些信息之间的相似性(算法的功效)

例如,如果我做

1级(启发式)/ 1级(专家)= 1 * 100%表示根据1级的相似度为100%意味着启发式算法是完美的"分类1级精子。

2级(启发式)/ 2级(专家)= 0.66 * 100%表示根据1级的相似度为66% 意思是启发式算法是好的"使2级精子分裂。

但是在3级我会得到150%的混淆我。 有人知道我可以使用什么其他方法来获得相似性,或者150%在效力方面意味着什么?

1 个答案:

答案 0 :(得分:0)

有许多可能的相似度量。理想情况下,您应该自己派生一个,考虑到您进行此分类的原因,以便良好的相似性得分相当于在实践中使用它时表现良好的事物。以下是一些例子。

1)余弦相似度。将两组百分比视为向量,将它们转换为单位向量,并使用点积给出0到1之间的值。因此,在您的示例中,您将拥有(10 * 10 + 20 * 30 + 30 * 20 + 40) * 40)/(sqrt(10 * 10 + 20 * 20 + 30 * 30 + 40 * 40)* sqrt(10 * 10 + 30 * 30 + 20 * 20 + 40 * 40))。

2)如果专家和分类系统对同一个精子进行了分类,那么你就可以跟踪哪一个你可以计算出分类系统正确的百分比。你没有做到这一点,但是你可以通过为每个班级分配给这个班级的最小值来计算与你拥有的数据一致的最大值。在您的示例中,分类系统最多可以是最小(10,10)+ min(20,30)+ min(30,20)+ min(40,40)%。这个分数将在0到100%之间,100%完美匹配。

3)如果您的分类结果被用作诊断测试的输入(例如,如果......,患者将不育),而不是比较分类输出,请查看您的分类结果产生相同的频率测试结果作为专家分类的结果 - 见http://en.wikipedia.org/wiki/Receiver_operating_characteristic