机器学习-点击率预估-论文速读-20240916
1. [经典文章] 特征交叉: Factorization Machines, ICDM, 2010
分解机(Factorization Machines)
摘要
本文介绍了一种新的模型类——分解机(FM),它结合了支持向量机(SVM)和分解模型的优点。与SVM一样,FM可以处理任何实值特征向量。与SVM不同的是,FM使用分解参数对所有变量间的相互作用进行建模,因此即使在具有巨大稀疏性的问题中(如推荐系统),也能估计相互作用,而SVM在这种情况下会失败。我们展示了FM的模型方程可以在线性时间内计算,因此可以直接优化FM。与非线性SVM不同,不需要进行对偶形式的转换,模型参数可以直接估计,而不需要支持向量。我们展示了FM与SVM的关系以及FM在稀疏设置中参数估计的优势。另一方面,有许多不同的分解模型,如矩阵分解、并行因子分析或专门的模型如SVD++、PITF或FPMC。这些模型的缺点是它们不适用于一般预测任务,而只适用于特殊的输入数据。此外,它们的模型方程和优化算法是为每个任务单独派生的。我们展示了FM只需通过指定输入数据(即特征向量)就可以模仿这些模型。这使得即使是没有分解模型专业知识的用户也能轻松应用FM。
算法模型:
模型核心参数:
创新点
- 稀疏数据下的参数估计:FM能够在极端稀疏的数据环境中估计参数,这是传统SVM难以做到的。
- 线性复杂度:FM具有线性时间复杂度,可以直接在原始形式中优化,而不需要依赖于支持向量。
- 通用性:FM是一个通用预测器,可以处理任何实值特征向量,与特定任务的分解模型不同。
算法模型
- 分解机模型:FM通过分解参数来模拟特征间的所有可能交互,而不是使用完全参数化的方式。
- 模型方程:FM的模型方程可以在线性时间内计算,并且只依赖于线性数量的参数。
- 优化:FM可以使用梯度下降方法(如随机梯度下降)有效学习模型参数。
实验效果
- Netflix数据集:FM在Netflix数据集上的评分预测误差(RMSE)比SVM表现得更好,展示了在稀疏问题上的优势。
- ECML Discovery Challenge 2009:FM在标签推荐任务中与PITF模型相比,展现了可比的预测质量。
推荐阅读指数:★★★★☆
- 推荐理由:
- 创新性:FM结合了SVM的泛化能力和分解模型的优势,特别是在处理稀疏数据方面提供了新的解决方案。
- 实用性:FM的线性复杂度和直接优化能力使其能够扩展到大型数据集,如Netflix,具有实际应用价值。
- 理论深度:文章深入探讨了FM与SVM以及其他分解模型的理论联系,为理解FM的工作原理提供了坚实的理论基础。
2. [经典文章] 兴趣建模: Deep Interest Network for Click-Through Rate Prediction, KDD, 2018
深度兴趣网络用于点击率预测
摘要
点击率(CTR)预测在工业应用中是一项基本任务,例如在线广告。最近,基于深度学习的模型被提出,它们遵循类似的嵌入(Embedding)和多层感知器(MLP)范式。这些方法首先将大规模稀疏输入特征映射到低维嵌入向量,然后以分组的方式转换为固定长度的向量,最后将它们连接起来输入到多层感知器(MLP)中,以学习特征之间的非线性关系。然而,固定长度向量的使用将成为一个瓶颈,它为嵌入&MLP方法捕捉用户从丰富的历史行为中的多样化兴趣带来了困难。在本文中,我们提出了一种新颖的模型:深度兴趣网络(DIN),通过设计局部激活单元来适应性地从针对特定广告的历史行为中学习用户兴趣的表示。这种表示向量因不同的广告而异,极大地提高了模型的表现能力。此外,我们开发了两种技术:小批量感知正则化和数据自适应激活函数,这些技术可以帮助训练具有数亿参数的工业深度网络。在两个公共数据集以及阿里巴巴真实生产数据集上的实验表明,所提出方法的有效性,与最先进的方法相比,取得了优越的性能。DIN已成功部署在阿里巴巴的在线展示广告系统中,服务于主要流量。
创新点
- 局部激活单元:DIN通过局部激活单元关注与特定候选广告相关的用户历史行为,从而适应性地计算用户兴趣的表示向量。
- 小批量感知正则化:提出一种正则化技术,仅计算每个小批量中出现的特征的L2范数,减少了计算量。
- 数据自适应激活函数:设计了一种新的激活函数,根据输入数据的分布自适应调整激活点,提高了模型性能。
算法模型
- 深度兴趣网络(DIN):引入局部激活单元,通过考虑历史行为与候选广告的相关性,适应性地学习用户兴趣的表示。
- 小批量感知正则化:针对大规模稀疏特征的工业深度网络训练,仅对每个小批量中非零特征的参数进行正则化计算。
- 数据自适应激活函数(Dice):一种基于数据分布自适应调整激活点的激活函数。
实验效果
- 公共数据集:在Amazon和MovieLens数据集上,DIN相比于基线模型和其他深度模型,显示出优越的性能。
- 阿里巴巴数据集:在具有超过20亿样本的阿里巴巴数据集上,DIN实现了显著的性能提升,AUC比基线模型提高了6.08%。
- 在线A/B测试:在阿里巴巴的在线展示广告系统中,DIN贡献了高达10.0%的CTR和3.8%的RPM提升。
推荐阅读指数:★★★★☆
- 推荐理由:
- 创新性:DIN模型通过局部激活单元和自适应激活函数,有效地捕捉了用户多样化的兴趣,提高了CTR预测的准确性。
- 实用性:提出的技术已经在阿里巴巴的广告系统中得到实际应用,证明了其在工业级应用中的有效性和可扩展性。
- 技术深度:文章详细介绍了DIN模型的设计和实现,以及针对大规模稀疏数据的优化技术,对相关领域的研究者和工程师具有较高的参考价值。
3. [每日新文] Intelligent maritime question-answering and recommendation system based on maritime vessel activity knowledge graph
C Xie, Z Zhong, L Zhang - Ocean Engineering, 2024
基于船舶活动知识图谱的智能海事问答与推荐系统
摘要
传统的海事交通管理通常依赖于定位数据进行数据挖掘,而没有结合其他多源数据来分析船舶活动,这无法进行全面的海事知识挖掘。因此,本研究整合了轨迹、海事事故文本和地理数据等多源数据,创建了一个船舶活动知识图谱。在此基础上,开发了基于双向问答注意力图神经网络的问答模型,以及基于注意力增强的联合知识传播和用户偏好图神经网络的个性化推荐模型。前者帮助用户从船舶活动知识图谱中提取有价值的信息,后者根据用户的历史查询信息预测用户的潜在兴趣,并自动推荐船舶实体。实验结果表明,所提出的问答模型在MVA问答数据集上,与最先进的基线模型相比,F1分数提高了2.31%-10.09%。同样,所提出的个性化推荐模型在MVA个性化推荐数据集上,与最先进的基线模型相比,点击率预测准确率提高了2.46%-7.05%。
创新点
- 多源数据融合:整合了轨迹、海事事故文本和地理数据等多源数据,构建了船舶活动知识图谱。
- 双向问答注意力图神经网络:开发了一种新的问答模型,可以更有效地从知识图谱中提取信息。
- 个性化推荐模型:基于注意力增强的联合知识传播和用户偏好图神经网络,预测用户潜在兴趣并进行推荐。
算法模型
- 问答模型:基于双向问答注意力图神经网络。
- 推荐模型:基于注意力增强的联合知识传播和用户偏好图神经网络。
实验效果
- 问答模型:在MVA问答数据集上,F1分数比基线模型提高了2.31%-10.09%。
- 推荐模型:在MVA个性化推荐数据集上,点击率预测准确率比基线模型提高了2.46%-7.05%。
推荐阅读指数:★★★★☆
- 推荐理由:
- 创新性:文章提出了结合多源数据构建知识图谱,并基于此开发了问答和推荐模型,具有较高的创新性。
- 实用性:模型在实际数据集上表现优异,具有较好的应用前景。
- 技术深度:文章详细介绍了算法模型的设计和实现,对相关领域的研究者有较高的参考价值。
点评: 这篇论文整体创新一般,简单了解下文章研究问题即可,不值得深入分析。
4. [每日新文] MLoRA: Multi-Domain Low-Rank Adaptive Network for CTR Prediction, RecSys, 2024.
MLoRA: 用于点击率预测的多域低秩自适应网络
摘要
点击率(CTR)预测是工业中的一项基本任务,尤其是在电子商务、社交媒体和流媒体中。它直接影响网站收入、用户满意度和用户留存。然而,实际的生产平台通常包含多个领域以满足不同客户的需求。传统的CTR预测模型在多域推荐场景中表现不佳,面临数据稀疏和跨域数据分布差异的挑战。本文提出了一种多域低秩自适应网络(MLoRA),通过为每个领域引入专门的LoRA模块来增强模型在多域CTR预测任务中的性能,并且可以应用于各种深度学习模型。我们在几个多域数据集上评估了所提出的方法。实验结果表明,与最先进的基线相比,MLoRA方法取得了显著的改进。此外,我们在阿里巴巴的生产环境中部署了它,在线A/B测试结果表明其在实际生产环境中的优越性和灵活性。
创新点
- 多域低秩自适应网络(MLoRA):提出了一种新的CTR预测框架,通过为每个领域引入低秩自适应模块来提高模型的适应性和性能。
- LoRA模块:利用低秩结构对大型预训练模型进行微调,有效学习领域数据的知识,同时减少参数数量。
- 模型无关性:MLoRA是一个通用框架,可以轻松应用于各种基于深度学习的CTR模型。
算法模型
- MLoRA:通过在每个领域中引入LoRA模块,模型能够更有效地学习每个领域的数据分布。
- LoRA模块:在每个全连接层中注入可训练的低秩矩阵,以实现参数的高效微调。
- 两阶段训练策略:先在大规模预训练数据上训练基础网络,然后在微调阶段添加MLoRA网络并冻结基础网络,专注于更新A和B以学习每个领域的个性化信息。
实验效果
- 数据集:在Taobao、Amazon和Movielens数据集上进行了实验。
- 性能提升:与基线模型相比,MLoRA在所有数据集上都实现了性能提升,平均提升0.5%。
- 在线A/B测试:在阿里巴巴.COM电子商务网站上部署后,CTR提高了1.49%,订单转化率提高了3.37%,付费买家数量提高了2.71%。
推荐阅读指数:★★★★☆
- 推荐理由:
- 创新性:MLoRA通过引入LoRA模块,有效地解决了多域CTR预测中的挑战,如数据稀疏和领域间的差异性。
- 实用性:MLoRA已经在阿里巴巴的生产环境中得到应用,证明了其在实际大规模推荐系统中的有效性和可扩展性。
- 技术深度:文章详细介绍了MLoRA的设计和实现,以及在多域CTR预测问题上的实验验证,对相关领域的研究者和工程师具有较高的参考价值。
点评: 这篇论文将LoRA应用到点击率预估问题,算法应用创新为主,整体数学模型相对简单,值得一看。
相关文章:

