
推荐系统三十六式
文章平均质量分 90
推荐系统
浊酒南街
纵使疾风起,人生不言弃。
展开
-
推荐系统三十六式学习笔记:结束语 |遇‘荐‘之后,江湖再见
所以,从写专栏的第一篇开始,我几乎无休地写了三个月,当然,注意这里我很有心机地写的是“几乎”这是身体消耗的辛苦,之后呢?这三个"如”字,是三种痛苦,同时,也是三种收获。今天,写完这个专栏之际,我感觉到前所未有的成就感,因为过程中不断收到订阅者的反馈,大家的反馈让我坚信自己初心的正确,也让我庆幸自己没有因为别人的看法而改变自己的内心所向。结果,专栏上线后的第一周,编辑就告诉我每周需要更新三篇,无论她当时是以多么轻松的口吻描述这个事实,我内心都是崩溃的,这不是鸡汤文,不是情感专栏,是硬朗的技术干货。原创 2024-08-29 22:07:59 · 751 阅读 · 0 评论 -
推荐系统三十六式学习笔记:产品篇36 | 组建推荐团队及工程师的学习路径
今天我主要谈的是推荐系统中人的因素,包括了团队和个人,这部分内容本来和技术干货内容相比,就有点形而上,但是事实上却又绕不开这部分内容。因此,我先用一个例子呈现一个有下线团队应该有多少人。这里没有考虑人的个人能力差别,这里就假设大家智商都一样。很多时候,其实单机就能搞定很多看上去很复杂的事情,这是我不太推崇分布式的原因,因为多数时候没必要。最后,我谈了我对推荐系统工程师的能力看法,一共有三个层次,建设起来由易到难,需要不断刻意练习,才可能有较大的能力进步,这一点我和你共勉。原创 2024-08-23 22:41:43 · 881 阅读 · 0 评论 -
推荐系统三十六式学习笔记:产品篇35 | 说说信息流的前世今生
信息流是推荐系统在商业上最成功的应用;完全依赖数据驱动的信息流会面临黑天鹅事件,所以人和算法协同进化的信息流会是最有生命力的;数量上,注意力已被大厂囤在自己了手中,那么下一步要关注的是注意力的质量,这是信息流平台方的商品,毕竟广告主购买了注意力后,发现是地摊货,生意也不会长久的。原创 2024-08-16 19:49:24 · 824 阅读 · 0 评论 -
推荐系统三十六式学习笔记:产品篇34 | 推荐系统在互联网产品商业链条中的地位
今天,我带你换了一个角度去看待推荐系统的角色和作用,它是一台注意力存储机器,在注意力稀缺的今天,用投其所好的方式存储注意力,并将注意力作为商品与人交换产生价值,也就是广告、电商销售、其他增值服务。这些都是存储了注意力,并对存储的注意力进行了变现。但是,你要认识到,存储注意力并非只有推荐系统一种机器,所以你们家要不要采购这台注意力存储机器呢?那就需要再考虑一下成本了,如果存储的注意力价值远不及成本,想必你会采购这台注意力存储机器。这样就和专栏的开篇讲到,要不要上推荐系统的分析首尾呼应。原创 2024-08-15 11:49:03 · 864 阅读 · 0 评论 -
推荐系统三十六式学习笔记:工程篇.效果保证33 | 和推荐系统有关的开源工具及框架介绍
这里的推荐系统算法部分以Python和C++为主,甚至一些Python项目,底层也都是用C++开发而成。因此在算法领域,以Python和C++作为开发语言会有比较宽泛的选择范围。至于完整的推荐系统开源项目,由于其封装过于严密,比自己将大模块组合在一起要黑盒很多,因此在优化效果时,不是很理想,需要一定的额外学习成本,学习这个系统本身的开发细节,这个学习成本是额外的,不是很值得投入。因此,我倾向于选择各个模块的开源项目,再将其组合集成为自己的推荐系统。这样做的好处是有下面几种。原创 2024-08-14 22:54:05 · 956 阅读 · 0 评论 -
推荐系统三十六式学习笔记:工程篇.效果保证32|道高一尺魔高一丈,推荐系统的攻防
让效果指标真的在反映效果,也是要追求的效果。这句话虽然有点绕口,但是作为推荐系统从业者,应该牢记心间。这句话背后反映的就是推荐系统的健壮性。外部对推荐系统的攻击常常发生,而且又常常发生在协同过滤算法上。协同过滤相比训练出模型的推荐算法来说,的确更加脆弱些。基于用户的协同过滤又比基于物品的协同过滤要更常被攻击,究其原因,因为基于用户的协同过滤被攻击不容易在直观上发现,毕竟人在现实中也容易盲从,更何况在数字世界中被人伪造了几个知音一样的用户帮他们推荐呢?原创 2024-08-14 14:45:17 · 935 阅读 · 0 评论 -
推荐系统三十六式学习笔记:工程篇.效果保证31|推荐系统的测试方法及常用指标介绍
假设你已经有了自己的推荐系统,这个系统已经上线。原创 2024-08-13 17:49:52 · 944 阅读 · 0 评论 -
推荐系统三十六式学习笔记:工程篇.常见模型30|推荐系统服务化、存储选型及API设计
其实一个推荐系统的在线服务,和任何别的在线服务相比,也没有什么本质区别,只是仍然还有一些特殊性。提供一个在线服务,需要两个关键元素:数据库和API。今天我就来专门说说推荐系统中大家常常用到的数据库,并会谈谈推荐系统的api应该如何设计。今天我主要讲解了推荐系统上线的两大问题,一类是线上数据存储,一类是推荐系统的API有哪些。原创 2024-08-08 22:10:10 · 682 阅读 · 0 评论 -
推荐系统三十六式学习笔记:工程篇.常见模型29|让数据驱动落地,你需要一个实验平台
本文以Google开放的实验平台架构作为原型,对其核心技术做了详细介绍。这个实验平台做到了同时无偏移地做多组对照实验。因为它巧妙地引入了三个概念的嵌套结合:1.域;2.层;3.桶。原创 2024-08-06 17:00:27 · 610 阅读 · 0 评论 -
推荐系统三十六式学习笔记:工程篇.常见模型28|让你的推荐系统反应更快:实时推荐
今天以协同过滤为例讲到了如何构建一个实时推荐,实际上,并不是每一种推荐算法都适合做实时推荐的,或者没有必要。幸运的是,很多机器学习算法,都可以使用一些在线学习方法更新模型,这些在线学习算法比较适合作为流计算的任务运行,属于我说的第三层次实时推荐。另外还有一种算法天然就适合在线实时进行,那就是前面讲到的Bandit算法,通过和用户之间反复互动更新推荐。原创 2024-08-03 19:43:26 · 1015 阅读 · 0 评论 -
推荐系统三十六式学习笔记:工程篇.常见模型27|巧妇难为无米之炊:数据采集关键要素
数据是推荐系统做饭的米,没有数据就没有推荐策略的落地,因此采集数据是一个非常重要的工作。采集数据需要首先梳理好自己的数据有哪些,是看推荐系统需要哪些数据。我把这些数据全部看成了矩阵,有了矩阵,无论是内容推荐还是系统过滤,矩阵分解,还是机器学习深度学习,就都有了输入。原创 2024-07-31 10:49:34 · 1006 阅读 · 0 评论 -
推荐系统三十六式学习笔记:工程篇.常见架构26|总览推荐结构和搜索、广告的关系
总结一下,今天我们提到了推荐架构和搜素、广告的关系,并将三者分别作了对比。最后,我还分别抽象了三者的架构。原创 2024-07-29 16:08:22 · 588 阅读 · 0 评论 -
推荐系统三十六式学习笔记:工程篇.常见架构25|Netflix个性化推荐架构
今天我以Netflix架构为原型,向你介绍了一个经典的推荐系统架构长什么样子。关于这个架构你只需要记住一点:它有三层,三层分别是离线,近线 ,在线。原创 2024-07-26 17:35:38 · 1359 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.其他应用技术21|构建一个科学的排行榜体系
推荐系统有一个顽疾就是冷启动,冷启动就是没有数据,没有数据怎么和用户玩呢?原创 2024-07-17 21:27:07 · 936 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.其他应用技术22|实用的加权采样算法
今天介绍的算法非常简单,但是在推荐系统中有很多的用途。尤其是面对数据需要采样,需要有所变化时,加权采样本质上来说就是让权重影响采样概率。原创 2024-07-18 15:14:08 · 998 阅读 · 0 评论 -
推荐系统三十六式学习笔记:工程篇.常见架构24|典型的信息流架构是什么样的
今天我逐一梳理了实现一个通用信息流的关键模块,及其已有的轮子,从而能最大限度地降低开发成本。这些对于一个中小型的社交网路来说已经足够,当你面临更大的社交网络,会有更多复杂的情况出现,尤其是系统上的,请时刻观察系统的监控、日志的规模。原创 2024-07-24 17:08:25 · 956 阅读 · 1 评论 -
推荐系统三十六式学习笔记:原理篇.其他应用技术23|推荐候选池的去重策略
我们今天介绍了两种去重算法。在推荐系统中,虽然我们十分关心推荐匹配的效果,但是对原始内容的挖掘和清晰往往更加重要,这其中就包括对重复内容的检测。两种去重策略都是牺牲一点误伤的概率换得大幅度的效果提升,具体的做法都是要借助哈希函数。只是哈希函数的结果再两个算法中有不同的处理手段,Simhash是加权,Bloomfilter则是用来寻址。原创 2024-07-19 11:46:34 · 892 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.深度学习20|用RNN构建个性化音乐榜单
循环神经网络和普通神经网络相比,就是在两个时刻的隐藏状态之间多了网络连接,看上去这个网络连接只与上一个时刻有关,事实上,上一个转态又于上上状态有关,所以实际上任意一个时刻的状态与此前所有的状态有关的。原创 2024-07-11 17:24:55 · 1201 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.深度学习19|深度学习在推荐系统中的应用有哪些?
通过观察YouTube的推荐系统中所用到的深度学习来看,在排序方方面,深度神经网络已经崭露头角,包括前面提到的wide&deep模型,也是深度学习在排序方面的贡献。除此之外,深度学习更多发挥作用的地方是特征表达上,各种嵌入技术得以让物品、用户、关系等对象的特征化有更好的输出。今天主要介绍了深度学习在推荐系统可以发挥哪些作用,同时以YouTube为例,介绍了国际大厂在这方面的落地情况。原创 2024-07-09 16:18:27 · 866 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.MAB问题18|如何将Bandit算法与协同过滤组合使用
今天我和你分享了一种上下文有关的Bandit算法,叫做LinUCB,它有这么几个优点:1.由于加入特征,所以收敛比UCB更快,也比UCB更快见效;2.各个候选臂之间参数是独立的,可以互相不影响地更新参数;3.由于参与计算的是特征,所以可以处理动态的推荐候选池,编辑可以增删文章;当然,LinUCB以及所有的Bandit算法都有个缺点:同时处理的候选臂数量不能太多,不超过几百个最佳。因为每一次要计算每一个候选臂的期望收益和置信区间,一旦候选太多,计算代价将不可接受。原创 2024-07-05 15:43:37 · 717 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.MAB问题17|结合上下文信息的Bandit算法
今天我和你分享了一种上下文有关的Bandit算法,叫做LinUCB,它有这么几个优点:1.由于加入特征,所以收敛比UCB更快,也比UCB更快见效;2.各个候选臂之间参数是独立的,可以互相不影响地更新参数;3.由于参与计算的是特征,所以可以处理动态的推荐候选池,编辑可以增删文章;当然,LinUCB以及所有的Bandit算法都有个缺点:同时处理的候选臂数量不能太多,不超过几百个最佳。因为每一次要计算每一个候选臂的期望收益和置信区间,一旦候选太多,计算代价将不可接受。原创 2024-07-04 16:42:01 · 768 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.MAB问题|16|简单却有效的Bandit算法
今天给你介绍了Bandit算法。Bandit算法把每个用户看成一个多变的环境,待推荐的物品就如同赌场里老虎机的摇臂,如果推荐了符合用户心目中喜欢的,就好比是从一台老虎机中摇出了金币一样。今天重点介绍的Bandit算法有汤普森采样,UCB算法,Epsilon贪婪算法,并且用模拟的方式对比了它们的效果,汤普森采样以实现简单和效果显著而被人们喜爱,需要时不妨先试一下它。原创 2024-07-03 10:23:49 · 2012 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.模型融合15|深度和宽度兼具的融合模型 wide and deep
将传统的宽模型和新的深模型结合,虽然更多的是一种工程上的创新,但是非常有实用性,模型也容易理解。简单总结一下全文重点:1.深度模型是一个结合了传统线性模型和深度模型的工程创新。2.这个模型适合高维稀疏特征的推荐场景,稀疏特征的可解释性加上深度模型的泛化性能,双剑合璧。3.这个模型已经开源在TensorFlow中,大大减少了落地成本,感兴趣可自行取用。4.为了提高模型的训练效率,每一次并不从头开始训练,而是用上一次模型参数来初始化当前模型的参数。原创 2024-06-28 10:24:18 · 1212 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.模型融合14|一网打尽协同过滤、矩阵分解和线性模型
今天,我给你介绍了另一种常用来做CTR预估的模型,因子分解机。因子分解机最早提出在2010年,在一些数据挖掘比赛中取得了不错的成绩,后来被引入到工业界做模型融合,也表现不俗。严格来说,因子分解机也算是矩阵分解算法的一种,因为它的学习结果也是隐因子向量,也是用隐因子向量的乘积来代替单个权重参数。原创 2024-06-27 14:46:10 · 465 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.模型融合13|经典模型融合办法:线性模型和树模型的组合拳
今天我们主要讲了简单的逻辑回归和梯度提升决策树,两者都不是太复杂的模型。并且无论是逻辑回归,还是梯度提升决策树,都有非常成熟的开源实现,可以很快落地。原创 2024-06-24 16:28:48 · 1277 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.矩阵分解12|如果关注排序效果,那么这个模型可以帮到你
今天是矩阵分解三篇的最后一篇,传统的矩阵分解,无论是隐式反馈还是显示反馈,都是希望更加准确地预测用户对单个物品的偏好,而实际上,如果能够预测用户对物品之间的相对偏好,则更加符合实际需求的直觉。BPR就是这样一整套针对排序的推荐算法,它事实上提出了一个优化准则和一个学习框架,至于其中优化的对象是不是矩阵分解并不是它的重点。但我在这里结合矩阵分解对其进行了讲解,同时还介绍了排序时最常用的评价指标AUC及其计算方法。原创 2024-06-20 20:35:45 · 883 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.矩阵分解11|facebook是怎么为十亿人互相推荐好友的?
在真正的推荐系统的实际应用中,评分预测实际上场景很少,而且数据也很少。因此,相比预测评分,预测用户会对物品干出什么事,会更加有效。然而这就需要对矩阵分解做一些改进,加权交替最小二乘就是改进后的矩阵分解算法,被Facebook采用在了他们的推荐系统中,这篇文章里,我也详细地解释了这一矩阵分解算法在落地时的步骤和注意事项。其中,针对One-Class 这种集合,一种常用的负采样构建方法是根据物品的热门程度采样。原创 2024-06-18 11:53:18 · 1152 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.矩阵分解10|那些在Netflix Prize中大放异彩的推荐算法
至此,我们介绍了在Netflix Prize比赛中最为出众的模型:SVD及其一些典型的改进。改进方案分别是:1、考虑偏置信息;2、考虑隐式反馈和用户属性3、考虑时间因素。原创 2024-06-14 15:14:58 · 1076 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.近邻推荐09|协同过滤中的相似度计算方法有哪些?
今天,我介绍了常用的几种相似度计算方法,以及其各自的使用场景。这里的场景是按数据形式划分的,按照向量维度取值是否是布尔值来看,杰卡德相似度就只适合布尔值向量,余弦相似度弹性略大,适合两种向量。欧式距离度量的是空间中两个点的绝对差异,适用于分析用户能力模型之间的差异,比如消费能力、贡献内容的能力等;是绝对差异,余弦相似度度量的是方向差异,但是调整的余弦相似度则可以避免这个弱点。原创 2024-06-12 17:55:10 · 1209 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.近邻推荐08|解密“看了又看”和“买了又买”
今天我们在基于用户的协同过滤的基础上介绍了比较常见的另一中算法:基于物品的协同过滤。这个方法常常在电商网站上见到,“买了又买”“看了又看”这样的推荐,都是由这个推荐算法产生。最后我们介绍了一个改良版的基于物品的推荐算法Slope One。原创 2024-06-11 19:44:47 · 601 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.近邻推荐07|人以群分,你是什么人就看到什么世界
今天,我与你聊了基于用户的协同过滤方法,也顺便普及了一下协同过滤这个大框架的思想。基于用户的协同过滤算法非常简单,但非常有效。在实现这个方法时,有许多需要注意的地方,比如:1、相似度计算本身如果遇到超大维度向量怎么办?2、两两计算用户相似度遇到用户量很大时怎么办?同时,我也聊到了如何改进这个推荐算法,希望能够帮到你。原创 2024-06-07 15:22:34 · 939 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.内容推荐06|超越标签的内容推荐系统
基于内容的推荐一般是推荐系统的起步阶段,而且会持续存在。它的重要性不可取代。因为:1、内容数据始终存在并且蕴含丰富的信息量,不好好利用属实可惜。2、产品冷启动阶段,没有用户行为,别无选择。3、新的物品要被推荐出去,首选内容推荐。基于内容的整体框架也是比较清晰的,其中对内容的分析最为重要,推荐算法这一款可以考虑先使用相似度计算,也可以采用机器学习思路训练预估模型,当然这必须得有大量的用户行为做保证;原创 2024-06-06 15:00:55 · 793 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.内容推荐05|从文本到用户画像有多远?
用户画像对于推荐系统还是非常必要的,而产品中属文本数据越多,那如何用文本数据构建出用户的画像内容呢?本文按照如下步骤梳理了这一过程:1、分析用户的文本和物品的文本,使其结构化;2、为用户挑选有信息量的结构化数据,作为其画像内容;其中,我们提出了把为用户挑选画像标签看成是特征选择问题,主要方法是卡方检验和信息增益。原创 2024-06-05 16:09:10 · 946 阅读 · 0 评论 -
推荐系统三十六式学习笔记:原理篇.内容推荐|04|画鬼容易画人难:用户画像的“能”和“不能”
用户画像对应的英文是User Profile ,它原本用于营销领域。营销人员需要对营销的客户有更精准的认识,从而能够更有针对性地对客户和市场制定营销方案。传统营销领域,是以市场销售人员为第一人称视角去看待客户的,也就是用户画像为营销人员服务。在这种用途下谈论的用户画像,和我们即将在推荐系统领域谈论的相差有点大,不过遗憾,今天在媒体上看到的多数“用户画像”案例分享,都停留在这个意思上。比如最常见的用户画像出现在高大上的PPT上,用标签云的方式绘制一个人的形状,以此来表达用户画像这个概念。原创 2024-06-04 14:19:25 · 1379 阅读 · 0 评论 -
推荐系统三十六式学习笔记:概念篇|03|这些你必须应该具备的思维模式
今天,我主要说了两个内容:1、推荐系统构成元素的相对重要性,搞清楚重点,才能快速前进;2、建立器目标和不确定性思维,抓住目标,不择手段地增长目标,不纠结一城一池的得失。原创 2024-06-03 14:20:48 · 1164 阅读 · 0 评论 -
推荐系统三十六式学习笔记:概念篇|02|个性化推荐系统有哪些绕不开的经典问题?
今天,我从两个角度总结了推荐系统中的常见问题。第一个角度是模型的角度,将推荐系统的模型分成了预测评分和预测行为,另一个角度是看推荐系统重一些永恒存在但潜在的问题,包括冷启动、EE问题、安全问题。原创 2024-05-31 14:29:07 · 1291 阅读 · 0 评论 -
推荐系统三十六式学习笔记:概念篇|01|你真的需要个性化推荐系统吗?
让我们来换一个角度回答三个问题,从而重新定义什么是推荐系统:1、它能做什么?2、它需要什么?3、它怎么做。对于第一个问题“它能做什么”,我的回答是:推荐系统可以把那些最终会在用户(User)和物品(Item)之间产生的连接提前找出来。人是互联的终极意义,‘其他’统称为物品,物品可能是人,资讯,消费品、服务等。推荐系统就是要在这张巨大的网中,不断去发现那些很可能会和人发生连接的另一类物品节点,让它们和用户真的建立连接。提炼一下上述逻辑:1、世界的发展趋势是万物倾向于建立越来越多的连接。原创 2024-05-30 14:55:41 · 1119 阅读 · 0 评论 -
推荐系统三十六式学习笔记:开篇词|用知识去对抗技术不平等
生活中每桩糟糕事,几乎都是时机不当的结果,每一件美好事,都是恰逢其时的结果。再恰到好处的时候,用户邂逅到美好的事物,想必正是一件美好的事情。知道推荐系统背后技术的基本原理后,你可以更快地开发自己的系统,更好的优化自己的系统,并且更容易取学习专栏中未涉及的内容;3.推荐系统从搜索引擎借鉴了不少技术和思想,比如内容推荐有不少技术就是来自搜索引擎,由亚马逊发扬光大的基于用户(user-based)产品篇:推荐系统要成功,还要考虑产品理念及其商业价值,因此这部分介绍一些产品知识和一点浅显的商业思考。原创 2024-05-29 15:17:42 · 475 阅读 · 0 评论