反馈算法如何找呢

万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)

}

CBIR[1]是一种从图像数据库中获取图像嘚技术被获取的图像和用户提交的查询图像具有语义相关性。这种方法是采用基于可视化特征的方法来表达图像这些可视化特征可以洎动地从图像中抽取,比如颜色、纹理和形状然而低水平的图像特征和高水平的语义理解之间的差距成为影响系统性能提升的瓶颈。RF[2]是┅种有缩短两者之间差距和提升CBIR系统性能的有效的方法RF通过要求用户来语义地对反馈进行正或者负的分类的方法来关注用户和搜索引擎の间的交互。基于用户的反馈信息RF方案核心的问题是如何快速地构建一个合适的分类器。然而这种构建过程和传统的分类过程有很大的鈈同之处因为用户不喜欢提供大量的反馈信息。因此在RF过程中小样本的学习方法将会是一种非常有前途的方法。

SVM[3]是一种近几年用的比較流行的小样本学习方法由于它具有较强的泛化能力所以可以获得较高的性能。SVM通过最小化VC维和达到最小结构化风险来获得模式分类问題的非常好的性能基于SVMRF非常流行是因为在训练集小的情况下获得的性能可以优于其他分类器。接下来的内容安排如下:通过介绍几个典型的基于SVMRF的演变过程中的几个方案来认识SVMRF结合的方法主要的有传统的SVM-based

在处理反馈的过程中,用户可以标记一个图像相关或者不相關考虑到把初次结果的Top作为训练数据集,可以用SVM来实现分两个类的学习算法并且构造一个合适的分类器来表达用户的查询概念。在这の后其他图像可以分类为相关类和不相关类,这主要是有各个图像距离分类超平面的距离来确定的这种距离确定类型的方法可以获得較好的结果。具体过程如下:

通过传统的方法进行检索

SVM准备训练集数据

SVM算法构建分类器函数

注:目的是为了得到查询的楿似距离,因此在分类器函数 中忽视函数sign(.)

计算数据库中每一个图像 的分数

按照分数从新排序所有的图像并且输出返回结果

SVM -based RF的工作过程中,学习器必须积极地扑捉用户的查询意图尽量让它返回的结果是用户感兴趣的。SVMRF结合主要思想如下:

1)SVM 认为学习目标概念的任务是一種学习SVM二位分类器SVM通过在一个投影空间的超平面内区分相关图像和非相关图像的方法扑捉查询概念,这个投影空间通常是高维的超平媔一端的投影点被认为是和查询概念相关的,另外一端认为是不相关的

2)SVM 通过积极学习来快速地学习分类器。SVM 积极的部分通过选择最具有信息量的实例来训练SVM分类器这个过程保证了在少数的反馈周期内对查询概念的快速收敛。

3)一旦分类器被训练SVM 返回TOP-K最相关的图像。这K张圖像是在查询概念边最远离超平面的

另外的一个重要的思想是:认为图像的描述应该符合人类的感知和理解[8]。尤其是的感知处在一个多偅的决定方式对一些视觉行为来讲,眼睛可能选择一些粗糙的过滤器来选择一些粗糙的图像特征在其他的一些情况可能会选择一些好嘚特征。这同样适用于一些应用程序对于一个图像搜索引擎,必须具备这种复杂的多决议的能力来对主观感知进行建模来满足许多不同嘚搜索任务

SVM 系统每一周期的相关反馈按照以下步骤进行

在当前被标注的数据集和中学习一个支持向量集。

如果是相关反馈的第一周期让用户来标注20个随机选择的图片;如果不是,让用户标注最接近SVM边界的20张图片

在相关反馈周期被执行后,SVM 获取TOP-K最相关的图片:

在被标注的数据集中学习一个最终的SVM

最终SVM边界把相关图片和不相关图片分离开。展示K相关的图片这些图片离SVM边界最远。

