22-UMAP-Towards Fair Multi-Stakeholder Recommender Systems

news2024/12/28 6:41:45

KY:datasets, neural networks, gaze detection, text tagging
AB:RSs通常建立在大型(可能是非常稀疏的)数据集上,因此妨碍了非常复杂去偏技术的使用。我们的方法引入了一个公平函数(fairness functional),它最小化了组间的损失差异,并避免了后处理步骤。这使我们能够适应大多数推荐系统基础的算法,如FM及其许多泛化和去偏差。我们给出了这样一个函数的例子,并表明它的属性是理想的适合于多利益相关者公平RS的情况。最后,我们证明了我们的方法在基准数据集上的实践效果很好,并且部分去偏是必不可少的,因为完全去偏可能会导致较差的泛化。

文章目录

  • 1 intro
  • 2 公平推荐系统
    • 2.1 RS模型
    • 2.2 RS公平
    • 2.3 方法举例
  • 3 fairness functional方法
    • 3.1理解现有的公平性技术
    • 3.2 group functionals
    • 3.3 例子
    • 3.4 最优化
    • 3.5 组functions中的公平性
    • 3.6加权对数和指数法
  • 4 多方公平
    • 4.1 交叉性和丰富的子群公平性
    • 4.2 维度诅咒
  • 5 实验
    • 5.1 Historically Disadvantaged Groups
    • 5.2 评级分类
    • 5.3 排名
  • 6 讨论

1 intro

本文的主要目标是为推荐系统中的偏差缓解提供一个灵活的框架。我们将这样一个框架的要求正式化:
(1)缓解偏差的方法应简单直接,透明且易于解释;(2)去偏应可调,以保持权衡可控制;(3)提出的算法应是可训练的,以避免后处理步骤和在生产中使保护特征;(4)该方法应能够包含RS文献中确定的大部分偏差;(5)可伸缩性和适应现有许多的推荐系统。

我们的主要贡献是引入了fairness functional的概念,旨在共同完成两个不同的任务,即损失最小化和 disparity最小化。我们首先在用户公平性的情况下描述这个框架,然后将其扩展到多利益相关者的情况。

2 公平推荐系统

2.1 RS模型

(略,这部罗列了模型名称和对应文献)

2.2 RS公平

(略,这部罗列了各种bias及其主观分类)
我们主要关注popularity bias和activity bias,以及unfairness,但所提出的框架足够灵活,可以处理其他类型的bias。

2.3 方法举例

用户N个,项目M个,用户组G^ U有A个,项目组G^I有B个。这些组可以通过上下文信息(如用户和/或项目的某些特征)来定义,也可以通过内源性信息(例如,通过活动水平和受欢迎程度)来定义.我们考虑两个典型的推荐系统的例子,

1)评级分类,其主要目标是预测用户显式反馈;
在这里插入图片描述
2)个人的排名列表,隐式反馈是高度相关的(交互反映用户的项目偏好)。大多数RSs都是这两种方法的(混合)变体。
在这里插入图片描述

3 fairness functional方法

在本节中,我们的观点是将RS目标损失分解为组级期望损失函数,最后将此构造推广到更广泛的函数类。类似的方法也应用于[6]中的无监督学习。

3.1理解现有的公平性技术

大多数针对位置、选择、曝光、流行和活动偏差的去偏技术可以通过引入置信权重Wu、i和一个(通常)更复杂的损失函数ℓ˜来总结,这样要最小化的总体损失被写成:请注意,通过设置W_u,i = 1和ℓ˜=ℓ,可以恢复原始(有偏差的)设置。
在这里插入图片描述
假设项目和用户是按A组进行分类的(如U×I=∪_a=1^A g_a), 活跃/不活跃用户:根据受保护的特征分组;流行/不流行项目:根据r_u,i=a分组;重写损失函数:
在这里插入图片描述
这是我们现在介绍的群函数的最直接的例子。

3.2 group functionals

