Comparison 算法之间的选择

Comparison 算法之间的选择,comparison,statistics,Comparison,Statistics,我相信Stackoverflow上有很多软件测试工程师、算法验证工程师。有人能告诉我在下面的场景中如何进行吗 假设我们有一张乳房X光片和5种不同的算法,它们将这张乳房X光片作为输入,识别患者是否患有癌症。如果5个算法中有3个说患者患有癌症,2个说患者没有癌症。我应该相信哪种算法。我应该如何继续测试这些算法。在这种情况下是否使用了统计概念 我是在一次算法验证工程师职位的面试中被问到这个问题的。我相信他们是想看看在这种情况下我会怎么想。我应该如何回答这个问题 谢谢你的时间 -萨西只有这些信息,你什么

我相信Stackoverflow上有很多软件测试工程师、算法验证工程师。有人能告诉我在下面的场景中如何进行吗

假设我们有一张乳房X光片和5种不同的算法,它们将这张乳房X光片作为输入,识别患者是否患有癌症。如果5个算法中有3个说患者患有癌症,2个说患者没有癌症。我应该相信哪种算法。我应该如何继续测试这些算法。在这种情况下是否使用了统计概念

我是在一次算法验证工程师职位的面试中被问到这个问题的。我相信他们是想看看在这种情况下我会怎么想。我应该如何回答这个问题

谢谢你的时间


-萨西

只有这些信息,你什么都不能说。如果一些算法重用了这5个算法中的其他算法呢?然后,它们可能会出现同样的缺陷

假设A、B和C实际上使用相同的子算法对数据进行预处理,而后者在某些特定图像上给出了次优结果,因此预处理后的图像会导致后面的阶段产生错误的结果——如果有三种算法使用相同的算法,这并不重要


你需要更具体的数据来说明算法之间的关系,以及错误率的统计特征,以便进行任何分析。

这实际上很难回答。我确信每种算法都擅长于提取不同类型的输入触发器。更有可能的是,您将需要一些统计分析来确定每种算法通常检测到的癌症。此外,您还可以根据算法结果创建贝叶斯模型来描述/确定患者是否患有癌症


你可能会发现,这三种算法始终忽略了其他两种算法都比较擅长识别的特定类型的癌症。你可能会发现类似的关系,比如算法2、3和5说没有癌症,算法1说有,算法4没有结论,通常有一些特定形状和颜色强度的良性斑点需要分析,但可能不是癌症。

我会问,如果使用算法容易出错,使用计算机确定某人是否患有癌症是否是正确的做法

但是,如果出于某种原因必须使用一组算法,那么在存在一些不确定性的情况下,让一名人类操作员(即医生)亲自检查乳房X光片。然后,医生可以根据所用算法的不一致性,决定是否需要进一步的测试


作为程序员,我们忽略了一件事,那就是人类可以解决一些我们无法预测的问题;想象一下,医生在乳房X光片中注意到一些算法不是设计用来检测的东西?

我想如果你有一些关于每个算法的统计信息,那么你以前的表现(在许多统计实验中,它是对的/错的多少次),然后,您可以计算每个算法正确的概率。然后你可以把这些概率结合起来,得到那个人患癌症的几率。只是一种推测…

很明显,这里的假阴性比假阳性严重得多,所以在所有条件相同的情况下,我们可能希望显示出对发现更多癌症的算法的偏好

如果我们向软件提供更多的乳房X光片,并且我们发现一组算法似乎在大量乳房X光片样本上一致,那么我们可能会更喜欢这些算法,因为它们的结果得到了更多算法的支持


诸如此类。

在其他条件相同的情况下,你可以说患者患癌症的几率为60%。为了给出更好的答案,您需要了解更多有关算法工作原理的信息。需要考虑的几点:

  • 也许有些算法比其他算法更新,或者被证明不太可靠。使用标记为“癌性”和“非癌性”的历史乳房X光片数据,最好了解每种算法的准确性
  • 每个人的癌症都略有不同——也许有某种算法更擅长识别的特征?是否需要领域专家根据算法结论和乳房X光片(图像?)数据确定哪种诊断是正确的
  • 正如sharptooth所提到的,也许某些算法与其他算法使用相同的技术,因此两者可能具有相同的偏差

要在这种情况下取得很大成就,您通常需要一个“黄金”标准——例如,医生对一组乳房X光片是否显示癌症的意见,或者使用历史信息,其中您知道一组乳房X光片显示癌症,而另一组不显示癌症。除此之外,如果可能的话,您还需要关于每个算法在特定情况下使用的指标的信息


有了一个标准,您就可以开始估计哪些算法更“准确”(即,最常与专家意见一致)。有关指标的信息允许您生成关于时间和环境的更多详细信息,在这些时间和环境下,每个指标似乎或多或少都是准确的,因此您可以开始对相互信任的时间/环境做出判断。有了这个,你可以(至少希望)将五个现有算法的结果组合成一个整体结果,这个整体结果(小心,也许有点运气)比任何一个单独的算法都更准确。

基本上,如果你知道算法的结果是条件独立的(即,独立给定真实但未知的类标签)然后使用的是最佳元分类器

否则,这个问题在不知道答案的情况下是无法回答的