推荐系统-实战总结

推荐系统实战


这周看了推荐系统实战这本书,其中基本上介绍的比较全面,但是每一部分并没有十分深入,深入的精华全部都在下方的备注当中,备注中有很多的论文,可以进行进一步的学习。


首先回顾一下一些框架信息,在专门思考其中几个重要的部分:

3种联系用户和item的推荐方式:

1 根据用户的历史行为,表达过反馈的item进行item的预测,传统的itemCF

2 根据用户的历史行为,找到相似用户,进行预测, userCF

3 根据用户的喜好和个人信息,提取用户的特征,喜欢的物品的特征,进行预测。基本上就是建立模型的思路

    用户自身的特征,1 比如年龄,性别,2 用户历史行为,时间和地理位置同样重要 3根据历史行为找到话题模型,喜欢的物品种类(可能涉及topic model)的部分,同时也需要提取物品的特征,比如物品的种类,属性。。。书中介绍到物品冷启动的时候也需要提取物品的特征,比如关键词向量,d={(e1,w1),(e2,w2)…}表示关键词和权重,权重信息可以利用TF-IDF进行计算。

    在提取了特征信息之后如果是要计算两个物品的相似性,那么表达为特征向量,两个特征向量直接相乘,如果是想直接直接得到预估结果,比如直接根据ctr排序等,那么利用机器学习的模型,进行训练。


一般系统的特征是十分多的,最近做的一个实例大概涉及2000万+的特征信息,如果一个系统把所有特征都考虑不现实,通过配置文件进行配置很麻烦,一般是多个推荐引擎一起工作,在按照一定的权重和优先级进行组合。


推荐系统的结构:

A  用户特征

    一般分为用户的行为特征,从用户日志中进行行为提取,再进行行为特征转换,而对于属性特征,就可以直接根据信息转化为特征向量


B 生成初始化推荐列表

   根据用户的特征,和线下计算完成的 特征-物品 的相关矩阵,进行转化得到相关推荐。 这里一个重点:这里一般会引入一个候选物品集合,也就是需要推荐的物品需要在候选集合当中。

   如果用户对物品a产生了行为,候选列表中b希望被推荐,a比较流行,b不流行,那么,b在a中的相关性计算的分肯定不会靠前(一般也会有抑制流行度的方法),那么topN推荐的时候可能不会有b,推荐的都是不在推荐列表中的物品,那么如果在最后进行简单过滤,可能导致推荐商品会很少,所以在这里,就应该适当根据推荐列表,增加列表中物品的权重信息。


C 过滤模块

    过滤到不满意的物品,比如,用户操作过的,质量很差的。。。


D 排名模块

   1 新颖性  在推荐过程中,对热门的物品进行降权

   2 多样性  对展现过的商品权重衰弱,通过根据用户的历史行为多挖掘主题,进行推荐

   3  时间多样性  系统实时性   商品根据时间因子衰减


其中几个比较重要的点,先简要记录一下,之后对每一个进行深入的介绍:


1 在CF的推荐过程中,一定要注意抑制物品,用户的活跃性因子。同时在计算相关性的时候,注意进行归一化操作 物品总是属于很多的类别,每个类别内部的物品的相似性也是不同的,所以最好类别进行归一化


2 隐语义模型 根据隐含特征联系用户的兴趣和物品,根据用户行为自动聚类 用户u与第k个隐含类的关系*第k个隐含类和物品i的关系 ,计算量比较大,如果不能先生成候选列表,不适合在实时应用,同时不好对结果进行解释

3 为模型抽样或者生成负样本的时候,尽量保持正负均衡,同时负样本尽量选择热门但是用户没有行为的

4 如何处理实时推荐系统的实时性问题

5 冷启动问题

用户冷启动问题,用户在注册的时候有基本信息,可以根据基本信息对用户分类,同时找到和用户特征f和物品i被具有特征f的用户喜欢的程度进行推荐,也可以在注册的时候先让用户显性地完成一些反馈操作,我记得像微博,lofter等都有这个过程

物品冷启动问题,简单的方法是将物品随机进行展示,那么会收集到一定的信息可以进行处理。最常用的方法是根据物品的内容生成关键词向量,根据关键词向量找到相似的物品,可以类似于CF的方法进行推荐,一般涉及到词语,那么就需要思考到同义词,LDA模型就可能需要

LDA包括3个个元素 文档,话题,词语通过收敛使词语组合为不同的话题,根据物品在话题上的分布,计算物品的相似性。计算分布相似性KL


6 通过给物品打标签,计算物品的标签分布,计算相似性,这里标签类似关键词,在计算权重的时候也可以引入ID-TFD进行优化


7 在做推荐的过程中,注意时间和地理位置的因素,注意一个物体的生命周期,系统的生命周期。在计算系统的时效性的时候,先计算物品的流行度,用物品的平均在线天数进行评估。再计算相邻T天时间,物品的流行度的相似性,获得系统的时效性

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本教程为官方授权出品伴随着大数据时代的到来,作为发掘数据规律的重要手段,机器学习已经受到了越来越多的关注。而作为机器学习算法在大数据上的典型应用,推荐系统已成为各行业互联网公司营销体系中不可或缺的一部分,而且已经带来了真实可见的收益。目前,推荐系统和机器学习已经成为各大公司的发力重点,众多知名公司(如亚马逊、netflix、facebook、阿里巴巴、京东、腾讯、新浪、头条等)都在着眼于将蕴含在庞大数据中的宝藏发掘出来,懂机器学习算法的大数据工程师也成为了新时代最紧缺的人才。精心打造出了机器学习与推荐系统课程,将机器学习理论与推荐系统项目实战并重,对机器学习和推荐系统基础知识做了系统的梳理和阐述,并通过电影推荐网站的具体项目进行了实战演练,为有志于增加大数据项目经验、扩展机器学习发展方向的工程师提供更好的学习平台。本课程主要分为两部分,机器学习和推荐系统基础,与电影推荐系统项目实战。第一部分主要是机器学习和推荐系统基础理论的讲解,涉及到各种重要概念和基础算法,并对一些算法用Python做了实现;第二部分以电影网站作为业务应用场景,介绍推荐系统的开发实战。其中包括了如统计推荐、基于LFM的离线推荐、基于模型的实时推荐、基于内容的推荐等多个模块的代码实现,并与各种工具进行整合互接,构成完整的项目应用。通过理论和实际的紧密结合,可以使学员对推荐系统这一大数据应用有充分的认识和理解,在项目实战中对大数据的相关工具和知识做系统的回顾,并且可以掌握基本算法,入门机器学习这一前沿领域,为未来发展提供更多的选择,打开通向算法工程师的大门。谁适合学:1. 有一定的 Java、Scala 基础,希望了解大数据应用方向的编程人员2. 有 Java、Scala 开发经验,了解大数据相关知识,希望增加项目经验的开发人员3. 有较好的数学基础,希望学习机器学习和推荐系统相关算法的求职人员

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值