这导致我们通过修改损失函数和引入不同的映射(而不是线性映射)来得到公平RS的定义:
定义1——假设映射T :R A → R在其每个参数中都是一个非递减函数,那么我们将关于T的公平广义推荐系统定义为最小化以下目标函数
在这里插入图片描述
这个定义适用于所有的functionals T,但我们自然会关注那些旨在减少组间差异的functionals T。注意,通过建立一个类似的映射R(d×a)→R,它可以很容易地推广到vector-valued平均损失函数。此外,群函数的和与组合在本质上仍然是群函数。

3.3 例子

让我们在这里介绍一些众所周知的公平functionals,主要来自于监督学习文献。
标准和重加权损失函数、Minmax、Lp范数、Penalised/Regularised学习、对抗技术(详见原文)。
【公平函数?这里例举的就是常见的公平推荐方法阿…】

3.4 最优化

概括:公平性作为在梯度下降期间的“权重适配器”的功能。

3.5 组functions中的公平性

我们将公平性理解为减少群体间的成本差异(即平均损失的差异),简而言之,确保所有群体分担“统计负担”;因此,RS所犯的错误在组之间应该有相同的平均值。损失函数ℓ,它惩罚估计误差和偏离实现值,例如,评级错误分类。可以推广到其他公平定义如机会均等(通过考虑多个泛函和损失函数)。

3.6加权对数和指数法

在本节中,我们将重点关注一个特定的群函数,即加权对数和指数法(或“wLSE”)。对数和指数(“LSE”)在机器学习中被广泛使用,但我们在这里引入了一个轻微的修改,允许一个额外的加权方案:
在这里插入图片描述
【往后没看懂,略,后边实验用到了wLSE】

4 多方公平

根据组的笛卡尔积来定义一个新的分割(或用户和项的划分),从而导致交叉性。而公平functions的定义适用于用户/项目空间的任何划分,值得讨论交叉性和多利益相关者公平性的挑战。

4.1 交叉性和丰富的子群公平性

偏差可以在交叉水平上明显,但不能在边际水平上明显(即,公平仅针对一种利益相关者进行衡量)

4.2 维度诅咒

交叉性的一个缺点是实际组的数量以A×B增长,这可能是禁止的。另一个问题通常是群体失衡。例如,如果a组和b组分别代表活动加权用户和项目总数的5%,那么交叉组占总数的0.25%。因此,可能很难在输出中获得足够的鲁棒性和保证泛化。
另一种方法是同时最小化用户和项目之间的边际差异。这些损失之间的依赖性是有保证的,由于共享模型参数θ和每个损失ℓ,这个概念通过以下定义得到严格的:、
Def3:多个利益相关者的边际公平函数被定义为一个映射T: R^A+B→R,它在其每个参数中都是一个非递减函数,这样公平广义推荐系统就可以使以下目标函数最小化
在这里插入图片描述

5 实验

公平通常是非常特定于领域和上下文的。我们提出的基于公平泛函的RS框架,虽然广泛适用,但并没有逃避上下文化的需要。此外,具有不同类型偏差(外源性和内源性)的RS数据集很少公开。为了克服这一障碍,我们首先将我们的方法应用于具有外生属性的非RS数据集,然后在“传统的”RS数据集上说明它,并应用于评级分类和个性化排序。

5.1 Historically Disadvantaged Groups

数据集:Adult;保护属性:种族
使用不同的超参数值函数训练一个简单的正则化单层神经网络,wLSE函数具有不同的超参数值α。图2显示了增加α会导致公平性的增加,并说明了统计性能和公平性之间的权衡[2,26]。α = 0对应于非去偏的情况,而α=+∞是最小-最大设置[16,37]。在其他公平泛函和其他数据集上也得到了类似的结果。然而,为了简洁起见,读者可以参考[2,27]以获得进一步的结果和基准测试。

5.2 评级分类

本实验的目的是为了展示公平函数方法的广泛适用性。因此,我们将其应用于多个现有的最先进的RS算法,并表明,结果定性地指向样本外差异的减少。
数据集:Amazon的三个,ML1M、前5%为优势群体,后95%为若是群体,
模型:18种,是为了说明,公平性函数是一种元算法,它与特定的底层RS无关。
然后围绕Increasing Fairness、丰富的子组的公平性或交叉性、超参数选择的影响、权衡展开。

