当前位置:网站首页>推荐系统-排序层-模型(一):Embedding + MLP(多层感知机)模型【Deep Crossing模型:经典的Embedding+MLP模型结构】
推荐系统-排序层-模型(一):Embedding + MLP(多层感知机)模型【Deep Crossing模型:经典的Embedding+MLP模型结构】
2022-07-30 19:44:00 【u013250861】
一、Embedding+MLP模型的结构
MLP(Multilayer Perceptron)是多层感知机的缩写。感知机是神经元的另外一种叫法,所以多层感知机就是多层神经网络。


二、获取用户特征、物品特征

- 物品特征可以从原始数据中获取到;
- 用户特征可能需要二次的分析和加工才能得到;


三、Deep Crossing模型
2016年微软提出的深度学习Deep crossing模型就是这种结构——Deep Crossing 从下到上可以分为 5 层,分别是 Feature 层、Embedding 层、Stacking 层、MLP 层和 Scoring 层(如下图)。用于广告推荐。

- Feature层也叫特征输入层(最底层),作为整个模型的输入。Feature有两种情况第一种是连接Embedding层、第二种是直接连接Stacking层,主要区别在于:Feature #1代表的是类别型特征经过One-hot编码后生成的特征向量,而Feature #2代表的是数值型特征。One-hot特征由于稀疏性,不能直接输入到后续的神经网络中进行训练,所以需要通过连接到Embedding层的方式,将其转换成比较稠密的Embedding向量。
- Embedding层是为了把稀疏的One-hot向量转换成稠密的Embedding向量而设置的,需要注意的是Embedding层并不是全部连接起来的,而是每一个特征对应一个Embedding层,不同Embedding层之间互不干涉。
- Stacking层中文名堆叠层也叫连接(Concatenate)层,作用是把不同的Embedding特征和数值型特征拼接在一起,形成新的包含全部特征的特征向量。
- MLP层就是我们开头提到的多层神经网络层,图中的Deep Crossing采用的是Multiple Residual Units层,也叫做多层残差网络。Deep Crossing针对特定的问题选择了残差神经元,其实还有很多种例如Relu、tanh、sigmoid。MLP层的特点是全连接,不同层的神经元两两之间都有连接。
- Scoring层也叫输出层。深度学习最终要预测的目标就是一个分类的概率。如果是点击率预估就是一个二分类问题,那我们就可以采用逻辑回归作为输出层神经元,而如果是类似图像分类这样的多分类问题,我们往往在输出层采用softmax这样的多分类模型。
总结:对于类别特征,先利用Embedding层进行特征稠密化,再利用Stacking层连接其他特征,输入MLP的多层结构,最后用Scoring层预估结果。
参考资料:
推荐系统如何用TensorFlow实现经典的深度学习模型(Embedding+MLP)
【王喆-推荐系统】模型篇-(task4)Embedding+MLP模型
边栏推荐
- VS Code 连接SQL Server
- MindSpore:npu 多卡训练自定义数据集如何给不同npu传递不同数据
- NXP IMX8QXP更换DDR型号操作流程
- Download and installation of the latest version of MySQL 8.0 under Linux (detailed steps)
- These services can't ali interview?Then don't go to, the basic notification, etc
- MindSpore:Cifar10Dataset‘s num_workers=8, this value is not within the required range of [1, cpu_thr
- 从离线到实时对客,湖仓一体释放全量数据价值
- [flink] Error finishing Could not instantiate the executor. Make sure a planner module is on the classpath
- MindSpore:数据处理问题
- What is a RESTful API?
猜你喜欢

MySQL性能优化(硬件,系统配置,表结构,SQL语句)

The 17th "Revitalization Cup" National Youth Vocational Skills Competition - Computer Programmers (Cloud Computing Platform and Operation and Maintenance) Participation Review and Summary

MySQL大总结

VBA runtime error '-2147217900 (80040e14): Automation error

MindSpore:【语音识别】DFCNN网络训练loss不收敛

Linux下载安装mysql5.7版本教程最全详解

MySQL sub-database sub-table

来了!东方甄选为龙江农产品直播带货

Zabbix 5.0 监控教程(一)
Database Tuning - Database Tuning
随机推荐
技术很牛逼,还需要“向上管理”吗?
PHP低代码开发引擎—表单设计
MySQL database - views and indexes
[Node implements data encryption]
MySQL数据库 ---MySQL表的增删改查(进阶)
MySQL分库分表
Linux下最新版MySQL 8.0的下载与安装(详细步骤)
Mapped Statements collection does not contain value for的解决方法
MindSpore:mindspore有没有类似tf.GradientTape()用来求解梯度的?
在jOOQ中获取数据的多种不同方式
MindSpore:Cifar10Dataset‘s num_workers=8, this value is not within the required range of [1, cpu_thr
【PyTorchVideo教程01】快速实现视频动作识别
Is the iPhone really thirteen incense?The two generations of products are completely compared, perhaps the previous generation is more worth buying
MySQL kills 10 questions, how many questions can you stick to?
MySQL数据库主从配置
The advanced version of the Niu Ke brushing series (team competition, sorting subsequences, inverting strings, deleting common characters, repairing pastures)
centos7安装mysql8
[PyTorchVideo Tutorial 01] Quickly implement video action recognition
VS Code connects to SQL Server
MySQL大批量造数据