混淆矩阵是一种常见的可视化形式,它通过一个表格式的布局,对所有数据预测的标签与的实际标签进行比较,用于帮助人们评估机器学习模型。来自苹果公司的研究人员对机器学习领域学者进行调研,发现一般的混淆矩阵无法处理层次结构标签和多输出标签,因此他们设计了一个混淆矩阵代数,并提出了Neo[1],一种新型的支持层次结构标签和多输出标签的混淆矩阵可视化系统,允许从业者灵活地编写、互动和分享混淆矩阵。

为了了解机器学习从业者如何在他们自己的工作中使用混淆矩阵,该工作对20个来自机器学习研究人员、工程师和软件开发人员进行了一项调查。根据用户的反馈,该工作总结了4个混淆矩阵的挑战,并提出了对应的如下4个任务。
- 可视化衍生的评价指标,同时实现灵活的数据分析,如缩放和归一化
- 遍历和可视化层次结构标签
- 转换和可视化多输出标签
- 分享混淆矩阵的分析与设置
为了实现以上任务,该工作首先提出了一个混淆矩阵代数。混淆矩阵的每一行是一个真实的类别,每一列是一个预测的类别,每一个位置代表某一类数据被预测为另一类的频率。混淆矩阵代数使用多变量概率分布P(X, Y)来建模混淆矩阵,代表真实类别为X,预测类别为Y的数据的频率。使用这个混淆矩阵代数,可以对混淆矩阵进行归一化。如图2所示,对混淆矩阵的行或列进行归一化,可以更好的看到原本隐藏的特征,同时可以展示准确率和召回率等评价指标。

为了可视化层次结构标签,该工作基于混淆矩阵代数定义了对层次结构标签的展开和合并的概率分布计算。如图3所示,该工作设计了一个层次嵌套的混淆矩阵可视化,在轴上将标签根据层次结构进行嵌套,小的混淆矩阵可以展示概览信息,通过轴上的点击交互可以展开标签,展示混淆矩阵细节的信息。

为了可视化多输出标签,如图4所示,该工作基于混淆矩阵代数定义了三种不同的转化高维多输出标签的技术。
- Conditioning. 分析在给定某一个输出标签中的类别时,其他标签的混淆家族。
- Marginalization. 对不感兴趣的输出标签的维度进行求和来舍去这些标签。
- Nesting. 将子标签的每一个类复制到父标签的每一类下,形成一个层次结构标签。

该工作设计了一个多输出标签的混淆矩阵可视化,用户可以交互的通过以上三种技术来对多输出标签进行转化。如图5所示,用户可以指定Conditioning的标签和类别,或者是选择某一标签进行Nesting,来得到满足用户期望的混淆矩阵可视化结果。

最后,为了方便混淆矩阵在协作者之间的交流与传播,如图6所示,该工作设计了一个描述性语法,使用一个JSON格式的数据来描述一个混淆矩阵可视化。在用户交互的调整混淆矩阵时,系统会记录用户的操作并改变对应的数据,在得到满足用户要求的混淆矩阵可视化后,可以通过该JSON格式的数据来进行快速的分享。

参考文献
[1] Jochen Görtler, Fred Hohman, Dominik Moritz, Kanit Wongsuphasawat, Donghao Ren, Rahul Nair, Marc Kirchner, and Kayur Patel. Neo: Generalizing Confusion Matrix Visualization to Hierarchical and Multi-Output Labels. In Proceedings of ACM CHI Conference on Human Factors in Computing Systems. 2022.
评论关闭。