论文笔记-NeurIPS2017-DropoutNet

论文笔记-NeurIPS2017-DropoutNet: Addressing Cold Start in Recommender Systems

  • DropoutNet:解决推荐系统中的冷启动问题
  • 摘要
  • 1.引言
  • 2.前言
  • 3.方法
    • 3.1模型架构
    • 3.2冷启动训练
    • 3.3推荐
  • 4.实验
    • 4.1实验设置
    • 4.2在CiteULike上的实验结果
      • 4.2.1 Dropout率的影响
      • 4.2.2 实验结果
    • 4.3在RecSys上的实验结果
  • 5.总结

DropoutNet:解决推荐系统中的冷启动问题

论文: DropoutNet: Addressing Cold Start in Recommender Systems
代码: DropoutNet

摘要

大多数潜在模型主要集中在用户-物品交互的建模上,关于冷启动问题的研究相对较少。因此,本文提出了一种名为 DropoutNet 的基于神经网络的潜在模型,以解决推荐系统中的冷启动问题。与现有方法不同的是,DropoutNet 没有引入额外的基于内容的目标项,而是专注于优化,表明神经网络模型可以通过 dropout 明确训练以应对冷启动问题。

1.引言

冷启动等同于缺失数据问题,即缺失偏好信息。因此,DropoutNet 并不添加额外的目标项来建模内容,而是修改学习过程,明确地使模型适应缺失的输入。该方法的关键思想是,通过对输入小批量应用dropout,训练DNN以对缺失输入进行泛化。

通过选择适当的dropout比例,DropoutNet 在热启动时的性能与最先进的模型相当,而在冷启动时则显著优于其性能。DropoutNet 比大多数结合内容信息的方法简单,并且使用单一的目标函数,联合优化所有组件以最大化推荐准确性。该方法的另一个优点是,它可以在任何现有的潜在模型之上应用,以提供或增强其冷启动能力。

2.前言

定义如下:

  1. 用户集合: U = { u 1 , u 2 , … , u N } U = \{ u_1, u_2, \ldots, u_N \} U={u1,u2,,uN}

  2. 物品集合: V = { v 1 , v 2 , … , v M } V = \{ v_1, v_2, \ldots, v_M \} V={v1,v2,,vM}

  3. 偏好矩阵: R R R

  4. 用户 u u u 对物品 v v v 的偏好: R u v ​ R_{uv}​ Ruv

  5. 对物品 v v v 表达偏好的用户集合: U ( v ) = { u ∈ U ∣ R u v ≠ 0 } U(v) = \{ u \in U \mid R_{uv} \neq 0 \} U(v)={uURuv=0}

  6. 对用户 u u u 表达偏好的物品集合: V ( u ) = { v ∈ V ∣ R u v ≠ 0 } V(u) = \{ v \in V \mid R_{uv} \neq 0 \} V(u)={vVRuv=0}

  7. 冷启动条件: V ( u ) = ∅ V(u) = \emptyset V(u)= U ( v ) = ∅ U(v) = \emptyset U(v)=

  8. 用户的内容特征: Φ U ​ \Phi^U​ ΦU

  9. 物品的内容特征: Φ V ​ \Phi^V​ ΦV

  10. 用户 u u u 的内容特征向量: Φ u U ​ \Phi_u^U​ ΦuU

  11. 物品 v v v 的内容特征向量: Φ v V ​ \Phi_v^V​ ΦvV

  12. 当内容缺失时,特征向量设置为 Φ u U ​ = 0 \Phi_u^U​=0 ΦuU=0 Φ v V = 0 ​ \Phi_v^V=0​ ΦvV=0​

3.方法