5.3 排名

数据集:Amazon的一个、Yelp
Metric:【B34】相对标准差of统计均等(RSP)和机会均等(REO)。
然后围绕算法和实施、参数选择、提升公平、Benchmarking 和 SOTA展开。

6 讨论

在本文中,我们引入了公平泛函(公平functionals)的概念,并将其应用于群体平均损失,从而减少了群体间的成本差异。设计公平的RSs已经导致了一个通用框架,适用于所有已知的RS算法。我们的方法的一个显著优点是它的简单性。
由于它的普遍性,我们还指定了一个特殊的公平函数的选择,即加权对数和指数,这是非常实用的,并受益于许多有趣的理论性质。总之,用户只需要选择一个超参数α来控制所需的公平-准确性权衡。重要的是,部分去偏通常是比最小-最大方法(对应于设置α=+∞)更好的选择,正如我们的一些样本外结果所强调的那样。

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

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

相关文章

Spring 定时任务@Scheduled 注解中的 Cron 表达式

引言: Spring 框架提供了强大的定时任务功能,通过 Scheduled 注解可以方便地定义和管理定时任务。其中,Cron 表达式作为定时任务触发的时间表达式,扮演着重要的角色。本篇博客将详细介绍和讲解 Cron 表达式的语法和常见用法&…

Centos 从0到N

0x00 前言 最近一直在搞虚拟机,索性写一篇记录一下全过程,免得下次再去到处查资料 0x01 ssh 首先修改配置文件 vi /etc/ssh/sshd_config 开启端口以及listen 保存后重启服务 systemctl restart sshd 开机自启 chkconfig sshd on0x02 安装基础工具…

【Simulink】极值搜索控制 Extremum Seeking Control(无模型控制)

1.什么是极值搜索控制? 首先明确一下,对于yf(x),f(a)是函数f(x)的极大值或极小值,则a为函数f(x)的极值点,极大值点与极小值点统称为极值点。 极值搜索,顾名思义,就是找到极小值点或者极大值点…

【Java】什么是 Java 虚拟机 (JVM)

本文仅供学习参考! 相关教程(文章)地址: https://zhuanlan.zhihu.com/p/34426768 https://github.com/doocs/jvm Java 虚拟机 (JVM) 是 Java 编程语言的关键组件,为跨大多数主要硬件、操作系统和软件架构执行 Java 代码提供了一个独立于平台的…

在Windows上编译和调试CoreCLR

生成CoreCLR - Windows篇 本文的唯一目的就是让你运行Hello World 运行环境 Window 7 Visual studio 2015 确保C 工具已经被安装,默认是不安装的,所以要选择自定义模式,VS 2015 精简版不支持。 CMake 下载 CMake for windows,并把Cmak…

LeetCode刷题 | 518. 零钱兑换 II、377. 组合总和 Ⅳ、

518. 零钱兑换 II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 …

Python学习——集合

一、集合的定义 集合也是Python语言所提供的内置数据结构,集合与列表、字典一样都属于可变类型的序列,集合是没有value的字典,所以集合也是无序的。 二、集合的创建 方式一:使用大括号进行创建 #使用大括号创建结合 s{1,3,5,7,9}…

STM32H743 SOEM EtherCAT基于STM32H743芯片和SOEM的EtherCAT主站源码

一个基于STM32H743芯片和SOEM协议栈的EtherCAT主站源码。该源码提供了配套的CUBE工程,使用的是SOEM协议栈的1.3.1版本。此外,还可以使用NUCLEO-H743ZI开发板进行配套开发。该系统支持DC同步,并且可以与多种驱动器型号配合使用,包括…

VC++添加一般类

VC6新建一个单文档工程; 然后从菜单中选择 插入类;弹出下图对话框;选择类的类型为 Generic Class; 输入类名; 确定之后,会生成一个.h文件,一个.cpp文件;包含基本的构造和析构函数&…

