隐私保护多领域推荐的紧密度共聚类联邦概率偏好分布模型

论文链接

Federated Probabilistic Preference Distribution Modelling with Compactness Co-Clustering for Privacy-Preserving Multi-Domain Recommendation

引言

这篇论文提出的概率偏好分布是通过使用高斯分布来表示用户和项目的偏好。在论文中,作者提出了一种名为Federated Probabilistic Preference Distribution Modelling(联邦概率偏好分布建模)的新方法,该方法旨在解决隐私保护的多领域推荐问题。该方法在局部领域中建模用户/项目的概率偏好分布,并通过全局服务器聚合这些用户偏好分布。此外,作者还提出了一种紧凑性共聚类方法,用于在FPPDM++中利用用户的相似性关系。这种方法可以聚集具有相似口味或特征的用户。

相关工作

这部分主要工作概述了相关研究领域的发展,以及与本文提出的工作方法的关系。本文主要关注的是在保护用户隐私的情况下,如何在多个领域之间提供高质量的推荐。现有的跨领域推荐(CDR)模型在解决保护用户隐私的多领域推荐问题方面表现不佳。此外,这些多个领域都遇到了数据稀疏性问题。
文章首先介绍了一些跨领域推荐(CDR)模型,如DARec、DOML和CDRIB等。这些模型在处理多领域推荐问题时,主要关注用户-项目交互作用,而忽略了潜在的语义关系。此外,这些模型主要依赖嵌入而非分布来表示用户和项目,这可能导致在某些情况下的不准确理解用户的偏好。
接下来,文章提出了基于联邦学习的FPPDM(Federated Probabilistic Preference Distribution Modelling)方法,用于在保护用户隐私的情况下,解决多领域推荐问题。FPPDM涉及两个主要组件,即本地领域建模组件和全局服务器聚合组件。本地领域建模组件利用神经网络捕获用户/项目的偏好分布,通过在本地领域建模用户-项目评分交互作用。全局服务器聚合组件则聚集用户的偏好分布,并将它们发送回本地领域。
为了进一步利用用户的相似性关系,文章还提出了一种紧凑性共聚类方法,用于FPPDM++。紧凑性共聚类方法可以基于用户的口味或特征聚集用户,从而提供更满意的结果。通过使用紧凑性共聚类方法,模型能够在保护用户隐私的情况下,实现高质量的跨领域推荐。

方法论

这部分主要内容描述了Federated Probabilistic Preference Distribution Modelling(FPPDM)框架的设计以及如何解决Privacy-Preserving Multi-Domain Recommendation(PP-MDR)问题。FPPDM框架包括两个主要组件:1)本地领域建模组件,用于基于用户-项目评分交互来建模用户/项目的概率偏好分布;2)全局服务器聚合组件,负责聚合用户的偏好分布并将它们发送回到本地领域。
在FPPDM++中,作者提出了一种紧凑性共聚类方法,通过聚类用户的偏好分布来进一步提高推荐结果的准确性。这种方法可以聚集具有类似偏好或特征的用户,从而在保护用户隐私的同时提供更满意的推荐结果。
在这里插入图片描述

联邦概率偏好分布(FPPDM)

客户端领域建模组件

FPPDM涉及两个主要的组件:本地领域建模组件和全局服务器聚合组件。本地领域建模组件用于基于用户-项目评分交互来建模用户/项目的概率偏好分布。

  • 定义用户和项目的一热编码向量;
  • 利用图卷积神经网络(GCNN)建模用户/项目的偏好分布;
  • 利用用户和项目交互的信息建立用户-项目交互图;
  • 通过引入用户嵌入和项目嵌入来更好地聚合有用信息;
  • 利用分布基于的度量学习损失函数训练模型来预测用户对项目的评分;
  • 提出一个正则化项以减小相应的本地用户分布与全局用户分布之间的距离;
  • 将训练好的本地用户分布发送到全局服务器。

