从零开始了解推荐系统全貌算法隐式大模型神经网络

有幸参与了几个业务推荐系统搭建的全流程,本文将从实际经验出发,为大家解构如何从零搭建推荐系统,希望跟大家能够相互交流,如有错误之处烦请指正。一、推荐算法的理解

如果把推荐系统简单拆开来看,推荐系统主要是由数据、算法、架构三个方面组成。

推荐的框架主要有以下几个模块:

三、用户画像3.1用户标签

标签是我们对多维事物的降维理解,抽象出事物更具有代表性的特点。我们永远无法完全的了解一个人,所以我们只能够通过一个一个标签的来刻画他,所有的标签最终会构建为一个立体的画像,一个详尽的用户画像可以帮助我们更加好的理解用户。

原始数据一共包含四个方面:

2.事实标签

事实标签可以分为静态画像和动态画像:

隐式行为的权重往往不会有显示行为大,但是在实际业务中,用户的显示行为都是比较稀疏的,所以需要依赖大量的隐式行为。

3.模型标签

模型标签是由事实标签通过加权计算或是聚类分析所得。通过一层加工处理后,标签所包含的信息量得到提升,在推荐过程中效果更好。

四、内容画像4.1内容画像

推荐内容与场景通常可以分为以下几类,根据所推荐的内容不同,其内容画像的处理方式也不同。

五、算法构建5.1推荐算法流程

推荐算法其实本质上是一种信息处理逻辑,当获取了用户与内容的信息之后,按照一定的逻辑处理信息后,产生推荐结果。热度排行榜就是最简单的一种推荐方法,它依赖的逻辑就是当一个内容被大多数用户喜欢,那大概率其他用户也会喜欢。但是基于粗放的推荐往往会不够精确,想要挖掘用户个性化的,小众化的兴趣,需要制定复杂的规则运算逻辑,并由机器完成。

推荐算法主要分为以下几步:

2.周期性复购问题

5.3粗排策略5.4精排策略

以短视频行业为例,推荐目标主要由几个方面组成:

参考:《多目标排序在快手短视频推荐中的实践》

1.概念:逻辑回归通过sigmoid函数,将线性回归变为可以解决二分类的方法,它可用于估计某种事物发生的可能性。

2.计算公式:Y根据目标设计:例如是否点击(是:1,否:0,最后预测一个0-1之间的点击概率);X根据特征工程设计:这一块就涉及到了前面提到的用户画像与内容画像,所有的画像都是对样本的特征的刻画。特征工程需要根据业务场景选择合适的特征并进行一定的加工;W由模型训练得到。

基于我们的目标,需要进行样本的收集(样本是对客观世界的具体描述),通过对已收集到的样本进行特征构造,并对其进行训练,最终求出模型参数的具体数值。

逻辑回归为有监督模型,因此需要有已经分类好的样本。正样本:用户曝光过某物品并点击。负样本:用户曝光过某物品并且没有点击。如果正负样本差距过大,可以将负样本随机抽样后与正样本一起训练。或只保留有点击行为的用户作为样本,将曝光但是没有被点击的物品作为负样本。

特征工程是对收集到的样本进行更加深度的特征刻画。虽然作为算法人员与用户接触较少,但对身边使用该产品的同学,进行深入的观察与访谈,了解他们对于所推荐内容的反馈,往往可以得到意料之外的特征开发方向。主要分为以下几个维度。

不同交叉方法得到的不同的参数数量:

1.深度学习基础Embedding+MLP模型

2.深度学习主要特点

(1)embedding技术在召回层的应用:embedding,即用一个数值向量来表示一个对象的方法,对于处理稀疏特征有比较重要的应用,其将稀疏高维特征向量转换为稠密低维特征向量,可以融合大量价值信息。其主要方法有基于文本的Word2Vec,基于物品的Item2Vec,基于图结构(社交关系、知识图谱、行为关系等)的deepwalk、Node2Vec(增加了随机过程中跳转概率的倾向性)等。

(2)深度学习模型在排序层的应用:深度学习模型以MLP为基础结构,embedding+MLP是最经典结合,google在此基础上提出的Wide&Deep在业界得到了广泛的应用。

3.目前主要的衍化方向

4.深度学习模型举例

(1)Wide&Deep模型

2016年谷歌发表的Wide&Deep模型与YouTube深度学习推荐模型,引领推荐算法走向了对深度学习的应用。

相比传统机器学习推荐模型,深度学习具有更加复杂的模型结构,而使其具备了理论上拟合任何函数的能力。同时深度学习的结构灵活性可以让其模拟出用户兴趣的变迁过程。左侧传统推荐模型与右侧深度学习推荐模型对比,其模型复杂度增加:

(2)DeepFM模型

由FM与深度学习模型的结合生成的DeepFM模型:即FM替换了Wide&Deep的Wide部分,加强了浅层网络部分特征组合的能力,右边的部分跟Deep部分一样,利用多层神经网络进行特征的深层处理。

