论文阅读《Co-clustering for Federated Recommender System》

论文概况

本文是2024 WWW的一篇联邦推荐论文,提出了一个基于特定类别物品相似度来进行聚类的联邦推荐框架。

Introduction

  • 分析了经典聚类技术KMeans在联邦推荐设置中的不足,提出了一种新的共聚类联邦推荐机制CoFedRec,该机制在每个通信回合中根据特定的物品类别对用户进行分组,并生成包含邻居协作信息的智能组模型。我们提出的范例适用于不同的主干。

  • 在局部训练阶段引入监督对比项,对用户个人物品网络中的全局物品关系进行编码。这确保了我们提出的CoFedRec不仅有效地利用用户协作信息,而且还无缝地将全球见解集成到本地培训过程中。

Method

在这里插入图片描述

A.用户分区的协同聚类

在每一轮交流中,我们专注于单个项目类别,并根据用户对该特定类别的相似或不相似程度将用户分为两个不同的组。在每一轮𝑡中,服务器都需要为一个核心客户端𝑐∈𝑈和一个项目类别𝑘提供服务,具体来说,就是查找客户端的邻居𝑐。为了实现这一点,服务器首先对参与者客户端上传的所有项目网络执行全局聚合,然后生成M个项目种类(聚类),详细说明哪些项目属于哪些类别。然后,我们计算核心客户和所有其他参与者在其项目网络的选定项目类别上的相似度。
s u = ∑ i ∈ M k V c , i ⋅ V u , i ∣ V c , i ∣ ⋅ ∣ V u , i ∣ , u ∈ P s_{u}=\sum_{i \in M_{k}} \frac{V_{c, i} \cdot V_{u, i}}{\left|V_{c, i}\right| \cdot\left|V_{u, i}\right|}, u \in P su=iMkVc,iVu,iVc,iVu,i,uP