机器学习-点击率预估-论文速读-20240916
1. [经典文章] 特征交叉: Factorization Machines, ICDM, 2010 分解机(Factorization Machines) 摘要 本文介绍了一种新的模型类——分解机(FM),它结合了支持向量机(SVM)和分解模型的优点。与…...
【leetcode】堆习题
215.数组中的第K个最大元素 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输…...
前端大模型入门:编码(Tokenizer)和嵌入(Embedding)解析 - llm的输入
LLM的核心是通过对语言进行建模来生成自然语言输出或理解输入,两个重要的概念在其中发挥关键作用:Tokenizer 和 Embedding。本篇文章将对这两个概念进行入门级介绍,并提供了针对前端的js示例代码,帮助读者理解它们的基本原理/作用和如何使用。 1. 什么是…...
一文读懂 JS 中的 Map 结构
你好,我是沐爸,欢迎点赞、收藏、评论和关注。 上次聊了 Set 数据结构,今天我们聊下 Map,看看它与 Set、与普通对象有什么区别?下面直接进入正题。 一、Set 和 Map 有什么区别? Set 是一个集合࿰…...
C++校招面经(二)
欢迎关注 0voice GitHub 6、 C 和 Java 区别(语⾔特性,垃圾回收,应⽤场景等) 指针: Java 语⾔让程序员没法找到指针来直接访问内存,没有指针的概念,并有内存的⾃动管理功能,从⽽…...
Python Web 面试题
1 Web 相关 get 和 post 区别 get: 请求数据在 URL 末尾,URL 长度有限制 请求幂等,即无论请求多少次,服务器响应始终相同,这是因为 get 至少获取资源,而不修改资源 可以被浏览器缓存,以便以后…...