为减小相应的本地用户分布与全局用户分布之间的距离,我们提出了以下正则化项:
L P = ∑ k ( µ k − µ ) 2 + ∑ k ( σ k 2 − σ 2 ) 2 L_P = ∑_k (µ_k - µ)^2 + ∑_k (σ_k^2 - σ^2)^2 LP=k(µkµ)2+k(σk2σ2)2
其中, D k = d i a g ( A k 1 ) D_k = diag(A_k 1) Dk=diag(Ak1)表示 k − t h k-th kth 领域的度矩阵, A k A_k Ak 表示 k − t h k-th kth 领域的用户和项目的交互关系矩阵,I 是单位矩阵。
这个正则化项通过计算 µ k µ_k µk(k-th 领域的用户均值)与全局用户均值µ之间的平方差和 σ k 2 σ_k^2 σk2
(k-th 领域的用户协方差)与全局用户协方差 σ 2 σ^2 σ2之间的平方差,来约束本地用户分布与全局用户分布的差异。通过优化这个正则化项,我们可以使本地用户分布与全局用户分布更接近,从而提高推荐效果。
使得本地用户和全局用户分布更加接近的作用如下:

  1. 改善用户偏好建模:本地用户分布与全局用户分布更接近可以更准确地建模用户偏好,特别是在数据稀疏性问题下。这有助于提高推荐系统的准确性和性能。
  2. 知识聚合和共享:通过使本地用户分布与全局用户分布更接近,可以更好地聚合和共享不同领域的用户信息,从而提高跨领域推荐的性能。
  3. 私保推荐:在保护用户隐私的前提下,使本地用户分布与全局用户分布更接近有助于实现高质量的跨领域推荐,同时避免了直接在不同领域上共享用户-项目评分信息的问题。
  4. 用户归类:通过使本地用户分布与全局用户分布更接近,可以更好地归类用户,从而在推荐过程中提供更个性化和准确的推荐结果。
全局服务器聚合组件

这部分的内容关于全局服务器聚合组件,主要讨论了在多个不同的领域之间聚合和更新用户分布。全局服务器聚合组件的主要任务是处理来自多个不同领域的用户分布,并将它们聚合到一个全局用户分布中,以便在多个领域之间共享知识。通过这种聚合和更新,全局服务器聚合组件可以在数据稀疏性问题下提高用户-项目建模的准确性。
全局服务器聚合组件的关键工作是:
聚合和更新全局用户分布:全局服务器聚合组件利用用户-项目评分交互来建模用户的偏好分布。在训练过程中,本地领域会将用户分布发送到全局服务器,并在全局服务器中聚合和更新全局用户分布。
保护用户隐私:全局服务器聚合组件只需输送用户偏好分布的均值和协方差,而不是原始用户-项目评分交互。这样做可以防止恢复原始用户-项目评分交互,同时还可以通过加密方法(如同态加密)来进一步增强安全性。
总之,全局服务器聚合组件的主要功能是聚合和更新用户偏好分布,以解决隐私保护多领域推荐(PPMDR)问题。通过这种聚合和更新,全局服务器聚合组件可以在数据稀疏性问题下提高用户-项目建模的准确性。

用户偏好分布的均值和协方差
  1. 均值(Mean)表示用户在不同项目上的平均偏好。均值为向量形式,其中每个元素表示用户对某个项目的偏好。
  2. 协方差(Covariance)表示用户在不同项目上的偏好关系。协方差为矩阵形式,其中每个元素表示用户在两个项目上的偏好关系。

(FPPDM++)

++相比普通版本提出了紧凑型聚类的策略。
在论文中,紧凑性聚类的策略是通过两个主要组件实现的:局部领域建模组件和全局服务器聚合组件。局部领域建模组件用于基于用户与物品之间的评分交互来建模用户/物品的概率偏好分布。全局服务器聚合组件旨在收集重叠用户信息以进行知识共享。
为了更好地实现推荐结果,研究人员在FPPDM++中提出了紧凑性聚类方法。该方法旨在利用具有相似喜好和特征的用户进行聚类。同时,利用紧凑性聚类策略还可以进一步减少数据稀疏性问题。
具体来说,紧凑性聚类方法通过以下步骤来实现:

  1. 首先,根据领域内用户的相似性,计算用户之间的相似度。
  2. 然后,将用户分成M个组,以获得更紧凑的用户表示。
  3. 接下来,利用熵-based K-Means方法来确定每个数据与相应聚类之间的关系。
  4. 最后,通过最小化局部用户分布与这些聚类分布之间的距离,缩小局部用户分布与聚类分布之间的距离。
  5. 通过紧凑性聚类,具有相似喜好或特征的用户将具有更紧凑的表示。这种策略可以提高模型性能,并提供更准确的推荐结果。
    这篇论文使用基于熵的Kmeans聚类方法,这是本文与其他论文看到的一个不一样的地方。
    基于熵的聚类方比比普通聚类方法相比,不仅要求聚类中的各个元素相似度尽可能的高,还要求聚类中的点域其他聚类中的点尽可能的相似度低。
    在这里插入图片描述

实验

