【夏普利值——详细讲解】

夏普利值的介绍

沙普利值是合作博弈理论中的一个概念,由劳埃德-沙普利在1951年提出了这个概念,并因此在2012年获得了诺贝尔经济学奖。对于每个合作博弈,如联邦学习,可以将机构产生的模型的总提升在各个机构上形成一个有效的贡献分配。沙普利值的特点是有一系列的理想属性。
存在以下特点:
1.对称性:合作获利的分配,不随每个人在合作中的记号或次序变化
2.有效性:合作各方获利总和等于合作获利
3.冗员性:如果一个成员对于任何他参与的合作联盟都没有贡献,则他不应当从全体合作中获利
4.有多种合作时,每种合作的利益分配方式与其他合作结果无关

定义

从形式上看,一个联盟博弈的定义是:有一个集合N(n个)和一个函数v,该玩家的子集映射到实数: v : 2 n → R , v ( ∅ ) = 0 v:2^n \rightarrow R,v(\empty)=0 v:2nR,v()=0。其中 ∅ \empty 表示空集。函数v被称为特征函数。

函数v的含义如下:如果S是一个玩家联盟,那么v(S)称为联盟S的价值,表示S的成员通过合作可以获得的总的预期报酬总和。

Shapley值是将总收益分配给参与者的一种方式,假设他们都进行合作。它是一种 "公平 "的分配,因为它是唯一具有以下某些理想特性的分配。根据沙普利值,在给定的联盟博弈(v,N)中,玩家i得到的金额是
ϕ i ( v ) = ∑ S ⊆ N ∖ { i } ∣ S ∣ ! ( n − ∣ S ∣ − 1 ) ! n ! [ v ( S ∪ { i } ) − v ( S ) ] \phi_i(v) = \sum_{S \subseteq N \setminus \{i\}} \frac{|S|!(n - |S| - 1)!}{n!} \left[v(S \cup \{i\}) - v(S)\right] ϕi(v)=SN{i}n!S!(nS1)![v(S{i})v(S)]

  • S是从N中除i以外的所有玩家组成的任意子集
  • |S|是子集S中的元素个数,也就是除了玩家i之外其他玩家的数量
  • n是集合N中总的玩家数量
  • v ( S ∪ { i } ) v(S \cup \{i\} ) v(S{i})表示在集合S加上玩家i后形成的联盟所带来的收益
  • v ( S ) v(S) v(S)表示仅由集合S中的玩家构成的联盟所带来的收益

该公式可以解释如下:设想联盟是由多个玩家组成的,每个玩家要求他们的贡献v(S\cup {i})-v(S)作为公平补偿。对每个玩家来说,在可能形成联盟的不同排列组合中取这个贡献的平均值。

其等价公式如下
ϕ i ( v ) = 1 n ! ∑ R [ v ( P i R ∪ i ) − v ( P i R ) ] \phi_i(v)=\frac{1}{n!}\sum_R[v(P^R_i \cup {i})-v(P^R_i)] ϕi(v)=n!1R[v(PiRi)v(PiR)]

所有玩家的排列R的总数为 n ! n! n!, P i R P^R_i PiR是R中第i个玩家之前的排序。

举例

假设有三个机构{A,B,C}进行联邦学习:
三个机构分别单独训练可以得到 v A = 0.80 , v B = 0.70 , v C = 0.75 v_A=0.80,v_B=0.70,v_C=0.75 vA=0.80,vB=0.70,vC=0.75,
两两联合训练的正确率为, v A B = 0.85 , v B C = 0.80 , v A C = 0.90 v_{AB}=0.85,v_{BC}=0.80,v_{AC}=0.90 vAB=0.85,vBC=0.80,vAC=0.90,
集合起来一起训练得 v A B C = 0.95 v_{ABC}=0.95 vABC=0.95
问应该如何分配模型的贡献率:

对于机构A而言

order R P i R P^R_i PiR价值
A,B,C ∅ \empty V({A})-V({ ∅ \empty })=0.8
A,C,B ∅ \empty V({A})-V({ ∅ \empty })=0.8
B,A,CBV({A,B})-V({B})=0.15
B,C,AB,CV({A,B,C})-V({B,C})=0.15
C,A,BCV({A,C})-V({C})=0.15
C,B,AB,CV({A,B,C})-V({B,C})=0.15