在这种方法提絀之前传统的SVM-based RF同等对待正的和负的反馈。这种方法并不是一直都是合适的因为正在训练的反馈的两个组中分别具有不同的属性。也就昰说说有正的反馈都具有同种类型的概念而负的反馈却没有这样的特性。这种问题的存在严重地限制了CBIR系统的性能OCCA就是解决这种问题嘚一种解决方案。

CBIR系统中通过拥有足够的支持向量来获得零经验风险( )并没有难度。然而大数量的支持向量将会增加SVM分类器hVC维洇此需要同时来限制h 。为了解决这个问题将所有正的反馈投影到一个子空间内,然后投影负的反馈到同一个子空间内在这个子空间內可以减少支持向量的数量而不增加 。最后剩余的图片投影到同一个子空间内,并且于此同时一些相似性和非相似性的方法应用到对數据库中的图像进行排序的过程中。

对于CBIR这种方法是可行的。因为所有的正的反馈和查询图像具有类似的概念但是负的却不具有。于此同时在投影的步骤过程中SVM分类器的优化的超平面可以被任何增加的正的反馈改变,但是对负的反馈却不怎么敏感这样的话,更多的精力将集中在正的反馈另外产生结果的SVM分类器的超平面在投影中心将会变的更加简单。

投影所有的正的反馈到他们的中心并且产生孓空间。

投影剩余的图片包括负的反馈到新产生的子空间。

在子空间中重构SVM分类器并且基于新的相似度对图像进行重新的排序。

transformationKLT[7]可以用来抽取他的主要子空间和正交补集KTL的最基本功能通过解决特征值问题来得到

其中 是正反馈的协方差矩阵, 的主要子空间 中子空间的正交补。 的特征值的相应的对角矩阵

计算正反馈中 的协方差矩阵。

根据 计算 正交补

投影每一个正的反馈 到它们嘚中心

投影每一个负反馈 到正交补子空间

投影数据库中每一个剩余的图像X到正交补子空间

上训练标准SVM分类器

使用SVM 的输出結果重新排序剩下的投影图像。

通过KTL我们可以得到正交补特征向量, 其中 为正反馈的中心。 是第 个正反馈 是第  个负反馈, 是第 个投影负反馈 是初始向量集 的投影向量集。 是负反馈的数量。 是支持向量的数量

KEOCCA作为OCCA增强型,致力于提升CBIR的性能和在核空间推广OCCA根据核方法,原始的输入首先被映射到任意一个高维的特征空间在这个空间中取样的分布是线性的,那么OCCA被用来在核特征空间内获得一个分類器直接的OCCA核化方法是仅仅使用正反馈来构建基础。同过探索可以使用正反馈和负反馈来共同构建基础。事实上构建基础的最合适嘚方法是使数据库中的图片协作起来。应为在这种方法下更多的核特征将会产生出来然而这种方法对于CBIR来说是相当难以实现的。因此仅僅使用所以的反馈来构建基础是可行的

通过 ,计算正反馈的和协方差矩阵 的核经验正交补集

根据 ,投影正反馈 到它的中心

根据 投影所有的负反馈 到经验核正交补的子空间。

根据 投影所有的剩余的图像X到这个子空间。

上训练标准SVM分类器

使用SVM 的输出结果重新排序剩下的投影图像。

代表正反馈 代表负反馈,

对于一个给定的核函数SVM分类器如下:

其中, SVM的决策函数  为支持向量的數量。对于传统的基于SVMRFSVM -based RF对于给定的样本 的值越低,这个样本越接近决策边界相对应的预测可信度就越低,反之亦然RF是为了找到┅种适应的相异的方法来逼近用户的语义。结果对于二者来说相异的方法经常有SVM的决策函数得到,即

二者在处理反馈过程中也采取了不哃的方法SVM -based RF 让用户标注获取的边缘的图像作为标注反馈,对于传统的基于SVMRF 则是让用户标注那些离SVM边界最远的图像

RF优于传统的方法在于:1)次都去等分图像空间:从样本中选择来获取图像,在正反馈边这些图像距离分类器边界最远;距离边界最近的图像被认为是最具有信息量的图像来给用户标注2)在CBIR中结合了多式联运概念依赖方法。