java日志框架之JUL(Logging)
文章目录 一、JUL简介1、JUL组件介绍 二、Logger快速入门三、Logger日志级别1、日志级别2、默认级别info3、原理分析4、自定义日志级别5、日志持久化(保存到磁盘) 三、Logger父子关系四、Logger配置文件 一、JUL简介 JUL全程Java Util Loggingÿ…...
ARM驱动学习之PWM
ARM驱动学习之PWM 1.分析原理图: GPD0_0 XpwmTOUT0定时器0 2.定时器上的资源: 1.5组32位定时器 2.定时器产生内部中断 3.定时器0,1,2可编程实现pwm 4.定时器各自分频 5.TCN--,TCN TCMPBN 6.分频器 24-2 7.24.3.4 例子࿱…...

我的AI工具箱Tauri版-VideoClipMixingCut视频批量混剪
本教程基于自研的AI工具箱Tauri版进行VideoClipMixingCut视频批量混剪。 VideoClipMixingCut视频批量混剪 是自研AI工具箱Tauri版中的一款强大工具,专为自动化视频批量混剪设计。该模块通过将预设的解说文稿与视频素材进行自动拼接生成混剪视频,适合需要…...

postgres_fdw访问存储在外部 PostgreSQL 服务器中的数据
文章目录 一、postgres_fdw 介绍二、安装使用示例三、成本估算四、 远程执行选项执行计划无法递推解决 参考文件: 一、postgres_fdw 介绍 postgres_fdw 模块提供外部数据包装器 postgres_fdw,可用于访问存储在外部 PostgreSQL 服务器中的数据。 此模块…...