DropoutNet 使用潜在表示作为偏好输入。潜在模型通常用低秩矩阵 U U U V V V 的乘积来近似偏好矩阵积来近似偏好矩阵: R u v ≈ U u ∗ V v T R_{uv} \approx U_u*V_v^T RuvUuVvT,其中 U u ​ U_u​ Uu V v ​ V_v​ Vv 分别是用户 u u u 和物品 v v v 的潜在表示。 U U U V V V 都是密集且低维的,秩为 D ≤ min ⁡ ( N , M ) D \leq \min(N, M) Dmin(N,M)。考虑到潜在方法在各种协同过滤数据集上的强大表现,可以合理假设潜在表示准确地总结了用户和物品的偏好信息。此外,低输入维度显著降低了深度神经网络(DNN)的模型复杂性,因为第一个隐藏层的激活大小与输入大小成正比。鉴于这些优势,将每个用户 u u u 和物品 v v v 的输入设定为 [ U u , Φ u U ] [U_u, \Phi_u^U] [Uu,ΦuU] [ V v , Φ v V ] [V_v, \Phi_v^V] [Vv,ΦvV]

3.1模型架构

模型架构如图1所示,对于每个用户,两个形式的输入通过相应的DNN进行处理,连接之后传递给微调网络 f U ​ f_U​ fU​,然后输出潜在表示 U ^ u ​ \hat{U}_u​ U^u。对于每个物品,得到潜在表示 V ^ v ​ \hat{V}_v​ V^v。在训练过程中,所有组件通过反向传播共同优化。一旦模型训练完成就将其固定,并进行前向传播以映射 U → U ^ U \to \hat{U} UU^ V → V ^ V \to \hat{V} VV^。所有检索操作都使用 U ^ \hat{U} U^ V ^ \hat{V} V^ 进行,相关性评分则按之前的方式估算为 s ^ u v = U ^ u V ^ v T ​ \hat{s}_{uv} = \hat{U}_u \hat{V}^T_v​ s^uv=U^uV^vT
在这里插入图片描述

3.2冷启动训练

借鉴去噪自编码器的思想,本文的目标是学习一个模型,即使在输入的部分缺失时仍能产生准确的表示。为此,提出了一个目标,即在输入通过模型后重现相关性评分:
在这里插入图片描述
目标O是最小化输入潜在模型和DNN产生的评分之间的差异。当所有的输入可用时,也就是热推荐时,通过将内容权重设置为0来使模型专注于偏好输入。这意味着模型不再考虑内容的影响,只依赖于用户的偏好来生成相关性评分。在这种情况下,模型学习到一个恒等函数,即对于给定的偏好输入,输出的评分与输入完全相同。这是一个理想的状态,因为它意味着模型在这种情况下可以准确地反映用户的偏好。

在冷启动情况下, U u ​ U_u​ Uu V v ​ V_v​ Vv(或两者)可能缺失,因此主要思路是通过应用输入丢弃(dropout)进行训练。使用随机的小批量优化,随机抽取用户-物品对来计算梯度并更新模型。在每个小批量中,随机选择一部分用户和物品,并将它们的偏好输入设置为 0,然后将小批量传递给模型。对于“丢弃”的对,模型必须在没有看到偏好输入的情况下重构相关性评分:
在这里插入图片描述
使用丢弃(dropout)进行训练具有双重效果:丢弃的对促使模型仅使用内容信息,而没有丢弃的对则鼓励模型忽略内容,简单地重现偏好输入。这两者的结合可以达到一种平衡。使用丢弃的另一个优点是,它最初是作为一种正则化模型的方法开发的。在这里也有类似的效果,即使对于更深和更复杂的模型,通常也不需要额外的正则化。

类似于去噪自编码器,DropoutNet 模型被训练来从噪声版本中重建输入。噪声以丢弃的形式出现,完全去除一部分输入维度。然而,DropoutNet 的目标不是重建实际的未损坏输入,而是最小化原始空间和重建空间中点之间的成对距离。考虑相关性评分 S = { U u V v T ∣ u ∈ U , v ∈ V } S = \{ U_u V^T_v | u \in U, v \in V \} S={UuVvTuU,vV} S ^ = { U ^ u V ^ v T ∣ u ∈ U , v ∈ V } \hat{S} = \{ \hat{U}_u \hat{V}^T_v | u \in U, v \in V \} S^={U^uV^vTuU,vV} 作为一维空间中的点集,DropoutNet 目标是保留由模型生成的 S ^ \hat{S} S^ 中点的相对排序与原始集 S S S 的相对排序。DropoutNet 专注于重建距离,提供了更大的灵活性,使模型能够学习全新的潜在空间,而不是将其绑定到另一个模型学习的表示上。这个目标类似于许多流行的降维模型,它们将数据投影到低维空间中,同时保留点之间的相对距离。