SVM -based RF缺点:在第一个反馈周期内需要用户标注大量的图像大约有20个左右。

       湔两者都同等地对待征反馈实际上在现实中正负两个训练集合中实际上是有很多不同的属性的。OCCA捕捉正反馈的永恒的子空间试验证明,这种方法是能够获得性能的提升的

最近SVM方法已经广泛应用在RF中,用来提高CBIR的性能SVM的优势在于与其他分类器相比它能更好地泛化。OCCA是對传统的基于SVMRF的一种有效的改进并取得了很好的性能表现。由于时间的关系我对此算法的了解仅仅停留在理论分析的阶段,在实践驗证方面并没有进行可行性的实现在接下来的学习和工作中,对于将这种算法应用于实验室正在进行的项目中并实现相应的原型系统峩有很大的热情。比如在一个战场信息处理系统中由无人侦察机拍摄的图片输入设想的原型系统中,通过该系统的分析得到该图像所屬的种类和相关的搜索结果,这种想法是很值得去实现的在接下来的工作中我会尝试去实现,并改进目前存在的问题非常感 谢吴 老师嘚精彩授课,这篇读书报告中的不足之处敬请老师批评

}

文/ 陈运文 达观数据CEO

搜索质量评估昰搜索技术研究的基础性工作也是核心工作之一。评价(Metrics)在搜索技术研发中扮演着重要角色以至于任何一种新方法与他们的评价方式是融为一体的。

搜索引擎结果的好坏与否体现在业界所称的在相关性(Relevance)上。相关性的定义包括狭义和广义两方面狭义的解释是:檢索结果和用户查询的相关程度。而从广义的层面相关性可以理解为为用户查询的综合满意度。直观的来看从用户进入搜索框的那一刻起,到需求获得满足为止这之间经历的过程越顺畅,越便捷搜索相关性就越好。本文总结业界常用的相关性评价指标和量化评价方法供对此感兴趣的朋友参考。

A Cranfield-like approach这个名称来源于英国Cranfield University因为在二十世纪五十年代该大学首先提出了这样一套评价系统:由查询样例集、正確答案集、评测指标构成的完整评测方案,并从此确立了“评价”在信息检索研究中的核心地位

Cranfield评价体系由三个环节组成:

1. 抽取代表性嘚查询词,组成一个规模适当的集合

2. 针对查询样例集合从检索系统的语料库中寻找对应的结果,进行标注(通常人工进行)

3. 将查询词和帶有标注信息的语料库输入检索系统对系统反馈的检索结果,使用预定义好的评价计算公式用数值化的方法来评价检索系统结果和标紸的理想结果的接近程度。

Cranfield评价系统在各大搜索引擎公司内有广泛的应用具体应用时,首先需要解决的问题是构造一个测试用查询词集匼

为了使得评估符合线上实际情况,通常查询词集合也会按比例进行选取通常从线上用户的Query Log文件中自动抽取。

另外查询集合的构造时除了上述查询类型外,还可以考虑Query的频次对热门query(高频查询)、长尾query(中低频)分别占特定的比例。

另外在抽取Query时,往往Query的长短也昰一个待考虑的因素因为短query(单term的查询)和长Query(多Term的查询)排序算法往往会有一些不同。

构成查询集合后使用这些查询词,在不同系統(例如对比百度和Google)或不同技术间(新旧两套Ranking算法的环境)进行搜索并对结果进行评分,以决定优劣

附图:对同一Query:“达观数据”,各大搜索引擎的结果示意图下面具体谈谈评分的方法。

信息检索领域最广为人知的评价指标为Precision-Recall(准确率-召回率)方法该方法从提出臸今已经历半个世纪,至今在很多搜索引擎公司的效果评估中使用

顾名思义,这个方法由准确率和召回率这两个相互关联的统计量构成:召回率(Recall)衡量一个查询搜索到所有相关文档的能力而准确率(Precision)衡量搜索系统排除不相关文档的能力。(通俗的解释一下:准确率僦是算一算你查询得到的结果中有多少是靠谱的;而召回率表示所有靠谱的结果中有多少被你给找回来了)。这两项是评价搜索效果的朂基础指标其具体的计算方法如下。

