我读了一篇关于机器学习的论文,里面包含了一个Oracle实验,用来比较他的研究与另一项研究。但似乎对Oracle实验的定义并不清楚?
回答:
“Oracle”是一个假想的实体,它总是给出正确的答案。Oracle实验用于将你的实际系统与系统中某个组件总是做正确事情的情况下的表现进行比较。
例如,在自然语言处理领域,假设你构建了一个解析器,它以词性(POS)标记的句子作为输入。在现实世界中,你需要将真实的句子输入到一个实际的POS标记器中。这个标记器可能会产生超过90%但不到100%的准确率。由于你的解析器的性能依赖于输入标记的准确性,因此标记器的错误会对解析器的性能产生负面影响。
为了了解如果POS标记器是完美的,你的解析器会表现得如何,你可以进行一个使用Oracle标记器的实验。在这个实验中,你将用一个知道句子实际POS标记的程序替换真实的POS标记器,从而总是返回100%准确的标记结果。
因此,如果你的解析器在使用真实标记器的实验中获得了85%的准确率,而在使用Oracle标记器的实验中获得了90%的准确率,那么你就知道5%的性能损失直接是由标记器的错误造成的。