当前位置: 首页 > news >正文

DCN讲解

DCN是DeepFM的升级版,后者是只能做二阶交叉特征,随着阶数上升,模型复杂度大幅提高,且FM网络层较浅,表达能力有限。google团队通过构建深度交叉网络来自动进行特征的高阶交叉,且时空复杂度均为线性增长,极大提升了模型性能。

模型结构

整体网络结构跟DeepFM类似:

model

特征交叉细节:

cross

代码实现

代码其实非常简单:

def cross_net(self, inputs):# 进行特征交叉时的x_0一直没有变,变的是x_l和每一层的权重x_0 = inputs # B x dims x_l = x_0for i in range(self.layer_nums):# 将x_l的第一个维度与w[i]的第0个维度计算点积xl_w = tf.tensordot(x_l, self.W[i], axes=(1, 0)) # B, xl_w = tf.expand_dims(xl_w, axis=-1) # 在最后一个维度上添加一个维度 # B x 1cross = tf.multiply(x_0, xl_w) # B x dimsx_l = cross + self.b[i] + x_lreturn x_l

这里的 cross 其实是相当于学习残差。

实验结果

就随便看看吧,baselines提到了FM、LR,但只字不提跟它们的性能比较,无语。。。(Wide&Deep依赖于大量人工先验来选择交叉特征,DCN只跟自动交叉特征的方法比,例如FM等)

logloss

parameter


参考

  • DCN.md
  • Deep & Cross Network for Ad Click Predictions
http://www.lryc.cn/news/545513.html

相关文章:

  • nginx的作用和应用场景
  • [Lc滑动窗口_1] 长度最小的数组 | 无重复字符的最长子串 | 最大连续1的个数 III | 将 x 减到 0 的最小操作数
  • 基于python的网络爬虫爬取天气数据及可视化分析(Matplotlib、sk-learn等,包括ppt,视频)
  • 【缓存】缓存雪崩与缓存穿透:高并发系统的隐形杀手
  • HTML AI 编程助手
  • 李宏毅机器学习课程学习笔记04 | 浅谈机器学习-宝可梦、数码宝贝分类器
  • AIGC(生成式AI)试用 26 -- 跟着清华教程学习 - DeepSeek与AI幻觉
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_conf_add_dump
  • QEMU源码全解析 —— 内存虚拟化(23)
  • 【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像
  • TypeScript 类型声明
  • 从0搭建Tomcat第二天:深入理解Servlet容器与反射机制
  • 【Python】yield函数
  • Android13修改多媒体默认音量
  • nginx+keepalived负载均衡及高可用
  • SP导入智能材质球
  • Kotlin语言特性(一):空安全、扩展函数与协程
  • Sqlserver安全篇之_启用TLS即配置SQL Server 数据库引擎以加密连接
  • Python 爬虫 – BeautifulSoup
  • 【星云 Orbit-STM32F4】07. 用判断数据尾来接收据的串口通用程序框架
  • 授权与认证之jwt(一)创建Jwt工具类
  • Kubernetes Service服务发现dns之CoreDNS
  • Spring Boot 测试:单元、集成与契约测试全解析
  • 用友NC系列漏洞检测利用工具
  • PostgreSQL 创建表格
  • 一周一个Unity小游戏2D反弹球游戏 - 球的死区及球重生
  • 本地部署 DeepSeek:从 Ollama 配置到 Spring Boot 集成
  • vue3:三项目增加404页面
  • MCAL(Microcontroller Abstraction Layer)介绍
  • 爬虫:PhantomJS的详细使用和实战案例