推荐系统

推荐系统简介

旧街凉风 提交于 2019-11-29 16:29:23
一、推荐系统的目的 让 用户 更快更好的获取到自己需要的内容 让 内容 更快更好的推送到喜欢它的用户手中 让 网站( 平台)更有效的保留用户资源 二、推荐系统的基本思想 利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品。 利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品。 利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品 三、推荐系统分类 1、根据实时性分类 离线推荐 实时推荐 2、根据推荐原则分类 基于相似度的推荐 基于知识的推荐 基于模型的推荐 3、根据数据源分类 基于人口统计学的推荐 基于内容的推荐 基于协同过滤的推荐 四、推荐算法简介 1、基于人口统计学的推荐 2、基于内容的推荐: 利用用户评价过的物品的内容特征 3、基于 协同过滤 的推荐 基于 近邻 的协同过滤 基于用户(User-CF) 基于物品(Item-CF) 基于 模型 的协同过滤 奇异值分解(SVD) 潜在语义分析(LSA) 支撑向量机(SVM) 5、混合推荐 实际网站的推荐系统往往都不是单纯只采用了某一种推荐机制和策略,往往是将多个方法混合在一起,从而达到更好的推荐效果。比较流行的组合方法有: 加权混合:用 线性公式 (linear formula)将几种不同的推荐按照一定权重组合起来, 具体权重的值需要在测试数据集上反复实验 ,从而达到最好的推荐效果

推荐系统起手式-几种简单推荐模型(基于内容的推荐)

五迷三道 提交于 2019-11-29 15:12:53
一.基于内容的推荐 所谓基于内容信息的推荐系统,其实就是用特征(Feature)来表示用户、物品以及用户和物品的交互,从而能够把推荐问题转换成为监督学习任务。把推荐系统完全定义为监督学习任务,需要有这么几个步骤。 第一,就是我们已经提到的,需要把所有用户、物品的各种信号用特征来表示。这里面往往牵涉非常复杂和繁琐的特征工程,也就是看如何能够把不同的信息通过特征表达出来。 第二,就是每一个监督任务都需要面临的问题,如何构造一个目标函数,来描述当前的场景。可以说,这是最难的一个部分,也是和基于流行度和基于相似度的推荐系统的最大区别。 二.用户特征信息 用户向量化后的结果,就是 User Profile,俗称“用户画像”。对于用户来说,最基础、最首要的肯定是用户的基本特性,包括性别、年龄、地理位置。这三大信息其实可以涵盖用户特性工程中非常大的一块内容。这里不仅是最基本的这三个特性的值,还有围绕这三个特性发展出来的三大种类的特性。比如,不同性别在文章点击率上的差异,不同年龄层在商品购买上的差异,不同地理位置对不同影视作品的喜好等,这些都是根据这三个特性发展出来的更多的特性。然后,我们可以为用户进行画像(Profiling)。有显式的用户画像,比如用户自己定义的喜好,或者用户自己认为不愿意看到的物品或者类别。但是在大多数情况下,用户都不会为我们提供那么精准的回馈信息

从模型到应用,一文读懂因子分解机