(3)深度兴趣DIN模型

(4)深度兴趣进化网络DIEN

弥补DIN没有对行为序列进行建模的缺点,通过序列层,兴趣抽取层,兴趣进化层。其中利用序列模型利用商品ID和前一层序列模型的embedding向量,输出商品embedding与兴趣embedding。

listwise排序

强化学习

其主要几个方向为:加强特征与信息的补充、EE问题平衡、实时化加强。

信息补充

EE探索

快速收敛

5.6.2内容冷启

以短视频推荐为例,平台常常采用大小池逻辑,对内容进行不同流量的探索,并根据实际的反馈数据来决定内容可以进入的推荐范围。其中表现优质的内容将不断的进入更大的流量池中,最终进入推荐池,形成精品召回池。

六、当前发展

因果与推荐结合

序列/会话推荐

*图神经网络与推荐结合*

知识图谱与推荐结合

多模态内容推荐

对话系统:主要分为两种方向(1)通过NLP的方式来构建对话机器人。(2)交互式的意图挖掘,利用用户少量交互行为,快速得到用户偏好以完成推荐任务。

如何去获得推荐效果。可以分为离线实验、用户调查、在线实验三种方法。

推荐系统并非导致信息不平等和信息茧房的根本原因。

但不可否认的是,推荐系统的便捷性、自动化、实时性会加重这些问题。在这样的情况下,我们能做些什么?

8.2算法可能产生的蝴蝶效应

在很多场景中,并非只有机器算法一种推荐方式。以视频号为例,除公域机器推荐外,也存在私域(朋友圈、群聊、单聊)、半公域(朋友tab社交推荐)等推荐方式,但推荐对整个产品体验、内容生态、作者生态的影响都是巨大的。

8.2.1推荐算法对feed传播的影响

(图中曲线均为模拟,非真实曲线,仅供示例)

一个feed在传播过程中,主要影响因素有:

推荐算法对feed的影响是巨大的,若无法被推荐算法识别,其获得较高热度的可能性较低,最终导致产品的流量主要集中在被推荐算法识别并推荐的feed上。其短期内对内容生态、浏览者体验有较为重要的决定作用;长期来看,对内容氛围、作者反馈、浏览者长期留存都有较大的影响。

THE END
1.(13301)服装推荐系统:数据集处理——初步分析推荐系统的数据集文章浏览阅读1.2k次,点赞15次,收藏14次。在"notebooks" 目录中保存了和数据处理相关的Notebook文件:data_cleaning.ipynb、eda_feature_eng.ipynb和initial_analysis.ipynb。_推荐系统的数据集https://blog.csdn.net/asd343442/article/details/137874137
2.推荐系统之基于内容的推荐算法:BM25:数据集构建与管理.docx推荐系统之基于内容的推荐算法:BM25:数据集构建与管理.docx 19页内容提供方:找工业软件教程找老陈 大小:33.13 KB 字数:约1.75万字 发布时间:2024-09-05发布于辽宁 浏览人气:13 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)https://max.book118.com/html/2024/0904/8073030126006123.shtm
3.推荐系统常用数据集1. Criteo 数据集 criteo数据集用于广告点击率预估任务(标签:0/1);其中包含13个dense特征和26个sparse特征; 数据格式如下:第一列为label, 之后分别是13个dense特征(integer feature),26个sparse特征(categorical feature);每列之间使用tab进行分隔。 <integer feature1><integer feature13><categorical feature1https://www.jianshu.com/p/5c88f4bd7c71
4.知识图谱的推荐系统数据集wx5cac1bacddda7的技术博客知识图谱在推荐系统中可以用于丰富用户和物品的信息,从而提高推荐的精度和个性化程度。以下是一些包含知识图谱信息的推荐系统数据集的示例: Freebase数据集:Freebase是一个开放的知识图谱,包含了大量实体之间的关系信息。您可以使用Freebase数据来构建知识图谱推荐系统的数据集。 https://blog.51cto.com/u_14282855/8648588
5.伯乐,一个统一全面高效的推荐系统代码库我们实现了百余种常用的推荐算法,并提供了43个推荐数据集的格式化副本。 大规模的标准评测 我们支持一系列被广泛认可的评估方式来测试和比较不同的推荐算法。 RecBole 是一个基于 PyTorch 实现的,面向研究者的,易于开发与复现的,统一、全面、高效的推荐系统代码库,它可以通过 pip, conda 和源文件三种途径安装,使https://recbole.io/cn/
6.融合用户属性信息的冷启动推荐算法AET在实验数据集1上,实验结果如表1。 其中,pearson-knn是采用pearson相关系数作为相似性度量,基于用户(50个邻居)的推荐评分预测方法;MF是采用simon funk提出的矩阵分解的方法(10个潜在因子);FP(fused preference)是本文提出的方法。可见,在一般数据集上,FP和MF性能接近,优于基于用户的协同过滤的方法。 http://www.chinaaet.com/article/3000073409