什么是3D展厅?有何优势?怎么制作3D展厅?
一、什么是3D展厅? 3D展厅是一种利用三维技术构建的虚拟展示空间。它借助虚拟现实(VR)、增强现实(AR)等现代科技手段,将真实的展示空间数字化,呈现出逼真、立体、沉浸的展示效果。通过3D展厅&a…...

Linux下的CAN通讯
CAN总线 CAN总线简介 CAN(Controller Area Network)总线是一种多主从式 <font color red>异步半双工串行 </font> 通信总线,它最早由Bosch公司开发,用于汽车电子系统。CAN总线具有以下特点: 多主从式&a…...
【Python】pip安装加速:使用国内镜像源
【Python】pip安装加速:使用国内镜像源 零、使用命令行设置 设置全局镜像源 随便使用下面任一命令即可! 阿里云: pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/豆瓣: pip config set global.in…...
SpringBoot lombok(注解@Getter @Setter)
SpringBoot lombok(注解Getter Setter) 使用lombok注解的方式,在编译生成的字节码文件中就会存在setter/getter等方法,减少代码量,方便了代码的维护 添加依赖 <dependency><groupId>org.projectlombok</groupId><artif…...

descrTable常用方法
descrTable 为 R 包 compareGroups 的重要函数,有关该函数以及 compareGroups 包的详细内容见:R包compareGroups详细用法 加载包和数据 library(compareGroups)# 加载 REGICOR 数据(横断面,从不同年份纳入,每个变量有…...

回归预测 | Matlab实现ReliefF-XGBoost多变量回归预测
回归预测 | Matlab实现ReliefF-XGBoost多变量回归预测 目录 回归预测 | Matlab实现ReliefF-XGBoost多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.ReliefF-xgboost回归预测代码,对序列数据预测性能相对较高。首先通过ReleifF对输入特征计算权…...

年度最强悬疑美剧重磅回归,一集比一集上头
纽约的夜晚,平静被一声枪响打破,一场离奇的谋杀案悄然上演。《大楼里只有谋杀》正是围绕这样一桩扑朔迷离的案件展开的。三位主角,赛琳娜戈麦斯饰演的梅宝、史蒂夫马丁饰演的查尔斯、马丁肖特饰演的奥利弗,这些性格迥异的邻居因为…...
AI一点通: 简化大数据与深度学习工作流程, Apache Spark、PyTorch 和 Mosaic Streaming
在大数据和机器学习飞速发展的领域中,数据科学家和机器学习工程师经常面临的一个挑战是如何桥接像 Apache Spark 这样的强大数据处理引擎与 PyTorch 等深度学习框架。由于它们在架构上的固有差异,利用这两个系统的优势可能令人望而生畏。本博客介绍了 Mo…...
Python知识点:深入理解Python的模块与包管理
开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! 深入理解Python的模块与包管理 Python的模块和包是代码组织、复用和分发的基本…...

