推荐算法概述

2019-03-12 22:36张世东
科技传播 2019年4期
关键词:推荐算法评估指标协同过滤

张世东

摘 要 当前推荐系统已经有着广泛的应用,文章简要概述了推荐系统常用的协同过滤的推荐算法、基于内容的推荐算法及聚类推荐算法,举例说明了3种常用算法评估指标,结合实际体验介绍了推荐算法在现实中的应用情况,最后对推荐算法的未来应用进行了展望。

关键词 推荐算法;协同过滤;聚类;评估指标

中图分类号 TP3 文献标识码 A 文章编号 1674-6708(2019)229-0197-02

伴随着互联网的进步与发展,越来越多的网络公司希望自己的产品和内容得到有效推广,而用户在享用互联网便利的同时,也希望自己能获得产品及内容的完美推荐,进而减少浏览与查找时间,在这种情况下,精确的推荐算法便显得尤其重要。推荐算法可根据已有数据,按相关原则对数据进行处理,最终将所推荐的数据反馈至用户。

一个精确的推荐算法可大大减少用户查找目标时间,提高工作效率。乔布斯曾说过,只有在产品面世后,人们才知道他们想要什么。荐算法的功能亦是如此,可能用户一开始并不知道自己需要的内容,而一个好的推荐算法可以向用户提供最佳选择。本文将对协同过滤算法,基于内容的推荐算法和聚类算法进行叙述,并给出常用的评估指标,举例说明推荐算法的广泛应用。

1 常用推荐算法介绍

目前,推荐算法已经得到了业界的广泛研究,已产生十几种主流的推荐算法。本文将对3种常用的推荐算法进行简要介绍。

1.1 协同过滤的推荐算法

协同过滤是目前应用最广泛的算法之一,根据其考察问题的出发点,可分为基于用户、基于物品和基于模型的协同过滤推荐算法。三种算法各有所长,在某些情况下也会根据实际应用情况将三种形式进行融合,形成混合算法。

基于用户的协同过滤算法主要思想是:通过用户间的相似性,建立用户相似度矩阵,通过对相似度矩阵的分析和刻画,找到相似度比较高的相似用户,最后将相似用户的有效信息推荐给目标用户。也就是说,用户通过该算法找到相似用户后,将相似用户所偏好的物品推荐给所需用户。

基于物品的协同过滤算法主要思想是:通过物品间的相似性,建立物品相似度矩阵,通过对相似度矩阵的分析和刻画,找到相似度比较高的相似物品,最后将相似物品直接推荐给目标用户。该算法优点是精准性较高,缺点是推荐物品可能重复率高。

上述两种算法所涉及的相似度计算通常采用两种方法:一种是计算相似度矩阵的列向量或行向量间的欧式距离;另一种是计算向量间夹角的余弦值大小。

基于模型的协同过滤算法是根据已有的用户和物品之间的评价信息,建立人与物之间的评价矩阵,选取部分矩阵数据代入一个初始的数据模型,根据输出情况对该模型进行反复调整,最终建立误差较小的数据训练模型,最后将目标用户信息输入后,得到相应最优信息的物品推荐给目标用户。

协同过滤算法能够多角度多方面的利用用户和物品的信息,推荐结果不仅丰富,而且可靠性强。但也存在一定局限性:一方面,协同过滤算法无法避免冷启动问题;另一方面,协同过滤算法需要大量的数据做支撑才可发挥其作用,一旦数据较少、矩阵稀疏时,相似关联度刻画不够准确,最终导致精准度大大降低[ 1 ]。

1.2 针对内容的推荐算法

针对内容的推荐算法主要思想是:通过挖掘物品和用户的潜在信息(如历史信息),创建对应的文档,该文档的存贮方式基本上是由关键字组成,根据关键字的重复次数且排除无效文字后,进行权重设置,最后计算物品对应文档与用户对应文档之间的余弦相似度。为消除同义词和多义词造成的歧义,可以将通过关键字建立文档的方法进一步改进为模糊化的潜在语义分析,即利用映射法将文档和关键词映射到数值矩阵中,利用数学方法分析文档与文档之间、词与词之间及词与文档之间的相似度,进而向用户推荐。

由于协同过滤推荐算法是根据已有的物品评价体系建立推荐系统,所以无法适用于向用户推荐新物品的场景中,而针对内容的推荐算法能够在新物品推荐中表现良好,解决了协同过滤算法中存在的冷启动问题[2]。

1.3 聚类推荐算法

聚类算法是数据挖掘的一种经典方法,其主要思想为:将已有的物品信息和用户需求的物品信息存贮为数据,然后对数据进行聚类处理,获得数据的类别,最后通过查找用户需求物品所在类别,将该类别中的有关物品推荐给?用户。