实验设置

  • 数据集:介绍了Douban和Amazon两个数据集的详细信息。
  • 基线:列举了比较的最先进模型,包括DARec、DOML、CDRIB、FedMF和PriCDR。
  • 实验设置:描述了实验中的不同任务,如Douban的多领域推荐和Amazon的跨领域推荐任务。
  • 评估指标:用于评估推荐性能的指标,如Top@5和Top@10。
  • 实验过程:描述了实验过程中的五个随机实验并计算平均结果。

推荐性能

这部分主要内容描述了在Douban和Amazon数据集上的推荐性能比较。作者将FPPDM与其他最先进模型(如PMLAM、NeuMF、DARec、DOML、CDRIB和FedMF)进行比较。实验结果表明,FPPDM在Douban和Amazon数据集上的性能明显优于其他模型。此外,FPPDM++通过引入紧密共聚方法,进一步提高了模型性能。

分析

本部分主要探讨了FPPDM(联邦概率偏好分布建模)与其几个变体(FPPDM++)在Douban和Amazon数据集上的性能比较。FPPDM++揭示了如何通过利用用户的偏好分布和使用紧凑型共聚簇策略来提高模型性能。
实验结果表明,FPPDM++在两个数据集上均取得了较好的性能,尤其是在保护用户隐私的多领域推荐设置下。此外,FPPDM++与其几个变体的性能进行了比较,以了解每个组件如何对最终性能做出贡献。通过比较不同的实验结果,可以得出FPPDM++在保护用户隐私的同时,能够更好地捕捉用户的偏好,并在多领域推荐挑战中取得较好的性能。

结论

在本文中,提出了一种名为联邦概率偏好分布建模(FPPDM)的方法,用于解决多领域推荐问题。该方法通过将用户和项目的分布建模为高斯分布,并使用联邦学习策略在多个领域之间共享用户的偏好信息。此外,我们还提出了一种具有紧凑性的协同聚类方法,以进一步提高模型性能。通过在Douban和Amazon数据集上的实证研究,我们证明了所提出的方法在保护隐私的同时,能够显著提高推荐效果。

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

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

相关文章

10.MySQL事务(上)

个人主页:Lei宝啊 愿所有美好如期而遇 目录 前言: 是什么? 为什么? 怎么做? 前言: 本篇文章将会说明什么是事务,为什么会出现事务?事务是怎么做的? 是什么? 我…

Nginx反向代理和负载均衡

文章目录 前言一、Nginx介绍二、Nginx的作用1.正向代理2.反向代理3.负载均衡之轮询4.负载均衡之加权轮询 三、Nginx安装1.Nginx下载2.启动Nginx3.检查Nginx是否启动成功4.配置监听5.关闭nginx 前言 比如公司项目刚刚上线的时候,并发量小,用户使用的少&a…

ElementuiPlus的table组件实现行拖动与列拖动

借助了插件sortablejs。这种方法只适合做非树状table。如果想实现树状table&#xff0c;并且可拖动。可以试一下aggridVue3这个插件 <template><div class"draggable" style"padding: 20px"><el-table row-key"id" :data"t…

计算机组成与结构-计算机体系结构

计算机体系结构 指令系统 Flynn分类法 SISD&#xff08;单指令流单数据流&#xff09; 结构 控制部分&#xff1a;一个处理器&#xff1a;一个主存模块&#xff1a;一个 代表 单处理器系统 SIMD&#xff08;单指令流多数据流&#xff09; 结构 控制部分&#xff1a;一个处理…

CleanMyMac2024破解版如何下载?

CleanMyMac作为一款专业的苹果电脑清理软件&#xff0c;它不仅仅能单纯的卸载不用、少用的应用&#xff0c;同时还支持&#xff1a;1、清理应用程序的数据文件&#xff0c;将应用重置回初始状态&#xff0c;减少空间占用&#xff1b;2、自动检查应用更新&#xff0c;保持应用的…

Python画图之动态爱心

Python画出动态爱心&#xff08;有趣小游戏&#xff09; 一、效果图二、Python代码 一、效果图 二、Python代码 import random from math import sin, cos, pi, log from tkinter import *CANVAS_WIDTH 640 # 画布的宽 CANVAS_HEIGHT 480 # 画布的高 CANVAS_CENTER_X CANV…

【PID专题】MATLAB如何实现PID?

MATLAB是一种非常强大的工具&#xff0c;用于实现和分析PID&#xff08;比例-积分-微分&#xff09;控制器。在MATLAB中&#xff0c;您可以使用控制系统工具箱来设计、模拟和调整PID控制系统。 以下是一般步骤&#xff0c;演示如何在MATLAB中实现PID控制&#xff1a; 1. 打开MA…

PHP进销存ERP系统源码