倒排索引(反向索引)
倒排索引(Inverted Index)是搜索引擎和数据库管理系统中常用的一种数据结构,用于快速检索文档集合中的文档。在全文搜索场景中,倒排索引是一种非常高效的手段,因为它能够快速定位到包含特定关键词的所有文档。 1、基本…...

在React 中安装和配置 shadcn/ui
1. 创建 React 项目 pnpm create vitelatest .选择模板:React TypeScript安装依赖:pnpm install2. 添加 Tailwind CSS pnpm add -D tailwindcss postcss autoprefixer修改 src/index.css 内容: import "tailwindcss";3. 配置 T…...

Github 2025-06-05 Go开源项目日报 Top10
根据Github Trendings的统计,今日(2025-06-05统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10TypeScript项目1Go编程语言:构建简单、可靠和高效的软件 创建周期:3474 天开发语言:Go协议类型:BSD 3-Clause “New” or “Revise…...

打造你的 Android 图像编辑器:深入解析 PhotoEditor 开源库
📸 什么是 PhotoEditor? PhotoEditor 是一个专为 Android 平台设计的开源图像编辑库,旨在为开发者提供简单易用的图像编辑功能。它支持绘图、添加文本、应用滤镜、插入表情符号和贴纸等功能,类似于 Instagram 的编辑体验。该库采…...
零基础在实践中学习网络安全-皮卡丘靶场(第十四期-XXE模块)
本期内容涉及到很多前面的内容,因此复习后可以更好的了解本期内容 介绍 XXE -"xml external entity injection"即"xml外部实体注入漏洞"。 概括一下就是"攻击者通过向服务器注入指定的xml实体内容,从而让服务器按照指定的配置进行执行,导…...

【Latex】Windows/Ubuntu 绘制 eps 矢量图通用方法(drawio),支持插入 Latex 数学公式
一直感觉 Visio 或者 PPT 中 Mathtype 对 latex 公式渲染效果不好,且在 Ubuntu 下的支持不好,最近重新调研发现一个好用的工具 drawio。 在线使用 https://app.diagrams.net/?srcabout 也有桌面版的应用,Windows 就下载 exe 安装器&#x…...
深入理解汇编语言中的顺序与分支结构
本文将结合Visual Studio环境配置、顺序结构编程和分支结构实现,全面解析汇编语言中的核心编程概念。通过实际案例演示无符号/有符号数处理、分段函数实现和逻辑表达式短路计算等关键技术。 一、汇编环境配置回顾(Win32MASM) 在Visual Studi…...
Hadolint:Dockerfile 语法检查与最佳实践验证的终极工具
在容器化应用开发的浪潮中,Dockerfile 作为构建 Docker 镜像的核心配置文件,其质量直接影响着应用的安全性、稳定性和可维护性。然而,随着项目复杂度的增加,手动检查 Dockerfile 不仅耗时,还容易遗漏潜在问题。今天,我要向大家介绍一款强大的工具——Hadolint,它将彻底改…...

[特殊字符] 深入理解 Linux 内核进程管理:架构、核心函数与调度机制
Linux 内核作为一个多任务操作系统,其进程管理子系统是核心组成部分之一。无论是用户应用的运行、驱动行为的触发,还是系统调度决策,几乎所有操作都离不开进程的创建、调度与销毁。本文将从进程的概念出发,深入探讨 Linux 内核中进…...
【C++快读快写】
算法竞赛中用于解决卡常问题 int rd(){int k 0;char c getchar();while(!isdigit(c)){c getchar();}while(isdigit(c)){k (k << 1) (k << 3) (c^0), c getchar();}return k; }void wr(int x) {if (x > 9)wr(x / 10);putchar((x % 10) ^ 0); }用法&#x…...

家政小程序开发——AI+IoT技术融合,打造“智慧家政”新物种
基于用户历史订单(如“每周一次保洁”)、设备状态(如智能门锁记录的清洁频率),自动生成服务计划。 结合天气数据(如“雨天推荐玻璃清洁”),动态推送服务套餐。 IoT设备联动&#x…...