当前位置: 首页 > news >正文

机器学习中的公平性

文章目录

    • 机器学习公平性
      • 评估指标
        • 群体公平性指标
        • 个人公平性指标
      • 引起机器学习模型不公平的潜在因素
      • 提升机器学习模型公平性的措施

机器学习公平性

定义: 机器学习公平性主要研究如何通过解决或缓解“不公平”来增加模型的公平性,以及如何确保模型的输出结果能够让不同的群体、个人都有平等的机会获得利益。然而,受文化和环境的影响,人们对公平性的理解存在一定的主观性。到目前为止,公平性尚未有统一的定义及度量指标。

公平性主要分为群体公平性和个体公平性两类:群体公平性指标侧重于衡量决策(模型结果)对不同群体的偏见程度;个体公平性指标主要侧重于衡量决策对不同个体的偏见程度。

评估指标

假设S为敏感信息的特征(如种族、性别、年龄、民族等),“S=1”表示该群体在社会中为“强势群体”,较少受到歧视,“S≠1”表示该群体在某些方面为“弱势群体”,存在潜在的受到歧视的风险,如少数族裔、老年人、女性等。Y为模型的真实标签,Ŷ为模型预测的结果,Ŷ=1表示模型预测结果为正面(有利于该样本个体的标签),P表示某条件下的概率。

群体公平性指标

群体公平性指标本质上是比较算法在两类或多类群体上的分类结果。

不平等影响(Disparate Impact,DI):模型对于两个不同的群体预测为正类的概率比值

image-20221115164306969

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

image-20221115164318996

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

image-20221115164634034

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

image-20221115164716925

个人公平性指标

个体公平性是衡量决策对不同个体的偏见程度。

个体公平性指标:个体公平性指标是指对于两个个体,如果非敏感信息特征相似,则模型应给出相似的预测结果。

image-20221115164906835

反事实公平性指标:如果一个决策与敏感属性不同的反事实世界中采取的决策一致,那么这个决策对于个体而言是公平的,是一种基于因果推断的公平性定义。

引起机器学习模型不公平的潜在因素

按照机器学习的生命周期可把引起模型不公平的因素归为四类:数据偏差、算法偏差、评估偏差和部署偏差

image-20221115165121129

数据偏差主要包括收集数据过程中的测量偏差(Measuring Bias)、蕴含社会文化和习俗的城建信息渗透到数据中产生的历史偏差(Historical Bias)以及训练数据没有充分代表所有预测样本空间带来的表示偏差(Representation Bias)。

算法偏差主要指算法的优化目标带来的不公平风险,以及与敏感特征相关的“代理”特征带来的不公平风险。算法总是会以减少训练过程中模型的输出和真实标签的总体差异为优化目标,当数据类别不平衡时,模型对多数群体的准确率更高。敏感属性的代理特征是指看似非敏感特征,但实际上与敏感特征相关联,因此算法在学习的过程中利用了敏感特征的信息。

评估偏差包括由于算法评测的基准数据不能完全代表目标群体产生的偏见,以及由于评估指标的不当导致选取看似公平而实际并不公平的模型所产生的偏差。

部署偏差是指部署应用的场景与训练阶段场景不匹配产生的偏差。

提升机器学习模型公平性的措施

增加模型公平性的措施分为三类:预处理(数据处理),中间处理(模型训练)和后处理

image-20221115165342648

预处理

  1. 删除特征,即删除可能会引起歧视的敏感信息以及敏感信息相关的特征;
  2. 更改数据集的标签,可以先使用原始的数据训练带有不公平性的分类器,使用这个分类器对数据进行分类,在每个群体中根据预测分类的置信度排序,更改置信度过低样本的标签;
  3. 更改权重,在训练的过程中,特征和标签会被赋予权重,可以通过调整特征的权重来减少模型的不公平性;
  4. 公平表征,在一些深度学习任务中,会先使用模型提取数据的表征,然后将数据的表征输入分类模型,训练分类器。

中间处理

  1. 目标函数加入惩罚项。在机器学习中,正则项是用来惩罚模型的复杂度,降低模型过拟合的风险。有研究认为,参照正则项加入惩罚项用于保证分类模型的公平性,一种做法是将假阳率和假阴率的信息参照正则项的方式加入损失函数中,用来惩罚模型的不公平性。
  2. 分类模型加入约束,通过在模型优化过程中增加约束的方式平衡公平性和准确性。
  3. 基于特权信息的学习。在训练阶段,模型使用敏感信息(作为特权信息)特征加速模型的收敛来提升模型效果,而在预测阶段则不使用敏感信息。

后处理

  1. 使用不同的阈值修正预测结果。
  2. 对不同的群体使用不同的分类器。

以上三种策略各有优缺点。预处理的方法较为简单,可以在大多数分类问题中使用,缺点是会降低模型的可解释性。建模中的处理方式较为灵活,可以根据特定的情况调整,缺点则是较为复杂,并且不同的算法之间难以复用。后处理的方式和预处理一样,也可以适用于大多数分类问题,但是这种方法可能会影响模型效果,而且在人为改动模型输出结果的情况下也有一定的伦理风险。

相关文章:

机器学习中的公平性

文章目录机器学习公平性评估指标群体公平性指标个人公平性指标引起机器学习模型不公平的潜在因素提升机器学习模型公平性的措施机器学习公平性 定义: 机器学习公平性主要研究如何通过解决或缓解“不公平”来增加模型的公平性,以及如何确保模型的输出结果…...

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…...

【蓝桥杯】每日四道编程题(两道真题+两道模拟)| 第四天

专栏: 蓝桥杯——每日四道编程题(两道真题两道模拟) “蓝桥杯就要开始了,这些题刷到就是赚到” ₍ᐢ..ᐢ₎♡ 另一个专栏: 蓝桥杯——每日四道填空题(两道真题两道模拟题) 目录 专栏&#xff1…...

大家有没有时候觉得,递归,分治,回溯,傻傻分不清楚?

递归,分治,回溯的定义 递归(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系列&#xff1…...

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对某个字段求和…...

2025届学术党必备的五大降AI率网站实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术写作跟成果发表进程之中,文本重复率的把控乃是一项关键之处。降重网站当作…...

RK3588与RK3399 USB DTS配置对比:升级平台时如何快速迁移和避坑

RK3588与RK3399 USB DTS配置深度对比:迁移实战指南 从RK3399升级到RK3588平台的开发者,往往会在USB功能配置上遇到意料之外的挑战。两代芯片虽然同属Rockchip产品线,但在USB架构设计、DTS节点定义和电源管理策略上存在显著差异。本文将带您深…...

URP Scriptable Renderer Feature实战:从原理到自定义后处理

1. URP Scriptable Renderer Feature基础认知 第一次接触URP的Scriptable Renderer Feature时,我完全被各种专业术语搞晕了。后来在实际项目中反复折腾才发现,这东西本质上就是个"特效插件系统"。想象你正在玩一款射击游戏,当角色受…...

Java函数计算迁移避坑清单:12个被官方文档隐瞒的关键限制(含Classloader隔离失效实录)

第一章:Java函数计算迁移避坑清单:12个被官方文档隐瞒的关键限制(含Classloader隔离失效实录)Java函数计算(如阿里云FC、AWS Lambda Java Runtime)在迁移传统Spring Boot应用时,常因底层沙箱机制…...

Qwen3-VL-2B实战:快速搭建一个能“看懂”图片的智能聊天机器人

Qwen3-VL-2B实战:快速搭建一个能"看懂"图片的智能聊天机器人 1. 项目介绍与核心能力 1.1 什么是视觉语言模型 视觉语言模型(Vision-Language Model)是一种能够同时理解图像和文本的AI技术。不同于传统聊天机器人只能处理文字&am…...

手机号查QQ号终极指南:3分钟快速找回遗忘的QQ号码

手机号查QQ号终极指南:3分钟快速找回遗忘的QQ号码 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾因忘记QQ号而无法登录?是否因为更换手机需要重新绑定QQ却找不到账号信息?手机号查QQ号工…...

快速上手ms-swift:图形界面操作大模型全流程,保姆级指导

快速上手ms-swift:图形界面操作大模型全流程,保姆级指导 1. 为什么选择ms-swift? 在人工智能领域,大模型的训练和部署一直是个技术门槛较高的工作。传统方式需要处理复杂的命令行参数、环境配置和代码调试,这让很多非…...

Phi-4-mini-reasoning效果展示:中文长文本多跳推理与隐含前提挖掘

Phi-4-mini-reasoning效果展示:中文长文本多跳推理与隐含前提挖掘 1. 模型核心能力概览 Phi-4-mini-reasoning是一款专注于推理任务的文本生成模型,在数学推导、逻辑分析和多步推理等场景下展现出独特优势。与通用聊天模型不同,它专为"…...

Phi-3-mini-4k-instruct-gguf效果展示:温度0.0下100%一致性的制度类文本生成

Phi-3-mini-4k-instruct-gguf效果展示:温度0.0下100%一致性的制度类文本生成 1. 模型介绍与特点 Phi-3-mini-4k-instruct-gguf是微软推出的轻量级文本生成模型,属于Phi-3系列中的GGUF版本。这个模型特别适合需要稳定、一致输出的场景,尤其是…...

OneDrive导致桌面图标变白的解决方案

OneDrive导致桌面图标变白的原因主要是由于OneDrive的同步功能或图标缓存损坏。当使用OneDrive的“释放空间”功能时,可能会导致图标变为空白页或默认图标。此外,图标缓存损坏也可能导致图标变白。解决方法:1. 调整OneDrive设置:在…...