实战智能推荐系统
智能推荐系统项目笔记
ouprince
这个作者很懒,什么都没留下…
展开
-
实战智能推荐系统(14)-- 推荐系统架构
外围架构一般来说,每个网站都有一个 UI 系统,UI 系统负责给用户展示网页并和用户交互。网站会通过日志系统将用户在 UI 上的各种各样的行为记录到用户行为日志中。从上面的结构可以看到,除了推荐系统本身,主要还依赖两个条件--界面展示和用户行为数据。推荐系统架构推荐系统联系用户和物品的主要方式如下图所示。如果将这三种方式都抽象一下就可以发现,如果认为用户喜欢的物品也是一种用户特...转载 2018-04-03 10:47:32 · 13559 阅读 · 9 评论 -
实战智能推荐系统(13)-- 推荐系统的时效性
时效性推荐系统应该考虑时间效应,因为用户的兴趣是有时间变化的。用户一年前喜欢的东西现在不一定感兴趣,相比于推荐过去喜欢的物品,推荐用户近期喜欢的物品更有参考价值。而在新闻更是如此,推荐过去跟用户兴趣一致的新闻已经失去了意义。每个系统时间效应的大小不同,比如时间对电影的作用就没有新闻那么明显。要考虑时效性,必须加入时间参数,比如三元组(用户,物品,时间)代替简单的二元组(用户,物品)。给定时间 ...转载 2018-04-02 14:43:06 · 3516 阅读 · 2 评论 -
实战智能推荐系统(12)-- 标签推荐系统
标签推荐系统标签推荐系统指的是利用用户对物品打标签的行为作出推荐。数据组织形式可用最简单的三元组表示(用户,物品,标签)。对于每个物品 i ,item_tags[i] 存储了物品 i 的标签向量,其中 item_tags[i][b] 表示用户对物品 i 打标签 b 的次数。那么物品 i 和物品 j 的余弦相似度可以通过如下的程序计算:def CosineSim(item_tags, i,...转载 2018-03-30 17:41:16 · 7039 阅读 · 1 评论 -
实战智能推荐系统(11)-- 推荐系统冷启动问题
1.用户冷启动问题用户冷启动主要解决如果给新用户做个性化推荐的问题。当新用户到来时,我们没有他的行为数据,所以也无法根据他的行为预测其兴趣,从而无法给他做个性化推荐。主要由两种解决方案。(1)基于统计学基于用户注册时提供的年龄,性别,工作等信息,统计出跟用户对应的年龄段,性别,工作属性相对应的受欢迎的商品。公式参考如下:p(f,i)就是具有特征f 的用户对物品 i 的欢迎程度,...转载 2018-03-29 19:14:48 · 3429 阅读 · 0 评论 -
实战智能推荐系统(10)-- 隐语义模型 LFM (Funk-SVD)
关于隐语义模型,其中之一就是本专栏第(2)节讲过的 -- SVD矩阵分解及其正则化 。LFM 模型通过如下公式计算用户 u 对物品 i 的兴趣:其中P 和 Q 的解释同第(2)节,不再累述。但可以解释一下隐类 K:假如用户喜欢看电影,但是兴趣比较广泛。如果采用协同过滤的算法,那么很难满足用户广泛的兴趣及其比重。假如用户80%的时间喜欢看科幻电影,20% 的时间喜欢看动画片。那么协同过滤...转载 2018-03-29 11:08:40 · 6028 阅读 · 3 评论 -
实战智能推荐系统(9)-- UserCF & ItemCF
算法原理的差异UserCF 给用户推荐那些和他有共同兴趣爱好的用户喜欢的物品,而 ItemCF 给用户推荐和他之前喜欢的物品类似的物品。从这个算法的原理可以看到,UserCF 的推荐结果着重于反映和用户兴趣相似的小群体的热点,而 ItemCF 的推荐结果着重于维系用户的历史兴趣。换句话说,UserCF 更社会化,反映了用户所在的小型群体中物品的热门程度,而 ItemCF 的推荐更加个性化,反...转载 2018-03-28 18:41:22 · 1547 阅读 · 0 评论 -
实战智能推荐系统(8)-- 基于物品的协同过滤算法
基于物品的协同过滤上一节介绍了基于用户的协同过滤,思想是找到跟自己兴趣最相似的 K 个用户,根据他们的兴趣找到目标用户感兴趣的物品。而基于物品的协同过滤其实跟基于用户的协同过滤非常相似。基于物品的协同过滤的思想是:根据用户之前喜欢的物品,给他们推荐与用户喜欢过的物品相似度高的新的物品。基于物品的协同过滤算法分为两步:(1)计算物品之间的相似度。(2)根据物品的相似度和用户历史行为...转载 2018-03-28 18:13:36 · 2349 阅读 · 6 评论 -
实战智能推荐系统(7)-- 基于用户的协同过滤算法
什么是基于用户的协同过滤?要我说,基于用户的协同过滤就是,当你在买东西的时候,提出购买过A物品的用户也购买过B。购买过A物品的用户就是跟你相似的用户,用他感兴趣的东西来预测你是否也感兴趣。这就是基于用户的协同过滤。主要包含两个步骤:(1)找到和目标用户相似的用户集合。(2)找到这个集合中用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。现在我们来讨论一下第一步,找到用户相似的...转载 2018-03-28 16:00:39 · 3979 阅读 · 2 评论 -
实战智能推荐系统(6)-- 用户行为分析
用户行为数据为了让推荐结果个性化,就需要深入了解用户。生活中通过“听其言,观其行”来了解一个人。而对于算法,则是分析用户行为日志。用户行为在个性化推荐系统中一般分成两种-- 显性反馈行为和隐性反馈行为。显性反馈行为包括用户明确表示对物品喜好的行为,比如对商品评分,喜欢或不喜欢。隐性反馈行为指的是那些不能明确反馈客户喜好的行为,比如用户浏览行为。相比于显性反馈,隐性反馈虽然不明确,但数据量更...转载 2018-03-28 11:13:28 · 5310 阅读 · 0 评论 -
实战智能推荐系统(5)-- 推荐系统评价指标
1.用户满意度用户作为推荐系统的重要参与者,其满意度是评测推荐系统的最重要指标。但是,用户满意度没有办法离线计算,只能通过用户调查或者在线实验获得。2.预测准确度预测准确度可以用评分预测和TopN表示。评分预测:评分预测的预测准确度一般通过均方根误差(RMSE)和平均绝对误差(MAE)计算。对于测试集中一个用户u 和 物品 i,令 rui 是用户u对i 的实际评分,而^rui 是推...转载 2018-03-27 19:13:20 · 17154 阅读 · 2 评论 -
实战智能推荐系统(4)-- 什么是好的推荐系统?
推荐系统与搜索引擎要回答什么是好的推荐系统,我觉得首先得知道为什么需要推荐系统。推荐系统的存在价值必须建立在两个必要的前提:(1)信息过载。随着信息技术和互联网的发展,人们逐渐从信息匮乏走向了信息过载时代。比如说如果在小超市买个东西,一件一件挑就是了。但是在淘宝网买东西,假设不使用搜索引擎,大量的物品让用户根本无法选择。(2)用户需求不明确。如果用户需求明确,正如前面举得例子。...转载 2018-03-27 17:47:04 · 3520 阅读 · 0 评论 -
实战智能推荐系统(2)-- Funk-SVD 矩阵分解及其正则化
SVD矩阵分解简介矩阵 A(U*I) 假设如下所示1 2 4 ? 7 1 ....2 4 ? 7 3 4 ..........假设这个矩阵是一个U*I 的矩阵,U表示用户,I 表示产品,里面的数字表示 用户U 对产品 I 的评分,问号表示评分未知。那么我们怎么样才能根据这个已知的评分预测未知的评分呢?其中之一的可行方案就是 SVD矩阵分解。矩阵分解的理论就是任意一个矩阵都有它的...转载 2018-03-14 15:36:07 · 7396 阅读 · 1 评论 -
实战智能推荐系统(1)-- 个性化推荐系统及其基本推荐算法
个性化推荐系统是建立在海量数据挖掘基础上的一种高级商务智能平台,以帮助电子商务网站为其顾客购物提供完全个性化的决策支持和信息服务。推荐系统有3个重要的模块:用户建模模块,推荐对象模块,推荐算法模块。主要推荐算法1. 基于内容推荐基于内容推荐是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推断的,而不需要依据用户对项目的评价意见,更多的需要用机器学习的方法从关于内容的特征描述的事件中得到用...转载 2018-03-12 18:20:17 · 28816 阅读 · 3 评论