结合协同过滤和个性化AGENT的增强推荐(再续)

结果

H1 用户群体意见比单一个性化服务器提供更好的推荐(错误)

我们假设使用的意见50位用户群体的协同过滤将比任何个人代理提供更好的结果。为了比较这些,我们应先找到最好的个人代理。

我们评估了三个DGBots,RipperBot、9个独立的genreBots还有个性化的Mega-GenreBot(见表1)。

结合协同过滤和个性化AGENT的增强推荐(再续)

其中,只有RipperBot、Mega-GenreBot和DGBot这些使用铸型和关键词才不是由其他代理所控制。

到目前为止,RipperBot精度最高(最低平均绝对误差MAE),但ROC灵敏度低(较低的决策支持)。联合起来的DGBot有ROC最高灵敏度,但精度相对较低。Mega-GenreBot有第二好的准确性和第二号的决策支持。我们使用用户的意见比较这三种对协同过滤的结果。协同过滤没有RipperBot准确,但有一个有意义的更高的ROC灵敏度值。实际上,虽然RipperBot避免了大的失误,但它比随机帮助人们找到好的电影和避免不好的只好那么一点点。

如果精度最优先考虑,H1将是错误的。

协同过滤比DGBot更准确的ROC灵敏度和拥有可比的ROC敏感度。虽然这两种方法提供类似的支持决策,DGBot平均大于20%的不准确准确概率。

如果决策支持是最重要的,H1将被认可为正确的。

Mega-GenreBot略逊于协同用户意见过滤的MAE平均绝对误差和ROC,但是差异没有大道统计学意义。我们会考虑Mega-GenreBot是小社区的基于用户的协同过滤的较好替代品。此外,协同过滤的结果提供的覆盖范围只有83%,(由于缺乏对这些电影的评级,其他的推荐不能做出)。

因此,我们拒绝H1的假设。

存在一个更准确的选择(RipperBot)和可比的准确性和价值,且没有减少覆盖面积的问题。

几个个性化服务器的结合体比单一个性化服务器提供更好的推荐(正确)

我们假设结合几个代理就会比任何单一个性化代理产生更好的结果。

在H1的测试中,我们发现,单一的代理,RipperBot有最好的精度值(MAE)、DGBot组合有最好的决策支持价值(ROC)和MegaGenreBot有着对上面两个参数较有竞争力的数值。

表2中我们比较这些值的获得的七个方法结合剂——回归,代理平均,协同过滤的单个用户和机器人,并手动选择“最佳机器人。”

结合协同过滤和个性化AGENT的增强推荐(再续)

协同过滤使用所有23(CF23)代理显然是最佳组合的方法,准确率显著优于所有其他的组合和相近或更好的ROC值。

CF23提供了比Mega-GenreBot和DGBot组合更有优势的MAE平均绝对误差和ROC。

在看其余CF23和RipperBot之间的对比。我们得出这样的结论:

CF23更好,因为在MAE平均绝对误差没有显著差异,ROC的情况则是CF23显著好于RipperBot。

因此,我们接受H2假设。

我们还观察到H2取决于使用协同过滤技术。没有其他组合方法的准确性接近主导RipperBot的准确性。

用户群体意见比几个个性化服务器的联合体提供更好的推荐(错误)

CF of Users better than Combination ofAgents

到了在这个阶段,很明显,我们必须拒绝H3假设。

表3总结了结果,但我们认识到,与一群50用户协同过滤确实是不像我们假设的那样准确或有价值。

结合协同过滤和个性化AGENT的增强推荐(再续)

将用户群里意见和几个个性化服务器联合体结合起来比它们两个单独使用的时候提供更好的推荐(正确)

我们假设的结合用户观点和给定用户的个性化代理将为用户比单独用户或代理商提供更好的结果。

通过H2和H3我们发现,在所有的测试方式下(agent-only/user-only)单个用户的协同过滤和23个用户的代理提供了最佳的准确性和决策支持。

表4显示了一个准确输出改变细微但统计上显著改善准确性的情况,其中包括协同过滤组合的其他用户。

结合协同过滤和个性化AGENT的增强推荐(再续)

 

其中ROC值也提高,虽然不是一个有巨大的飞跃。

因此,我们接受H4假设,同时发现使用混合协同过滤解决方案,用户和代理商确实得以达到提供最佳的整体效果。

探究

我们得到的最重要的结论是协同过滤的组合代理价值以及协同过滤组合代理和用户的价值。在本质上,这些结论暗示着一种可以产生通过提供有用的数据并且允许协同过滤引擎去筛选出对每个用户有用信息的高质量推荐系统的积极机制。实际上,这让创造一个极好的代理的重要性有所下降,相反的,我们可以简单地创造一套有用的代理。我们需要指出的是,这些实验测试了产生推荐系统的质量,而不是这些系统的性能和经济效益。目前的协同过滤推荐引擎处在他们的“学习”阶段,并不能有效地满足需要评估所有项目并且频繁地重复这项工作的“用户”。为了利用学习代,这些引擎必须被重新设计以致于可以满足有动态评价习惯的“用户”。我们正在有效地运用爬虫去测验几个不同的协同过滤引擎设计。

我们虽然有点惊讶,但也高兴发现作为引擎的组合机制,协同过滤优于线性回归。线性回归需要提供最优线性拟合,当数据的列数接近行数时,协同过滤的非最佳机制事实上通过避免过度拟合数据而比线性拟合做得更好。协同过滤同时在不完整(的确很稀疏)的数据集上有着优势,这体现了当人类或代理人不想去评估每一个项目时其作为一个有用的组合工具的价值。

我们惊讶于我们已经找到的几个结论并且寻求去解释他们。最重要的是,我们明显高估了协同过滤对于一个有50个用户的小社区的价值。回想起来,当我们通过一个由研究者和朋友组成的小团体开始协同过滤系统时,我们的期望就应该从我们积极的经验中建立起来了。那些成功可能部分由于这些关系密切的用户;我们经常看相同的电影并且我们中的许多人有着相似的品味。使用真实的用户将得到真正的多样性,从而可以获得更大众并且更真实的价值。以后的工作应该同时合并较大的用户集(其他实验通过有着数千用户的MovieLens社区表明平均绝对误差MAE值介于0.71和0.73间并且ROC的灵敏度值接近0.72)和更深入研究更紧密的社区,去观察是否一个更小的但是更均匀(应该是指人的种类相同)的社区会对协同过滤有更大的好处。

我们同时也对通过使用Ripper得到的结果感到惊讶。在广泛的调整之后,我们对他的准确性印象深刻,但它是如何随机区分好的和坏的电影却让我们感到沮丧。我们仍然不确定为什么RipperBot会做出此行为,并且相信进一步的工作是需要了解它的行为的原因和是否有可能通过训练,使其行为发生改变。

之后的日子里,我们计划进一步研究推荐系统方面的用户和代理的组合。特别地,我们有兴趣开发一个有着大量用户和代理商并存的组合社区。这有一个我们期望能得到解答的问题,是否同意对方的用户也将受益于调试过后的对方意见的代理(言简意赅应该是想说相互同意的群体是否会从通过意见的经过调试推荐中收益?)。

 

这篇经典巨著就翻译到这里~请大家批评指点~

 

结合协同过滤和个性化AGENT的增强推荐(再续)结合协同过滤和个性化AGENT的增强推荐(再续)