Rocchino算法总结

Season请您思考:

    ·Rocchino本质是什么?


这个算法主要开始运用于网页搜索中,首先我们会举个例子来说明使用这个算法会产生什么样子的效果。当我们在网页上输入“苹果”后,网页会展现水果和电子产品iPhone,mac等等,此时我们可以用向量表示我们的输入操作为{苹果:1},然后我们会点击网页上的内容,如我们点击mac,此时我们的操作可以用向量就变成用{苹果:1,mac:0.8,iphone:0.5}表示,接下来网页展现的内容会越来越靠近我们点击的相关内容,这就有人机交互相互反馈的感觉了,事实上这个算法就是这样的一个思想。


Rocchio算法做了两个很致命的假设:

       一:它认为一个类别的文档仅仅聚集在一个质心的周围,实际情况往往不是如此(这样的数据称为线性不可分的);

       二:它假设训练数据是绝对正确的,因为它没有任何定量衡量样本是否含有噪声的机制,因而也就对错误数据毫无抵抗力。

常常被用来做科研中比较不同算法优劣的基线系统(Base Line)

(2)Rocchio算法应用举例

假定初始查询Q为“extremly cheap DVDs cheap CDs”。文档d1包含词项“cheap CDs cheap software cheap DVDs”,文档d2包含“cheap thrills DVDs”。用户标记d1为相关文档,d2为不相关文档。假定我们直接使用词项频率作为文档向量中词项的权重,并采用Rocchio 1971算法进行相关性反馈,其中α=1,β=0.75,γ=0.25,请给出修改后的查询向量。

解答:

单词

extremly

cheap 

DVDs

CDs

software

thrills

Original query

1

2

1

1

0

0

Positive Feedback

0

3

1

1

1

0

Negative feedback

0

1

1

0

0

1

因为α=1,β=0.75,γ=0.25,query vector =α*Original query vector +β*Positive Feedback vector —γ*Negative feedback vector (这里为什么这么计算呢?)

单词

extremly

cheap 

DVDs

CDs

software

thrills

α*Original query

1

2

1

1

0

0

β*Positive Feedback

0

2.25

0.75

0.75

0.75

0

γ*Negative feedback

0

0.25

0.25

0

0

0.25

query vector 

1

4

1.5

1.75

0.75

-0.25

故最后答案为:

单词

extremly

cheap 

DVDs

CDs

software

thrills

query vector 

1

4

1.5

1.75

0.75

0

解答

假定我们有一个用户查询,并知道部分相关文档和不相关文档的信息,则可以通过如下公式得到修改后的查询向量q:

转载博文:

1、Rocchio算法

2、相关性反馈题目


你可能感兴趣的:(Mechine,learning)