超全,7种经典推荐算法模型及应用

本文研究了推荐系统中的经典推荐算法,对其中的文献和应用进行了分析、总结和总结,这不仅是他们自己的思考过程,也可以作为今后的使用手册。

[En]

This paper investigates the classical recommendation algorithms in the recommendation system, analyzes, summarizes and summarizes the papers and applications, which is not only their own thinking process, but also can be used as a manual in the future.

前言

个性化推荐是指对用户行为进行分析和挖掘,发现用户个性化需求和兴趣的特征,并将用户可能感兴趣的信息或产品推荐给用户。本文研究了推荐系统中的经典推荐算法,对其中的文献和应用进行了分析、总结和总结,这不仅是他们自己的思考过程,也可以作为今后的使用手册。俗话说,人的认知过程是螺旋式上升的,尤其是理论应用于实践的过程。理论是实践的基础,实践反过来又可以指导人们对理论的理解。我相信,在总结本文时,将下面描述的算法应用于业务的实际过程也将刷新我的理解。

[En]

Personalized recommendation refers to the analysis and mining of user behavior, finding the characteristics of users’ personalized needs and interests, and recommending the information or products that users may be interested in to users. This paper investigates the classical recommendation algorithms in the recommendation system, analyzes, summarizes and summarizes the papers and applications, which is not only their own thinking process, but also can be used as a manual in the future. As the saying goes, people’s cognitive process rises in a spiral, especially the process of applying theory to practice. Theory is the basis of practice, and practice can in turn guide people’s understanding of theory. I believe that the practical process of applying the algorithms described below to the business will also refresh my understanding at the time of summarizing this article.

个性化推荐系统是一项系统工程,为了重点描述,本文不涉及模型的训练和部署等工程问题,只对推荐算法的原理进行分析,总结需要解决的问题。

[En]

Personalized recommendation system is a systematic project, in order to focus description, this paper does not involve the training and deployment of the model and other engineering problems, only to analyze the principle of recommendation algorithm and summarize the problems to be solved.

为了便于分析,本文以我们在购物中经常遇到的商品推荐模式的一些特点为例:

[En]

In order to facilitate the analysis, this paper takes some characteristics of the commodity recommendation model that we often encounter in shopping as an example:

USER侧特征 ITEM侧特征 交互行为 pk 性别 天猫会员等级 商品价格 销量 是否点击 1 男 T1 22223 301881 1 2 女 T3 33333 25651 0

功能可以简单地分为两类:

[En]

Features can be simply divided into two categories:

  1. 连续特征。如商品价格/销量时长
  2. 类别特征。如性别/天猫会员等级

对于连续的数值特征,它可以作为模型中的数值直接参与计算(大多数情况下需要归一化等处理)。对于类别特征,不能直接计算为数值,通常采用Hash Hash或One-Hat编码。

[En]

For continuous numerical characteristics, it can be directly involved in the calculation as numerical values in the model (in most cases, normalization and other processing are needed). As for category features, they can not be calculated directly as numerical values, and they are usually encoded by Hash hash or one-hot.

以one-hot编码为例,将以上训练数据进行预处理。
pk 性别男 性别女 天猫会员等级T1 天猫会员等级T3 商品价格 销量 是否点击 1 1 0 1 0 22223 301881 1 2 0 1 0 1 33333 25651 0

经过预处理,你可以看到所有的数据都已经数字化,可以用于数学运算。

[En]

After preprocessing, you can see that all the data have been digitized and can be used for mathematical operations.

接下来,我们将介绍每个算法模型如何使用这些数据进行学习。

[En]

Next, we will introduce how each algorithm model uses these data to learn.

LR

算法原理

逻辑回归模型作为一种经典的机器学习分类模型,由于其解释力强、实现简单、在线效率高等优点,在在线应用中得到了广泛的应用。逻辑回归模型主要由两部分组成:

[En]

As a classical machine learning classification model, logical regression LR (Logistic Regression) model is widely used in online applications because of its strong interpretability, simple implementation and online efficiency. The logical regression model mainly consists of two parts:

  1. 线性回归
  2. 逻辑函数

在机器学习中,线性回归模型可以记录如下:

[En]

In machine learning, the linear regression model can be recorded as follows:

超全,7种经典推荐算法模型及应用

逻辑函数使用Sigmoid函数:

[En]

The logical function uses the sigmoid function:

超全,7种经典推荐算法模型及应用

由(1)和(2)可推出LR模型的数学表达式为

超全,7种经典推荐算法模型及应用

在线性回归模型(1)中,

