推荐系统

推荐系统实践(五)

↘锁芯ラ 提交于 2019-11-28 03:47:40
第五章 利用上下文信息 5.1 时间上下文信息   给定时间信息后,推荐系统从一个静态的系统变成了一个时变的系统.有一个三元组(u,i,t)表示用户u在时刻t对物品i有过行为.   ( a) 评价物品的生命周期的指标:     (1) 物品平均在线天数: 如果一个物品在某天被至少一个用户产生过行为,就定义该物品在这一天在线     (2) 相隔T天物品流行度向量的平均相似度(余弦相似度) 用来评估一个系统的时效性   (b) 推荐算法的时间多样性: 推荐系统每天推荐结果的变化程度被定义为推荐系统的时间多样性    (c) 在用户没有行为的情况下如何保证推荐结果具备一定的时间多样性:     (1) 在生成推荐结果时加入一定的随机性     (2) 记录用户每天看到的推荐结果,然后在推荐的时候对用户已经看过的推荐降底权重     (3) 每天给用户使用不同的推荐算法    (d) 时间上下文推荐算法     (1) 最近最热门:给用户推荐最近一段时间最热门的物品,给定时间T,物品i最近的流行度$n_i(T)$可以定义为:          (2) 时间上下文相关的itemCF算法     itemCF的核心部分为:利用用户行为离线计算物品之间的相似度;根据用户的历史行为和物品相似度矩阵,给用户做在线个性化推荐。     利用时间信息对计算物品相似度的矩阵做一个改进:       

推荐系统实践笔记(四)

孤者浪人 提交于 2019-11-28 02:50:24
第四章 利用用户标签数据   流行的三个推荐系统联系用户和物品的方式:   (1) item-base itemCF   (2) user-base userCF   (3) feature_base 隐语义模型以及UGC(User Generated Content)模型(用户标签模型)    来源: https://www.cnblogs.com/z1141000271/p/11387063.html

【机器学习】推荐算法正负样本选择方法调研总结

余生颓废 提交于 2019-11-28 01:28:59
1. 正负样本构造常规方法 推荐算法更多是有监督的学习,一般情况下将有行为的用户作为正样本,但是不绝对,取决于目标是什么。因此需要首先充分了解需求,比如目标的群体是什么,事件或推荐的物品是什么,最终以什么样的形式落地,以及诉求的目标和期望的效果。 (1)正负样本的比例方面 正样本是少数:比如活动的参与、游戏的点击等场景,这类情况正样本相比于负样本一般是极少的,所以需要在充分保留正样本基础上选择负样本。这类情况建议保留全部正样本,在按照1:X的比例选择负样本,X可根据数量适当决定,一般建议4、5比较合适。 正样本是多数:比如流失预警,负样本是少数。则需要对正样本做抽样,再按照1:X的方式选择负样本。 (2)框定群体范围 取什么样本?取的样本中对正负样本的条件需要是公平的。例如,如果是流失预警,那就需要取还在活跃的用户群体;如果是某个活动,那就需要取在这个活动中有曝光的用户群体。 取多长周期?按照需求、频率、数据量确定。 (3)搭建特征 样本好坏决定方向正不正,特征的好坏决定了效果大致高低水平。 如果使用的是LR这类线性模型,想要刻画好非线性问题,就需要把特征做的足够复杂和准确,从而引入足够的非线性来弥补算法本身的局限,使其能够拟合复杂问题。 如果对现在的业务与不够熟悉对数据不够敏感,可以使用一些非线性的算法(FM, GBDT, xgboost, NN)

推荐系统实践笔记(三)

心不动则不痛 提交于 2019-11-28 01:07:00
第三章 推荐系统冷启动问题   如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐系统结果满意从而愿意使用推荐系统就是冷启动问题. 3.1 冷启动问题简介   冷启动问题主要分为以下三类:   (1) 用户冷启动 主要解决如何给新用户做个性化推荐的问题   (2) 物品冷启动 主要解决如何将新的物品推荐给可能对其感兴趣的用户   (3) 系统冷启动 主要解决如何在新开发的网站上设计个性化推荐系统   主要解决方法:   (1) 提供非个性化的推荐(用的比较多的是热门推荐)   (2) 利用用户注册时提供的年龄、性别等数据做粗粒度的个性化   (3) 利用用户的社交网络账号登录(需要用户授权) ,导入用户在社交网站上的好友信息,然后给用户推荐好友喜欢的商品   (4) 要求用户在登录时对一些物品进行反馈,收集用户对这些物品的兴趣信息   (5) 对于新加入的物品,可以利用内容信息,将它们推荐给喜欢过和它们相似的物品的用户。   (6) 在系统冷启动时,可以引入专家的知识,通过一定的高效方式迅速建立起物品的相关度表。 3.2 利用用户注册信息   用户注册信息分为三种:   (1) 人口统计学信息 包括用户的年龄、性别、职业、民族、学历和居住地。   (2) 用户兴趣的描述   (3) 从其他网站导入的用户站外行为数据   基于注册信息的个性化推荐系统基本流程如下:   