拈花ヽ惹草 提交于 2019-11-29 07:49:19
作者丨gongyouliu 编辑丨Zandy 来源 | 大数据与人工智能(ID: ai-big-data) 作者在上篇文章中讲解了《 矩阵分解推荐算法 》,我们知道了矩阵分解是一类高效的嵌入算法,通过将用户和标的物嵌入低维空间,再利用用户和标的物嵌入向量的内积来预测用户对标的物的偏好得分。本篇文章我们会讲解一类新的算法: 因子分解机 ( Factorization Machine ,简称 FM ,为了后面书写简单起见,中文简称为 分解机 ),该算法的核心思路来源于矩阵分解算法,矩阵分解算法可以看成是分解机的特例 (我们在第三节1中会详细说明) 。分解机自从2010年被提出后,由于易于整合交叉特征、可以处理高度稀疏数据,并且效果不错,在推荐系统及广告CTR预估等领域得到了大规模使用,国内很多大厂(如美团、头条等)都用它来做推荐及CTR预估。 本篇文章我们会从 分解机简单介绍、分解机的参数估计与模型价值、分解机与其他模型的关系、分解机的工程实现、分解机的拓展、近实时分解机、分解机在推荐上的应用、分解机的优势 等8个方面来讲解分解机相关的知识点。期望本文的梳理可以让读者更好地了解分解机的原理和应用价值,并且尝试将分解机算法应用到自己的业务中。 一、分解机简单介绍 分解机 最早由Steffen Rendle于2010年在ICDM会议(Industrial Conference on

推荐系统遇上深度学习(十)--GBDT+LR融合方案实战

梦想与她 提交于 2019-11-29 06:43:07
推荐系统遇上深度学习(十)--GBDT+LR融合方案实战 0.8012018.05.19 16:17:18字数 2068阅读 22568 推荐系统遇上深度学习系列: 推荐系统遇上深度学习(一)--FM模型理论和实践: https://www.jianshu.com/p/152ae633fb00 推荐系统遇上深度学习(二)--FFM模型理论和实践: https://www.jianshu.com/p/781cde3d5f3d 推荐系统遇上深度学习(三)--DeepFM模型理论和实践: https://www.jianshu.com/p/6f1c2643d31b 推荐系统遇上深度学习(四)--多值离散特征的embedding解决方案: https://www.jianshu.com/p/4a7525c018b2 推荐系统遇上深度学习(五)--Deep&Cross Network模型理论和实践: https://www.jianshu.com/p/77719fc252fa 推荐系统遇上深度学习(六)--PNN模型理论和实践: https://www.jianshu.com/p/be784ab4abc2 推荐系统遇上深度学习(七)--NFM模型理论和实践: https://www.jianshu.com/p/4e65723ee632 推荐系统遇上深度学习(八)--AFM模型理论和实践:

推荐系统架构

大憨熊 提交于 2019-11-29 03:16:39
推荐系统架构 下图所示是业界推荐系统通用架构图,主要包括:底层基础数据、数据加工存储、召回内容、计算排序、过滤和展示、业务应用。 底层基础数据是推荐系统的基石,只有数据量足够多,才能从中挖掘出更多有价值的信息,进而更好地为推荐系统服务。底层基础数据包括用户和物品本身数据、用户行为数据、用户系统上报数据等。 召回内容 电商网站、内容网站、视频网站中数据量很大,并不能直接把所有的物品数据全部输送到推荐系统进行排序,那么如何对物品进行筛选就成了很关键的问题。第4章中介绍了一些常用的数据挖掘算法和应用场景,在进行物品召回时可以基于一些常用的机器学习算法构建用户偏好模型、用户兴趣模型、物品相似模型、物品互补模型等。在进行内容召回时,只召回和用户有偏好关系、和用户有直接关联、和用户有直接关系的相关物品,输入排序模型,进行打分排序。例如,在某新闻类网站中,根据用户对新闻的相关行为信息构建用户对新闻标签的兴趣模型,在为用户推荐时就可以推荐用户偏好标签下的新闻数据,如图14-5所示。 在物品召回过程中,重点是如何构建合适的用户偏好模型,只有保证偏好模型的准确性才能确保用户召回物品的准确性。 计算排序 特征工程 “数据决定了机器学习的上限,而算法只是尽可能逼近这个上限”,这里的数据指的就是经过特征工程得到的数据。特征工程指的是把原始数据转变为模型的训练数据的过程,目的就是获取更好的训练数据特征

推荐系统Crab for Python2.7的搭建

大城市里の小女人 提交于 2019-11-29 01:47:57
声明: 本文欢迎转载,但转载请标注作者及出处。 作者:周秀泽 本人最近在弄一篇推荐系统的论文,需要一个平台来验证研究算法。看到Crab,感觉还不错,所以决定搭建一个环境。 首先简单介绍一下Crab( http://muricoca.github.io/crab/ ),Crab 是基于Python开发的开源推荐软件, 它提供了一些常用的推荐算法,例如协同过滤(CF)、Slope One等,并且自带了几个数据集,非常方便。win32位系统搭建并没有太大难度,可是win64位的系统,相应的库比较难找,对应的资料有不足,所以环境搭建、配置会比较麻烦。根据 http://muricoca.github.io/crab/install.html 说明,我尝试了几天,终于成功了! 下面我将整个过程呈现一遍,把我遇到的问题和注意事项也都列出来,希望对以后学习推荐系统的人有所帮助。 1.电脑配置 本人的电脑是 window64 位系统,Python是 2.75 。 每个库我留了两个链接:第一个是exe链接,适合我的电脑(估计会适合全部的Python2.7版本);第二个是官网链接,其他Python版本和系统可以从官网下载。Python版本不同,配置过程也差不多。 配置前,请根据操作系统和Python版本去下载相对应库的版本! 2.库安装 以下过程按步骤来吧,虽然对最后的效果可能没有任何影响。 1)

16 推荐系统

随声附和 提交于 2019-11-29 01:38:05
16 推荐系统 16 推荐系统 16.1 问题形式化 16.2 开胃菜:基于内容的推荐系统 16.3 正餐:协同过滤collaborative filtering 16.4 再升级:实用算法 16.5 向量化:低秩矩阵分解 16.5(2) 相似性:推荐 16.6 细节:均值归一化 16.1 问题形式化 n u = n o . u s e r s n u = n o . u s e r s //--> ,用户数量 n m = n o . m o v i e s n m = n o . m o v i e s //--> ,电影数量 r ( i , j ) = 1 i f u s e r j h a s r a t e d m o v i e i r ( i , j ) = 1 i f u s e r j h a s r a t e d m o v i e i //--> y ( i , j ) = r a t i n g g i v e n b y u s e r j t o m o v i e i ( d e f i n e d o n l y i f r ( i , j ) = 1 ) y ( i , j ) = r a t i n g g i v e n b y u s e r j t o m o v i e i ( d e f i n e d o n l y i f r (

用于推荐系统评估的概念与指标

百般思念 提交于 2019-11-29 00:07:42
在上一篇文章《用于推荐系统评估的概念与指标》中,我们介绍了用于推荐系统评估的概念:实用性。在接下来的文章中,我们会介绍新颖性与多样性。 新颖性 新颖性通常指在推荐中出现新的物品,这在不同文献中有不同的定义。在此,我们将新颖性的定义和指标分为三个层次,如下表所示。本文中把新颖性指标称为 来源: https://blog.51cto.com/13945147/2433857

Hulu视频如何提升推荐多样性?

▼魔方 西西 提交于 2019-11-28 22:54:04
作者 | 余沾 整理 | 深度传送门(ID: deep_deliver) 导读: 本文主要介绍Hulu在NIPS 2018上发表的《Fast Greedy MAP Inference for Determinantal Point Process to Improve Recommendation Diversity》中,提出的DPP算法解决视频推荐中的多样性问题。 引言 随着机器学习技术日益成熟,机器学习的应用领域也越来越广。其中,推荐领域是机器学习一个比较常见且成功的应用场景。 推荐多样性和相关性是衡量推荐算法常用的标准 ,最近项目团队针对搜索多样性做了大量的研究工作。Hulu陈拉明的推荐算法研究团队在NIPS 2018会议上提出的基于DPP的推荐多样性算法,能较好地提高推荐的多样性和相关性,并且执行效率也十分可观。 我们团队也复现了该算法,具有不错的上线效果。 DPP 的构造 行列式点过程 (Determinantal Point Process, DPP )是一种性能较高的概率模型。DPP将复杂的概率计算转换成简单的行列式计算,并通过核矩阵的行列式计算每一个子集的概率。DPP不仅减少了计算量,而且提高了运行效率,在图片分割、文本摘要和商品推荐系统中均具有较成功的应用。 DPP通过最大后验概率估计,找到商品集中相关性和多样性最大的子集 ,从而作为推荐给用户的商品集。

用于推荐系统评估的概念与指标

孤街醉人 提交于 2019-11-28 20:39:06
在推荐系统中,研究人员为了能让预测结果对用户提供更多价值,会关注用户满意度。鉴于推荐系统除了让用户购买更多的相似产品外,还必须对用户而言“有用”,研究人员还会关注用户在使用系统时的交互体验和消费体验。 目前,研究人员正在通过评估不同的指标来解决这个问题,而不是简单地通过预测准确度和机器学习技术。 推荐系统的性能应该由它为用户产生的价值来衡量。在推荐系统的评估问题上,目前有很多指标,比如说覆盖率、新颖性、多样性、惊喜度。这些评估方法名称各不相同。 有些学者把推荐系统中的新颖性、相关性、惊喜度等称其为“概念(concept )”,另一些学者则称其为“维度(dimensions)”,还有些人称其为“推荐系统评估的方法(measures of recommender system evaluation)”。 在本文中,我们将使用“概念”一词,指代评估推荐系统时的不同方面。在对现有概念归类后,我们将其分为了六大类:实用性、新颖性、多样性、奇异性、覆盖率、惊喜度和覆盖率。但还有一些概念未提及,如:信任、风险、鲁棒性、隐私、适应性和可扩展性。为了方便读者阅读,我们会把这几大概念用不同的篇幅呈现。 表1总结了本文在所有评估指标中使用的符号。 实用性 推荐系统的实用性有很多别称,例如相关性、有用性、推荐价值和用户满意度等。《推荐系统手册》(Recommender Systems Handbook