对于A而言贡献为 ( 0.8 ∗ 2 + 0.15 ∗ 4 ) / 3 ! = 0.366666..... (0.8*2+0.15*4)/3!=0.366666..... (0.82+0.154)/3!=0.366666.....

对于机构B而言

order R P i R P^R_i PiR价值
A,B,CAV({A,B})-V({A})=0.05
A,C,BA,CV({A,B,C})-V({A,C})=0.05
B,A,C ∅ \empty V({B})-V({ ∅ \empty })=0.7
B,C,A ∅ \empty V({B})-V({ ∅ \empty })=0.7
C,A,BC,AV({A,B,C})-V({A,C})=0.05
C,B,ACV({B,C})-V({C})=0.05

对于B而言贡献为 ( 0.7 ∗ 2 + 0.05 ∗ 4 ) / 3 ! = 0.266666..... (0.7*2+0.05*4)/3!=0.266666..... (0.72+0.054)/3!=0.266666.....

对于机构C而言

order R P i R P^R_i PiR价值
A,B,CA ,BV({A,B,C})-V({A,B})=0.10
A,C,BAV({A,C})-V({A})=0.10
B,A,CA,BV({A,B,C})-V({A,B})=0.10
B,C,ABV({B,C})-V({B})=0.10
C,A,B ∅ \empty V({C})-V({ ∅ \empty })=0.75
C,B,A ∅ \empty V({C})-V({ ∅ \empty })=0.75

对于C而言贡献为 ( 0.75 ∗ 2 + 0.1 ∗ 4 ) / 3 ! = 0.3166666..... (0.75*2+0.1*4)/3!=0.3166666..... (0.752+0.14)/3!=0.3166666.....

三个机构的总贡献率为:0.36666…+0.2666…+0.31666…=0.95

参考

https://www.jianshu.com/p/f02320e1f091
https://zhuanlan.zhihu.com/p/483891565

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

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

相关文章

【iOS ARKit】PhysicsMotionComponent

使用 Physics BodyComponent 组件,通过设置物理参数、物理材质、施加作用力,能完全模拟物体在真实世界中的行为,这种方式的优点是遵循物理学规律、控制精确,但缺点是不直观。使用 PhysicsMotion Component组件则可以通过直接设置速…

Orange3数据预处理(清理特征组件)

清理特征 移除未使用的属性值和无用的属性,并对剩余的值进行排序。 输入 数据: 输入数据集 输出 数据: 过滤后的数据集 命名属性定义有时包含在数据中不出现的值。即使原始数据中没有这种情况,数据过滤、选择示例子集等操作也可能移除…

用python开发一个性能压测框架(超级简单)

用python开发一个性能压测框架(超级简单) 该框架是一个基础框架,超级简单,已经跑通,可以进行优化扩展 由于工作需要,最近开发了一款python性能压测框架,主要是对后端接口进行多线程压测 主要…

(二十五)Flask之MTVMVC架构模式Demo【重点:原生session使用及易错点!】

目录: 每篇前言:MTV&MVC构建一个基于MTV模式的Demo项目:蹦出一个问题: 每篇前言: 🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领…

性能工具部署 - 自动在30多台机器上部署发流工具,并自动配置各自的参数,一键控制所有节点工具的启动、停止、重启

需求1:脚本快速上传文件到制定目录并解压 import paramiko import scp import os import pexpect# SSH连接信息 ssh_host 162.14.xx ssh_port 22 # 默认的SSH端口 ssh_username root # 登录用户名 ssh_password xx # 登录密码 sudo_password xx # 登录密码…

关于Transfomer的思考

为何诞生 在说transformer是什么,有什么优势之类的之前,先谈一谈它因何而诞生。transformer诞生最重要的原因是早先的语言模型,比如RNN,由于其本身的训练机制导致其并行度不高,特别是遇到一些长句子的情况下。其次&…

抖音开放平台第三方开发,实现代小程序备案申请

