FAIRNESS IN MACHINE LEARNING: A SURVEY 阅读笔记

news2024/10/5 18:30:30

论文链接

        刚读完一篇关于机器学习领域研究公平性的综述,这篇综述想必与其有许多共通之处,重合部分不再整理笔记,可详见上一篇论文的笔记:

A Survey on Bias and Fairness in Machine Learning 阅读笔记_Catherine_he_ye的博客

Section 1 引言

        这篇文章试图在机器学习文献中提供不同的思想流派和减轻(社会)偏见和增加公平的方法的概述。它将方法组织成广泛接受的预处理、在处理和后处理方法框架,再细分为11个方法领域。尽管大多数文献强调二元分类,但是关于回归、推荐系统、无监督学习和自然语言处理方面的公平性的讨论也与当前可用的开源库一起提供。最后本文总结了公平研究面临的四个难题。

Section 2 机器学习中的公平性:关键的方法论组成部分

        虽然不是所有的公平ML方法都符合下面这个框架,但它提供了一个很好理解的参考点,并作为ML中公平方法分类中的一个维度。

 2.1 Sensitive and Protected Variables and (Un)privileged Groups

Most approaches to mitigate unfairness, bias, or discrimination are based on the notion of protected or sensitive variables (we will use the terms interchangeably) and on (un)privileged groups: groups (often defifined by one or more sensitive variables) that are disproportionately (less) more likely to be positively classifified.
1. 法律明确定义的——“受保护”
2. 但仍需关注是否应该保护其他少数变量,有一些工作专注于识别潜在敏感变量
3. 有些变量不是严格敏感的,但与一个或多个敏感变量有关系—— “related” variables
4. 不考虑这些 “related” variables可能会错误地假设已经产生了一个公平的ML模型 \rightarrow increase the risk of discrimination
5. 有关Proxy 译为代理 可以先看这篇 解释的 代理变量部分
    下表提供了一些敏感变量和潜在代理的示例

 2.2 Metrics

Metrics usually either emphasize individual (e.g. everyone is treated equal), or group fairness, where the latter is further differentiated to within group (e.g. women vs. men) and between group (e.g. young women vs. black men) fairness.

Increasing fairness often results in lower overall accuracy or related metrics, leading to the necessity of analyzing potentially achievable trade-offs in a given scenario.

2.3 Pre-processing 预处理

        在一个“已修复的”数据集上训练一个模型,预处理被认为是数据科学流水线中最灵活的部分,因为它对随后应用的建模技术的选择不做任何假设。

2.4 In-processing 在处理
        经常将一个或多个公平度量合并到模型优化函数中,以求收敛到一个最大化性能和公平化的模型参数。
2.5 Post-processing 后处理
        倾向于将transfer应用于模型的输出,以提高预测的公平性。后处理是最灵活的方法之一,因为它只需涉及预测结果和敏感的属性信息,而不需涉及实际的算法和ML模型。这使得它们适用于ML的黑箱场景。
2.6 pre-processing vs. in-processing vs. post-processing
A distinct advantage of pre- and post-processing approaches is that they do not modify the ML method explicitly. However, they have no direct control over the optimization function of the ML model itself.
This means that (open source) ML libraries can be leveraged unchanged for model training. Only in-processing approaches can optimize notions of fairness during model training. Yet, this requires the optimization function to be either accessible, replaceable,  and/or modififiable, which may not always be the case.

 Section 3 度量公平与偏见

3.1 Abstract Fairness Criteria

        大多数关于公平性的定量定义都围绕着一个(二类)分类器的三个基本方面:

        ① 敏感变量S(区别受保护群体和非保护群体);② 目标变量Y(真实的类别);③ 分类分数R(预测的分类结果)

        基于此三要素,general fairness desiderata被分为三个“非歧视”标准:

        ① Independence:评分R独立于敏感变量S,e.g., Statistical/Demographic Parity.

        ② Separation:在已知目标变量Y值的条件下,评分R独立于敏感变量S,e.g., Equalized Odds和Equal Opportunity.

        ③ Suffificiency:在已知评分R的条件下,目标变量Y独立于敏感变量S.

3.2 Group Fairness Metrics
        