Precision-recall方法假定对一个给定的查询对应一个被检索的文档集合和一个不相关的文档集合。这里相关性被假设为二元的用数学形式化方法来描述,则是:

B表示被检索到的文档集合

表示未被检索到的文档集合

则单次查询的准确率和召回率可以鼡下述公式来表达:

(运算符∩ 表示两个集合的交集|x|符号表示集合x中的元素数量)

从上面的定义不难看出,召回率和准确率的取值范围均在[0,1]之间那么不难想象,如果这个系统找回的相关越多那么召回率越高,如果相关结果全部都给召回了那么recall此时就等于1.0。

召回率和准确率分别反映了检索系统的两个最重要的侧面而这两个侧面又相互制约。因为大规模数据集合中如果期望检索到更多相关的文档,必然需要“放宽”检索标准因此会导致一些不相关结果混进来,从而使准确率受到影响类似的,期望提高准确率将不相关文档尽量詓除时,务必要执行更“严格”的检索策略这样也会使一些相关的文档被排除在外,使召回率下降

所以为了更清晰的描述两者间的关系,通常我们将Precison-Recall用曲线的方式绘制出来可以简称为P-R diagram。常见的形式如下图所示(通常曲线是一个逐步向下的走势,即随着Recall的提高Precision逐步降低)

一些特定搜索应用,会更关注搜索结果中错误的结果例如,搜索引擎的反作弊系统(Anti-Spam System)会更关注检索结果中混入了多少条作弊结果学术界把这些错误结果称作假阳性(False Positive)结果,对这些应用通常选择用虚报率(Fallout)来统计:

Fallout和Presion本质是完全相同的。只是分别从正反两方面来计算实际上是P-R的一个变种。

再回到上图Presion-Recall是一个曲线,用来比较两个方法的效果往往不够直观能不能对两者进行综合,直接反映到一个数值上呢为此IR学术界提出了F值度量(F -Measure)的方法。F-Measure通过Presion和Recall的调和平均数来计算公式为:

这里使用调和平均数而不是通常的几何岼均或算术平均,原因是调和平均数强调较小数值的重要性能敏感的反映小数字的变化,因此更适合用来反映检索效果

使用F Measure的好处是呮需要一个单一的数字就可以总结系统的检索效果,便于比较不同搜索系统的整体效果

传统的Precision-Recall并不完全适用对搜索引擎的评估,原因是搜索引擎用户的点击方式有其特殊性包括:

A 60-65%的查询点击了名列搜索结果前10条的网页; 
B 20-25%的人会考虑点击名列11到20的网页; 
C 仅有3-4%的会点击名列搜索结果中列第21到第30名的网页

也就是说,绝大部分用户是不愿意翻页去看搜索引擎给出的后面的结果

而即使在搜索结果的首页(通常列絀的是前10条结果),用户的点击行为也很有意思我们通过下面的Google点击热图(Heat Map)来观察(这个热图在二维搜索结果页上通过光谱来形象的表达不同位置用户的点击热度。颜色约靠近红色表示点击强度越高):

从图中可以看出搜索结果的前3条吸引了大量的点击,属于热度最高的部分也就是说,对搜苏引擎来说最前的几条结果是最关键的,决定了用户的满意程度

康乃尔大学的研究人员通过eye tracking实验获得了更為精确的Google搜索结果的用户行为分析图。从这张图中可以看出第一条结果获得了56.38%的搜索流量,第二条和第三条结果的排名依次降低但远低于排名第一的结果。前三条结果的点击比例大约为11:3:2 而前三条结果的总点击几乎分流了搜索流量的80%。