大家好,我是小悟 抖音小程序备案整体流程总共分为五个环节:备案信息填写、平台初审、工信部短信核验、通管局审核和备案成功。 服务商可以代小程序发起备案申请。在申请小程序备案之前,需要确保小程序基本信息已填写完成、小程序至少存在一个…

硬件笔记(26)---- 高速电路中滤波电容的选取

先要知道电容的等效电路 其中ESL取决于电容的类型和封装,一般用贴片陶瓷电容为例,对于直插式电解电容,他们的ESL很大。按下表,封装越大,ESL越大,但是0612有些例外 0612和1206就是 长短边的区别,…

什么是MVC三层结构

1.MVC(三层结构) MVC(Model-View-Controller)是一种常见的软件设计模式,用于将应用程序的逻辑和界面分离成三个不同的组件。每个组件负责特定的任务,从而提高代码的可维护性和可扩展性。 以前的模式。 遇到…

力扣_动态规划3—地下城游戏

题目 恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻…

一文解读ISO26262安全标准:功能安全管理

一文解读ISO26262安全标准:功能安全管理 1 安全生命周期1.1 概念阶段1.2 产品开发阶段1.3 生产发布后续阶段 2 安全管理的角色和职责3 安全活动的裁剪4 安全活动的评审5 安全活动的评估6 交付物 下文的表中,一些方法的推荐等级说明: “”表示…

【网络安全渗透】常见文件上传漏洞处理与防范

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属的专栏:网络安全渗透 景天的主页:景天科技苑 文章目录 1.文件上传漏洞1.1. 描述1.2. 危害1.3. 有关文件上传的知识1.4…

【兔子机器人】修改GO、车轮电机ID(软件方法、硬件方法)以及修正VMC腿部初始化夹角

一、GO电机修改ID 1、硬件方法 利用上位机直接修改GO电机的id号: 打开调试助手,点击“调试”,查询电机,修改id号,即可。 但先将四个GO电机连接线拔掉,不然会将连接的电机一并修改。 利用24V电源给GO电机…

Java_12 杨辉三角 II

杨辉三角 II 给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: rowIndex 3 输出: [1,3,3,1] 示例 2: 输入: rowIndex 0 输出: [1] 示例 3: 输入: rowIndex 1 输…

【应急响应靶场web2】

文章目录 前言 一、应急响应 1、背景 2、webshell查杀 3、日志排查 1)apache日志 2)nginx日志 3)ftp日志 4、隐藏账户 5、文件筛选 二、漏洞复现 总结 前言 靶场来源:知攻善防实验室 一、应急响应 1、背景 小李在某…

VMware 配置虚拟机网络

之前需要完成的任务 (1)、下载和安装VMware-Workstation-Pro.exe软件,推荐16.0版本 (2)、下载centOS7镜像,可以在阿里云下载。 (3)、VM创建一个虚拟机,并且使用本地已下载…

中东社媒Snapchat如何注册?

Snapchat是一款图片分享软件应用。利用该应用程序,用户可以拍照、录制影片、撰写文字和图画,并传送到自己在该应用上的好友列表。现如今,Snapchat也成为独立战引流然而,即使如此受欢迎,Snapchat的注册使用仍然是新手的难题&#x…

Elasticsearch8.x版本Java客户端Elasticsearch Java API Client中常用API练习

Es的java API客户端 在Es7.15版本之后,es官方将它的高级客户端RestHighLevelClient标记为弃用状态。同时推出了全新的java API客户端Elasticsearch Java API Client,该客户端也将在Elasticsearch8.0及以后版本中成为官方推荐使用的客户端。 Elasticsea…

Java基于 Springboot+Vue 的招生管理系统,前后端分离

博主介绍:✌程序员徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

【全志H616】1 --用orangepi控制硬件

【全志H616】1 --用orangepi控制硬件 本文介绍了如歌用orangepi 控制蜂鸣器&超声波模块,通过键盘输入1、2、3、4来控制转动角度舵机模块;同时还介绍了利用全志如何配置定时器;以及查看H616引脚状态的命令等… 超声波模块和舵机模块的讲解…