3.2.1 Parity-based Metrics
Parity-based metrics typically consider the predicted positive rates, i.e., P_{r}(\widehat{y}=1) , across different groups.
e.g., Statistical/Demographic Parity: P_{r}(\widehat{y}=1|g_{i})=P_{r}(\widehat{y}=1|g_{j});
        Disparate Impact: \frac{P_{r}(\widehat{y}=1|g_{1})}{P_{r}(\widehat{y}=1|g_{2})}.
3.2.2 Confusion Matrix-based Metrics
 
While parity-based metrics typically consider variants of the predicted positive rate P_{r}(\widehat{y}=1), confusion matrix-based metrics take into consideration additional aspects such as True Positive Rate (TPR), True Negative Rate (TNR), False Positive Rate (FPR), and False Negative Rate (FNR).

 e.g., Equal Opportunity: 考虑真阳性,P_{r}(\widehat{y}=1|y=1\&g_{i})=P_{r}(\widehat{y}=1|y=1\&g_{j})

         Equalized Odds: 考虑真阳性和假阳性,P_{r}(\widehat{y}=1|y=1\&g_{i})=P_{r}(\widehat{y}=1|y=1\&g_{j})\\ \& \ \ P_{r}(\widehat{y}=1|y=0\&g_{i})=P_{r}(\widehat{y}=1|y=0\&g_{j})

         Overall accuracy equality: 考虑准确性,P_{r}(\widehat{y}=1|y=1\&g_{i})+P_{r}(\widehat{y}=0|y=0\&g_{i}) \\ = \ P_{r}(\widehat{y}=1|y=1\&g_{j})+P_{r}(\widehat{y}=0|y=0\&g_{j})

         Conditional use accuracy equality: 有点不太懂,但是公式在这:P_{r}(y=1|\widehat{y}=1\&g_{i})=P_{r}(y=1|\widehat{y}=1\&g_{j})\\ \& \ \ P_{r}(y=0|\widehat{y}=0\&g_{i})=P_{r}(y=0|\widehat{y}=0\&g_{j})

         Treatment equality: 考虑假阳性与假阴性之比,\frac{P_{r}(\widehat{y}=1|y=0\&g_{i})}{P_{r}(\widehat{y}=0|y=1\&g_{i})}= \frac{P_{r}(\widehat{y}=1|y=0\&g_{j})}{P_{r}(\widehat{y}=0|y=1\&g_{j})}
         Equalizing disincentives: 考虑真阳性与假阳性之差, P_{r}(\widehat{y}=1|y=1\&g_{i})-P_{r}(\widehat{y}=1|y=0\&g_{i}) \\ = \ P_{r}(\widehat{y}=1|y=1\&g_{j})-P_{r}(\widehat{y}=1|y=0\&g_{j})
        
         Conditional Equal Opportunity: 指定特定属性a上的机会相等,其中τ是一个阈值, P_{r}(\widehat{y}\geq \tau |g_{i} \& y< \tau \& A=a) \\ = \ P_{r}(\widehat{y}\geq \tau |g_{j} \& y< \tau \&A=a)
3.2.3 Calibration-based Metrics
Calibration-based metrics take the predicted probability, or score, into account.
 e.g., Test fairness/ calibration / matching conditional frequencies: P_{r}(\widehat{y}=1|S=s\&g_{i})=P_{r}(\widehat{y}=1|S=s\&g_{j})
         Well calibration: P_{r}(\widehat{y}=1|S=s\&g_{i})=P_{r}(\widehat{y}=1|S=s\&g_{j})=s
         Balance for positive and negative class: 所有组的正类和负类的期望预测分数相等, E(S=s|y=1\&g_{i})=E(S=s|y=1\&g_{j}), \\ \quad E(S=s|y=0\&g_{i})=E(S=s|y=0\&g_{j})
         Bayesian Fairness
3.3 Individual and Counterfactual Fairness Metrics
consider the outcome for each participating individual
e.g., Counterfactual Fairness:反事实公平,
        Generalized Entropy Index:广义熵系数, considers differences in an individual’s prediction ( b i ) to the average prediction accuracy ( µ ),GEI=\frac{1}{n\alpha (\alpha -1)}\sum_{i=1}^{n}[(\frac{b_i}{\mu })^\alpha -1],\ b_i=\widehat{y_i}-y_i+1 \ and \ \mu =\frac{\sum_{i}^{}b_i}{n}
        Theil Index:泰尔熵标准,GEI 当α=1时,简化计算方式为GEI=\frac{1}{n}\sum_{i=1}^{n}(\frac{b_i}{\mu })log(\frac{b_i}{\mu })

