推荐算法

怎样为产品选择更为合适的推荐算法

房东的猫 提交于 2020-01-18 00:28:36
常见推荐机制/算法 基础推荐机制 机制 应用场景 原理概述 内容推荐 适用于冷启动 基于内容的协同过滤 数据量较大 判断内容相似度,相似度高的内容;播放内容A的用户,也会对内容B感兴趣 基于用户的协同过滤 数据量较大,但数据量越大可信度越低 把数据代入专门计算相似度的公式,获得不同用户(二者)口味的相似度;推测相似度高的用户,喜好的内容也类似,进而可以相互推荐 基于标签的推荐 适用于冷启动 协同过滤的风险 协同过滤技术在个性化推荐初期具有较好的效果,但随着产品结构、内容复杂度和用户人数的不断增加,协同过滤技术的缺点也一点一点的暴露出来了。 稀疏性(sparity) 大多数推荐系统中,每个用户涉及的信息量较为有限;用户数据最多不过评估到了百分分之一,造成评估矩阵数据相当稀疏,增加寻找相似用户集的难度,导致推荐效果大大降低 扩展性(scalability) “最近邻居”算法的计算量虽则用户和项的增加而大大增加,对于百万之巨的数目,通常的算法将遭遇严重的扩展性问题 精确性(accuracy) 寻找相近用户来产生推荐集,在数据量较大的情况下,推荐的可信度也会降低 经典算法 算法 应用机制 原理概述 topN 基础算法 1、直接用List的sort方法进行排序处理 2、使用排序二叉树进行排序,然后取出前N名 3、使用最大堆排序,然后取出前N名 矩阵算法 基础算法

工业界通用推荐系统架构及NetFlix经典架构解析

最后都变了- 提交于 2020-01-16 05:15:40
2个关键因素决定机器学习模型预测效果好坏 在这个页面里面,它相当于是给大家披露了一种比较标准的,算是行业的解决方案,对于不同的公司,每家公司业务是不一样的,但是每家公司背后的技术框架、基本思想是统一的, OK你可以认为这个是一个每家公司都要去遵守的一个就是统一的一个技术思路在,只不过是每家公司它可能给你看到技术方案的长的不一样,但是它的方案可能也就是呈现形式不一样,但是如果我们一旦要抓住背后的精髓,比如这张图我们就可以觉得每家公司其实技术都是统一的,都是通用的,对吧?“蜡炬教育AI学院” 比如在这里面我们把整个的方案分成三个层次,对吧? 从下往上就分别是这是数据层更偏底层对吧?底层大家都清楚,底层一般都是做什么的?都是做一些存储的,对不对?底层存储底层就是更切更贴近于你的磁盘,对吧?我们要做数据挖掘,首先底层要存数据,他要存什么数据呢? 存业务数据和日志数据,那是业务数据,什么叫业务数据?什么叫日志数据?业务数据就是用户的数据,比如说用户的性别、年龄、兴趣,还有一些什么家庭住址,或者是一些用户是不是有没有开会员,然后他的钱包里面有没有钱,甚至他有没有收藏一些信息等等, 这是用户数据,商品数据相当于是物品的原数据,比如说你在听一首歌或者是看一段视频,这个视频背后就是一个商品,你可以认为把它当成一个商品或者物品,比如说我们拿视频也好,物品数据包含什么?包含视频的自身的标题,演员。

推荐算法之---FM算法;

