机器学习中的公平性
文章目录
- 机器学习公平性
- 评估指标
- 群体公平性指标
- 个人公平性指标
- 引起机器学习模型不公平的潜在因素
- 提升机器学习模型公平性的措施
机器学习公平性
定义: 机器学习公平性主要研究如何通过解决或缓解“不公平”来增加模型的公平性,以及如何确保模型的输出结果能够让不同的群体、个人都有平等的机会获得利益。然而,受文化和环境的影响,人们对公平性的理解存在一定的主观性。到目前为止,公平性尚未有统一的定义及度量指标。
公平性主要分为群体公平性和个体公平性两类:群体公平性指标侧重于衡量决策(模型结果)对不同群体的偏见程度;个体公平性指标主要侧重于衡量决策对不同个体的偏见程度。
评估指标
假设S为敏感信息的特征(如种族、性别、年龄、民族等),“S=1”表示该群体在社会中为“强势群体”,较少受到歧视,“S≠1”表示该群体在某些方面为“弱势群体”,存在潜在的受到歧视的风险,如少数族裔、老年人、女性等。Y为模型的真实标签,Ŷ为模型预测的结果,Ŷ=1表示模型预测结果为正面(有利于该样本个体的标签),P表示某条件下的概率。
群体公平性指标
群体公平性指标本质上是比较算法在两类或多类群体上的分类结果。
不平等影响(Disparate Impact,DI):模型对于两个不同的群体预测为正类的概率比值

群体均等(Demographic parity,DP):将两个不同群体预测为正类的预测概率差值

补偿几率(Equalized odds):群体之间假阳性概率(false-positive rates)之差和群体之间真阳性概率(true-positive rates)之差,差值越小则认为模型越公平

机会均等(Equal Opportunity):不同群体的真阳性概率之差,指标越小代表越公平

个人公平性指标
个体公平性是衡量决策对不同个体的偏见程度。
个体公平性指标:个体公平性指标是指对于两个个体,如果非敏感信息特征相似,则模型应给出相似的预测结果。

反事实公平性指标:如果一个决策与敏感属性不同的反事实世界中采取的决策一致,那么这个决策对于个体而言是公平的,是一种基于因果推断的公平性定义。
引起机器学习模型不公平的潜在因素
按照机器学习的生命周期可把引起模型不公平的因素归为四类:数据偏差、算法偏差、评估偏差和部署偏差

数据偏差主要包括收集数据过程中的测量偏差(Measuring Bias)、蕴含社会文化和习俗的城建信息渗透到数据中产生的历史偏差(Historical Bias)以及训练数据没有充分代表所有预测样本空间带来的表示偏差(Representation Bias)。
算法偏差主要指算法的优化目标带来的不公平风险,以及与敏感特征相关的“代理”特征带来的不公平风险。算法总是会以减少训练过程中模型的输出和真实标签的总体差异为优化目标,当数据类别不平衡时,模型对多数群体的准确率更高。敏感属性的代理特征是指看似非敏感特征,但实际上与敏感特征相关联,因此算法在学习的过程中利用了敏感特征的信息。
评估偏差包括由于算法评测的基准数据不能完全代表目标群体产生的偏见,以及由于评估指标的不当导致选取看似公平而实际并不公平的模型所产生的偏差。
部署偏差是指部署应用的场景与训练阶段场景不匹配产生的偏差。
提升机器学习模型公平性的措施
增加模型公平性的措施分为三类:预处理(数据处理),中间处理(模型训练)和后处理