Section 4 二分类场景下的公平性研究

Blinding
the approach of making a classififier “immune” to one or more sensitive variables
Causal Methods
A key objective is to uncover causal relationships in the data and fifind dependencies between sensitive and non-sensitive variables.
也用于敏感变量的代理变量的识别,训练数据的去偏。
Sampling and Subgroup Analysis

① 纠正训练数据;② 通过subgroup analysis找到分类器不利的一方

因此,寻求创建公平训练样本的方法在抽样策略中包含进公平的概念。

subgroup analysis 也可用于模型评估,例如分析某一子组是否受歧视,确认某一因素是否影响模型公平性;Statistical hypothesis testing 统计假设检验评价某一模型是否稳健符合公平性指标;通过对敏感变量的抽样,还提出了公平性度量的概率验证,以在某些(小的)置信范围内评估训练过的模型。

Transformation

对数据进行映射或投影以确保公平性。往往部分转换以寻求公平与准确性的trade-off。

虽然转换主要是一种预处理方法,但它也可以在后处理阶段中应用。

Relabelling and Perturbation

作为转换方法的一个子集。

重新标记涉及修改训练数据实例的标签;

Perturbation often aligns with notions of “repairing” some aspect(s) of the data with regard to notions of fairness.
Sensitivity analysis explores how various aspects of the feature vector affect a given outcome. 虽然敏感性分析并不是一种提高公平性的方法,但它可以帮助更好地理解关于公平性的不确定性。
Reweighing
reweighing为训练数据的实例分配权重,而保持数据本身不变。
Regularization and Constraint Optimisation

当应用于公平性时,正则化方法添加一个或多个惩罚项,以惩罚分类器的歧视性行为。

约束优化方法在模型训练过程中在分类器损失函数中包含公平性项。

Adversarial Learning
When applied to applications of fairness in ML, an adversary instead seeks to determine whether the training process is fair, and when not, feedback from the adversary is used to improve the model.
Bandits
Bandit approaches frame the fairness problem as a stochastic multi-armed bandit framework, assigning either individuals to arms, or groups of “similar” individuals to arms, and fairness quality as a reward represented as regret.
The two main notions of fairness that have emerged from the application of bandits are meritocratic fairness(group agnostic) and subjective fairness(emphasises fairness in each time period t of the bandit framework).
Calibration
Calibration is the process of ensuring that the proportion of positive predictions is equal to the proportion of positive examples.
Thresholding

后处理方法。

Thresholding is a post-processing approach which is motivated on the basis that discriminatory decisions are often made close to decision making boundaries because of a decision maker’s bias [157] and that humans apply threshold rules when making decisions.

Section 5 二分类以外场景下的公平性方法

Fair Regression
公平回归的主要目标是最小化一个损失函数l(Y,\widehat{Y}),该函数测量实际值和预测值之间的差异,同时也旨在保证公平性。
Recommender Systems
“C-fairness” for fair user/consumer recommendation (user-based)
“P-fairness” for fairness of producer recommendation (item-based)

之后会有一篇关于推荐系统公平性的综述要读,可以参考。

Unsupervised Methods
1) fair clustering
2) investigating the presence and detection of discrimination in association rule mining
3) transfer learning 迁移学习
NLP
Unintended biases have also been noticed in NLP; these are often gender or race focused.

Section 6 Current Platforms 开源工具

Project
Features
AIF360
Set of tools that provides several pre-, in-, and post-processing approaches for binary classifification as well as several pre-implemented datasets that are commonly used in Fairness research
Fairlean
Implements several parity-based fairness measures and algorithms for binary classifification and regression as well as a dashboard to visualize disparity in accuracy and parity.
Aequitas
Open source bias audit toolkit. Focuses on standard ML metrics and their evaluation for different subgroups of a protective attribute.
Responsibly
Provides datasets, metrics, and algorithms to measure and mitigate bias in classifification as well as NLP (bias in word embeddings).
Fairness
Tool that provides commonly used fairness metrics (e.g., statistical parity, equalized odds) for R projects.
FairTest
Generic framework that provides measures and statistical tests to detect unwanted associations between the output of an algorithm and a sensitive attribute.
Fairness Measures
Project that considers quantitative defifinitions of discrimination in classifification and ranking scenarios. Provides datasets, measures, and algorithms (for ranking) that investigate fairness.
Audit AI
Implements various statistical signifificance tests to detect discrimination between groups and bias from standard machine learning procedures.
Dataset Nutrition Label
Generates qualitative and quantitative measures and descriptions of dataset health to assess the quality of a dataset used for training and building ML models.
ML Fairness Gym
Part of Google’s Open AI project, a simulation toolkit to study long-run impacts of ML decisions. Analyzes how algorithms that take fairness into consideration change the underlying data (previous classififications) over time.