超全,7种经典推荐算法模型及应用是具体的某一个特征值,超全,7种经典推荐算法模型及应用是该特征值的权重,是模型的输出。该公式可以直白的解释为模型的输出结果是由输入进行线性加权求和得到的。而逻辑函数(2)的作用是将线性回归模型的输出映射到[0,1],输出一个概率值。商品推荐的场景中如用户对某个item进行点击记为1,未点击记为0。

解决的问题

LR是一个基本的回归模型,可以对输入进行一些线性运算得到一个预测的输出值。预测值可以是用户点击某个商品的概率,也可以是用户下单的概率,其含义具体业务具体分析。

FM

算法原理

FM(Factorization Machine)。LR作为一个基础的回归模型,主要原理是通过对各个特征进行线性加权得到预测值,但是其并没有考虑组合特征对模型的影响,比如一名单身女性在晚上观看李佳琦直播概率显然是大于一名妈妈的,这里面包含的组合特征单身女性-晚上在LR中就体现不到。因此相比LR仅对一阶特征进行建模,FM引入了二阶特征,增强了模型的学习能力和表达能力。

FM的数学表达式如下:

超全,7种经典推荐算法模型及应用

如果FM仅仅是在模型的表达式上加入了二阶特征,它的应用绝不会这么广泛,只从式(4)中就可以看出表达式上其实相对于LR的改进是很简单的:在模型中引入输入特征两两组合进行乘积就行了。但是这样会引入一个很大的问题:参数的数目直接从个爆炸增长为

超全,7种经典推荐算法模型及应用个,这对于特征维度动辄上千上万数量级的推荐系统来说是断然不能接受的。

面对这么大的参数矩阵很容易想到将其进行矩阵分解,我们首先观察一下参数矩阵

超全,7种经典推荐算法模型及应用

超全,7种经典推荐算法模型及应用

可以看到参数矩阵

超全,7种经典推荐算法模型及应用是实对称矩阵,可以想到正定矩阵是可以很优雅的进行分解的:

超全,7种经典推荐算法模型及应用

特别地,在稀疏矩阵中

超全,7种经典推荐算法模型及应用的情况下,便可满足式(6)的近似相等。

超全,7种经典推荐算法模型及应用,则式(4)中的模型参数可表示为超全,7种经典推荐算法模型及应用

因此,当参数矩阵被定义为正定矩阵时,FM的二阶特性的表达式可以推导如下:

[En]

Therefore, when the parameter matrix is defined as a positive definite matrix, the expression of the second-order characteristic of FM can be derived as follows:

超全,7种经典推荐算法模型及应用

对比式(6)和式(7)可知,FM的计算复杂度由

超全,7种经典推荐算法模型及应用降至超全,7种经典推荐算法模型及应用,而k的值又是一个可根据业务情况硬编码的值,式(7)的推导使得FM的时间复杂度降至线性复杂度,无论是对于模型的离线训练还是在线推理均使得二阶特征组合成为可能。

解决的问题

FM通过引入二阶特征实现了模型学习能力及表达能力的提升,并且利用正定矩阵和稀疏矩阵的性质将二阶特征的计算降低至线性复杂度,也因此成为工业界常用的特征工程算法。

FFM

算法原理

FFM(Field-aware Factorization Machine)。从名字上看,相较于FM, FFM多了一个F,在实现上也是如此。

FFM的数学表达式如下:

超全,7种经典推荐算法模型及应用

从式(8)可以看出FFM相比于FM的不同点在于二阶特征组合的系数上,FFM的权重矩阵比FM多了一维。其算法思想是这样的:以前言中的商品推荐的训练数据举例,在进行one-hot编码时,我们将不同的字段的特征进行编码然后拉平送进模型进行训来,比如字段天猫会员等级T1和天猫会员等级T3这俩字段被独立为两个独立的特征。然而实际情况却是这俩字段其实是对同一个字段 天猫会员等级的不同描述。因此在FFM中引入了 field的概念:每一维的特征都有对应的 field,在进行二阶特征组合时某一维特征对于不同 field的特征其所对应的隐向量是不同的。假设所有特征共包含f个 filed,则FFM权重矩阵