聚类推荐算法通常采用的是K-均值聚类算法或者是模糊K-均值聚类算法,其主要過程如下:首先随机赋予K个中心位置,然后让所有数据寻找距离最近中心点,对节点进行一次归类分配,接下来对归类分配后的节点重新确定K个中心点,依次按照如上过程进行多次归类分配,直到中心点不再发生变化为止。所有数据通过该方式被聚类到K个类别中。对于由多组数据组成的数据组,可以采用模糊K-均值聚类算法及衍生改进的Chanel?K-均值聚类算法等[3]。

2 推荐算法的评估指标

推荐算法给出的推荐内容是否准确,需要采用合适的方法进行评估。目前常用的评估指标有3种:准确率、召回率、平准准确率。为更好理解每种评估的运算机理,特举例说明,例如目标用户所感兴趣的商品列表为{A,B,C,D,E,F},而推荐算法所推荐商品列表为{A,D,L,H,F}。

2.1 准确率

准确率是为考核推荐算法的准确性而设定的,其公式为:

Precision=推荐内容的正确数目/推荐内容的总数目。

示例中推荐商品的总数目为5,正确数目为3,于是本推荐算法提供给目标用户的准确率为3/5=60%。

2.2 召回率(查全率)

召回率是为考核推荐算法的全面性而设定的,其公式为:

Recall=推荐内容的正确数目/目标用户的内容总数示例中目标用户的商品总数为6,推荐商品的正确数目为3,于是本推荐算法提供给目标用户的召回率为3/6=50%。

2.3 MAP(平均准确率)

平均准确率是在考核推荐算法的准确率基础上又加入了对推荐顺序的核查,其公式为:

PK=正确商品中第K个商品的位置/该商品在推荐商品列表的位置。

MAP=所有PK值之和/推荐内容的总数目

示例中正確商品为{A,D,F},商品A在推荐商品位置为1知P1=1/1=1,商品D在推荐商品位置为2知?P2=2/2=1,商品F在推荐商品位置为5知P3=3/5=0.6,于是本推荐算法提供给目标用户的平均准确率为(1+1+0.6)/6=43%。

根据实际情况,评估的侧重点也会有所不同,也有一些其他综合评价指标,如将准确率与召回率求和取倒数的F值方法,以及NDCG等其他评估的方法[4]。

3 推荐算法的应用及现状

随着互联网的普及使用及电商的迅速发展,推荐算法在日常生活、学习工作中有着越来越广泛的应用。例如:网上购物已成为大众的消费习惯,常常借助于淘宝、京东、亚马逊等购物网站。当输入关键词进行查找时,系统会自动根据关键词和已有购物记录进行商品推荐,并按价格、销量、信用和综合等进行分类排序,确保短时间内让用户选出所需用品,不再耗时耗力游走于各大?商场。

另一方面,电子图书已逐渐取代了以前的纸质书,通过微信读书,网易读书等读书软件便可以阅读海量图书。当输入作家姓名时,系统会展现其所有论著,还会根据阅读人数、读后评分进行推荐;同时会根据您和其他读者所读书目的相似度,将相似读者喜爱书籍推荐给您,这不仅节省查书时间,而且还扩大阅读视野,找到更多自己所喜爱的图书和书友,仿佛有了私人图书馆?一样[5]。

4 结论

文章对常用推荐算法进行了简要概述,从主要内容、评估指标和应用现状3个方面进行展开。推荐算法现在已经深入到我们的日常生活中,给生产生活带来了极大便利,在未来有着更广阔的需求空间和应用前景。因此,推荐算法还应不断进行发展改进,建立更精准的评估指标体系,让推荐系统的便利真正惠及每一用户。

参考文献

[1]王兴国.基于协同过滤的推荐算法研究[J].无线互联科技,2016(3):114-115.

[2]黄震华,张佳雯,田春岐,等.基于排序学习的推荐算法研究综述[J].软件学报,2016,27(3):691-713.

[3]吴成钢,杨光,张翔,等.推荐系统的应用及其安全性研究[J].信息网络安全,2011(8):69-71.

[4]杨博,赵鹏飞.推荐算法综述[J].山西大学学报(自然科学版),2011,34(3):337-350.

[5]欧辉思,曹健.面向跨领域的推荐系统研究现状与趋势[J].小型微型计算机系统,2016,37(7):1411-1416.

猜你喜欢
推荐算法评估指标协同过滤
我国职业足球俱乐部商誉价值评估指标体系构建研究
探析档案安全风险评估中的元评估
以评估指标为依据,构建教学质量标准体系
基于链式存储结构的协同过滤推荐算法设计与实现
基于相似传播和情景聚类的网络协同过滤推荐算法研究
社交网络推荐系统
基于协同过滤算法的个性化图书推荐系统研究
混合推荐算法在电影推荐中的研究与评述
一种改进的基于位置的推荐算法
行业型高校就业质量评估指标体系初探