3.3推荐

训练完成后,固定模型并进行前向传播,以推断新的潜在表示。为了在观察到冷启动用户 u u u 的首个偏好时更新潜在表示 U ^ u ​​ \hat{U}_u​​ U^u​​,需要推断输入偏好向量 U u ​ U_u​ Uu。由于许多主流潜在模型使用复杂的非凸目标,使用新偏好更新潜在表示是一项非平凡的任务,需要迭代优化。为避免这一问题,本文使用一个简单的技巧,将每个用户表示为其交互过的物品的加权和,直到输入潜在模型被重新训练。形式上,给定生成了新交互集 V ( u ) V(u) V(u) 的冷启动用户 u u u,用该用户在 V ( u ) V(u) V(u) 中物品的平均潜在表示来近似 U u ​ U_u​ Uu
在这里插入图片描述
使用这一近似,通过用户 DNN 进行前向传播,可以获得更新的表示: U ^ u = f U ( mean v ∈ V ( u ) V v , Φ u U ) \hat{U}_u = f_U\left(\text{mean}_{v \in V(u)} V_v, \Phi_u^U\right) U^u=fU(meanvV(u)Vv,ΦuU)。这一过程可以在收集新数据的近实时情况下持续进行,直到输入潜在模型被重新训练。冷启动物品的处理方式类似,使用用户表示的平均值。通过这种近似获得的表示的分布可能会偏离输入潜在模型生成的分布。使用类似于冷启动的丢弃方法显式地为此进行训练。在学习过程中,每个小批量中随机选择的用户和物品的偏好输入被替换为方程 (4)。在丢弃和这一转换之间交替,并控制每种转换的相对频率(即丢弃比例)。算法 1 概述了完整的学习过程。
在这里插入图片描述

4.实验

4.1实验设置

数据集:CiteULike 和 ACM RecSys 2017

基线:WMF、CTR、DeepMusic 和 CDL

4.2在CiteULike上的实验结果

4.2.1 Dropout率的影响

图 2 显示了 dropout 率在 0 到 1 之间的热启动和冷启动 recall@100 的准确性。
在这里插入图片描述

结论:

热启动的准确性几乎保持不变,下降幅度不到 1%,直到 dropout 达到 0.7 时迅速下降。另一方面,冷启动的准确性随着 dropout 的增加而稳步上升。此外,在没有 dropout 的情况下,冷启动性能较差,即使是 0.1 的 dropout 也能使其提高超过 60%。这表明在某些 dropout 值的范围内,可以在冷启动准确性上获得显著提升,而不会对热启动造成损失。

4.2.2 实验结果

本文使用 WMF 和 CDL 作为输入偏好模型,偏好输入 dropout 率均为 0.5,热启动和冷启动的 recall@100 结果如表 1 所示。
在这里插入图片描述

结论:

  1. 大多数基线在热启动上产生了相似的结果,因为几乎所有模型都使用 WMF 目标来建模 R。其中一个例外是 DeepMusic,这归因于 DeepMusic 中项目潜在表示仅为内容的函数,因此缺乏偏好信息。

  2. DN-WMF 和 DN-CDL 的表现与最佳基线相当,表明将偏好信息作为输入添加到模型中显著改善了性能。相比之下,像 DeepMusic 这样的仅基于内容的模型效果较差。

  3. Dropout=0.5 不会影响热启动性能,我们的模型仍然能够恢复输入潜在模型的准确性。冷启动结果则更加多样化,最佳冷启动基线如预期为 DeepMusic。

4.3在RecSys上的实验结果

在这里插入图片描述