另外的一些有趣的结论是点击量並不是按照顺序依次递减的。排名第七位获得的点击是最少的原因可能在于用户在浏览过程中下拉页面到底部,这时候就只显示最后三位排名网站第七名便容易被忽略。而首屏最后一个结果获得的注意力(2.55)是大于倒数第二位的(1.45)原因是用户在翻页前,对最后一条结果茚象相对较深搜索结果页面第二页排名第一的网页(即总排名11位的结果)所获得的点击只有首页排名第十网站的40%,与首页的第一条结果楿比更是只有其1/60至1/100的点击量。

因此在量化评估搜索引擎的效果时往往需要根据以上搜索用户的行为特点,进行针对性的设计

P@N本身是Precision@N嘚简称,指的是对特定的查询考虑位置因素,检测前N条结果的准确率例如对单次搜索的结果中前5篇,如果有4篇为相关文档则P@5 = 4/5 = 0.8 。

测试通常会使用一个查询集合(按照前文所述方法构造)包含若干条不同的查询词,在实际使用P@N进行评估时通常使用所有查询的P@N数据,计算算术平均值用来评判该系统的整体搜索结果质量。

对用户来说通常只关注搜索结果最前若干条结果,因此通常搜索引擎的效果评估呮关注前5、或者前3结果所以我们常用的N取值为P@3或P@5等。

对一些特定类型的查询应用如寻址类的查询(Navigational Search),由于目标结果极为明确因此茬评估时,会选择N=1(即使用P@1)举个例子来说,搜索“新浪网”、或“新浪首页”如果首条结果不是 新浪网(url:),则直接判该次查询精度不满足需求即P@1=0

上述的P@N方法,易于计算和理解但细心的读者一定会发现问题,就是在前N结果中排序第1位和第N位的结果,对准确率嘚影响是一样的但实际情况是,搜索引擎的评价是和排序位置极为相关的即排第一的结果错误,和第10位的结果错误其严重程度有天壤之别。因此在评价系统中需要引入位置这个因素。

Answering)这些检索方法只需要一个相关文档,对召回率不敏感而是更关注搜索引擎检索到的相关文档是否排在结果列表的前面。MRR方法首先计算每一个查询的第一个相关文档位置的倒数然后将所有倒数值求平均。例如一个包含三个查询词的测试集前5结果分别为:

然而对大部分检索应用来说,只有一条结果无法满足需求对这种情况,需要更合适的方法来計算效果其中最常用的是下述MAP方法。

MAP方法是Mean Average Precison即平均准确率法的简称。其定义是求每个相关文档检索出后的准确率的平均值(即Average Precision)的算術平均值(Mean)这里对准确率求了两次平均,因此称为Mean Average Precision(注:没叫Average Average Precision一是因为难听,二是因为无法区分两次平均的意义)

MAP 是反映系统在全蔀相关文档上性能的单值指标系统检索出来的相关文档越靠前(rank 越高),MAP就应该越高如果系统没有返回相关文档,则准确率默认为0

例如:假设有两个主题:

主题1有4个相关网页,主题2有5个相关网页

某系统对于主题1检索出4个相关网页,其rank分别为1, 2, 4, 7;

对于主题2检索出3个相关网页其rank分别为1,3,5。

对于主题1平均准确率MAP计算公式为:

对于主题2,平均准确率MAP计算公式为:

1. 每条结果的相关性分等级来衡量

2. 考虑结果所在的位置位置越靠前的则重要程度越高

3. 等级高(即好结果)的结果位置越靠前则值应该越高,否则给予惩罚

我们首先来看第一条:相关性分级这里比计算Precision时简单统计“准确”或“不准确”要更为精细。我们可以将结果细分为多个等级比如常用的3级:Good(好)、Fair(一般)、Bad(差)。对应的分值rel为:Good:3 / Fair:2 / Bad:1 一些更为细致的评估使用5级分类法:Very Good(明显好)、Good(好)、Fair(一般)、Bad(差)、Very

评判结果的标准可以根据具体的应鼡来确定,Very Good通常是指结果的主题完全相关并且网页内容丰富、质量很高。而具体到每条

DCG的计算公式并不唯一理论上只要求对数折扣因孓的平滑性。我个人认为下面的DCG公式更合理强调了相关性,第1、2条结果的折扣系数也更合理:

此时DCG前4个位置上结果的折扣因子(Discount factor)数值為:

取以2为底的log值也来自于经验公式并不存在理论上的依据。实际上Log的基数可以根据平滑的需求进行修改,当加大数值时(例如使用log5 玳替log2)折扣因子降低更为迅速,此时强调了前面结果的权重

为了便于不同类型的query结果之间横向比较,以DCG为基础一些评价系统还对DCG进荇了归一,这些方法统称为nDCG(即 normalize DCG)最常用的计算方法是通过除以每一个查询的理想值iDCG(ideal DCG)来进行归一,公式为:

求nDCG需要标定出理想情况嘚iDCG实际操作的时候是异常困难的,因为每个人对“最好的结果”理解往往各不相同从海量数据里选出最优结果是很困难的任务,但是仳较两组结果哪个更好通常更容易所以实践应用中,通常选择结果对比的方法进行评估

怎样实现自动化的评估?

以上所介绍的搜索引擎量化评估指标在Cranfield评估框架(Cranfield Evaluation Framework)中被广泛使用。业界知名的TREC(文本信息检索会议)就一直基于此类方法组织信息检索评测和技术交流除了TREC外,一些针对不同应用设计的Cranfield评测论坛也在进行进行(如 NTCIR、IREX等)

但Cranfield评估框架存在的问题是查询样例集合的标注上。利用手工标注答案的方式进行网络信息检索的评价是一个既耗费人力、又耗费时间的过程只有少数大公司能够使用。并且由于搜索引擎算法改进、运营維护的需要检索效果评价反馈的时间需要尽量缩短,因此自动化的评测方法对提高评估效率十分重要最常用的自动评估方法是A/B

A/B testing系统在鼡户搜索时,由系统来自动决定用户的分组号(Bucket id)通过自动抽取流量导入不同分支,使得相应分组的用户看到的是不同产品版本(或不哃搜索引擎)提供的结果用户在不同版本产品下的行为将被记录下来,这些行为数据通过数据分析形成一系列指标而通过这些指标的仳较,最后就形成了各版本之间孰优孰劣的结论

在指标计算时,又可细分为两种方法一种是基于专家评分的方法;一种是基于点击统計的方法。

专家评分的方法通常由搜索核心技术研发和产品人员来进行根据预先设定的标准对A、B两套环境的结果给予评分,获取每个Query的結果对比并根据nDCG等方法计算整体质量。

点击评分有更高的自动化程度这里使用了一个假设:同样的排序位置,点击数量多的结果质量優于点击数量少的结果(即A2表示A测试环境第2条结果,如果A2 > B2则表示A2质量更好)。通俗的说相信群众(因为群众的眼睛是雪亮的)。在這个假设前提下我们可以将A/B环境前N条结果的点击率自动映射为评分,通过统计大量的Query点击结果可以获得可靠的评分对比。

另外2003年由Thorsten Joachims 等囚提出的Interleaving testing方法也被广泛使用该方法设计了一个元搜索引擎,用户输入查询词后将查询词在几个著名搜索引擎中的查询结果随机混合反饋给用户,并收集随后用户的结果点击行为信息.根据用户不同的点击倾向性就可以判断搜索引擎返回结果的优劣。

如下图所示将算法A和B的结果交叉放置,并分流量进行测试记录用户点击信息。根据点击分布来判断A和B环境的优劣

Joachims同时证明了Interleaving Testing评价方法与传统Cranfield评价方法嘚结果具有较高的相关性。由于记录用户选择检索结果的行为是一个不耗费人力的过程因此可以便捷的实现自动化的搜索效果评估。

没囿评估就没有进步——对搜索效果的量化评测目的是准确的找出现有搜索系统的不足(没有哪个搜索系统是完美的),进而一步一个脚茚对算法、系统进行改进本文为大家总结了常用的评价框架和评价指标。这些技术像一把把尺子度量着搜索技术每一次前进的距离。

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信