(论文阅读笔记)Deep Learning based Recommender System: A Survey and New Perspectives

懵懂的女人 提交于 2019-11-28 00:26:18
为了交英语作业机翻了这篇论文的一些部分 ,由于时间有限,感兴趣的内容有时间再翻 1引言: 推荐系统出现的背景:在这个信息爆炸的时代,许多用户都要面临信息过载的负担,推荐系统可以为用户过滤掉大部分用户不感兴趣的内容,帮助用户高效的找到感兴趣的东西。推荐系统在许多领域都已经成功应用,例如娱乐、购物、媒体等信息量冗余的领域。推荐系统在各个领域扮演者至关重要和必不可少的角色来提升业务和更方便的制定业务决策[69,121]。 推荐列表的生成方式:通常来说,推荐结果是由用户偏好、物品特征、用户-物品过去的交互信息和一些其它附加信息例如时间和空间特征。根据输入数据的区别推荐模型大致可以分为三类:协同过滤,基于内容的推荐系统和混合推荐系统[1]。 深度学习的介绍: 深度学习目前在飞速发展,过去几十年深度学习在计算视觉和语音识别等众多领域取得了巨大成功,由于深度学习能够在复杂任务中取得先进的结果,学术界和工业界已经将深度学习应用到各个广泛的领域[27]。 深度学习在推荐系统中的应用和发展 :在工业界,推荐系统是很重要的,在很多在线网站和移动应用上可以极大的提升用户体验并且提高产品或服务的销量[20, 27, 30, 43, 113],例如在NetFlix上80%的电影点播来自于推荐系统[43],在YouTube上60%的视频点击来自于推荐系统[30]。最近

推荐系统如何处理数据?

﹥>﹥吖頭↗ 提交于 2019-11-27 21:47:38
据统计,全球数据总量预计2020年达到44ZB,中国数据量将达到8060EB,占全球数据总量的18%。现阶段我们所讨论的人工智能,很大程度上都是在谈“人工智能”这个大概念下机器学习领域中的深度学习技术。它的底层原理相对简单,对数据有很大的依赖性,本质上是一种基于大数据的统计分析技术。 推荐系统作为人工智能的落地场景之一,对数据的依赖性不言而喻。企业通过前期的数据收集,全面了解自身的产品和目标用户;之后,通过一系列的数据挖掘技术,对目标用户进行分类,刻画用户画像;最后,再通过数据决策,制定产品运营方案,并不断迭代、优化产品细节。可以说,没有前期的数据,之后的一系列操作无从谈起。 那么,推荐系统是如何处理数据的呢? 一个典型的推荐系统,处理数据通常会经历以下四步:即数据收集、数据存储、数据分析和数据过滤。 数据收集 实现推荐系统的第一步便是收集数据。这些数据可以是显性数据,也可以是隐性数据。显性数据就是指用户主动输入的数据,例如对内容的评论、点赞、转发、下载等,隐性数据是指用户的浏览历史、阅读时长、观看记录、搜索日志等。后台会为每一个使用该产品/访问该站点的用户创建一个数据集。 用户的行为数据很容易收集,通过站点上的用户行为日志就能获取。如果用户已经在使用APP,获取用户的行为数据就不需要用户的额外操作。但这种方法有一个缺点,获取的数据分析起来很麻烦。比如说

学习《用户网络行为画像》PDF+《社会媒体挖掘》PDF课件