PHP进销存ERP系统源码 系统介绍&#xff1a; 扫描入库库存预警仓库管理商品管理供应商管理。 1、电脑端手机端&#xff0c;手机实时共享&#xff0c;手机端一目了然。 2、多商户Saas营销版 无限开商户&#xff0c;用户前端自行注册&#xff0c;后台管理员审核开通 3、管理…

【服务器】Java连接redis及使用Java操作redis、使用场景

一、Java连接redis-No-SQL 1、导入依赖 在你的项目里面导入redis的pom依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version> </dependency> 2、连接redis 连接redis //…

Redis-使用java代码操作Redis

&#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; ​ &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Linux》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有一定基础的程序员&#xff0c;这…

HarmonyOS UI 开发

引言 HarmonyOS 提供了强大的 UI 开发工具和组件&#xff0c;使开发者能够创建吸引人的用户界面。本章将详细介绍在 HarmonyOS 中应用 JS、CSS、HTML&#xff0c;HarmonyOS 的 UI 组件以及如何自定义 UI 组件。 目录 JS、CSS、HTML 在 HarmonyOS 中的应用HarmonyOS 的 UI 组…

【STM32】基于HAL库建立自己的低功耗模式配置库(STM32L4系列低功耗所有配置汇总)

【STM32】基于HAL库建立自己的低功耗模式配置库&#xff08;STM32L4系列低功耗所有配置汇总&#xff09; 文章目录 低功耗模式&#xff08;此章节可直接跳过&#xff09;低功耗模式简介睡眠模式停止模式待机模式 建立自己的低功耗模式配置库通过结构体的方式来进行传参RTC配置…

将Bean注入Spring容器的五种方式

将bean放入Spring容器中有哪些方式&#xff1f; 我们知道平时在开发中使用Spring的时候&#xff0c;都是将对象交由Spring去管理&#xff0c;那么将一个对象加入到Spring容器中&#xff0c;有哪些方式呢&#xff0c;下面我就来总结一下 1、Configuration Bean 这种方式其实也是…

数据结构 | 单链表专题【详解】

数据结构 | 单链表专题【详解】 文章目录 数据结构 | 单链表专题【详解】链表的概念及结构单链表的实现头文件打印尾插头插尾删头删查找在指定位置之前插入数据在指定位置之后插入数据删除pos节点删除pos之后的节点销毁链表 顺序表遗留下来的问题 中间/头部的插⼊删除&#xff…

vue3后台管理系统之实现分页功能

例子&#xff1a;用户 请求格式 返回数据类型 {"code": 200,"message": "获取所有用户成功","total": 19,"totalPages": 2,"currentPage": 1,"data": [{"id": 1,"username": &qu…

uniapp小程序九宫格抽奖

定义好奖品下标&#xff0c;计时器开始抽奖&#xff0c;请求接口&#xff0c;出现中奖奖品之后&#xff0c;获取中奖商品对应的奖品下标&#xff0c;再次计时器判断当前移动的小标是否为中奖商品的下标&#xff0c;并且是否转到3圈&#xff08;防止转1圈就停止&#xff09;&…

生成式人工智能:网络攻击者手中的破坏性力量

2022 年底&#xff0c;公开可用的生成式人工智能工具的推出使我们进入了人类历史上最大的技术革命之一。 一些人声称它的影响与互联网、手机、智能手机和社交媒体的引入一样大&#xff0c;甚至更大。这些新的生成式人工智能技术的采用和发展速度是我们以前从未见过的。 虽然这…

订单业务和系统设计(一)

一、背景简介 订单其实很常见&#xff0c;在电商购物、外卖点餐、手机话费充值等生活场景中&#xff0c;都能见到它的影子。那么&#xff0c;一笔订单的交易过程是什么样子的呢&#xff1f;文章尝试从订单业务架构和产品功能流程&#xff0c;描述对订单的理解。 二、订单业务…

VX-3R APRS发射试验

VX-3R本身是不带APRS功能的&#xff0c;不过可能通过外加TNC实现APRS功能。 有大佬已经用Arduino实现了相应的发射功能&#xff1a; https://github.com/handiko/Arduino-APRS 我要做的&#xff0c;就是简单修改一下代码&#xff0c;做一个转接板。 YEASU官方没有给出VX-3R的音…

YOLOv5:按每个类别的不同置信度阈值输出预测框

YOLOv5&#xff1a;按每个类别的不同置信度阈值输出预测框 前言前提条件相关介绍YOLOv5&#xff1a;按每个类别的不同置信度阈值输出预测框预测修改detect.py输出结果 验证修改val.py输出结果 参考 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更…