超全,7种经典推荐算法模型及应用,相比于FM的权重矩阵超全,7种经典推荐算法模型及应用,多出的[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MXZGX1kP-1640853994264)(https://mmbiz.qpic.cn/mmbiz_svg/gQQO820rz5VFZsY0q5oeqEibPoeKGvmwJQXODxFOQSJIDFGHJrM99rNeXto5Fyjgh8o6qFxAcLvGFjK48iawTkOI8efBpeibHED/640?wx_fmt=svg)]维便对应着FFM中引入的 field的数目。

需要明确的是,FM可以被视为FFM的特例:所有功能都属于同一个字段

[En]

To be clear, FM can be seen as a special case of FFM: all features belong to the same * field*.

解决的问题

为了更准确地刻画各种维度特征之间的关系,引入了域,并通过增加隐藏向量的数量来增强模型的表达能力。然而,由于其隐矢量与有关,其相关计算不能像FM那样简化。当特征维度n较大时,其计算性能容易成为系统的瓶颈。

[En]

Field is introduced to depict the relationship between various dimensional features more accurately, and the expression ability of the model is enhanced by increasing the number of hidden vectors. However, because its hidden vector is related to * field*, its related calculation can not be simplified like FM. When the feature dimension n is relatively large, its computing performance is easy to become the bottleneck of the system.

WDL

算法原理

WDL(Wide & Deep Learning)。其核心思想是结合线性模型(如上文的LR)的记忆能力和DNN模型的泛化能力来提升模型的整体能力。

网络结构如下:

[En]

The network structure is as follows:

超全,7种经典推荐算法模型及应用

这些措施包括

[En]

These include

  1. wide部分:wide部分是普通的线性模型,其表达式可参见式(1)
  2. deep部分:deep部分由一个3层的神经网络组成。其输入是对原始的稀疏特征(如ID类特征)进行一次embedding后的结果。每一层的公式如下:
  3. 输出:输出部分将线性模型(Wide)和DNN(Deep)模型的输出结果进行加和作为整个模型的loss进行反向传播来完成联合训练。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YAZsqGw6-1640853994265)(https://mmbiz.qpic.cn/mmbiz_svg/gQQO820rz5VFZsY0q5oeqEibPoeKGvmwJo2vVpuicZia02MY5fJDIrCXpicIr4BacEygzT8If6XJJ5PIic9C5Iu8llwR4do3AdLdf/640?wx_fmt=svg)]

解决的问题

它结合了线性模型对一阶特征的学习能力和深度模型对高阶特征的学习能力,从整体上提高了模型的表达能力。

[En]

It combines the learning ability of the linear model to the first-order features and the depth model to the higher-order features to improve the expression ability of the model as a whole.

DeepFM

算法原理

WDL可以看做是LR+DNN,那么DeepFM就可以看做是FM+DNN。相比于WDL做出的改进,DeepFM主要是将WDL中Wide模块由LR替换为了FM。

网络结构如图所示:

[En]

The network structure is shown in the figure:

超全,7种经典推荐算法模型及应用

您可以看到,在WDL的基础上做了以下改进:

[En]

You can see that the following improvements have been made over WDL:

  1. 引入FM结构代替LR。完成对一阶二阶特征的学习 避免了WDL中人工特征工程过程。见式(4)。
  2. FM和DNN共享Embedding层。减少了额外的计算开销。

解决的问题

在减去人工特征工程的前提下,通过广域和深域共享嵌入,提高了模型的训练速度和特征学习能力。

[En]

Under the premise of subtracting artificial feature engineering, the training speed of the model and the feature learning ability of the model can be improved by sharing Embedding between Wide and Deep.

DcN

算法原理

DCN(Deep & Cross Network)如其名字中cross所示,其主要完成了完全去手工特征交叉的工作。

替换DeepFM中的FM模块的核心跨网网络结构如下:

[En]

The core Cross Network network structure that replaces the FM module in DeepFM is as follows:

超全,7种经典推荐算法模型及应用

在哪里:

[En]

Where:

超全,7种经典推荐算法模型及应用

然后就可以推断出来了。

[En]

And then it can be deduced.

超全,7种经典推荐算法模型及应用

可以看出Cross Network中每一层的输出都是由

超全,7种经典推荐算法模型及应用与某一标量进行相乘的结果。因此:
  1. 每层的输出和超全,7种经典推荐算法模型及应用同维
  2. 由于标量和超全,7种经典推荐算法模型及应用是相关的,因此第k层的输出包含了超全,7种经典推荐算法模型及应用的1到k+1阶特征。

解决的问题

完全放弃人工特征工程过程,并且可以显示指定的特征交叉顺序。

[En]

The artificial feature engineering process is completely abandoned, and the specified feature crossing order can be displayed.

xDeepFM

算法原理

xDeepFM(eXtreme Deep Factorization Machine)。从名字上可以看出,xDeepFM是是对于DeepFM的改进,但是实际上xDeepFM是对DCN的改进。DCN 的Cross层在Embedding层后,可以自动构造任意阶高阶特征,但是它是bit-wise的,与bit-wise对应的是vector-wise。现举例分析如下:例如,性别对应嵌入向量

xDeepFM中,进行vector-wise特征交叉的结构如下:

超全,7种经典推荐算法模型及应用

对于每个层的输出

[En]

For the output of each layer

超全,7种经典推荐算法模型及应用

其中

[En]

Among them

  1. 超全,7种经典推荐算法模型及应用代表了第层的输出
  2. 超全,7种经典推荐算法模型及应用代表了第k层输出的vector个数
  3. 超全,7种经典推荐算法模型及应用表示两向量对应元素两两相乘,如超全,7种经典推荐算法模型及应用
  4. 超全,7种经典推荐算法模型及应用表示第层第个向量的向量的权重矩阵

至此,xDeepFM便实现了vector-wise的特征交叉过程。相比于DCN,其第[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sfkghLmf-1640853994273)(https://mmbiz.qpic.cn/mmbiz_svg/gQQO820rz5VFZsY0q5oeqEibPoeKGvmwJqNPwzG8yHeibdibetsXYapbLFlZH5E16XRyJLpsDPxwFqhgibPkbx63jbDh2Lm4iaECo/640?wx_fmt=svg)]的输出仅包含了k+1阶特征。因此,其需要将每层的输出进行sum-pooling后DNN的输出加和到一起作为loss进行反向传播来完成联合训练。

解决的问题

提出了一种高阶特征向量交叉方法。

[En]

A high-order feature crossover method for vector-wise is proposed.

摘要

[En]

Summary

本文以解决问题的思想介绍了经典算法在推荐系统中的演化过程,可以看出每种算法的出现都是为了解决一个具体的问题。在学术上,对一个算法的评价主要取决于它的精度,但在业界,它更注重一个算法的精度和性能权衡。例如,微软2013年在NLP领域提出的双塔模式,在推荐系统中应用已久,但在各大公司的推荐系统中仍熠熠生辉。原因是:双塔模型上网有多方便/速度有多快,谁知道呢。

[En]

This paper introduces the evolution process of classical algorithms in the recommendation system with the idea of solving problems, and we can see that the emergence of each algorithm is to solve a specific problem. Academically, the evaluation of an algorithm mostly depends on its accuracy, but in the industry, it pays more attention to the accuracy and performance of an algorithm trade-off. For example, the twin-tower model proposed by Microsoft in the field of NLP in 2013 has been applied to the recommendation system for a long time, but it is still glowing in the recommendation system of major companies. The reason: how convenient the twin-tower model is online / how fast it is, who knows.

从排名靠前的论文数量上可以看出,个性化推荐系统算法的发展没有CV(计算机视觉)和NLP(自然语言处理)那么快。我个人认为,原因受到它所适用的情景的限制。个性化推荐本质上是一个人与物的匹配过程,所以使用这个系统的前提是应用场景中人多物多。场景的强烈约束性提高了其研究的门槛。虽然CV和NLP更像是基本组件,但数十人甚至几个人的团队可以在CV或NLP的某个子任务上进行开创性工作,并将其扩展到不同的应用场景。例如,著名的YOLO系列在CV中的作者,在一个人的帮助下,帮助相关厂商主动升级他们的应用SDK……

[En]

The evolution of personalized recommendation system algorithm is not so fast compared with CV (computer Vision) and NLP (Natural language processing), which can be seen from the number of top papers. I personally think that the reason is limited by the scenario in which it is applied. Personalized recommendation is essentially a matching process between people and things, so the premise of using this system is that there are a large number of people and a large number of things in the application scene. The strong binding of the scene raises the threshold of its research. While CV and NLP are more like basic components, teams of dozens or even several people can do groundbreaking work on a subtask of CV or NLP and extend it to different application scenarios. For example, the author of the famous YOLO series in CV, with the help of one person, helps relevant manufacturers take the initiative to upgrade their application SDK….

资源安排

[En]

Resource arrangement

模型 论文链接 作者 发表时间 工业应用举例 LR \ 过于经典没考证 过于经典没考证 基础模块 应用广泛 FM Factorization Machines 阪大 2010 基础模块 应用广泛 FFM Field-aware Factorization Machines for CTR Prediction 某广告公司 2016 美团DSP(广告平台) WDL Wide & Deep Learning for Recommender Systems 谷歌 2016 谷歌应用商店app推荐 DeepFM DeepFM: A Factorization-Machine based Neural Network for CTR Prediction 哈工大/华为 2017 美团预计送达时间 DCN Deep & Cross Network for Ad Click Predictions 斯坦福/谷歌 2017 \ xDeepFM xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems 中科大/北邮/微软 2018 字节短视频推荐

Original: https://blog.csdn.net/m0_59596990/article/details/122240815
Author: 机器学习社区
Title: 超全,7种经典推荐算法模型及应用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/6455/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总