name_en: Robustness Metrics:How Are They Calculated, When Should They Be Used and Why Do They Give Different Results?
name_ch: 鲁棒性度量:它们是如何计算的,何时应该使用以及为什么会给出不同的结果?
addr: http://doi.wiley.com/10.1002/2017EF000649
doi: 10.1002/2017EF000649
date_read: 2023-02-03
date_publish: 2018-02-01
tags: ['模型优化']
if: 7.495
journal: Earths Future
author: C. McPhail
citation: 156
(学习小组本周230202学习笔记,感谢轩奇总结分享)
读后感
建立一个框架,用于计算和量化模型鲁棒性。使用者应根据情境,风险偏好,以及分布等角度选择不同的衡量方法。更抽象地讲,它是对不确定性的决策原则。选择不同鲁棒性评价方法会影响决策,尽量使用多个指标结合的方式。
介绍
根据经济学中的不确定型决策原则。在深度不确定性下,存在多种不确定因素共同影响决策的后果。在这样的系统中,系统性能通常使用鲁棒性指标来衡量。
具体方法介绍
Maximin
悲观原则:有若干种结果,选择每个系列中最坏结果中的最好结果
Maximax
乐观原则:有若干种结果,选择每个系列中最好结果中的最好结果
Hurwicz optimism-pessimism rule
折衷原则:按比例结合乐观和悲观原则
Laplace's principle of insufficient reason
不充分理由原则:对所有结果取平均
Minimax regret
后悔最小原则:最优-实际,也是一种相对悲观的方法
90th percentile minimax regret
与 Minimax regret 相似,只是取后悔的90分位数
Mean-vaiance
均值方差模型:类似不充分理由模型,通过频率采样,计算分布,估计打分
Undesirable deviations
不良偏差:将偏差的中位数作为打分
Percentile-base skewness
正态分布偏度:描述不对称程度,有左偏和右偏两种,它是对分布的评价(pandas可提供该统计值)
Percentile-base skewness
正态分布峰度:描述某个分布相⽐于正态分布的峰值⾼低的程度,它是对分布的评价
Starr's domain criterion
斯塔尔阈准则:计算性能与决策者选择的基准进⾏⽐较,并打分, 1为通过,0为不通过,计算打分的平均值,得分最高的鲁棒性高。
乐观程度排名如下图所示:
框架
框架由三部分组成:方案(Decision alternatives),条件(Plausible future conditions),度量方法(Performance metric)。代入机器学习的场景中,如下:
- 方案->模型算法,解决一个问题可能有多个算法,x1,x2...xm,每次评价其中一种的鲁棒性
- 条件->数据,不同情况下的数据,可视为不同场景,S={s1,s1...sn},比如不同环境下产生的数据,每个算法xi需要代入不同场景的数据
- 度量方法->评价方法,将各个场景数据S代入模型xi,f(xi,S)评价模型在各场景下的效果。
计算其整体鲁棒性可分为以下三步:
- T1:将对模型的评价方法f改为f',比如在后悔最小模型中,把对模型的打分改为最好值与实际值的差。
- T2:选择场景子集,有的方法不需要所有子集参与,比如乐观原则只需要选择效果最好的场景子集。
- T3:融合各个场景子集的结果,比如不充分理由原则会对所有子集的结果取均值。
具体方法对应的步骤如下:
如何选择鲁棒性度量方法
- 在T1步中,可选择使用相对指标还是绝对指标,以及考虑客户满意度
- 在T2步中,可选择使用单个场景,多个场景,所有场景,以及风险偏好
- 在T3步中,需要考虑使用什么方法结合多场景的结果,如均值,方差,峰度等。
下表列出了不同方法T1,T2,T3步骤的差异以及风险偏好。
不同鲁棒性度量方法可能产生不一致结果。
扩展
对抗鲁棒性
具体应用时,如果没有多场景的数据,可以使用对抗攻击方式产生不同场景数据,然后用其评测模型鲁棒性。
工具介绍
对抗攻击工具箱
adversarial-robustness-toolbox
其readme.md中的Classifies展示了对分类器的攻击,其中包含针对不同种类模型攻击的工具。
具体使用逻辑是:先用数据训练一个模型(任意黑盒模型),然后用将模型和数据代入API,生成具有攻击性的数据,并用其评测模型被攻击后的效果。
网友评论