协同过滤(概念、相似度计算方法+例题) |
您所在的位置:网站首页 › 用你喜欢的方法计算 › 协同过滤(概念、相似度计算方法+例题) |
前前排先说一下:写完的东西一定记得保存!要不网页一关就啥都没了💔💔💔 协同过滤是一种推荐算法,它和传统的内容过滤不同;传统过滤方法可能会存在误差(比如把用户感兴趣的内容滤掉或者推荐给用户不喜欢的内容)。 协同过滤不仅通过分析用户的喜好(点击量、浏览页面),还可以扩大范围网,通过计算与该用户喜好相同的用户所喜欢的内容,通过后台计算,并把结果反馈给用户。 协同过滤的优点之一是它甚至可以代替用户直接给系统做出反馈,使操作更加智能化。 其中,协同过滤算法主要分为基于启发式和基于模型式两种。 而基于启发式的协同过滤算法,又可以分为基于用户的协同过滤算法和基于项目的协同过滤算法,这里主要讲基于用户的协同过滤算法 基于用户的协同过滤因为这种计算总是和“邻居”相关,所以它又叫基于邻居的协同过滤。 1.1 方法步骤: ① 搜集用户信息,列出相关表格/矩阵。 ② 按要求查找候选邻居,计算相似度。 ③ 计算预测分值。 光看这三个步骤,估计也看不太明白,下边来细说一下。 第一条就不多说了,就是简单的信息搜查和信息规整,记得表格做的美观简明就ok。 第二条,候选邻居应该可以通过题目要求找到。(通俗的讲就是和你要预测的这个商品相关的用户,假设想预测你对商品A的期待值,这时发现用户B用户C都购买过商品A,此时用户B和用户C就是你的候选邻居) 计算相似度的时候有两种方法供大家挑选。 皮尔逊相关系数 余弦相似度 还有这个,计算用户的预测分值(也就是最后结果) 计算预测分值![]() emmm,这个看起来很不好理解的样子 其实这个也没啥难的,我们来简单分析一下。(分析的是皮尔逊系数哈) ∑就是求和符号,i表示项数,求和就是把每个i相加。u和v表示不同的用户,分子是两个用户(u、v)分别对商品(i)的评分之和。分母是把每个用户对商品的评分相加平方再开方。 可以这么想,分子是对n个不同用户对同一商品的分析,而分母则是把每个用户单独的拿出来,分析不同商品。 说再多,不如来一道例题看看。 假设有如下电子商务评分数据集,预测用户 C 对商品 4 的评分。 怎么做?——按步骤一点一点来呗。 ① 搜集用户信息,列出相关表格/矩阵。 就这一小问肯定不能做到熟练计算相似度,请继续完成下边的练习 拓展:请分别计算出用户A\B\D\E表格中空缺的评分值 (以下是个人计算,如有错误欢迎斧正) 开始还是老一套,列表格;表格是之前就做好的,可以直接拿来用。 同样的,基本步骤也是三步 1.收集用户信息 2.针对项目的最近邻搜索 3.产生推荐结果 不用考虑用户间的差别,所以精度比较差。不需要用户的历史数据,或是进行用户识别。因此可以离线完成工作量最大的相似性计算步骤,从而降低了在线计算量,提高推荐效率,尤其是在用户多于项目的情形下尤为显著。 2.2 相似度计算方法 也可以采用皮尔逊关系系数或者余弦相似度 基于物品的协同过滤算法,其中相似度计算公式如下所示: 2.3 用户 u 对于物品 j 的兴趣 可以根据如下公式计算用户 u 对于物品 j 的兴趣: 再次编辑的时候没有第一次写的条理清晰,也尽可能的把一些难点解释清楚了,希望对大家能有所帮助哈 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |