协同过滤(概念、相似度计算方法+例题)

您所在的位置:网站首页 用你喜欢的方法计算 协同过滤(概念、相似度计算方法+例题)

协同过滤(概念、相似度计算方法+例题)

2024-06-29 20:27| 来源: 网络整理| 查看: 265

前前排先说一下:写完的东西一定记得保存!要不网页一关就啥都没了💔💔💔

协同过滤是一种推荐算法,它和传统的内容过滤不同;传统过滤方法可能会存在误差(比如把用户感兴趣的内容滤掉或者推荐给用户不喜欢的内容)。

协同过滤不仅通过分析用户的喜好(点击量、浏览页面),还可以扩大范围网,通过计算与该用户喜好相同的用户所喜欢的内容,通过后台计算,并把结果反馈给用户。

协同过滤的优点之一是它甚至可以代替用户直接给系统做出反馈,使操作更加智能化。

其中,协同过滤算法主要分为基于启发式和基于模型式两种。

而基于启发式的协同过滤算法,又可以分为基于用户的协同过滤算法和基于项目的协同过滤算法,这里主要讲基于用户的协同过滤算法

基于用户的协同过滤

因为这种计算总是和“邻居”相关,所以它又叫基于邻居的协同过滤。

1.1 方法步骤:

① 搜集用户信息,列出相关表格/矩阵。 ② 按要求查找候选邻居,计算相似度。 ③ 计算预测分值。

光看这三个步骤,估计也看不太明白,下边来细说一下。

第一条就不多说了,就是简单的信息搜查和信息规整,记得表格做的美观简明就ok。

第二条,候选邻居应该可以通过题目要求找到。(通俗的讲就是和你要预测的这个商品相关的用户,假设想预测你对商品A的期待值,这时发现用户B用户C都购买过商品A,此时用户B和用户C就是你的候选邻居)

计算相似度的时候有两种方法供大家挑选。

皮尔逊相关系数 在这里插入图片描述

余弦相似度 在这里插入图片描述

还有这个,计算用户的预测分值(也就是最后结果)

计算预测分值 在这里插入图片描述

emmm,这个看起来很不好理解的样子

其实这个也没啥难的,我们来简单分析一下。(分析的是皮尔逊系数哈)

∑就是求和符号,i表示项数,求和就是把每个i相加。u和v表示不同的用户,分子是两个用户(u、v)分别对商品(i)的评分之和。分母是把每个用户对商品的评分相加平方再开方。

可以这么想,分子是对n个不同用户对同一商品的分析,而分母则是把每个用户单独的拿出来,分析不同商品。

说再多,不如来一道例题看看。

假设有如下电子商务评分数据集,预测用户 C 对商品 4 的评分。 在这里插入图片描述

怎么做?——按步骤一点一点来呗。

① 搜集用户信息,列出相关表格/矩阵。 在这里插入图片描述 ② 按要求查找候选邻居,计算相似度。 从数据集中可以发现,只有用户 A 和用户 D 对商品 4 评过分,因此候选邻居只有 2 个,分别为用户 A 和用户 D。 在这里插入图片描述 在这里插入图片描述 ③ 计算预测分值。 在这里插入图片描述

就这一小问肯定不能做到熟练计算相似度,请继续完成下边的练习 拓展:请分别计算出用户A\B\D\E表格中空缺的评分值

(以下是个人计算,如有错误欢迎斧正)

开始还是老一套,列表格;表格是之前就做好的,可以直接拿来用。 在这里插入图片描述 第二步第三步(解题过程) 用户A在这里插入图片描述 用户B 在这里插入图片描述 用户D(C前边说过了) 在这里插入图片描述 用户E 在这里插入图片描述

基于项目的协同过滤

同样的,基本步骤也是三步

1.收集用户信息 2.针对项目的最近邻搜索 3.产生推荐结果

不用考虑用户间的差别,所以精度比较差。不需要用户的历史数据,或是进行用户识别。因此可以离线完成工作量最大的相似性计算步骤,从而降低了在线计算量,提高推荐效率,尤其是在用户多于项目的情形下尤为显著。

2.2 相似度计算方法 也可以采用皮尔逊关系系数或者余弦相似度 基于物品的协同过滤算法,其中相似度计算公式如下所示: 在这里插入图片描述 分母|N(i)|是喜欢物品 i 的用户数,而分子|N(i)∩N(j)|是同时喜欢物品 i 和j 的用户,但是如果物品 j 很热门,就会导致 Wij 很大接近于 1。因此避免推荐出热门的物品,我们使用下面的公式: 在这里插入图片描述

2.3 用户 u 对于物品 j 的兴趣

可以根据如下公式计算用户 u 对于物品 j 的兴趣: 在这里插入图片描述 可以通过画共现矩阵的方法计算相似度,同样也可以得到相应的结果,这里就不再细说了。

再次编辑的时候没有第一次写的条理清晰,也尽可能的把一些难点解释清楚了,希望对大家能有所帮助哈



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3