推荐系统学习笔记-deep crossing

news2024/11/13 15:45:10

由来

2016年由微软提出, 完整的解决了特征工程、稀疏向量稠密化, 多层神经网络进行优化目标拟合等一系列深度学习在推荐系统的应用问题。 这个模型涉及到的技术比较基础,在传统神经网络的基础上加入了embedding, 残差连接等思想, 且结构比较简单。
DeepCrossing模型应用场景是微软搜索引擎Bing中的搜索广告推荐, 用户在输入搜索词之后, 搜索引擎除了返回相关结果, 还返回与搜索词相关的广告,Deep Crossing的优化目标就是预测对于某一广告, 用户是否会点击, 依然是点击率预测的一个问题。

要解决的问题

离散类(类别)特征编码后过于稀疏, 不利于直接输入神经网络训练, 需要解决稀疏特征向量稠密化的问题
如何解决特征自动交叉组合的问题
如何在输出层中达成问题设定的优化目标

模型结构

在这里插入图片描述
在这里插入图片描述

Embedding层

本层主要作用是降维。使用的是一个单层神经网路,具有如下形式

在这里插入图片描述

针对每个类别的特征都有一个Embedding操作,但是如果由于高维基数特征太大了,对于目标相关部分排序较低的进行衍生构造。也能降低Embedding部分的参数数量提高训练速度例如,CampaignID十分巨大,但对于点击率排序后10000以外的使用衍生特征来处理,最后一个编号为10000,且添加衍生为将所有ID对应的历史点击率组合成10001维的稠密矩阵,各个元素分别为对应ID的历史CTR,最后一个元素为剩余ID的平均CTR。通过降维引入衍生特征的方式,可以有效的减少高基数特征带来的参数量剧增问题。

其中,每个特征的维度压缩到256维,如果小于256维则直接连接到Stacking层。

Stacking层

主要是将Embedding部分的各个特征的向量进行拼接,小于256维度或者数值型特征不需要Embedding的直接拼接
得到

在这里插入图片描述

的拼接向量。

Residual Layers

首先是残差单元结构为:

在这里插入图片描述
这个残差模块与ResNet的不同是没有使用卷积操作,而是ReLu与线性部分的前向传播加(element-wise add)上输入再经过ReLu得到输出。
在这里插入图片描述
作者通过各种类型各种大小的实验发现,DeepCrossing具有很好的鲁棒性,推测可能是因为残差结构能起到类似于正则的效果,残差结构能更敏感的捕获输入输出之间的信息差 ,引入特征的交叉和非线性。

残差网络解决的问题:

  • 网络深度增加后,过拟合,通过残差网络的短路操作,起到正则化的作用,减少过拟合;
  • 网络深度增加后,梯度消失,所以使用ReLu激活函数,且短路操作相当于将上上层的梯度传递到下层,收敛更快。
  • 原结构使用了五个残差块,每个残差块的维度是512,512,256,128,64。

Scoring Layer

计算得分,即目标函数(objective function)的应用层。

在这里插入图片描述
二分类使用Sigmoid函数,多分类使用softmax函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99318.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8s CICD实战

K8s Network之Ingress PDF路径: 链接:https://pan.baidu.com/s/17DxUD8KN7pU1UKIR1Ejemg 提取码:dwf5 一、如果项目需要修改某些代码,怎么办? (1)重新打成jar包 (2)重新制作Dockerf…

javaSE - 异常(Exception 或 RuntimeException)

一、异常的背景 1.1、初识异常 其实在我们开发中,就是代码出现意外状况。影响到程序的运行。 其实,在我们接触代码开始,就一直在接触异常,只是从来没有分类。 这点在java中,更加明显。 现在我们就来基本了解一下异常。…

web靶场搭建之帝国cms7.5

目录 一、漏洞描述 二、漏洞环境 三、环境搭建 四、漏洞复现 后台getshell(CVE-2018-18086) 漏洞原理: 漏洞复现: 源码审计: 代码注入 (CVE-2018-19462) 漏洞原理: 漏洞复现: 源码审计: 后台X…

Innodb存储引擎-表(逻辑存储结构、行记录格式、数据页结构)

文章目录表索引组织表InnoDB逻辑存储结构表空间(tablespace)段(segment)区(extent)页(page)行(record)行记录格式compactRedundant行溢出数据Compressed 和 Dynamic 行记录格式CHAR的行结构存储数据页结构File Header & Page Header & File TrailerInfimum 和 Supremum…

