![](https://img-blog.csdnimg.cn/20200429111810323.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
推荐系统从入门到深入
文章平均质量分 86
你将获得
5大模块梳理推荐系统知识脉络;
20个推荐系统算法原理精讲;
10大算法落地事件案例解析;
掌握推荐产品理念及商业价值。
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
曾牛
成功的三个关键,坚持,坚持,再坚持
展开
-
推荐系统16:Bandit算法
我们在之前的文章中表达过,推荐系统的使命就是在建立用户和物品之间的连接。建立连接可以理解成:为用户匹配到最佳的物品;但也有另一个理解就是,在某个时间某个位置为用户选择最好的物品。推荐就是选择生活中,你我都会遇到很多要做选择的场景。上哪个大学,学什么专业,去哪家公司,中午吃什么等等。这些事情,都让选择困难症的我们头很大。头大在哪呢?主要是不知道每个选择会带来什么后果。你仔细想一下,生活中为什么会害怕选择,究其原因是把每个选项看成独一无二的个体,一旦错过就不再来。推荐系统中一个一个单独的物品也如此,一.原创 2021-06-06 22:44:31 · 306 阅读 · 0 评论 -
推荐系统15:Wide & Deep 模型
我们在前面已经提到过一个事实,就是推荐系统的框架大都是多种召回策略外挂一个融合排序。召回策略的姿势繁多,前面的专栏文章已经涉及了一部分内容。今天我们继续说融合排序。要深还是要宽融合排序,最常见的就是 CTR 预估,你一定不要把自己真的只局限在 C 上,这里说的 CTR 预估的 C,可以是产品中的任何行为,视频是不是会看完,看完后是不是会收藏,是不是会分享到第三方平台,查看的商品是不是会购买等等,都可以看成那个可以被预估发生概率的 CTR。CTR 预估的常见做法就是广义线性模型,如 Logistic.原创 2021-06-06 22:29:29 · 173 阅读 · 0 评论 -
推荐系统14:FM 模型
在上一篇文章中,我讲到了使用逻辑回归和梯度提升决策树组合的模型融合办法,用于 CTR 预估,我还满怀爱意地给这对组合起了个名字,叫做辑度组合,因为这对组合的确可以在很多地方帮到我们。这对组合中,梯度提升决策树,也就是人们常说的 GBDT,所起的作用就是对原始的特征做各种有效的组合,一棵树一个叶子节点就是一种特征组合。这大概就是逻辑回归的宿命吧,作为一个广义线性模型,在这个由非线性组成的世界里,唯有与各种特征组合办法精诚合作,才能活下去。从特征组合说起对逻辑回归最朴素的特征组合就是二阶笛卡尔乘积,但是原创 2021-06-02 00:02:26 · 144 阅读 · 0 评论 -
推荐系统13:经典模型融合办法:线性模型和树模型的组合拳
推荐系统在技术实现上一般划分为三个阶段:挖掘、召回、排序。为什么要融合?挖掘的工作就是对用户和物品做非常深入的结构化分析,庖丁解牛一样,各个角度各个层面的特征都被呈现出来,并且建好索引,供召回阶段使用,大部分挖掘工作都是离线进行的。接下来就是召回,为什么会有召回?因为物品太多了,每次给一个用户计算推荐结果时,如果对全部物品挨个计算,那将是一场灾难,取而代之的是用一些手段从全量的物品中筛选出一部分比较靠谱的。最后就是排序,针对筛选出的一部分靠谱的做一个统一的论资排辈,最后这个统一的排序就是今天要讲.原创 2021-06-01 09:13:04 · 152 阅读 · 0 评论 -
推荐系统12:如果关注排序效果,那么这个模型可以帮到你
矩阵分解在推荐系统中的地位非常崇高,恐怕本专栏介绍的其他算法模型都不能轻易地撼动它。它既有协同过滤的血统,又有机器学习的基因,可以说是非常优秀了;但即便如此,传统的矩阵分解无论是在处理显式反馈,还是处理隐式反馈都让人颇有微词,这一点是为什么呢?矩阵分解的不足前面我讲过的两种矩阵分解,本质上都是在预测用户对一个物品的偏好程度,哪怕不是预测评分, 只是预测隐式反馈,也难逃这个事实,因为算法展现出来的目标函数就出卖了这一切。得到这样的矩阵分解结果后,常常在实际使用时,又是用这个预测结果来排序。所以,从.原创 2021-05-31 00:01:08 · 110 阅读 · 0 评论 -
推荐系统11:Facebook是怎么为十亿人互相推荐好友的
回顾矩阵分解矩阵分解要将用户物品评分矩阵分解成两个小矩阵,一个矩阵是代表用户偏好的用户隐因子向量组成,另一个矩阵是代表物品语义主题的隐因子向量组成。这两个小矩阵相乘后得到的矩阵,维度和原来的用户物品评分矩阵一模一样。比如原来矩阵维度是 m x n,其中 m 是用户数量,n 是物品数量,再假如分解后的隐因子向量是 k 个,那么用户隐因子向量组成的矩阵就是 m x k,物品隐因子向量组成的矩阵就是 n x k。得到的这两个矩阵有这么几个特点:每个用户对应一个 k 维向量,每个物品也对应一个 k 维向原创 2021-05-27 22:08:16 · 275 阅读 · 0 评论 -
推荐系统10:那些在Netflix Prize中大放异彩的推荐算法
早在前几篇务虚的文章中,我就和你聊过了推荐系统中的经典问题,其中有一类就是评分预测。让我摸着自己的良心说,评分预测问题只是很典型,其实并不大众,毕竟在实际的应用中,评分数据很难收集到,属于典型的精英问题;与之相对的另一类问题行为预测,才是平民级推荐问题,处处可见。缘起评分预测问题之所以“虽然小众却十分重要”,这一点得益于十多年前 Netflix Prize 的那一百万美元的悬赏效应。公元 2006 年 10 月 2 号,对于很多人来说,这只是平凡了无新意的一天,但对于推荐系统从业者来说,这是不得.原创 2021-05-27 22:07:41 · 572 阅读 · 0 评论 -
推荐系统09:协同过滤中的相似度计算方法有哪些
相似度的本质推荐系统中,推荐算法分为两个门派,一个是机器学习派,另一个就是相似度门派。机器学习派是后起之秀,而相似度派则是泰山北斗,以致撑起来推荐系统的半壁江山。近邻推荐顾名思义就是在地理位置上住得近。如果用户有个邻居,那么社交软件上把邻居推荐给他在直观上就很合理,当然,如果邻居姓王的话,就不要推荐了。这里说的近邻,并不一定只是在三维空间下的地理位置的近邻,在任意高维空间都可以找到近邻,尤其是当用户和物品的特征维度都很高时,要找到用户隔壁的邻居,就不是那么直观,需要选择好用适合的相似度度量办法。近邻原创 2021-05-27 22:07:11 · 337 阅读 · 0 评论 -
推荐系统08:解密“看了又看”和“买了又买”
不管你有没有剁过手,你对“看了这个商品的还看了”这样的推荐形式一定不陌生。无论是猫还是狗,或者是其他电商网站,这样的推荐产品可以说是推荐系统的标配了。类似的还有,如点评标记类网站的“喜欢了这部电影的还喜欢了”,社交媒体网站的“关注了这个人还关注了”,这些都只是文案类似,动词不同而已。这样的推荐形式背后都是来自一个古老的推荐算法,叫做基于物品的协同过滤,通常也被叫作 Item-Based,因为后者更容易搜索到相关的文章,所以被更多地提及。如果做推荐系统不知道“基于物品的协同过滤”,那等同于做程序员不懂得冒泡.原创 2021-05-27 09:04:01 · 460 阅读 · 0 评论 -
推荐系统07:协同过滤
要说提到推荐系统中,什么算法最名满天下,我想一定是协同过滤。在很多场合,甚至有人把协同过滤和推荐系统划等号,可见二者的关系多么紧密。协同过滤的重点在于“协同”,所谓协同,也就是群体互帮互助,互相支持是集体智慧的体现,协同过滤也是这般简单直接,历久弥新。协同过滤当你的推荐系统度过了只能使用基于内容的推荐阶段后,就有了可观的用户行为了。这时候的用户行为通常是正向的,也就是用户或明或暗地表达着喜欢的行为。这些行为可以表达成一个用户和物品的关系矩阵,或者说网络、或者说是图,都是一个东西。这个用户物品的关.原创 2021-05-26 10:36:01 · 182 阅读 · 0 评论 -
推荐系统05:从文本到用户画像有多远
前面,我和你聊过了不要把用户画像当成银弹,也不要觉得一无是处。对于一个早期的推荐系统来说,基于内容推荐离不开为用户构建一个初级的画像,这种初级的画像一般叫做用户画像(User Profile),一些大厂内部还习惯叫做 UP,今天我就来讲一讲从大量文本数据中挖掘用户画像常常用到的一些算法。从文本开始用户这一端比如说有:注册资料中的姓名、个人签名;发表的评论、动态、日记等;聊天记录(不要慌,我举个例子而已,你在微信上说的话还是安全的)。物品这一端也有大量文本信息,可以用于构建物品画像( It.原创 2021-05-25 16:53:25 · 191 阅读 · 0 评论 -
推荐系统04:用户画像的“能”和“不能”
做好一个推荐系统,总共分三步:1.认识每一个用户;2.给他推荐他感兴趣的东西;3.坐等各项指标上升。开个玩笑,如果这么简单的话,那么你和我都要失业了;但是话说回来,认识用户是必须的,不过不用担心,认识用户不用请他们吃饭,这就是我们常常听说的“用户画像”这个词。今天,我就来跟你聊一聊:用户画像的那些事儿。用户画像比较抽象,就像每个人都听说过鬼,但很少有人见过。事实上,它也没有那么神秘,只是大家对它有误解,要么觉得没什么用,要么觉得它是“银弹”,可能相信后者的人略多一些,但实际上这两种看法都不准确。.原创 2021-05-25 11:25:29 · 142 阅读 · 0 评论 -
推荐系统03:这些你必须应该具备的思维模式
在开始讲解一些比较硬的知识之前,我先来给你洗洗脑,传达一些形而上、务虚但是重要的内容;所以,今天我主要带你认识两方面的内容:一个是重新认识推荐系统关键元素的重要性,另一个是要建立起两个思维模式。这两个方面的内容如果理解不到位,尤其是当你去负责整个推荐产品的时候,那真是害苦了整个团队所有的兄弟姐妹。对关键元素重要性的认识要开发一个推荐系统产品,有这么四个关键的元素需要注意:UI 和 UE;数据;领域知识;算法。他们的重要性依次递减,权重大致是 4-3-2-1,是不是知道真相的你眼泪掉下来.原创 2021-05-25 11:24:53 · 92 阅读 · 0 评论 -
推荐系统02:个性化推荐系统有哪些绕不开的经典问题
推荐系统发展到了今天,已经出现了一些常见的问题,一部分已经有很好的解决方案,另外一部分却还没有通用解决方案,需要根据实际情况做一下具体的分析。今天我来和你聊一聊这些问题。我会首先讲讲一些推荐系统中的问题模式,然后再专门说一些需要面对的具体问题。推荐系统的问题模式我们知道,推荐系统的使命是为用户和物品建立连接,建立的方式是提前找出那些隐藏的连接呈现给用户,这是一个预测问题;所以推荐系统的预测问题模式,从达成的连接目标角度区分,有两大类:1.评分预测;2.行为预测。因为评分和行为是用户对推荐结果.原创 2021-05-25 11:24:12 · 262 阅读 · 0 评论 -
推荐系统01:你真的需要个性化推荐系统吗
什么是推荐系统?到底什么是推荐系统?按照维基百科的定义:它是一种信息过滤系统,手段是预测用户(User)对物品(Item)的评分和偏好。这个定义不是很好理解,也不恰当。它用“怎么做”来定义了“是什么”,这相当于变相规定了推荐系统的实现路径。让我们来换一个角度回答三个问题,从而重新定义什么是推荐系统:1.它能做什么;2.它需要什么;3.它怎么做。对于第一个问题“它能做什么”,我的回答是:推荐系统可以把那些最终会在用户(User)和物品(Item)之间产生的连接提前找出来。这里简单说一下“连接”原创 2021-05-25 11:19:15 · 223 阅读 · 0 评论 -
推荐系统01:推荐系统架构
1.典型的信息流架构信息流是推荐系统应用中的当红炸子鸡,它表现形式有很多:社交网络的动态信息流、新闻阅读的图文信息流、短视频信息流等等。整体框架图如下:具体模块:这张架构图划分成几个大的模块:日志收集、内容发布、机器学习、信息流服务、监控。这里分别介绍一下:1.日志收集是所有排序训练的数据来源,要收集的最核心数据就是用户在信息流上产生的行为,用于机器学习更新排序模型;总体数据模型信息流的基本数据有三个:用户(User)、内容(Activity)和关系(Connection)。用户原创 2020-07-01 09:53:22 · 1441 阅读 · 0 评论 -
推荐系统7:推荐算法实战:mahout推荐算法框架
1.Mahout介绍1.1概述根据百度的解说,Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。1....原创 2020-04-29 10:35:29 · 579 阅读 · 0 评论 -
推荐系统6:SparkML预测模型构建
1.Spark ML重要概念1.Spark ML基于什么来处理的?Spark-Core的核心开发是基于RDD,但是RDD并不是非常的灵活,如果做一个结构化数据处理,还需要转换成DataFrame(在Python当中引出的概念)DataFrame其实就是行对象的RDD加上schema,类似于文本的数据,对这些数据加入schema,做一些结构的转换,可以把它简单地理解为数据库里的一张表,里面有数据...原创 2020-04-29 10:34:59 · 733 阅读 · 1 评论 -
推荐系统5:用户画像
1.用户画像概述1.1什么是用户画像用户画像是对现实世界中用户的数学建模1.2用户画像特点1.源于现实,高于现实用户画像是描述用户的数据,是符合特定业务需求的对用户的形式化描述2.源于数据,高于数据用户画像是通过分析挖掘用户尽可能多的数据信息得到的。1.3用户画像作用2.用户画像构建2.1标签标示方法标签是某一种用户特征的符号标示,用户画像是一个整体,各个维度不孤立,标签之...原创 2020-04-29 10:34:25 · 2731 阅读 · 0 评论 -
推荐系统3:协同过滤推荐算法
1.思想简介:协同过滤,从字面上理解,包括协同和过滤两个操作。所谓协同就是利用群体的行为来做决策(推荐)。对于推荐系统来说,通过用户的持续协同作用,最终给用户的推荐会越来越准。而过滤,就是从可行的决策(推荐)方案(标的物)中将用户喜欢的方案(标的物)找(过滤)出来。协同过滤分为基于用户的协同过滤和基于标的物(物品)的协同过滤两类算法。基于协同过滤的两种推荐算法,核心思想是很朴素的”物以类聚、人...原创 2020-04-29 10:33:21 · 605 阅读 · 0 评论 -
推荐系统2:大数据应用
1.大数据应用案例首先普及一下数据量单位,然后再来看BAT大数据应用字节 byte:8个二进制位为一个字节(B),最常用的单位.1KB (Kilobyte 千字节)=1024B,1MB (Megabyte 兆字节 简称“兆”)=1024KB,1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,1TB (Trillionbyte 万亿字节 太字节)=1024GB,其中102...原创 2020-04-29 10:32:41 · 214 阅读 · 0 评论 -
推荐系统1:推荐系统概述
1.什么是推荐系统1.推荐系统的背景(1)随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载的时代。在这个时代,无论是信息消费者还是生产者都遇到了很大的挑战(2)无明确需求(3)信息过载由此引出推荐系统的概念:从上图中可以看到,左边是没有明确需求的用户,但是商品信息量过大,推荐系统就是在大量商品中找到用户喜欢的商品推荐给用户,推荐系统是连接用户和商品的一个桥梁。作用...原创 2020-04-29 10:31:57 · 1103 阅读 · 0 评论 -
基于linalg.svd的推荐算法的实现
数据集中行代表用户user,列代表物品item,其中的值代表用户对物品的打分。基于SVD的优势在于:用户的评分数据是稀疏矩阵,可以用SVD将原始数据映射到低维空间中,然后计算物品item之间的相似度,可以节省计算资源。整体思路:先找到用户没有评分的物品,然后再经过SVD“压缩”后的低维空间中,计算未评分物品与其他物品的相似性,得到一个预测打分,再对这些物品的评分从高到低进行排序,返回前N个物品...原创 2019-10-10 15:11:57 · 238 阅读 · 0 评论 -
基于surprise的两种推荐算法的实现
surprise是scikit系列中的一个,简单易用,同时支持多种推荐算法:基础算法、协同过滤算法、矩阵分解(隐语义模型)。surprise文档: https://surprise.readthedocs.io/en/stable/getting_started.html1.基于邻域的方法(协同过滤)(collaborative filtering): user-based, item-b...原创 2019-10-10 14:08:57 · 672 阅读 · 0 评论 -
协同过滤推荐算法
1.思想简介:协同过滤,从字面上理解,包括协同和过滤两个操作。所谓协同就是利用群体的行为来做决策(推荐)。对于推荐系统来说,通过用户的持续协同作用,最终给用户的推荐会越来越准。而过滤,就是从可行的决策(推荐)方案(标的物)中将用户喜欢的方案(标的物)找(过滤)出来。协同过滤分为基于用户的协同过滤和基于标的物(物品)的协同过滤两类算法。基于协同过滤的两种推荐算法,核心思想是很朴素的”物以类聚、人...原创 2019-09-18 15:54:11 · 571 阅读 · 0 评论 -
spark实践cf(协同过滤)算法
import org.apache.spark.{SparkConf, SparkContext}import scala.collection.mutable.ArrayBufferimport scala.math._object cf { def main(args: Array[String]): Unit = { val conf = new SparkConf()...原创 2019-03-06 15:38:28 · 231 阅读 · 0 评论 -
协同过滤推荐算法
基于内容推荐的理论:1、基于内容推荐Content Based2、基于行为推荐Collaboration Filtering User Based Item Based基于内容推荐的优缺点:相关性计算:对于两个物品相似度进行打分排序:取top基于内容推荐的公式:基于协同推荐的理论:优缺点:基于协同过滤的思想:把基于...原创 2019-03-01 15:08:43 · 323 阅读 · 0 评论 -
推荐系统4:Lambda架构
# 1.Lambda介绍:提出者:Twitter工程师Nathan Marz提出,同时是Storm项目发起人Lambda作用:Lambda系统架构提供了一个结合实时数据和Hadoop预先计算的数据环境下的混合平台,以提供一个实时的数据视图# 2.分层架构架构图如下:![](https://upload-images.jianshu.io/upload_images/18154391-a6...原创 2020-01-11 15:21:58 · 176 阅读 · 0 评论 -
推荐系统之大数据应用
1.大数据应用案例首先普及一下数据量单位,然后再来看BAT大数据应用字节 byte:8个二进制位为一个字节(B),最常用的单位.1KB (Kilobyte 千字节)=1024B,1MB (Megabyte 兆字节 简称“兆”)=1024KB,1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,1TB (Trillionbyte 万亿字节 太字节)=1024GB,其中102...原创 2020-01-11 15:20:47 · 414 阅读 · 0 评论 -
推荐系统之Lambda架构
# 1.Lambda介绍:提出者:Twitter工程师Nathan Marz提出,同时是Storm项目发起人Lambda作用:Lambda系统架构提供了一个结合实时数据和Hadoop预先计算的数据环境下的混合平台,以提供一个实时的数据视图# 2.分层架构架构图如下:![](https://upload-images.jianshu.io/upload_images/18154391-a6...原创 2020-01-11 15:16:11 · 360 阅读 · 0 评论 -
音乐推荐系统web简单页面
实践:1、pyweb(基本的demo)代码:main_pg.py:#coding=utf-8import webimport sysimport redisimport jsonimport mathurls = ( '/', 'index', '/test', 'test',)render = web.template.render('templat...原创 2019-02-28 13:33:12 · 2706 阅读 · 0 评论