Chinaunix首页 | 论坛 | 博客
  • 博客访问: 156828
  • 博文数量: 53
  • 博客积分: 2059
  • 博客等级: 大尉
  • 技术积分: 490
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-14 20:25
文章分类
文章存档

2012年(1)

2011年(25)

2010年(16)

2009年(11)

我的朋友

分类: WINDOWS

2011-04-15 23:02:02

外行人做互联网,很多概念不懂。就拿最基础的“召回率”和“准确率”这种概念,看看网上资料知道大概,自己用的时候,脑子里绕着弯儿能想明白,可碰到别人活用的时候,脑子里还是没法一下子反应过来,还是要绕弯想一下。特地找了些资料,将这两个概念整理一下,希望能更熟练。

召回率和准确率是搜索引擎(或其它检索系统)的设计中很重要的两个概念和指标。
召回率:Recall,又称“查全率”;
准确率:Precision,又称“精度”、“正确率”。

在一个大规模数据集合中检索文档时,可把集合中的所有文档分成四类:

         相关 不相关

检索到  
  A    B
未检索到   C    D

A:检索到的,相关的 (搜到的也想要的)
B:检索到的,但是不相关的 (搜到的但没用的)
C:未检索到的,但却是相关的 (没搜到,然而实际上想要的)
D:未检索到的,也不相关的 (没搜到也没用的)

通常我们希望:数据库中相关的文档,被检索到的越多越好,这是追求“查全率”,即A/(A+C),越大越好。
同时我们还希望:检索到的文档中,相关的越多越好,不相关的越少越好,这是追求“准确率”,即A/(A+B),越大越好。

归纳如下:
召回率:检索到的相关文档 比 库中所有的相关文档
准确率:检索到的相关文档 比 所有被检索到的文档

“召回率”与“准确率”虽然没有必然的关系(从上面公式中可以看到),然而在大规模数据集合中,这两个指标却是相互制约的。
由于“检索策略”并不完美,希望更多相关的文档被检索到时,放宽“检索策略”时,往往也会伴随出现一些不相关的结果,从而使准确率受到影响。
而希望去除检索结果中的不相关文档时,务必要将“检索策略”定的更加严格,这样也会使有一些相关的文档不再能被检索到,从而使召回率受到影响。

凡是设计到大规模数据集合的检索和选取,都涉及到“召回率”和“准确率”这两个指标。而由于两个指标相互制约,我们通常也会根据需要为“检索策略”选择一个合适的度,不能太严格也不能太松,寻求在召回率和准确率中间的一个平衡点。这个平衡点由具体需求决定。

其实,准确率(precision,精度)比较好理解。往往难以迅速反应的是“召回率”。我想这与字面意思也有关系,从“召回”的字面意思不能直接看到其意义。
我觉得“召回率”这个词翻译的不够好。“召回”在中文的意思是:把xx调回来。比如sony电池有问题,厂家召回。
既然说翻译的不好,我们回头看“召回率”对应的英文“recall”,recall除了有上面说到的“order sth to return”的意思之外,还有“remember”的意思。

Recall:the ability to remember sth. that you have learned or sth. that has happened in the past.

这里,recall应该是这个意思,这样就更容易理解“召回率”的意思了。
当我们问检索系统某一件事的所有细节时(输入检索query),Recall就是指:检索系统能“回忆”起那些事的多少细节,通俗来讲就是“回忆的能力”。能回忆起来的细节数 除以 系统知道这件事的所有细节,就是“记忆率”,也就是recall——召回率。

这样想,要容易的多了。
阅读(740) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~