基于图神经网络的联邦学习跨企业推荐

Federated Learning-Based Cross-Enterprise Recommendation With Graph Neural Networks

论文试图解决什么问题

该论文试图解决跨企业推荐系统中存在的数据共享和用户隐私保护的问题。在许多小型和中型企业中,由于资源有限,无法提供足够的数据来进行大规模的模型训练,也不能购买用户数据。同时,由于用户数据隐私保护法律的限制,这些企业也无法与其他企业共享用户数据。因此,该论文提出了一种基于联邦学习和图神经网络的跨企业推荐方法,该方法允许企业在不共享数据的情况下使用本地数据进行训练,以提高推荐准确性并保护用户数据隐私。

主要创新

本文的主要创新是提出了一种基于联邦学习和图神经网络的跨企业推荐方法。在该方法中,构建了用户-用户图和用户-物品图来训练本地的图神经网络模型,并通过联邦学习框架进行模型参数的聚合。与现有的方法不同的是,本文设计了一种适用于图结构数据的联邦聚合算法,该算法根据损失权重进行参数聚合,使训练损失较大的模型在聚合中获得更多的关注。同时,本文还引入了动态损失关注因子,有效缓解了训练深度增加时模型聚合不稳定的问题。这些创新使得跨企业推荐系统在满足用户数据隐私要求的前提下,提高了推荐准确性,并解决了现有方法中存在的性能不平等和模型聚合不稳定的问题。

结构图

在这里插入图片描述
其中Item aggregation,Social aggregation,User aggregation表示的含义是不同的。

  • Item aggregation表示将多个物品(例如商品、电影等)合并或汇总在一起的过程。在推荐系统中,可以将具有相似特征或属性的物品进行聚类或组合,以便为用户提供更准确和多样化的推荐结果。
  • Social aggregation表示将社交网络中的用户信息进行聚合的过程。在推荐系统中,社交网络中的用户可以相互影响和参考,因此将他们的行为、兴趣和偏好等信息进行聚合,可以更好地理解用户的兴趣和需求,从而提供个性化的推荐。
  • User aggregation表示将多个用户的行为、兴趣和偏好等信息合并或汇总在一起的过程。在推荐系统中,用户的个性化需求和兴趣可以通过对多个用户的信息进行聚合来获取,以便为用户提供更准确和个性化的推荐结果。

Social aggregationUser aggregation的区别如下:

  • Social aggregation是指通过对用户之间的社交关系进行建模和分析,来进行信息聚合和推荐。它考虑了用户之间的社交网络结构和关系,以及他们在社交网络中的行为和偏好。社交聚合可以通过分析用户之间的社交关系网络来发现用户之间的相似性和影响力,并利用这些信息来进行推荐。
  • User aggregation则更加注重个体用户的行为和偏好。它通过分析单个用户的历史行为和个性化偏好,来进行推荐。用户聚合可以根据用户的点击、购买、评分等行为数据,以及用户对不同物品的兴趣和偏好,来进行个性化推荐。

文章中的动态损失因子解释

  • 动态损失关注因子是一种用于调整模型聚合过程中损失权重的方法。在联邦学习中,不同参与方可能具有不同的数据分布和特征分布,因此其损失函数的值也可能不同。动态损失关注因子通过根据参与方的训练损失来调整损失的权重,以便更好地反映每个参与方的贡献。当参与方的训练损失差异较小时,动态损失关注因子会减小损失的影响,以提高模型聚合的稳定性。通常情况下,动态损失关注因子大于1,随着全局迭代次数的增加,它会增加,表示损失的影响逐渐减小。当动态损失关注因子达到最大值时,它将不再改变。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java基础之IO操作

用户进程发起请求,内核接收到请求后,从I/O设备中获取数据到buffer中,再将buffer中的数据copy到用户进程的地址空间,该用户进程获取到数据后再响应客户端。 数据输入到buffer需要时间,从buffer复制数据至进程也需要时间…

服务器遭受攻击如何处理(记录排查)

本文的重点是介绍如何鉴别安全事件以及保护现场的方法,以确保服务器负责人能够在第一时间对安全攻击做出反应,并在最短时间内抵御攻击或减少攻击所带来的影响。 在服务器遭遇疑似安全事件时,通常可以从账号、进程、网络和日志四个主要方面进…

onlyoffice 二次开发 连接器(connector) 表单填(Filling out the form) jsApi级别操作文档

阅读须知:本文针对有对word/excel进行js操作的需求 本次改造基于V7.3.3进行,已经更新进入docker。 小伙伴们须知:改造后的office docker需要付费(875元),等于wps一个月费用 欢迎大家一起交流:V&…

面经(面试经验)第一步,从自我介绍开始说起

看到一位同学讲自己的面试步骤和过程,我心有所感,故此想整理下面试的准备工作。以便大家能顺利应对面试,通过面试... 求职应聘找工作,面试是必然的关卡,如今竞争激烈呀,想要得到自己喜欢的工作&#xff0c…

基于springboot实现学生考勤管理系统【项目源码+论文说明】

基于springboot实现学生考勤管理系统演示 摘要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生&am…

敲敲云零代码平台超实用表单设计技巧推荐,分分钟玩转零代码

敲敲云是一个APaaS零代码云平台,帮助企业快速搭建个性化业务应用。用户不需要编码就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用,打通企业内部数据。平台拥有完善的表单引擎、流程引擎、仪表盘等。 有时我们在添加明细表时&#xff0…

