我应该如何客观地测试我的程序结果?

机器算法验证 模型比较
2022-04-06 14:57:01

我在 MATLAB 中开发了两种不同的方法,旨在分析一首流行歌曲,然后自动创建一个包含部分合唱部分的 30 秒音频缩略图(预览剪辑)。

两种方法都有不同的结果:

  1. 第一种方法可以为每个曲目创建一个缩略图,在 50 首测试歌曲中找到 40 首合唱部分
  2. 第二种方法只处理了 50 首歌曲中的 30 首,它发现副歌部分 21 次超过 30 首。

显然我知道哪种方法更好,但我需要在报告中描述和解释结果,这需要证明适当的统计测试。

其他学术论文之前也使用过 f 检验来做到这一点,但由于他们的方法非常优越,他们的目标通常是检测 100% 准确度的合唱开始时间。

我的目标更加轻松,因为我只是在寻找生成的缩略图以包含合唱的任何部分,而不管开始。

任何人都可以就我的项目提出一些我可以探索的客观测试吗?这是我第一次进行这样的调查,所以我的经验/知识非常低。

谢谢!

编辑:我可以进行 f 检验吗?

召回 = 生成的缩略图数 / 测试歌曲总数 精度 = 检测到的合唱数 / 缩略图总数

这行得通还是我完全错了?

1个回答

您可以将合唱曲目的识别视为“成功”,将缺乏识别视为“失败”。因此,您有以下数据:

方法一:成功的比例(比如,p1) = 4050

方法2:成功的比例(比如,p2) = 2150

对于 20 首音乐曲目,方法 2 似乎完全失败,因此我假设它们应该被视为失败。

让:

π1π2是这两种方法成功的真实比例。然后您希望评估方法 1 是否优于方法 2。因此,您会假设:

零假设:π1=π2

你的替代假设是π1π2.

(注意:您的替代假设也可以框架为π1π2这会影响您进行测试的方式,但这是您可能不必担心的细微差别。)

并尝试查看数据在多大程度上与原假设一致。检验零假设的方法是使用二比例 z 检验(参见 wiki 上的第 7 行Common Test Statistics标题为“二比例 z 检验,汇集 d0 = 0”。表格在表格底部有说明。)

如果根据公式计算的 Z 值大于 1.96 或小于 -1.96,那么您将拒绝零值以支持备择假设。