孤者浪人 提交于 2019-11-27 19:52:14
如何能牢牢地黏住老用户、吸引新用户、读懂用户的偏好兴趣和喜怒哀乐,这都是对企业发展至关重要甚至关乎生死存亡的问题,解决这个问题的方法就是推荐系统。本书分为上中下三篇,共13章,上篇为用户画像知识工程基础,包括表征建模、画像计算、存储及各种更新维护等管理操作;中篇为推荐系统与用户画像,包括传统协同过滤等经典推荐算法的介绍,以及涉及用户画像的推荐方法;下篇为应用案例分析,包括Netflix、阿里等数据竞赛的经典数据案例,以及在具体工程开发过程的具体案例,分别从系统需求、总体结构、算法设计、运行流程及测试结果等五个方面提供详细案例指导。 《用户网络行为画像:大数据中的用户网络行为画像分析与内容推荐应用》PDF,235页,带书签目录,文字可以复制。《用户故事地图》中文PDF,255页,带书签目录,文字可以复制。 《用户网络行为画像》PDF+《用户故事地图》PDF 下载: https://pan.baidu.com/s/1EWgxGXi4jzUPfm-iTpZ78g 提取码: 8kim 用户故事地图作为一种有效的需求工具,越来越广泛地应用于开发实践中。本书以用户故事地图为主题,强调以合作沟通的方式来全面理解用户需求,涉及的主题包括怎么以故事地图的方式来讲用户需求,如何分解和优化需求,如果通过团队协同工作的方式来积极吸取经验教训,从中洞察用户的需求,开发真正有价值的、小而美的产品和服务

MapReduce模拟小型推荐系统

拈花ヽ惹草 提交于 2019-11-27 16:08:33
MapReduce实例-好友推荐 背景 好友关系图如下图所示 转化为文字之后为,即为输入数据 tom hello hadoop cat world hadoop hello hive cat tom hive mr hive hello hive cat hadoop world hello mr hadoop tom hive world hello tom world hive mr 思路 推荐者与被推荐者一定有一个或多个相同的好友 全局去寻找好友列表中两两关系 去除直接好友 统计两两关系出现次数 调用API map:按好友列表输出两俩关系 reduce:sum两两关系 再设计一个MR 生成详细报表 编写Mapper package com . sxt . FR ; import org . apache . hadoop . io . IntWritable ; import org . apache . hadoop . io . LongWritable ; import org . apache . hadoop . io . Text ; import org . apache . hadoop . mapreduce . Mapper ; import org . apache . hadoop . mapred . OutputCollector ; import

推荐系统的工作流程

六月ゝ 毕业季﹏ 提交于 2019-11-27 10:14:36
在互联网飞速发展的现代社会,人们每天都要受到成百上千条信息的轰炸,APP推送、新闻热点、信息流广告……一个有效的“信息过滤器”已经成为了人们日常生活的刚需,也是信息供应商在激烈的市场环境中脱颖而出的必杀技。 推荐系统正扮演着这样一个角色,它如同筛子一般,帮我们找到最想要的内容。但是,推荐系统过高的技术门槛和研发成本把很多企业挡在了门外。第四范式基于机器学习技术推出的智能推荐产品先荐,专注于内容行业的个性化推荐,凭借自身的技术优势有效解决着这一难题,已经服务了36氪、花瓣、果壳等知名媒体,不断受到行业内的广泛好评。 在接下来的文章中,先荐将系统地讲解推荐系统的相关知识,希望各位技术爱好者能对推荐系统有更多、更多的了解。首先,我们将从推荐系统的工作流程讲起。 1. 信息收集阶段 这一阶段会收集用户的相关信息,用以生成预测任务的用户画像,这些信息包括用户属性、用户行为或用户访问的资源。只有用户画像完全建立后,推荐系统才能开始运行。推荐系统需要尽可能多地了解用户,这样的话从一开始就能为用户提供合理的推荐结果。 推荐系统依赖于不同类型的输入,例如最直接的显式反馈,即用户直接输入感兴趣的内容,或隐式反馈,即通过观察用户行为间接地推断用户偏好,还可以通过显式和隐式反馈的组合来获得混合反馈。 以网络学习平台为例,用户画像是与特定用户相关联的个人信息的集合。这些信息包括该用户的认知技能、智力水平

[推荐系统] 两种协同过滤

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-27 06:11:54
两种协同过滤 下午没事练练coding。 发现还是能写的出来的。虽然for循环写的比较二。 推荐系统这边还是比图像更有商业价值吧。 coding import numpy as np import itertools def cos_likelyhood(x,y): assert x.shape == y.shape return x.dot(y.T) / np.sqrt(x.dot(x.T)) / np.sqrt(y.dot(y.T)) class Mine_CF(): def __init__(self,M): self.M = M self.num_persons,self.num_items = M.shape[:2] likelyhood_user = np.zeros((self.num_persons,self.num_persons)) for i in range(self.num_persons): for j in range(self.num_persons): likelyhood_user[i,j] = cos_likelyhood(self.M[i,:],self.M[j,:]) self.likelyhood_user = likelyhood_user likelyhood_item = np.zeros((self.num_items,self