瑞数专题五

今日文案:焦虑,想象力过度发酵的产物。 网址:https://www.iyiou.com/ 专题五主要是分享瑞数6代。6代很少见,所以找理想哥要的,感谢感谢。 关于瑞数作者之前已经分享过4篇文章,全都收录在瑞数专栏中了&am…

LED显示屏的4种连接方式

全彩LED显示屏是由多块LED模组拼接起来的LED大屏幕,而显示屏模组是由许多的LED灯珠组装起来的。LED显示屏效果好不好,和LED显示屏组装有很大的关系。而显示屏的组装关键在连接方式上,如果连接不好将影响LED显示屏的画面质量,甚至会…

Rust-错误处理魔法

这篇文章收录于Rust 实战专栏。这个专栏中的相关代码来自于我开发的笔记系统。它启动于是2023年的9月14日。相关技术栈目前包括:Rust,Javascript。关注我,我会通过这个项目的开发给大家带来相关实战技术的分享。 我们写的代码主要有两部分&am…

linux 安装 elasticsearch 全教程

一、去 elasticsearch官网找到Linux版本的下载链接 地址https://www.elastic.co/cn/downloads/elasticsearch 二、在linux 中用wget下载 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.10.4-linux-x86_64.tar.gz三、下载成功后解压文件 tar -x…

Windows 开启 Kerberos 的火狐 Firefox 浏览器访问yarn、hdfs

背景:类型为IPA或者MIT KDC,windows目前只支持 firefoxMIT Kerberos客户端的形式,其他windows端浏览器IE、chrome、edge,没有办法去调用MIT Kerberos Windows客户端的GSSAPI验证方式,所以均无法使用 Windows 开启 Kerb…

驱动开发11-2 编写SPI驱动程序-点亮数码管

驱动程序 #include <linux/init.h> #include <linux/module.h> #include <linux/spi/spi.h>int m74hc595_probe(struct spi_device *spi) {printk("%s:%d\n",__FILE__,__LINE__);char buf[]{0XF,0X6D};spi_write(spi,buf,sizeof(buf));return 0; …

基于51单片机的智能手机充电器设计

**单片机设计介绍&#xff0c;1660【毕设课设】基于51单片机和MAX1898的智能手机充电器设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 51单片机智能手机充电器设计介绍 51单片机智能手机充电器是一种可以实现智能快速充电的…

OpenAI将推出ChatGPT Plus会员新功能,有用户反馈将支持上传文件和多模态

&#x1f989; AI新闻 &#x1f680; OpenAI将推出ChatGPT Plus会员新功能&#xff0c;有用户反馈将支持上传文件和多模态 摘要&#xff1a;OpenAI为ChatGPT Plus会员推出了一些新功能&#xff0c;包括上传文件、处理文件和多模态支持。用户不再需要手动选择模式&#xff0c;…

自动化测试mock模块使用详解介绍

mock简介 py3已将mock集成到unittest库中为的就是更好的进行单元测试简单理解&#xff0c;模拟接口返回参数通俗易懂&#xff0c;直接修改接口返回参数的值官方文档&#xff1a;unittest.mock --- 模拟对象库 — Python 3.11.3 文档 mock作用 解决依赖问题&#xff0c;达到解…

Mac/Linux类虚拟机_CrossOver虚拟机CrossOver 23.6正式发布2024全新功能解析

CodeWeivers 公司于今年 10 月发布了 CrossOver 23.6 测试版&#xff0c;重点添加了对 DirectX 12 支持&#xff0c;从而在 Mac 上更好地模拟运行 Windows 游戏。 该公司今天发布新闻稿&#xff0c;表示正式发布 CrossOver 23 稳定版&#xff0c;在诸多新增功能中&#xff0c;最…

urlPattern配置和request

urlPattern配置 Servlet类编写好后&#xff0c;想要被访问到&#xff0c;就需要配置其访问路径&#xff08;urlPattern&#xff09; 一个Servlet可以配置多个urlPattern&#xff1a; WebServlet&#xff08;urlPatterns{"/demo","/demo2"}) urlPattern配置…

UE5 Android下载zip文件并解压缩到指定位置

一、下载是使用市场的免费插件 二、解压缩是使用市场的免费插件 三、Android路径问题 windows平台下使用该插件没有问题&#xff0c;只是在Android平台下&#xff0c;只有使用绝对路径才能进行解压缩&#xff0c;所以如何获得Android下的绝对路径&#xff1f;增加C文件获得And…

Linux中的Shell编程

Linux中的Shell编程 shell编程快速入门 为什么要学习Shell编程&#xff1f; 1.Linux运维工程师在进行服务器集群管理时&#xff0c;需要编写Shell程序来进行服务器管理。 2.对于JavaEE和Python程序员来说&#xff0c;工作的需要&#xff0c;你的老大会要求你编写一些Shell脚本…

金蝶云星空自定义校验器和使用

文章目录 金蝶云星空自定义校验器和使用 金蝶云星空自定义校验器和使用 1、创建类&#xff0c;并继承抽象接口 using Kingdee.BOS.Core; using Kingdee.BOS.Core.Validation; using System;namespace mm.K3.SCM.App.Service.PlugIn.SC.Validator {public class AfterOrderChe…