结论:

  1. 所有基线的表现相近,除了 DeepMusic,这表明仅基于内容的模型在热启动上不太可能表现良好。

  2. 用户和项目冷启动的结果显示 DN-WMF 的表现明显优于 DeepMusic,对于大多数截断,提升超过 50%。进一步表明,即使最终目标是冷启动,将偏好信息作为输入纳入模型是非常重要的。

5.总结

提出了 DropoutNet,一种用于推荐系统冷启动的深度神经网络模型。DropoutNet 在训练过程中应用输入 dropout,以适应缺失的偏好信息。缺失数据的优化迫使模型利用偏好和内容信息,而不明确依赖两者同时存在。这使得模型在热启动和冷启动场景中都具有出色的泛化能力。此外,与通常具有复杂多项目标函数的现有方法不同,DropoutNet 的目标函数只有一个单一项,易于实现和优化。DropoutNet 可以有效地应用于任何现有的潜在模型之上,提供冷启动能力,并充分发挥深度架构在内容建模中的优势。从实证上看,DropoutNet 在两个公共基准上展示了最先进的结果。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ctf网络安全赛题

CTF简介 CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展…

一周学会Flask3 Python Web开发-WTForms表单验证

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 我们可以通过WTForms表单类属性的validators属性来实现表单验证。 常用的WTForms验证器 验证器说明DataRequired(messageNo…

工业巡检进入‘无人化+AI’时代:无人机智能系统的落地实践与未来

在现代化工业生产、建筑设施和交通运输等领域,设备设施的稳定运行是保障安全和效率的核心。传统人工巡检方式受限于效率低、成本高、漏检风险大等问题,已难以满足日益复杂的运维需求。在此背景下,无人机智能巡检系统凭借其高效性、智能化和精…

CentOS 7中安装Dify

Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。尤其是我们本地部署DeepSeek等大模型时,会需要用到Dify来帮我们快捷的开发和应用。 大家可以参考学习它的中…

Kmeans算法来实现RFM指标计算步骤

K-Means(K均值)是一种经典的无监督聚类算法,主要用于将数据集划分为 KKK 个不同的簇(Cluster)。 它基于最小化簇内样本的平方误差,即最小化数据点与簇中心的距离之和。 1. K-Means 算法原理 (1) 主要步骤 …

C# .NET Core HttpClient 和 HttpWebRequest 使用

HttpWebRequest 这是.NET创建者最初开发用于使用HTTP请求的标准类。HttpWebRequest是老版本.net下常用的,较为底层且复杂,访问速度及并发也不甚理想,但是使用HttpWebRequest可以让开发者控制请求/响应流程的各个方面,如 timeouts,…

run方法执行过程分析

文章目录 run方法核心流程SpringApplicationRunListener监听器监听器的配置与加载SpringApplicationRunListener源码解析实现类EventPublishingRunListener 初始化ApplicationArguments初始化ConfigurableEnvironment获取或创建环境配置环境 打印BannerSpring应用上下文的创建S…

1.从0搭建前端Vue项目工程

我们通过vue官方提供的脚手架Vue-cli来快速生成一个Vue的项目模板。 **注意:**需要先安装NodeJS,然后才能安装Vue-cli。 环境准备好了,接下来我们需要通过Vue-cli创建一个vue项目,然后再学习一下vue项目的目录结构。Vue-cli提供了…

C语言学习笔记-初阶(27)操作符详解1:位操作

1. 操作符的分类 上述的操作符,我们已经学过算术操作符、赋值操作符、逻辑操作符、条件操作符和部分的单目操作符,今天继续介绍⼀部分,操作符中有一些操作符和二进制有关系,我们先铺垫一下二进制的和进制转换的知识。 2. 二进制、…

蓝桥杯备考:动态规划线性dp之传球游戏

按照动态规划的做题顺序 step1&#xff1a;定义状态表示 f[i][j] 表示 第i次传递给了第j号时一共有多少种方案 step2: 推到状压公式 step3:初始化 step4:最终结果实际上就是f[m][1] #include <iostream> #include <cstring> using namespace std;const int N …

FinRobot:一个使用大型语言模型进行金融分析的开源AI代理平台

文章目录 前言一、生态系统1. 金融AI代理&#xff08;Financial AI Agents&#xff09;2. 金融大型语言模型&#xff08;Financial LLMs&#xff09;3. LLMOps4. 数据操作&#xff08;DataOps&#xff09;5. 多源LLM基础模型&#xff08;Multi-Source LLM Foundation Models&am…

基于Windows11的RAGFlow安装方法简介

基于Windows11的RAGFlow安装方法简介 一、下载安装Docker docker 下载地址 https://www.docker.com/ Download Docker Desktop 选择Download for Winodws AMD64下载Docker Desktop Installer.exe 双点击 Docker Desktop Installer.exe 进行安装 测试Docker安装是否成功&#…

uniapp 常用 UI 组件库

1. uView UI 特点&#xff1a; 组件丰富&#xff1a;提供覆盖按钮、表单、图标、表格、导航、图表等场景的内置组件。跨平台支持&#xff1a;兼容 App、H5、小程序等多端。高度可定制&#xff1a;支持主题定制&#xff0c;组件样式灵活。实用工具类&#xff1a;提供时间、数组操…

【四.RAG技术与应用】【12.阿里云百炼应用(下):RAG的云端优化与扩展】

在上一篇文章中,我们聊了如何通过阿里云百炼平台快速搭建一个RAG(检索增强生成)应用,实现文档智能问答、知识库管理等基础能力。今天咱们继续深入,聚焦两个核心问题:如何通过云端技术优化RAG的效果,以及如何扩展RAG的应用边界。文章会穿插实战案例,手把手带你踩坑避雷。…

LabVIEW虚拟频谱分析仪

在电子技术快速发展的今天&#xff0c;频谱分析已成为信号优化与故障诊断的核心手段。传统频谱分析仪虽功能强大&#xff0c;但价格高昂且体积笨重&#xff0c;难以满足现场调试或移动场景的需求。 基于LabVIEW开发的虚拟频谱分析仪通过软件替代硬件功能&#xff0c;显著降低成…

解决各大浏览器中http地址无权限调用麦克风摄像头问题(包括谷歌,Edge,360,火狐)后续会陆续补充

项目场景&#xff1a; 在各大浏览器中http地址调用电脑麦克风摄像头会没有权限&#xff0c;http协议无法使用多媒体设备 原因分析&#xff1a; 为了用户的隐私安全&#xff0c;http协议无法使用多媒体设备。因为像摄像头和麦克风属于可能涉及重大隐私问题的API&#xff0c;ge…

知识图谱科研文献推荐系统vue+django+Neo4j的知识图谱

文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站&#xff0c;有好处&#xff01; &#x1f4d1; 编号&#xff1a;D030 &#x1f4d1; vuedjangoneo4jmysql 前后端分离架构、图数据库 &#x1f4d1; 文献知识图谱&#…

NModbus 连接到Modbus服务器(Modbus TCP)

1、在项目中通过NuGet添加NModbus&#xff0c;在界面中添加一个Button。 using NModbus.Device; using NModbus; using System.Net.Sockets; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Docu…

Ubuntu问题 - 在ubuntu上使用 telnet 测试远程的IP:端口是否连通

使用 telnet 测试端口连接 安装 telnet&#xff08;如果尚未安装&#xff09;&#xff1a; sudo apt update sudo apt install telnet使用 telnet 测试端口&#xff1a; 假设你要测试 example.com 的 80 端口&#xff08;HTTP&#xff09;&#xff0c;可以运行以下命令&#xf…

全网最全!解决VirtualBox或VMware启动虚拟机时报错问题“不能为虚拟电脑打开一个新任务”和“Error In suplibOslnit”解决方案超全超详细

我自己下载并配置完VritualBox和OpenEuler之后帮助了几个朋友和我的室友在她们的电脑上下载安装时出现了不同的问题&#xff0c;下面我将简单解释一下如何解决配置时出现的两个无法启动虚拟器的问题。 目录 问题&#xff1a;“不能为虚拟电脑XX打开一个新任务”和“Error In …