两盒软妹~` 提交于 2020-01-13 20:54:08
一,FM算法: 1,逻辑回归上面进行了交叉特征。算法复杂度优化从O(n^3)->O(k*n^2)->O(k*n)。 2,本质:每个特征都有一个k维的向量,代表的是每个特征都有k个不可告人的信息。(FFM:面对不同的字段field都有k个不可告人的信息。)所以,得到了n*k的矩阵,每一行就是每一个特征的向量。 3,原理推导: https://zhuanlan.zhihu.com/p/37963267 4,代码: https://github.com/challenge-ICME2019-Bytedance/Bytedance_ICME_challenge/blob/master/model_zoo/fm.py 二,FFM算法: 来源: https://www.cnblogs.com/yueyebigdata/p/12189050.html

python推荐算法itemCF基于物品的协同过滤

≡放荡痞女 提交于 2020-01-12 12:49:30
# itemCF Demo # python 3.7 import numpy as np import math # test data users = [ "u1" , "u2" , "u3" ] item_like_list = [ "a,b,c" , "a,b,c,e,f" , "a,e" ] # 单个商品喜欢人数 def check_1item ( item ) : return sum ( list ( map ( lambda x : item in x , item_like_list ) ) ) # print ( check_1item ( "a" ) ) # 同时喜欢item1与item2的人数 def check_2items ( item1 , item2 ) : m = sum ( list ( map ( lambda x : item1 in x and item2 in x , item_like_list ) ) ) # print ( "%s与%s的交集数为%d" % ( item1 , item2 , m ) ) return m # print ( check_2items ( "a" , "e" ) ) # 商品唯一列表 itemAll = set ( ) for items in item_like_list : for itemOne

基于内容的推荐算法

家住魔仙堡 提交于 2020-01-12 09:11:26
与上文基于 基于人口统计学的推荐算法 有所不同。 基于内容的推荐算法是根据 物品特征标签 ,发现物品的相关性,再基于用户过去的喜好记录,为用户推荐相似的物品。 基于人口统计学的推荐算法是 基于用户的身份信息 如年龄、职业等,并没有对物品特征进行刻画。 如: a和c都喜欢动作爱情类型的电影,如果c看了一部动作爱情的电影,则有较大概率a也喜欢看。 来源: CSDN 作者: JLUspring 链接: https://blog.csdn.net/qq_37724465/article/details/103842989

【推荐系统实践-02】利用用户行为数据(协同过滤)

喜夏-厌秋 提交于 2020-01-12 05:14:19
项亮老师的《推荐系统实践》学习笔记​。​ 目录 用户行为数据简介 用户行为分析 用户活跃度和物品流行度的分布 用户活跃度和物品流行度的关系 基于邻域的算法 基于用户的协同过滤算法 基于物品的协同过滤算法 UserCF和ItemCF的比较 隐语义模型 基于图的模型 为了让推荐结果符合用户口味,我们需要深入了解用户。 基于用户行为分析的推荐算法是个性化推荐系统的重要算法,学术界一般将这种类型的算法称为协同过滤算法。顾名思义,协同过滤就是指用户可以齐心协力,通过不断地和网站互动,使自己的推荐列表能够不断过滤掉自己不感兴趣的物品,从而越来越满足自己的需求。 1、用户行为数据简介 用户行为数据在网站上最简单的存在形式就是日志。网站在运行过程中都产生大量原始日志(raw log),并将其存储在文件系统中。很多互联网业务会把多种原始日志按照用户行为汇总成会话日志(session log),其中每个会话表示一次用户行为和对应的服务。 会话日志通常存储在分布式数据仓库中,这些日志记录了用户的各种行为,如在电子商务网站中这些行为主要包括网页浏览、购买、点击、评分和评论等。 用户行为在个性化推荐系统中一般分两种——显性反馈行为(explicit feedback)和隐性反馈行为(implicit feedback)。显性反馈行为包括用户明确表示对物品喜好的行为

推荐系统之协同过滤推荐算法

无人久伴 提交于 2020-01-11 20:18:19
1.思想简介: 协同过滤,从字面上理解,包括协同和过滤两个操作。所谓协同就是利用群体的行为来做决策(推荐)。对于推荐系统来说,通过用户的持续协同作用,最终给用户的推荐会越来越准。而过滤,就是从可行的决策(推荐)方案(标的物)中将用户喜欢的方案(标的物)找(过滤)出来。协同过滤分为基于用户的协同过滤和基于标的物(物品)的协同过滤两类算法。 基于协同过滤的两种推荐算法,核心思想是很朴素的”物以类聚、人以群分“的思想。所谓物以类聚,就是计算出每个标的物最相似的标的物列表,我们就可以为用户推荐用户喜欢的标的物相似的标的物,这就是基于物品(标的物)的协同过滤。所谓人以群分,就是我们可以将与该用户相似的用户喜欢过的标的物的标的物推荐给该用户(而该用户未曾操作过),这就是基于用户的协同过滤。 基于协同过滤的两种推荐算法,核心思想是很朴素的”物以类聚、人以群分“的思想。所谓物以类聚,就是计算出每个标的物最相似的标的物列表,我们就可以为用户推荐用户喜欢的标的物相似的标的物,这就是基于物品(标的物)的协同过滤。所谓人以群分,就是我们可以将与该用户相似的用户喜欢过的标的物的标的物推荐给该用户(而该用户未曾操作过),这就是基于用户的协同过滤。具体思想可以参考下面的图 2.算法原理 协同过滤的核心是怎么计算标的物之间的相似度以及用户之间的相似度。我们可以采用非常朴素的思想来计算相似度

推荐系统算法

荒凉一梦 提交于 2020-01-10 03:20:20
常用的推荐任务分为两种,一种是评分预测,而另一种是 Top-N 推 荐。 评分预测就是给那些没有评分的项目进行评分,主要依据目标用户的历史评 分行为以及相似度计算来预测目标项目的分数 。 Top-N 推 荐就是根据用户的偏好给 目标用户推荐其可能喜欢的 N 件物品。 1.协同过滤算法 协同过滤算法可分为基于用户的协同过滤(User-based CF)、基于物品的系统 过滤(Item-based CF) User-based CF 在推荐时首先会根据用户的行为记录找到相似的用户。例如,在电影推荐方面,如果 A 和 B 在对电影类型的喜好相同或 是相近,那么把 A 喜欢的电影推荐给 B 是有意义的。 首先需要计算两个用户的相似度 ,对于评分预测往往采用皮尔逊积矩相关系数来计算。 用户之间的相似度计算还可以采用 Jaccard 公式 给定两个集合A,B jaccard 系数定义为A与B交集的大小与并集大小的比值 ,jaccard值越大说明相似度越高 计算相似度在工程应用中这个公式还比较粗糙,例如,小时候我 们每个人基本都会购买《新华字典》,但并不能说明他们的购买兴趣相似,但是如 果两个人都购买了《推荐系统》,那么可以确定他们的购买兴趣是比较相似的,应 为只有研究推荐系统的人才会购买这本书,换句话说,两个用户对冷门物品采取 过相同的行为更能说明他们购买兴趣的相似度。

推荐系统相关

落花浮王杯 提交于 2020-01-07 23:10:58
转载:原文出处:https://www.cnblogs.com/lijinze-tsinghua/p/10763326.html 一、 相关会议 对于推荐系统领域,直接相关的会议不多,但由于推荐系统会涉及到数据挖掘、机器学习等方面的知识,并且推荐系统作为数据挖掘和机器学习的重要应用之一,同时推荐系统往更大的领域靠拢的话也属于人工智能的范畴,因此很多做推荐的学者把目光也瞄向了数据挖掘、机器学习和人工智能方面的会议。所以,如果想关注推荐系统的前沿,我们需要不仅关注推荐系统年会,还需要关注其他与推荐挂钩的会议。 1、与推荐系统直接相关的会议 RecSys -The ACM Conference Series on Recommender Systems. 2、数据挖掘相关的会议 SIGKDD - The ACM SIGKDD Conference on Knowledge Discovery and Data Mining. WSDM - The International Conference on Web Search and Data Mining. ICDM - The IEEE International Conference on Data Mining. SDM -TheSIAM International Conference on Data Mining. 3

第二章 利用用户数据

天涯浪子 提交于 2020-01-06 23:21:01
文章目录 第二章 利用用户数据 2.1 用户行为数据简介 2.2 用户行为分析 2.4 基于邻域的算法 基于用户的协同过滤 基于物品的协同过滤 2.5 隐语义模型(Latent factor model) 2.6 基于图的模型 第二章 利用用户数据 基于用户行为分析的推荐算法称作 协同过滤 算法 2.1 用户行为数据简介 用户行为数据最简单的存在形式是 日志 . 用户行为按反馈的明确性分为 显性反馈行为 和 隐性反馈行为 .如果按反馈的方向还可以分为 正反馈 和 负反馈 . 一个用户行为可以用6部分表示: 产生行为的用户,行为的对象,行为的种类,产生行为的上下文,行为的内容和权重. 按照反馈的明确性分,可分为显性反馈和隐性反馈 正反馈(用户喜欢该商品)和负反馈(用户不喜欢该商品) 2.2 用户行为分析 互联网上的很多数据分布都满足 长尾分布f(x)=ax^k ,也就是少部分物品占据了大多数出现次数 用户行为数据同时也满足长尾分布的规律,即物品流行度和用户活跃度均满足长尾分布。(物品流行度指对物品产生过行为的用户总数。用户活跃度指用户产生过行为的物品总数。)用公式表达即: fi(k)为被k个用户产生过行为的物品数;fu(k)为对k个物品产生过行为的用户数。 用户越活跃,越趋向于浏览冷门的物品. 学术界对协同过滤算法进入了深入研究,提出了很多方法,比如基于邻域的方法、隐含义模型