Section 7 Concluding Remarks: The Fairness Dilemmas 公平困境

① Balancing the tradeoff between fairness and model performance

Quantitative notions of fairness permit model optimization, yet cannot balance different notions of fairness, i.e individual vs. group fairness

Tensions between fairness, situational, ethical, and sociocultural context, and policy

Recent advances to the state of the art have increased the skills gap inhibiting “man-on-the-street”

and industry uptake

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

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

相关文章

红队隧道加密之MSF流量加密(二)

前言 如今大多数企业的内网都部署了流量审计服务, 用来专门分析流量特征, 比如后门特征和行为特征 若直接使用Metasploit对内网进行横向渗透, 其产生的流量会很容易被内网防护工具检测出来, 因此需对流量进行加密来绕过检测 这里介绍使用OpenSSL对MSF流量进行加密 演示步骤 …

这么高颜值的Kubernetes管理工具Lens,难道还不能C位出道吗

一直使用官方的Kubernetes Dashboard来管理k8s&#xff0c;也算很友好的一款UI工具&#xff0c;但显示的资源不全、查看日志有限、时间久了要重要登陆&#xff0c;所以找了一款外观漂亮&#xff0c;用户体验很好的管理平台Lens。 2 特性与安装 2.1 特性 Lens的优势主要有&…

齐聚绿城 | 锦江都城酒店聚焦中高端酒店投资新方向

提起广西&#xff0c;不少人能想到 “桂林山水甲天下”的桂林&#xff0c;亦或因一碗螺蛳粉闻名全国的柳州。又或荣登《国家地理》的涠洲岛。但在你不知晓的时候&#xff0c;南宁这座城在静静的等你发掘。南宁——南疆安宁&#xff0c;是山环水绕的“绿城”&#xff0c;也是北回…

windows系统cmake生成动态库无lib文件解决方法

作为cmake初学者&#xff0c;在windows系统下使用cmake生成c动态库时出现了下图所示问题&#xff0c;是关于lib文件。找了一圈&#xff0c;也没发现生成有lib文件。 在google上查&#xff0c;才发现windows系统下动态库生成lib文件&#xff0c;还需要添加以下命令&#xff1a; …

java 同步锁synchronized 解决线程共享数据重复操作问题