预处理
- 删除特征,即删除可能会引起歧视的敏感信息以及敏感信息相关的特征;
- 更改数据集的标签,可以先使用原始的数据训练带有不公平性的分类器,使用这个分类器对数据进行分类,在每个群体中根据预测分类的置信度排序,更改置信度过低样本的标签;
- 更改权重,在训练的过程中,特征和标签会被赋予权重,可以通过调整特征的权重来减少模型的不公平性;
- 公平表征,在一些深度学习任务中,会先使用模型提取数据的表征,然后将数据的表征输入分类模型,训练分类器。
中间处理
- 目标函数加入惩罚项。在机器学习中,正则项是用来惩罚模型的复杂度,降低模型过拟合的风险。有研究认为,参照正则项加入惩罚项用于保证分类模型的公平性,一种做法是将假阳率和假阴率的信息参照正则项的方式加入损失函数中,用来惩罚模型的不公平性。
- 分类模型加入约束,通过在模型优化过程中增加约束的方式平衡公平性和准确性。
- 基于特权信息的学习。在训练阶段,模型使用敏感信息(作为特权信息)特征加速模型的收敛来提升模型效果,而在预测阶段则不使用敏感信息。
后处理
- 使用不同的阈值修正预测结果。
- 对不同的群体使用不同的分类器。
以上三种策略各有优缺点。预处理的方法较为简单,可以在大多数分类问题中使用,缺点是会降低模型的可解释性。建模中的处理方式较为灵活,可以根据特定的情况调整,缺点则是较为复杂,并且不同的算法之间难以复用。后处理的方式和预处理一样,也可以适用于大多数分类问题,但是这种方法可能会影响模型效果,而且在人为改动模型输出结果的情况下也有一定的伦理风险。
相关文章:
机器学习中的公平性
文章目录机器学习公平性评估指标群体公平性指标个人公平性指标引起机器学习模型不公平的潜在因素提升机器学习模型公平性的措施机器学习公平性 定义: 机器学习公平性主要研究如何通过解决或缓解“不公平”来增加模型的公平性,以及如何确保模型的输出结果…...
Docker镜像之Docker Compose讲解
文章目录1 docker-compose1.1 compose编排工具简介1.2 安装docker-compose1.3 编排启动镜像1.4 haproxy代理后端docker容器1.5 安装socat 直接操作socket控制haproxy1.6 compose中yml 配置指令参考1.6.1 简单命令1.6.2 build1.6.3 depends_on1.6.4 deploy1.6.5 logging1.6.6 ne…...
蓝桥杯30天真题冲刺|题解报告|第三十天
大家好,我是snippet,今天是我们这次蓝桥省赛前一起刷题的最后一天了,今天打了一场力扣周赛,前面3个题都是有思路的,第三个题只过了一半的案例,后面看完大佬们的题解彻悟,下面是我今天的题解 目录…...
配置 Git Husky 代码提交约束
介绍 Git Husky 是一个可以管理 Git Hooks 的工具,它可以帮助我们在代码提交的时候运行脚本,以确保代码提交符合特定的规范和约定。 在 Git 中,允许在操作特定的事件时执行特定的脚本,这些事件我们称之为 Hooks。 Git Husky 利…...
IntelliJ IDEA 2023.1 最新变化
文章目录IntelliJ IDEA 2023.1 最新变化一. 主要更新1. 新 UI 增强 测试版启用新 UI2. 在项目打开时更早提供 IDE 功能3. 更快地导入 Maven 项目4.后台提交检查5. Spring Security 匹配器和请求映射的导航 Ultimate二. 用户体验1. 全 IDE 缩放2. 保存多个工具窗口布局的选项3. …...
stm32学习笔记-9 USART串口
9 USART串口 文章目录9 USART串口9.1 串口通信协议9.2 stm32的片上外设-USART9.3 USART收发相关实验9.3.1 实验1:串口发送9.3.2 实验2:移植printf函数9.3.3 实验3:串口发送接收9.4 USART串口数据包9.5 USART数据包相关实验9.5.1 实验1&#x…...
【蓝桥杯】每日四道编程题(两道真题+两道模拟)| 第四天
专栏: 蓝桥杯——每日四道编程题(两道真题两道模拟) “蓝桥杯就要开始了,这些题刷到就是赚到” ₍ᐢ..ᐢ₎♡ 另一个专栏: 蓝桥杯——每日四道填空题(两道真题两道模拟题) 目录 专栏࿱…...
大家有没有时候觉得,递归,分治,回溯,傻傻分不清楚?
递归,分治,回溯的定义 递归(Recursion) 递归是一种解决问题的方法,它将一个问题分解成一个或多个较小的相同类型的子问题,然后通过递归调用自身来解决这些子问题。递归通常包括一个基本情况(b…...
Java 8 - Lambda 表达式
1. 函数式接口 当一个接口中只有一个非 default 修饰的方法,这个接口就是一个函数式接口用 FunctionalInterface 标注 1)只有一个抽象方法 FunctionalInterface public interface MyInterface {void print(int x); } 2)只有一个抽象方法和…...
【Ruby学习笔记】4.Ruby 类和对象及类案例
前言 本章介绍Ruby的类和对象及类案例。 Ruby 类和对象 Ruby 是一种完美的面向对象编程语言。面向对象编程语言的特性包括: 数据封装数据抽象多态性继承 这些特性将在 面向对象的 Ruby 中进行讨论。 一个面向对象的程序,涉及到的类和对象。类是个别…...
分享一个计算表格内单元格合并的工具,支持行合并、列合并等常见场景
分享一个计算表格内单元格合并的工具,支持行合并、列合并等常见场景 效果图 安装 cj-toolkit-x/table-cell-merger 插件 npm i cj-toolkit-x/table-cell-merger使用方法 import {TableCellMerger} from "cj-toolkit-x/table-cell-merger" // 创建一个单…...
CUDA编程(三):Hello world
CUDA编程(三):Hello worldCUDA编程Hello worldCUDA编程 CUDA是Compute Unified Device Architecture的缩写,由英伟达公司2007年开始推出,初衷是为GPU增加一个易用的编程接口,让开发者无需学习复杂的着色语…...
二十九、String的不可变性
一、String的基本特性 1.String:字符串,使用一对“”引起来表示 1)String s1 “hallo”; //字面量的定义方式 2)String 说 new String(“hello”)’ 2.String声明为final的,不可被继承。 3.String实现了Serialzable接口:表示字符串是支持序列化的。实…...
TCP服务器如何使用select处理多客户连接
TCP是一种面向连接的通信方式,一个TCP服务器难免会遇到同时处理多个用户的连接请求的问题,本文用一个简化的实例说明如何在一个TCP服务器程序中,使用select处理同时出现的多个客户连接,文章给出了程序源代码,本文假定读者已经具备了基本的socket编程知识,熟悉基本的服务器…...
python字符编码
目录 ❤ 前言 文本编辑器存取文件的原理(nodepad,pycharm,word) python解释器执行py文件的原理 ,例如python test.py 总结 ❤ 什么是字符编码? ASCII MBCS Unicode ❤ 字符编码的发展史 阶段一: 现代计算…...
面向对象练习题(8)
目录 第一题 第二题 第三题 第一题 思路分析: 1.Person p new Student();这就是一个向上转型,让父类的引用指向子类的对象,但是向上转型不能访问子类的属性和方法 我们在写代码时看的是编译类型 在运行是看的是运行类型 p.run(); p.eat(); …...
重构类关系-Extract Interface提炼接口八
重构类关系-Extract Interface提炼接口八 1.提炼接口 1.1.使用场景 若干客户使用类接口中的同一子集,或者两个类的接口有部分相同。将相同的子集提炼到一个独立接口中。 类之间彼此互用的方式有若干种。“使用一个类”通常意味用到该类的所有责任区。另一种情况…...
vivo手机各系列简介和拆解
Vivo是中国智能手机制造商,其产品线较多,主要包括以下系列: X系列:X系列是Vivo的高端智能手机系列,注重出色的拍照性能、高质量的音效和高端的设计。该系列主要面向追求高质量拍照和高端体验的用户。 V系列࿱…...
Redis:redis通用命令;redis常见数据结构;redis客户端;redis的序列化
一、redis命令 1.redis通用命令 Redis 通用命令是一些 Redis 下可以作用在常用数据结构上的常用命令和一些基础的命令 常见的命令有: keys 查看符合模板的所有key,不建议在生产环境设备上使用,因为keys会模式匹配所有符合条件的key&#…...
Java新特性
switch Java中switch的三种用法方式 JAVA中的switch Java switch 中如何使用枚举? 注解 天天用注解你真的知道怎么用吗?Java中的注解及其实现原理。 JAVA注解 JAVA注解 基础 集合判空 求和 Java8之List求和 JAVA中对list使用stream对某个字段求和…...
打破平台壁垒:Windows上安装APK文件的完整解决方案
打破平台壁垒:Windows上安装APK文件的完整解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾想过在Windows电脑上直接运行安卓应用ÿ…...
Python try...except ImportError 语句详解
在Python编程中,ImportError 是与模块导入相关的核心异常。优雅地处理它,是编写健壮、可维护和跨平台代码的关键。try...except ImportError 结构正是实现这一目标的标准工具。本文将为你抽丝剥茧,从基础概念到高级实践,全面解析这…...
告别迷茫!在嵌入式Linux上用libwebsockets v4.0实现WebSocket客户端(含SSL配置避坑)
嵌入式Linux实战:libwebsockets v4.0客户端开发与SSL避坑指南 当树莓派的GPIO引脚需要与云端实时同步数据时,WebSocket往往是嵌入式开发者的首选协议。但面对内存仅512MB的ARMv7开发板,选用一个既支持SSL加密又能兼容C99标准的轻量级库&#…...
【限时公开】后印象派专属--ar 16:9 --style raw --stylize 800参数组合包(含塞尚构图/修拉点彩/劳特累克动态线共12套已验证prompt模板)
更多请点击: https://intelliparadigm.com 第一章:后印象派艺术精神与Midjourney风格迁移的本质逻辑 后印象派并非对印象派的简单延续,而是对主观表达、结构重构与象征张力的自觉回归——梵高旋转的星云、塞尚凝练的几何体、高更原始的色域&…...
芯片老化座的工作温度范围?
在芯片测试领域,老化座(Burn-in Socket)是保障半导体器件长期可靠性的关键设备。它不仅要在极端温度下稳定工作,还要确保测试数据的精准度。今天,我们以HMILU(深圳市鸿怡电子有限公司)为例&…...
Claude API企业准入最后窗口期:2024Q3起强制启用OAuth 2.1+硬件级密钥绑定,现在不升级将无法续签
更多请点击: https://intelliparadigm.com 第一章:Claude API企业准入政策的演进与合规紧迫性 随着Anthropic对Claude模型商用边界的持续收束,企业级API接入正从“技术可用性”转向“治理可验证性”。2024年Q2起,所有新注册企业账…...
乌尔都语语音合成落地难?揭秘ElevenLabs未公开的ur-PK语言代码陷阱与ISO 639-3双标适配规范(仅限首批127家认证开发者知晓)
更多请点击: https://intelliparadigm.com 第一章:乌尔都语语音合成落地难?揭秘ElevenLabs未公开的ur-PK语言代码陷阱与ISO 639-3双标适配规范(仅限首批127家认证开发者知晓) ElevenLabs 官方文档中仅标注 ur 为乌尔…...
基于Kubernetes Lease构建分布式部署锁:解决CI/CD环境下的资源竞争
1. 项目概述:从“clawfight”看一场被遗忘的社区技术博弈看到“2019-02-18/clawfight”这个标题,很多人的第一反应可能是困惑。它不像一个标准的软件项目名,没有清晰的版本号,也没有指明具体的技术栈。但恰恰是这种看似随意的命名…...
CFD工程师必看:TVD格式选型指南——从SUPERBEE到UMIST,哪个才是你的菜?
CFD工程师必看:TVD格式选型实战指南——从工程场景到最优解 在计算流体力学(CFD)的世界里,TVD格式就像赛车手的轮胎选择——没有绝对的好坏,只有场景的适配。当你在汽车外气动分析中遇到激波振荡,或在燃烧模拟中面临虚假扩散时&am…...
DIY蓝牙游戏手柄:基于Bluefruit EZ-Key的免编程硬件制作全攻略
1. 项目概述与设计思路几年前,我还在用有线手柄在电脑上打游戏,那根线总是缠来缠去,桌面也乱糟糟的。后来市面上无线手柄选择多了,但总感觉少了点自己动手的乐趣,功能也千篇一律。直到我开始接触像Adafruit Bluefruit …...
