分类算法中的相似性度量



我开发了一种算法,使用一些速度值,VSL(直线速度)、VCL(曲线速度)和LIN(线性),将精子运动分为四类(1、2、3和4)。我是根据视频中的精子轨迹来做这件事的。

我掌握的信息是:视频_n结果(使用启发式算法):

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

视频_n结果(根据专家)

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

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

例如,如果我做

类别1(启发式)/类别1(专家)=1*100%这意味着根据类别1的相似性是100%,这意味着启发式算法是"完美的"分类类别1精子。

类别2(启发式)/类别2(专家)=0.66*100%这意味着根据类别1的相似性为66%这意味着启发式算法是"好的"分类类2 spems。

但在三班,我会得到150%的分数,这让我很困惑。有人知道我还能用什么其他衡量标准来获得相似性,或者150%在疗效方面意味着什么?

有许多可能的相似性度量。理想情况下,你应该自己推导一个,考虑到你进行这种分类的原因,这样,当你在实践中使用它时,良好的相似性分数就相当于表现良好的东西。下面是几个例子。

1) 余弦相似性。将这两组百分比视为向量,将它们制成单位向量,并取点积,得到0到1之间的值。因此,在您的示例中,您将有(10*10+20*30+30*20+40*40)/(sqrt(10*10+20*20+30*30+40*4)*sqrt(10*10+30*30+20+20+40*40))。

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

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

最新更新