我们先来写一个买票程序 我们先创建一个包 在包下创建两个类 customException 线程类 负责编写抢票的主要逻辑 参考代码如下 public class customException implements Runnable {private int tickets 100;public void run () {while (tickets > 0){if(tickets > 0) {…

【语音增强】多维谱自适应小波语音信号去噪【含Matlab源码 1972期】

⛄一、自适应小波语音信号去噪 1 引言 语音信号在传输过程中&#xff0c;容易受到环境噪声和其他语音的干扰&#xff0c;降低了语音通信质量&#xff0c;影响了语音处理系统工作。所以&#xff0c;语音的净化处理技术&#xff0c;在现代语音通信和数字音频广播系统中起到愈来愈…

特殊的转义字符—— \b 退格字符 ASCII 08

引入 我们在写 C 语言题目时&#xff0c;经常会碰见这样的输出 11 123 1236 123410如果用循环的话&#xff0c;这个加号是个大问题&#xff0c;如果直接用 printf("%d")&#xff0c;最后会多一个加号&#xff0c;用 printf("%d") 则前面会多一个加号。想…

Qt编写视频监控管理平台(支持海康/大华/宇视/华为/天地伟业/H264/H265等)

一、前言 海康大华等厂家自己的客户端软件&#xff0c;基本上都是支持自家的设备&#xff0c;不支持其他家的摄像机和硬盘录像机&#xff0c;并不是因为技术上做不到&#xff0c;这些大厂要实现支持兼容其他的家的&#xff08;他们家的服务端或者收费的都是支持其他家的&#…

写个rpc调用,试试自己了解多少

什么是rpc rpc即是远程过程调用&#xff0c;简单来说就是调用其他服务的接口像调用自己的本地方法一样&#xff0c;通常我们的调用的时候不需要关心调用过程和底层的通信即可实现调用其他的服务&#xff1b; 大概流程就是服务模块双方都会向注册中心注册自己的服务&#xff0c…

开发工具vim

一、开发工具vim vim的安装&#xff1a;yum install -y vim 指令&#xff1a;vim --version可以查看当前的版本信息&#xff0c;没有弹出信息就是没有安装。 装的vim是没有相关配置文件的&#xff0c;配置文件需要后面自己装。 之前说过&#xff0c;vs2019是集成软件编译…

【畅购商城】购物车模块之修改购物车以及结算

目录 购物车操作&#xff1a;修改 分析 接口 后端实现&#xff1a;更新 前端实现&#xff1a;修改 前端实现&#xff1a;全选 后端实现&#xff1a;删除数据 结算 跳转页面 购物车操作&#xff1a;修改 分析 接口 PUT http://localhost:10010/cart-service/carts 后…

python数学基础——单词统计

这个练习使用的是英文的单词统计&#xff0c;使用split通过单词中间的空格来做区分&#xff0c;在遍历的过程中通过对【字典】类型进行【字典推导式】的处理来计算每个单词出现的频次。但是由于过程中我们通过re的正则表达式来替换掉了很多的符号&#xff0c;并没有替换成空&am…

【网页设计】web前端期末大作业html+css

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

Day12--自定义组件-渲染my-search组件的基本结构

1.自定义搜索组件 我的操作&#xff1a; 1》在uni_modules中右键新建uni_modules插件&#xff1a; 2》看看效果图&#xff1a; ************************************************************************************************************** 2.在分类页面的 UI 结构中&…

工作中常用的设计模式--策略模式

一般做业务开发&#xff0c;不太容易有大量使用设计模式的场景。这里总结一下在业务开发中使用较为频繁的设计模式。当然语言为Java&#xff0c;基于Spring框架。 1 策略模式(Strategy Pattern) 一个类的行为或方法&#xff0c;在运行时可以根据条件的不同&#xff0c;有不同的…

verilog练习——基础语法

目录 基础语法 VL1 四选一多路器 VL2 异步复位的串联T触发器 VL3 奇偶校验 VL4 移位运算与乘法 VL5 位拆分与运算 VL6 多功能数据处理器 VL7 求两个数的差值 VL8 使用generate…for语句简化代码 VL9 使用子模块实现三输入数的大小比较 VL10 使用函数实现数据大小端转…

数据结构题目收录(二十五)

1、排序趟数与序列的原始状态无关的排序方法是&#xff08;&#xff09;。 Ⅰ、直接插入排序 Ⅱ、简单选择排序 Ⅲ、冒泡排序 Ⅳ、基数排序 A&#xff1a;Ⅰ、ⅢB&#xff1a;Ⅰ、Ⅱ、ⅣC&#xff1a;Ⅰ、Ⅱ、ⅢD&#xff1a;Ⅰ、Ⅳ 解析 交换类的排序&#xff0c;其趟数和…

GUI编程--PyQt5--QDiaglog

文章目录QDialogQFontDialogQColorDialogQFileDialogQInputDialogQDialog 对话框基类&#xff0c;继承QWidget&#xff1b;用于短期任务&#xff0c;分为模态、非模态 模态&#xff0c;阻塞在当前窗口&#xff1b;分为应用程序级别&窗口级别&#xff08;仅阻塞关联的窗口&…

关于使用鼠标时间mouseMove拖拽元素及元素抖动的解决方案

最近在做一个画布相关的项目时有一个场景是移动画布&#xff0c;最先开始想到的是拖拽事件&#xff0c;但是用户希望元素是实时的变化&#xff0c;所以决定使用mouseMove事件来做。 思路 通过mouseDown事件确定鼠标按下的位置根据mouseMove事件来计算出鼠标相对初始状态的横向…

MySQL锁杂谈

【说明】 1.MySQL版本5.7.37 2.事务隔离级别 REPEATABLE-READ 3.表结构 Create Table: CREATE TABLE isolation_innodb (id bigint(20) NOT NULL AUTO_INCREMENT,name varchar(10) DEFAULT NULL,money int(11) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT4…