Day07

目录 1、使用JsonIgnoreProperties 2、前端日期字符串转换LocalDateTime异常 1、使用JsonIgnoreProperties 在做项目时把前端的JSON对象转为dto对象时,出现了异常 Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse er…

go-cqhttp签名服务sign-server的本地搭建

新版go-cqhttp新增签名服务器签名服务器相关问题 Issue #2242 Mrs4s/go-cqhttp GitHubhttps://github.com/Mrs4s/go-cqhttp/issues/2242 其在win10系统下本地化搭建的方式为: 1.解压缩qq安装包提取lib里面的libfekit.so、libQSec.so文件并存放至一个文件夹&…

【Vue3】CustomImport 导入文件组件

1. 效果图 2. 组件完整代码 <template><div class"custom-import-warpper"><el-dialog v-model"dialogVisible" :title"dialogTitle" width"600px" :close-on-click-modal"false"><el-form label-wid…

SAP从入门到放弃系列之报废率-主数据维护-Scrap

文章目录 一、前言二、场景概述&#xff1a;三、报废的类型&#xff1a;3.1、装配报废3.2、组件报废3.3、工序报废-料废3.4、工序报废-工废 四、数据维护&#xff1a;4.1、装配报废&#xff08;Assembly scrap&#xff09;4.2、组件报废(Component scrap)4.3、工序报废-料废(Op…

windows环境使用cmake配置pcl

安装环境 cmake版本&#xff1a;cmake-3.26.3-windows-x86_64 pcl版本&#xff1a;PCL 1.13.1 vs版本&#xff1a;vs2022 配置流程 cmake编译准备&#xff1a;新建两个文件夹source和cmake_bin。source用于存放.cpp文件和CMakeLists.txt 文件&#xff1b;cmake_bin存放配置生…

【NLP】理解LSTM的内在逻辑

一、说明 在学习RNN的时候,多少有些东西可以作为实例进行原理性实践;而进入LSTM时代,短小的能说明原理的案例实验并不多,相反,对此的参考文献却海啸般地到来,让人来不及消化;本文是万篇论文之一,因其叙述的独特性,被我选入介绍给大家。 二、从循环神经网络说起 人类并…

LeetCode刷题 | 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零

1049. 最后一块石头的重量 II 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c; 且 x < y。那么粉碎的可能结…

死信是什么,如何运用RabbitMQ的死信机制?

系列文章目录 手把手教你&#xff0c;本地RabbitMQ服务搭建&#xff08;windows&#xff09; 消息队列选型——为什么选择RabbitMQ RabbitMQ 五种消息模型 RabbitMQ 能保证消息可靠性吗 推或拉&#xff1f; RabbitMQ 消费模式该如何选择 死信是什么&#xff0c;如何运用Rabbit…

使用影刀RPA合并excel数据

合并不同sheet&#xff1a; 先获取不同sheet中的表头&#xff0c;合并所有表头并去重存作列表&#xff0c;新建excel在第一行插入该表头数据,作合并数据存放使用循环方法&#xff0c;依次获取每个sheet的数据&#xff0c;用if判断表头是否在1的列表中&#xff0c;在的话则将整…

618技术揭秘:探究竞速榜页面核心前端技术 | 京东云技术团队

前言 H5页面作为移动端Web应用的重要形式之一&#xff0c;已经成为了现代Web开发的热门话题。在H5页面的开发过程中&#xff0c;前端技术的应用至关重要。本文将探究京东竞速榜H5页面的核心前端技术&#xff0c;包括动画、样式配置化、皮肤切换、海报技术、调试技巧等方面&…

easyX库图像处理相关函数

0.图像处理相关函数与类型概览 您好&#xff0c;这里是limou3434&#xff0c;本次我将给您带来的是easyX的图像处理相关接口。 如果您感兴趣也可以看看我的其他内容。 函数或数据类型描述IMAGE保存图像的对象。loadimage读取图片文件。putimage在当前绘图设备上绘制指定图像…