1_推荐系统背景

2019-09-04 08:43:04 围观 : 153
网址:http://www.puremw.com
网站:全民彩票官网手机版app

  

1_推荐系统背景

  推荐系统 李智凡 1.推荐系统&个性化推荐系统 2.协同过滤 3.SVD分解 4.SVD+协同过滤 5. 基于latent factor model的矩阵分解模型 1.1推荐系统 为什么个性化推荐? What is long tail: 由《连线》杂志主编Chris Anderson在2004年10月“长尾” 一文中最 早提出,用来描述诸如亚马逊和Netflix之类网站的商业和经济模式。 传统的“80%的销售额来自于20%的热门品牌” 相关推 荐 热门推 荐 个性化 推荐 互联网加入 卖出更多不热门的商品,长尾商品的总销售额将是不可小觑的数字。 主流商品代表了绝大多数用户的需求,而长尾商品代表了一小部分 用户的个性需求。因此,如果要通过发掘长尾提高销售额,必须充 分研究用户的兴趣。 推荐系统 2.1协同过滤(Collaborative Filtering Recommendation) 主要思想: ? 和你兴趣合得来的朋友喜欢的,你也很有可能喜欢; ? 喜欢一件东西 A,而另一件东西 B 与这件十分相似,就很有可能喜欢 B; ? 大家都比较满意的,人人都追着抢的,我也就很有可能喜欢 经典著名的商业组织有: 1、Tapestry(1992):电子邮件分类过滤,解决Xerox公司在Palo Alto的研究中心资讯过载问题。 2、GroupLens(1994):推荐系统,在线社区,移动及普适技术,数字图书馆,和地理信息系统, 见大名鼎鼎的MovieLens电影评分推荐。 3、 Netflix:研究影视视频在线、Amazon:亚马逊网络书城,为亚马逊每年贡献二三十个百分点的创收。 2.2协同过滤分类: ? ? 基于用户协同过滤(User – based):基于计算相似用户用以推荐 基于物品协同过滤(Item – based):基于计算相似物品用以推荐 2.3基于用户的协同过滤 最古老的算法,标志了推荐系统的诞生,在1992年被提出用于邮件 过滤,1994年被Grouplens用于新闻过滤。 通过不同用户对item的评分来评测用户之间的相似性,基于用户之 间的相似性做出推荐。 步骤:(1)找到和目标用户兴趣相似的用户集合 (2)找到这个集合中的用户喜欢的,且目标用户没有听说过 的物品推荐给目标用户 2.3.1 发现兴趣相似用户 2.3.2 推荐物品 首先需要从矩阵中找出与目标用户 u 最相似的 K 个用户,用集合 S(u, K) 表示,将 S 中用户喜欢的物品全部提取出来,并去除 u 已经喜欢的物品。 对于每个候选物品 i ,用户 u 对它感兴趣的程度用如下公式计算: 其中 rvi 表示用户 v 对 i 的喜欢程度,在一些需要用户给予评分的推荐系统中,则要代入用户评分。 假设我们要给 A 推荐物品,选取 K = 3 个相似用户,相似用户则是:B、C、D,那么他们喜 欢过并且 A 没有喜欢过的物品有:c、e,那么分别计算 p(A, c) 和 p(A, e): 2.4.1基于物品的协同过滤 (1)计算物品之间的相似度 (2)根据物品的相似度和用户的历史行为给用户生成推 荐列表 喜欢物品i的用户中有多少比例的用户也喜欢j 如果 j 很热门,值接近于 1 ,对于挖掘长尾信息不 是一个好的特性。 和用户历史上感兴趣的物品越相似的物品,越 可能在推荐表中获得比较高的排名。 ? 行与行之间比较的是基于用户的相似度,列与列之间比较的 则是基于物品的相似度。到底使用哪一种相似度呢? ? 这取决于用户或物品的数目。 ? 基于物品相似度计算的时间会随物品数量的增加而增加,基 于用户的相似度计算的时间则会随用户数量的增加而增加。 ? 在Netflix大赛中,则会有480000个用户和17700部电影。如果 用户的数目很多,那么我们可能倾向于使用基于物品相似度 的计算方法。 3.SVD分解 通过三个矩阵对原始矩阵进行了近似 如何知道仅需保留前3个奇异值的呢? 确定要保留的奇异值的数目有很多启发式的策略,其中一个典型的做法就是保留矩阵中90%的信息。 为了计算总信息,我们将所有的奇异值求其平方和。于是可以将奇异值的平方和累加到总值的90%为止。 4.SVD+协同过滤 ? SVD是一种强大的降维工具,我们可以利用SVD来逼近矩阵并从中提取 重要特征。通过保留矩阵80%~90%的信息,就可以得到重要的特征并 去掉噪声。SVD已经运用到了多个应用中,其中一个成功的应用案例就 是推荐系统。 ? 推荐系统将物品推荐给用户,协同过滤则是一种基于用户喜好或行为数 据的推荐的实现方法。协同过滤的核心是相似度计算方法,有很多相似 度计算方法都可以用于计算物品或用户之间的相似度。通过在低维空间 下计算相似度,SVD提高了推荐系系统的效果。 Vozalis M G, Margaritis K G. Applying SVD on Generalized Item-based Filtering[J]. IJCSA, 2006, 3(3): 27-51. 5.基于梯度下降法的矩阵分解模型 思想:让变量沿着目标函数负梯度的方向移动,直到移动到极小值点 一个用户u对一个物品i 的打分rui可以通过用户 特征向量pu和物品特征向量qi的点乘来建模 特征向量pu; qi可以通过优化如下的损失函数进行训练: 在时间复杂度和空间复杂度方面都有很大的优势` 总结: 矩阵分解的思路是把评分矩阵通过分解,用一个低秩的矩阵来逼近原来的评分矩 阵。 优点: ? 容易编程实现 ? 较低的时间和空间复杂度 ? 预测的精度比较高 缺点 ? 推荐的结果不具有很好的可解释性。因为把ratings matrix分解成user-factor matrix 和item-factor matrix,这里的factor很难用实际意义的概念来解释。 ? 不过,矩阵分解的过程相当于一个软聚类的过程,得到的每一个factor相当于每 一个聚类后的分组,只是我们没有一个通用的方法来为这些分组命名。 ? 但是在实际的应用中,我们可以提取这些分组中最突出的特点来给这些 factor命 名。比如,拿新闻资讯类的推荐系统来说,做好分解之后,每个factor都可以看 成是一类资讯,可以从这些资讯中提取一些特征来给这个factor命名。