当前位置:网站首页>推荐系统-排序层-模型(一):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模型
边栏推荐
- MindSpore: CV.Rescale(rescale,shift)中参数rescale和shift的含义?
- 360杜跃进:太空安全风险加剧,需打造一体化防御体系
- Install MySQL tutorial under Linux
- MySQL分组后取最大一条数据【最优解】
- MindSpore:【MindSpore1.1】Mindspore安装后验证出现cudaSetDevice failed错误
- Difference between Object and Map
- How do radio waves transmit information?
- Perfectly Clear QuickDesk & QuickServer图像校正优化工具
- Mac安装PHP开发环境
- MindSpore:对image作normalize的目的是什么?
猜你喜欢
MySQL database --- Addition, deletion, modification and query of MySQL tables (advanced)
PHP低代码开发引擎—表单设计
LeetCode 0952. Calculate Maximum Component Size by Common Factor: Mapping / Union Search
Linux download and install mysql5.7 version tutorial the most complete and detailed explanation
Alibaba Cloud Martial Arts Headline Event Sharing
MySql密码
MySQL eight-part text recitation version
MindSpore: CV.Rescale(rescale,shift)中参数rescale和shift的含义?
【无标题】多集嵌套集合使不再有MultipleBagFetchException
LeetCode 0952.按公因数计算最大组件大小:建图 / 并查集
随机推荐
MySQL eight-part text recitation version
MySQL大批量造数据
MySQL database --- Addition, deletion, modification and query of MySQL tables (advanced)
移动web开发01
NXP IMX8QXP replacement DDR model operation process
MySQL夺命10问,你能坚持到第几问?
ImportError:attempted relative import with no known parent package
Witness the magical awakening of the mini world in HUAWEI CLOUD
MySQL sub-database sub-table
win2003下FTP服务器如何搭建
el-input 只能输入整数(包括正数、负数、0)或者只能输入整数(包括正数、负数、0)和小数
Day31 LeetCode
055 c# print
已删除
How architects grow
VS Code connects to SQL Server
试写C语言三子棋
阿里面试官:给我描述一下缓存击穿的现象,并说说你的解决思路?
阿里面试这些微服务还不会?那还是别去了,基本等通知
How to copy table structure and table data in MySQL