计算带有百分比答案的系统的错误率
Posted
技术标签:
【中文标题】计算带有百分比答案的系统的错误率【英文标题】:calculating error rate of a system comming up with percentage answers 【发布时间】:2012-08-11 21:23:56 【问题描述】:我会很感激这方面的想法。 想象一下,我有一个软件(约束满足求解),它可以解决一个问题并给出如下答案:
100% A 是解决方案,
100% B 是解决方案,
70 % C 是解决方案,
50% D 是解决方案,
而正确答案是C。
想象一下,最终所有答案都会在我的系统中得到考虑,因此尽管不确定性较低,但提出正确答案仍然是一项成就。我不会丢弃百分比低于 100 的答案。但是,找到合适的评估函数或错误率计算很重要。
如何计算我的系统的错误率。
有人可能会说上面的例子有 100% 的错误率,因为答案既不是 A 也不是 B。如果正确答案是 B 而只有 B 怎么办。错误率是多少?
【问题讨论】:
你的错误率为 100%,因为系统 100% 确定答案是 A,而正确答案是 C 想象系统应该是动态的,以便随着时间的推移它可以获得更多信息并改变它的答案。我猜它不可能有 100 % 的错误率,因为它确实提出了 70 % 的正确答案。我的意思是确实考虑了所有答案,或者假设正确答案是 B,并且它给出了 B 作为答案以及 A 不是答案。那么如何计算误差。我相信问题是如何添加计算错误率的动态方法 【参考方案1】:嗯,显而易见的方法是计算所有回复的平均错误。
使用平均绝对偏差 (MAD):
(|1-0| + |1-0| + |.7-1| + |.5-0|) / 4 = (1+1+.3+.5)/4 = 2.8/4 = 0.7
或均方误差 (MSE):
(|1-0|^2 + |1-0|^2 + |.7-1|^2 + |.5-0|^2) / 4 = (1+1+.09+.25)/4 = 2.34/4 = 0.585
两者各有利弊。
(上面的示例使用0 0 1 0
的“正确”向量,但它也可以通过使用1 1 1 1
来允许答案为例如“任意ABCD”。由您来确保这些值,例如总和是否为 1)。同样,如果您知道一个答案是正确的,您可能希望将算法输出归一化为总和为 1。在您的示例中,这会将.3125 .3125 .21875 .15625
的答案标准化,这可能具有较低的错误。)
【讨论】:
非常感谢,您的回答很有帮助。以上是关于计算带有百分比答案的系统的错误率的主要内容,如果未能解决你的问题,请参考以下文章