为了将所有用户分为相似与不相似两类,我们寻找相似度得分中的肘部点来做分界线
L ( x ) = s 1 ′ + x ( s ∣ P ∣ ′ − s 1 ′ ) \mathbf{L}(x)=s_{1'}+x(s_{|P|'}-s_{1'}) L(x)=s1+x(sPs1)
对于相似性分数中的每个点𝑠𝑢,我们计算其到直线L(x)的正交距离
x u = h u ⋅ ( s ∣ P ∣ ′ − s 1 ′ ) ∣ s ∣ P ∣ ′ − s 1 ′ ∣ 2 x_{u}=\frac{h_{u}\cdot(s_{|P|'}-s_{1'})}{|s_{|P|'}-s_{1'}|^{2}} xu=sPs12hu(sPs1)
d u = ∣ h u − x u ( s ∣ P ∣ ′ − s 1 ′ ) ∣ d_u=|h_u-x_u(s_{|P|'}-s_{1'})| du=huxu(sPs1)
取到直线L(x)的距离𝑑𝑒最大的点𝑒作为弯头点。
{ u ∈ D s , i f d u ≥ d e , u ∈ D d i s , i f d u < d e , \begin{cases}u\in D_s,&\mathrm{if} d_u\geq d_e,\\u\in D_{dis},&\mathrm{if} d_u<d_e,\end{cases} {uDs,uDdis,ifdude,ifdu<de,
组形成后,进行组聚合,在相似组内传递协作信息:
V s ← 1 ∣ D s ∣ ∑ u ∈ D s V u V_s\leftarrow\frac1{|D_s|}\sum_{u\in D_s}V_u VsDs1uDsVu

B.本地监督对比学习

在前一节中,我们提出了共同聚类,以发现客户机之间的共同偏好,然后将它们聚到相似组和不相似组中,在聚合阶段排除后者。然而,这可能会导致忽略一些不同的信息,因为全局洞察力可能部分来自被忽略的不同客户。
首先,我们在服务器用kmeans对所有物品进行聚类,
ϕ c ( V g , i ; C ) = ∥ V g , i − C ∥ F 2 \phi_c(V_{g,i};\mathbb{C})=\|V_{g,i}-C\|_F^2 ϕc(Vg,i;C)=Vg,iCF2
在客户端,我们将服务器中属于同类的物品拉近,不同类物品远离,以此作对比学习
L s u p = − ∑ i ∈ I log ⁡ { 1 ∣ Z ( i ) ∣ ∑ z ∈ Z ( i ) ( exp ⁡ ( V u , i ⋅ V u , z / τ ) ∑ a ∈ I ∖ { i } exp ⁡ ( V u , i ⋅ V u , a / τ ) ) } L_{sup}=-\sum_{i\in I}\log\left\{\frac{1}{|Z(i)|}\sum_{z\in Z(i)}\left(\frac{\exp(V_{u,i}\cdot V_{u,z}/\tau)}{\sum_{a\in I\setminus\{i\}}\exp(V_{u,i}\cdot V_{u,a}/\tau)}\right)\right\} Lsup=iIlog Z(i)1zZ(i)(aI{i}exp(Vu,iVu,a/τ)exp(Vu,iVu,z/τ))

C.结果

在这里插入图片描述

总结

第二个创新点凑数用的,典中典利用服务器的聚类信息给客户端作对比学习,重点在于提出以往聚类的不足以及新型聚类方法。

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

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

相关文章

堆排序算法详解:原理与Python实现

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storm…

后端回写前端日期格式化

问题 不进行格式化处理&#xff0c;就会导致传递的字符串很奇怪 解决方案 注解&#xff08;字段&#xff09; <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.2</…

【unity进阶知识1】最详细的单例模式的设计和应用,继承和不继承MonoBehaviour的单例模式,及泛型单例基类的编写

文章目录 前言一、不使用单例二、普通单例模式1、单例模式介绍实现步骤&#xff1a;单例模式分为饿汉式和懒汉式两种。 2、不继承MonoBehaviour的单例模式2.1、基本实现2.2、防止外部实例化对象2.3、最终代码 3、继承MonoBehaviour的单例模式3.1、基本实现3.2、自动创建和挂载单…

QT窗口无法激活弹出问题排查记录

问题背景 问题环境 操作系统: 银河麒麟V10SP1qt版本 : 5.12.12 碰见了一个问题应用最小化,然后激活程序窗口无法弹出 这里描述一下代码的逻辑,使用QLocalServer实现一个单例进程,具体的功能就是在已存在一个程序A进程时,再启动这个程序A,新的程序A进程会被杀死,然后激活已存…

linux信号| 学习信号三步走 | 学习信号需要打通哪些知识脉络?

前言: 本节内容主要讲解linux下信号的预备知识以及信号的概念&#xff0c; 信号部分我们将会分为几个阶段进行讲解&#xff1a;信号的概念&#xff0c; 信号的产生&#xff0c; 信号的保存。本节主要讲解信号 ps:本节内容适合学习了进程相关概念的友友们进行观看哦 目录 什么是…

电脑上数据丢了怎么找回来 Win系统误删文件如何恢复

无论是在工作中&#xff0c;还是生活中&#xff0c;电脑都是不可缺少的重要工具&#xff0c;尤其是在工作中&#xff0c;电脑不仅可以高效的完成工作&#xff0c;还可以存储工作中的重要资料。不过在使用电脑的时候&#xff0c;也会遇到数据丢失的情况。针对这一问题&#xff0…

水面巡检船垃圾漂浮物检测系统源码分享

水面巡检船垃圾漂浮物检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of …

在GPU计算型实例中安装Tesla驱动超详细过程

摘要&#xff1a;在深度学习、AI等通用计算业务场景或者OpenGL、Direct3D、云游戏等图形加速场景下&#xff0c;安装了Tesla驱动的GPU才可以发挥高性能计算能力&#xff0c;或提供更流畅的图形显示效果。如果您在创建GPU计算型实例&#xff08;Linux&#xff09;时未同时安装Te…

Linux服务器安装Anaconda环境

Linux浪潮云服务器安装Anaconda环境 读研之后在导师的帮助下&#xff0c;获得了浪潮的一台公共云服务器。以后做实验跑代码就可以使用云服务器上的虚拟环境了。减少了自己笔记本的压力。在创建并保存完成镜像环境之后。最重要的就是安装好深度学习需要的Anaconda环境&#xff0…

“类型名称”在Go语言规范中的演变

Go语言规范&#xff08;The Go Programming Language Specification&#xff09;[1]是Go语言的核心文档&#xff0c;定义了该语言的语法、类型系统和运行时行为。Go语言规范的存在使得开发者在实现Go编译器时可以依赖一致的标准&#xff0c;它确保了语言的稳定性和一致性&#…

python -tkinter

在Button的command绑定中&#xff0c;如果给的一个函数&#xff0c;则表示执行一次。 import tkinter as Tkfrom tkinter import messageboxi 0def myLabel():global root,is Tk.Label(root,text"the import thing is :" )s.pack()root Tk.Tk()def fun1():if mess…

[PICO VR眼镜]眼动追踪串流Unity开发与使用方法,眼动追踪打包报错问题解决(Eye Tracking/手势跟踪)

前言 最近在做一个工作需要用到PICO4 Enterprise VR头盔里的眼动追踪功能&#xff0c;但是遇到了如下问题&#xff1a; 在Unity里面没法串流调试眼动追踪功能&#xff0c;根本获取不到Device&#xff0c;只能将整个场景build成APK&#xff0c;安装到头盔里&#xff0c;才能在…

【Python语言初识(五)】

一、文件和异常 在Python中实现文件的读写操作其实非常简单&#xff0c;通过Python内置的open函数&#xff0c;我们可以指定文件名、操作模式、编码信息等来获得操作文件的对象&#xff0c;接下来就可以对文件进行读写操作了。这里所说的操作模式是指要打开什么样的文件&#…

泛型(Java)

1.泛型&#xff1a; 将数据类型作为参数进行传递。(传递的数据类型必须是引用数据类型) 本质是参数化类型。 泛型集合&#xff1a;可以约束集合内的元素类型 典型泛型集合ArrayList<E>、HashMap<K,V> <E>、<K,V>表示该泛型集合中的元素类型泛型集合中的…

计算机视觉学习路线

计算机视觉&#xff08;Computer Vision&#xff09;是计算机科学的一个重要分支&#xff0c;旨在使计算机能够理解和解释视觉数据。以下是一个详细的计算机视觉学习路线&#xff0c;帮你系统地掌握这个领域所需的知识和技能。 1. 基础数学和编程 在深入学习计算机视觉之前&…

引入Scrum激发研发体系活力

引言 在当今快速变化的技术环境中&#xff0c;IT企业面临着持续的市场压力和竞争&#xff0c;传统的瀑布式开发模式已经难以满足现代企业的需要。瀑布模型过于僵化&#xff0c;缺乏灵活性&#xff0c;导致项目经常延期&#xff0c;成本增加&#xff0c;最终可能无法达到预期效果…

【Qualcomm】高通SNPE框架的使用 | 原始模型转换为量化的DLC文件 | 在Android的DSP端运行模型

目录 ① 激活snpe环境 ② 设置环境变量 ③ 模型转换 ④ run 首先&#xff0c;默认SNPE工具已经下载并且Setup相关工作均已完成。同时&#xff0c;拥有原始模型文件&#xff0c;本文使用的模型文件为SNPE 框架示例的inception_v3_2016_08_28_frozen.pb文件。image_file_list…

数据集-目标检测系列-口罩检测数据集 mask>> DataBall

数据集-目标检测系列-口罩检测数据集 mask>> DataBall 数据集-目标检测系列-口罩检测数据集 mask 数据量&#xff1a;1W DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;享有百种数据集&#xff0c;持续增加中。 数据项目地址&#xff1a; gitcode: https…

【Python报错已解决】TypeError: list indices must be integers or slices, not str

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

打造同城O2O平台:外卖跑腿APP的架构与功能设计详解

今天&#xff0c;小编将于大家共同讨论外卖跑腿APP的架构设计及其核心功能&#xff0c;旨在为开发者提供一份详尽的参考。 一、外卖跑腿APP的架构设计 1.整体架构概述 通常包括前端、后端和数据库。 2.前端设计 用户端提供直观的界面&#xff0c;方便用户下单、查询订单状态…