springboot《1》

map的映射 package com.kob.backend.controller.pk;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.HashMap; import java.util.Map;RestControllerRequestMapping("…

国产软件的「硬替代」与「软着陆」之辨

作者 | 曾响铃 文 | 响铃说 疫情倒逼、政策驱动、市场化博弈、国际形势拉锯等等一系列的因素正在综合影响国产软件的走势。在国内,国产软件替代化进程持续加速,国产软件正迎来逆势增长的“窗口期”。 与此同时,从中央到地方,政…

项目中pom.xml文件变灰且中间有横杠改怎么解决?

目录 问题描述: 问题解决: 💟 创作不易,不妨点赞💚评论❤️收藏💙一下 问题描述: 项目中的部分pom.xml文件是没问题的,部分pom.xml文件没有被识别,变灰且有横杠。 原因:操作的时…

力扣(LeetCode)163. 缺失的区间(C++)

模拟 将 lowerlowerlower 和 upperupperupper 加入数组,避免边界判断。 一次遍历,相邻元素差 111 ,无缺失;相邻元素差 222 ,缺失中间的一个数;相邻元素相差大于 222 ,缺失中间一段数。根据格式…

Less知识点整理

Less 官方文档 在线Less编译工具 Less主要语法 1、变量xxx 2、嵌套 规则嵌套和冒泡 规则(例如 media 或 supports)可以与选择器以相同的方式进行嵌套。 规则会被放在前面,同一规则集中的其它元素的相对顺序保持不变。这叫做冒泡&#xff08…

计算机毕设Python+Vue新能源汽车销售管理系统(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Oracle21C:Windows版本的安装、卸载、环境变量配置、避坑指南|ORA-12514|为什么安装目录没有bin目录

前言 1、适读对象 安装Oracle21C过程中,被各种报错反复折磨,终不得其法,难以正常使用Oracle。 2、各种工具下载 1)Oracle下载地址:官网下载页面 2)navecat下载地址:navecate 2)sqlp…

基于JAVAWEB的湛江海鲜批发选购系统

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字):

1W字文:什么是 回表查询、索引覆盖、最左匹配原则?聚集索引、非聚集索引的区别?

文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新 史上最全 面试必备 2000页 面试必备 大厂必备 涨薪必备 免费赠送 经典…

超市进销存系统的设计与实现

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 该小型超市进销存系统主要针对模块管理,用户管理,进货管理,销售管理, 库…

HTTP 协议详解

目录 前言 1、HTTP 介绍 2、URL介绍 1)了解 URL 和 URI 2)URL 格式 3)URL encode 3、HTTP 协议格式 1)请求报文格式 2)响应报文格式 3)协议格式总结 4、HTTP 请求(Request&#xff0…

JavaEE【Spring】:SpringBoot 热部署

文章目录一、添加框架二、Settings 开启项目自动编译三、开启运行中热部署1、低版本配置(idea 2021.2 之前的版本)2、高版本设置(idea 2021.2 之后的版本)四、使用 Debug 启动(非Run)一、添加框架 增加 sp…

玩以太坊链上项目的必备技能(事件-Solidity之旅十二)

事件(Events) Solidity 中的事件(Events)与任何一种编程语言中事件(Events)一样。 一个事件(Events)是一个合约可继承的成员,它在触发(emit)时存…

机器学习之分类-决策树随机森林

决策树 原理(信息论) 信息熵 信息:消除随机不定性的东西信息熵公式,单位bit H(X)−∑i1n(P(xi)log⁡bP(xi))H(X)-\sum^{n}_{i1}(P(x_i)\log_{b}P(x_i)) H(X)−i1∑n​(P(xi​)logb​P(xi​)) 信息增益 特征A对训练数据集D的信息…

Arthas常用命令和实践分享

一、序言 通常,本地开发环境无法访问生产环境。在实际工作中,我们会经常遇到在客户现场出现各种奇怪的问题,想要查看具体某个具体的对象,可能要打镜像,还要走银行内部的流程,整体很耗费时间,而…

【Python机器学习】Mean Shift、Kmeans聚类算法在图像分割中实战(附源码和数据集)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ Mean Shift算法是根据样本点分布密度进行迭代的聚类算法,它可以发现在空间中聚集的样本簇。簇中心是样本点密度最大的地方。 Mean Shift算法寻找一个簇的过程是先随机选择一个点作为初始簇中心,然后…