传统上,随机森林是通过组合弱学习器(决策树)来进行分类和回归的有监督学习模型。由于其具有高性能,随机森林成为应用广泛的模型之一。虽然随机森林在分类方面具有良好的表现,但是在实际用于数据分析时会面临诸多挑战。首先,随机森林模型的“黑盒子”[1]特性使得模型的构建及预测过程的细节对用户而言都是隐蔽的,用户只能简单地向随机森林模型导入训练集和输入相关参数,对于领域专家而言,并不能理解预测结果背后的原因。其次,虽然自动的“黑盒”模型可以让用户免于交互,认知“减负”,但是可解释性很差,阻碍了用户理解和洞察知识。Breiman等人[2]认为随机森林的性能排名级别是A+,但是可解释性排名级别为F。因此,可解释性为“F级别”的模型无法应用于在对错误预测零容忍或很小程度容忍领域中,比如在医学诊断中,机器学习模型常常被用来帮助医生做决策,当模型预测结果是假阳性或假阴性,这种错误预测方案对患者
随机森林的可解释性可视分析方法研究
杨晔民1,张慧军1,2,张小龙1
1.太原理工大学信息与计算机学院,山西晋中030600
2.山西传媒学院融媒技术学院,山西晋中030619
摘要:由于随机森林算法在很多情况下都以“黑盒”的方式存在,对于用户而言,参数调整,训练甚至最终
构建的模型细节是隐蔽的,这导致了随机森林模型的可解释性非常差,在一定程度上阻碍了该模型在一些诸如医学诊断、司法、安全领域等需要透明化和可解释需求比较高的领域使用。影响该模型可解释性挑战主要来源于特征选择和数据的随机性。同时随机森林包含许多决策树,用户很难理解和比较所有决策树的结构和属性。为了解决上述问题,设计并实现了可视分析系统FORESTVis,该系统包括树视图、部分依赖图、t-SNE投影图、特征视图等多个交互式可视化组件,借助该系统,相关研究人员和从业人员可以直观地了解随机森林的基本结构和工作机制,并协助用户对模型的性能进行评估。使用Kaggle公开数据集上进行案例分析,验证了该方法的可行性和有效性。
关键词:随机森林;可视分析;交互设计;可解释机器学习
文献标志码:A中图分类号:TP391doi:10.3778/j.issn.1002-8331.1911-0185
Research on Interpretable Visual Analysis Method of Random Forest
YANG Yemin1,ZHANG Huijun1,2,ZHANG Xiaolong1
1.College of Information and Computer,Taiyuan University of Technology,Jinzhong,Shanxi030600,China
2.College of Media Technology,Communication University of Shanxi,Jinzhong,Shanxi030619,China
Abstract:Random forests are typically applied in a black-box manner where the details of parameters tuning,training and even the final constructed model are hidden from the users in most cases.It leads to a poor model interpretability, which significantly hinders the model from being used in fields that require transparent and explainable predictions,such as medical diagnostics,justice,and security to some extent.The interpretation challenges stem from the randomicity of feature selection and data.Furthermore,random forests contain many decision trees,it is difficult or even impossible for users to understand and compare the structures and properties of all decision trees.To tackle these issues,an interactive visual analytics system FORESTVis is designed,it includes tree view,partial dependence plots,t-SNE projection,feature view and other interactive visual components.The researchers and practitioners of the model can intuitively understand the basic structures and working mechanism of random forests and assist users in evaluating the performance of models through interactive exploration.Finally,a case study using the Kaggle public dataset shows that the method is feasible and effective. Key words:random forests;visual analysis;interaction design;interpretable machine learning
基金项目:国家自然科学基金(61572344)。
作者简介:杨晔民(1993—),男,硕士研究生,研究领域为可视分析;张慧军(1985—),女,博士
研究生,研究领域为可视分析;张小龙(1969—),通信作者,男,博士,教授,研究领域为信息可视化、可视分析、人机交互等,E-mail:************************。收稿日期:2019-11-14修回日期:2020-01-17文章编号:1002-8331(2021)06-0168-08
来说是致命的。目前有一些机器学习模型可视分析的方法[3],然而对于随机模型,缺少有效的可视分析手段,使得该模型难以理解。对于随机森林模型,目前流行解释模型的方法是特征的全局重要性。Krause等人[4]提出了一个可视分析工作流程,利用“实例级解释”来解释单个实例的局部特征相关性度量,帮助数据科学家和领域专家探索、诊断和理解二分类模型做出决策,但该方法对于特征值的变化如何影响预测结果,特征重要性却不能很好的解释。可解释机器学习模型的另一个重要角度是探索该模型的基本结构和工作机制[5]。对于决策树模型,用户可以通过跟踪根到叶的决策路径来理解基本结构和工作机制,但是随机森林通常包含数百棵独立的决策树,决策路径则更多,用户需要识别更多特定的决策路径,这将是一个非常耗费时间和精力的过程,并且增加了用户认知负担。
为了解决上述问题,本文开发了一个交互式的可视分析系统FORESTVis(如图1所示),帮助用户从不
同的角度理解随机森林模型,提高随机森林的可解释性。本研究将利用部分依赖图来探索特征重要性,解释特征值的变化对预测值的影响,提高随机森林的可解释性。为了支持本研究,本文使用Kaggle竞赛中泰坦尼克号数据集和MINIST手写数字识别数据集进行案例分析,结果表明该系统可以帮助用户有效地理解、优化随机森林模型。
本工作的主要贡献总结如下:
(1)设计了可视化映射、交互和布局算法并实现了可视分析系统FORESTVis,该系统综合了从数据到视觉呈现的映射算法、多个视图的布局算法和交互方法,帮助用户从多个角度理解随机森林的基本结构、工作机制以及预测结果。
(2)通过交互式可视化界面,帮助用户分析训练后随机森林的性能,并且提供实例、随机森林模型特征的详细信息,而这些详细信息对于理解、诊断、优化模型非常有用。
(3)该系统可以由较少机器学习专业知识的领域专家使用,用户只需要通过浏览器访问,就可以连接到该系统。
1相关工作
本章梳理了与该研究相关的一些工作,包括数据实例的理解和异常检测,特征分析,基于树结构的可视
化。
1.1理解数据
理解数据是理解机器学习模型的第一步。在数据工程阶段,数据可视化可以帮助用户探索数据并定性地了解数据的本质。训练模型本质上是从训练数据集中获取知识,很大程度上模型的性能取决于其训练数据集的质量,所以模型开发人员或数据科学家在获取到数据更多知识的情况下,他们可以更好地诊断由于数据的质量或数量问题而导致模型失败的原因。
理解数据主要有三个任务:统计分析、降维和数据集诊断。
统计分析的目的是总结数据集的统计特征,为用户提供统计理解。最具影响力的可视化设计之一是盒须图,它总结了每个特征的关键统计数据,Potter等人[6]提出了关于盒须图的可视化设计。然而,
机器学习模型的
注:Ⓐ设置视图;Ⓑ性能视图;Ⓒ特征重要性视图;Ⓓ部分依赖图(pdp);Ⓔ数据总览视图;Ⓕ数据表,展示数据实例;Ⓖ决策树散点视图;Ⓗ树视图;ⓐ数据实例;ⓑ节点链路之间宽度
图1FORESTVis系统界面示意图
数据集变得越来越复杂,维度越来越高,浏览数百个盒须图并不能完全理解数据集,所以需要降维来理解数据在输入空间中的分布方式。投影是最常用的降维技术之一,可视化的作用是呈现降维的结果,比如使用多维缩放(MDS)将时序数据投影到2D平面上的Time-Curves[7],在渐进式可视分析(Progressive Visual Analytics)范式中t-分布随机邻域嵌入(t-SNE)的应用[8]、流行学习、主成分分析(PCA)[9]等等。
1.2特征分析
特征选择在机器学习和数据挖掘场景中是非常有用的,它是通过计算特征重要性来筛选有效的特征,即为每个特征分配一个数值来表示对预测结果的影响。
目前评估特征重要性的方法主要有平均精确率减少(MDA)、Boruta、平均不纯度减少(MDI)等。MDA是通过打乱每个特征的特征值顺序,来度量顺序变动对模型的精确率的影响,利用袋外数据错误率来计算特征重要性,而且它适用于任何模型。Boruta是一个“相关”的特征选择算法,检查比随机噪声重要的特征,重复删除比最佳特征差的特征来寻所有对预测结果有用的特征。
MDI[10]专门用于基于树结构模型,比如决策树、随机森林等,它表示每个特征对误差的平均减少程度。在树结构中,分裂准则的改进是对分裂变量的重要度量,每次分裂都是针对一个可以使误差最小化的特征(分裂点),误差可以通过计算均方误差、基尼纯度、信息增益等等获得。MDA、MDI、Boruta都可以用于计算特征重要性和预测细节。但是,MDI在随机森林模型中更受欢迎[10]。然而特征重要性无法显示特征值的变化对预测结果的影响,Krause等人[11]使用部分依赖图来探索“黑盒”模型,解释模型特征值的变化和预测值之间的关系。
1.3基于树结构的可视化
本节将着重回顾决策树的可视化。对于决策树的可视化,PaintingClass[12]使用冰柱图来揭示以感兴趣的节点为中心的局部树结构。构建决策树通常是一个试错过程,需要设置参数、运行算法、评估性能,当用户不了解算法内部工作机制,而且对性能不满意时,需要调整参数,算法再次运行,重复该过程直到用户对构建的决策树满意为止,这非常耗时。人类的模式识别能力可用于提高决策树构建的有效性,用户的积极参与可以帮用户更深入地了解决策树,所以Baobab View[13]使用节点链接树图和辅助混淆矩阵交互式的显示特征,并且支持交互式的构建和分析决策树。Tree POD[14]通过探索树构造算法的参数进行采样而生成大量候选树,通过定量和定性方面的可视化提供了对树特征的全面概述,使用基于像素形式(pixel-based)的矩形树图(TreeMap)来帮助用户评估决策树的复杂性和性能,在两个目标之间进行权衡时,Tree POD通过关注帕累托最优(Pareto-optimal)树候选集来提供有效的指导。虽然目
前决策树的可视分析系统都是有效的,但不是专门针对随机森林设计的,因为随机森林包含数百棵决策树,随机森林工作机制中决策路径的结构和属性很难理解,故Zhao等人[15]设计了iForest工具,它用来可视化特定预测中的决策路径,但是该系统缺陷是对历史数据进行离线预训练和批量计算,不能在线分析随机森林,并且只针对二分类,缺乏多类别、多标签的研究。Munzner等人[16]提出了新颖的焦点+上下文(Focus+Context)交互技术来可视化有限区域中的树结构,保证树结构的可见性。
总之,由于随机森林的复杂性,目前随机森林算法的可视分析研究相对较少,并且缺乏对随机森林算法全面的分析,可扩展性也较差,不适用于多类别、多标签数据集。本研究是为了增强随机森林模型的可解释性。
2整体架构
FORESTVis系统是基于Flask和D3.js[17]搭建的Web 可视化应用,系统采用B/S模式,服务器端软件使用Apache,实验中将D3和数据文件部署于Apache服务器端,客户端选用的浏览器是Chrome。用户只需要通过浏览器访问,就可以连接到该系统,并实时链接数据库。如图2所示,FORESTVis系统共4个模块,分别为数据处理及算法模块、数据存储模块、可视化及交互模块。数据处理及算法模块是对数据进行清洗、统计、并加载随机森林算法,并将结果传递到前端可视化模块;数据存储模块负责存储和检索;可视化模块负责向用户提供全面的视觉总结;交互模块支持用户交互式的分析;用户将通过算法的部分结果通过交互传递到数据存储模块。
3可视化任务分析
本文设计了FORESTVis可视分析系统来帮助随机森林模型的研究人员和从业人员更好地理解该模型及其预测结果。通过观察和采访使用Weka等随机森林模型的人员,确定了需求分析,根据需求开发了系统。FORESTVis是在一个学期内与几个用户协商设计的,他们希望通过可视分析可以更好地理解随机森林模型。与用户的讨论后,希望达到以下分析目标:(1)能够解释特征和预测之间的关系(T1)。用户需要了解模型的输入和模型的输出预测之间的关系是什么。这有助于用户理解随机森林模型的特征。例如,用户想知道哪些特征对于模型的学习是重要的,以及对预测的影响。而特征重要性可以反映出特征对预测结果用户
数据处理模块
清洗
分类
统计
交互模块
数据处理与存储
数据存取与反馈
数据存储模块
可视化模块
图2FORESTVis系统概念图
的影响,但是不足以揭示特征值和预测值之间的相关性,用户可能想了解特征值的变化对预测的影响是什么。故本文编码了部分依赖信息,映射了特征变化对预测的影响,同时可以帮助用户进行特征选择,删除不必要的特征。
(2)能够检查决策路径的结构(T2)。随机森林通常包含数百棵决策树,决策路径则更多。决策路径结构包括特征分裂点以及分裂阈值、路径的特征顺序、路径长度等,用过可视化决策路径可以帮助用户理解随机森林底层的工作机制。
(3)能够探索参数的影响(T3)。用户想要探索参数对随机森林的影响。他们希望通过系统直接比较不同的参数对随机森林的影响,他们不仅关心随机森林的性能指标,也关注随机森林的细节。通过尝试可视化不同参数的性能,到随机森林模型更优的参数。
(4)能够检查模型性能(T4)。所有用户想知道随机森林模型的性能,与用户讨论后,他们认为性能指标可以为他们提供对模型的整体评估,这对于理解模型有很大的帮助。
(5)能够检查训练数据集的分布和检测异常值(T5)。用户想从训练数据集(簇)的分布可以到数据噪声,协助用户到相应的数据实例,这对数据的理解和模型性能的改进有很大的帮助。
(6)能够交互式地探索模型(T6)。用户可以交互式探索模型,比如通过探索决策路径来理解随机森林的工作机制,通过探索参数的变化来评估性能,通过探索训练数据集的分布检测异常值等等。
4可视化及交互设计
本文设计并实现了随机森林模型可视分析方法,包
括设置视图、性能视图、特征视图、数据总览视图、树视图、散点图等。
4.1设置视图
设置视图提供控制随机森林模型的参数,本系统选
择了三个主要参数来探索模型,可以帮助用户探索不同的参数对模型性能的影响(T1)。界面左上角为用户提供了选择数据集的下拉框,以便用户从后台提取数据,选择分析对象,用户不需要在集成开发环境和可视化界面之间切换,可以直接比较不同模型参数设置对预测结果的影响。单击RUN 按钮时,如图3所示,模型开始训练,数据将传输到可视化组件,实时创建不同的视图。
4.2性能视图
FORESTVis 系统使用性能视图评估模型。模型的
性能是专家关注的焦点,如图4所示,工具使用混淆矩阵来可视化性能,该指标可帮助用户快速了解模型性能(T4)。其中混淆矩阵的列表示预测类别,而行表示实际类别,它提供了一种非常方便的方法来比较预测标签与实际标签,机器学习研究人员和从业人员可以很容易地理解这些标签,视图下面显示了训练集和测试集的AUC 值。
4.3特征视图
如图5所示,特征视图由直方图和部分依赖图组
成,用于探索特征与预测结果的关系。随机森林模型是反映输入特征和输出预测的映射关系,所以探索特征与预测结果的关系可以帮助用户分析模型如何从训练数据集学习,从而更好地理解随机森林模型(T1)。图5上面的图表示MNIST 手写数据集中数字5类别的特征重要性,可以帮助用户了解哪些特征对于模型是重要的,其中标注(a )处可以将特征重要性按升序或者降序排列。图5下面的图是特征F28的部分依赖图,使用折线图表示部分依赖图,它显示的是一个或两个特征对模型预测结果的边际效应,即模型预测与“目标特征”之间的依赖关系,它是一种“事后可解释性”(post-hoc interpre-table )方法,虽然没有阐明预测模型运作的内部机制,但是显示了模型在响应输入变化时的行为方式,
可以帮助
图3
设置视图图4
性能视图
图5特征视图
数据科学家识别模型的缺陷,并向利益相关者解释他们
的模型,比如信用卡申请者和医疗患者等。在部分依赖图中(pdp ),x 轴表示目标特征值,当保持所有其他特征值不变时,y 轴表示模型预测的平均值。对于部分依赖信息,令特征x ={x 1,x 2,⋯,x p },随机森林模型预测函数为f (x ),z s 为用户感兴趣的特征,
z c 为z s 的补集(x -{z s }),那么z s 的部分依赖函数定义为:
f x S =E x C [f (x S ,x C )]=∫f (x S ,x C )d P (x C )(1)f s (z s )=E [f (z s ,z c )]=∫f (z s ,z c )p c (z c )d z c (2)p c (z c )=∫p (x )d z s
(3)
p c (z c )为z c 边缘概率密度。
实际上,不可能对z c 的所有可能值进行积分,因此通常将上述公式估计为:
f
ˉs (z s )=1n ∑i =1
n
f (z s ,z i,c )(4)
其中,
z i,c (i =1,2,⋯,n )是z c 在训练样本中的值。4.4数据总览视图
数据总览视图主要由散点图、数据表构成,反映数据样本集和异常值情况。对于多维数据的可视化通常使用平行坐标图或者降维技术,但是对于高维度数据集使用平行坐标图时空间占有率太大,容易引起视觉混淆,而降维方法可以展示训练数据集良好可扩展性。为了观察高维数据向量在特征空间的分布情况,希望能把高维数据投影到二维空间上,直观地理解数据的结构,并通过视觉直观验证效果。选择使用t-SNE 算法将高维特征向量投影到二维平面上,形成散点图。如图6上面散点图中每个点代表一个数据实例,颜代表数据类别。
同时该散点图也支持缩放和平移技术,帮助用户专
注于视图的特定区域,将鼠标放在所选散点图上,将展示这个数据实例的图像,而且用户可以通过双击散点图来删除数据实例。如图6的下图为一个数据表,可以允许用户浏览整个训练数据集,由于性能和数据实例已经被证明是不可分离的,所以通过数据表允许用户查看某条数据实例的异常情况(T5)。当特征数量增加时,用户可以使用滚动条检查它们,不会限制数据集中的总特征数量。
4.5树视图
随机森林由很多决策树构成,为了直观地可视化决
策树结构,FORESTVis 系统使用节点链接图来表示决策树结构,因为它具有直观性而且用户对它很熟悉。但是,当决策树的深度较大,导致没有足够的空间来表示固定区域的所有节点,因此使用焦点+上下文技术,允许用户拖动、缩放、平移、折叠树。如图7所示,节点之间链路的宽度用于表示该分支的数据实例的数量,当选定实例时,其他实例路径为灰,图7右侧则显示决策的路径。决策路径结构可以帮助用户更好地理解随机森林模型底层的工作机制(T2)。本系统采用基于像素的可视化技术来编码预测类别,每一个决策路径将会输出一个类别。
4.6决策树散点视图
FORESTVis 系统提供决策路径引导用户探索随机森林的基本结构和工作机制。随机森林通常包含数百棵独立的决策树,决策路径则更多,用户需要识别更多特定的决策路径。如果可视化每棵树,空间占有率太大,容易引起视觉混淆。故将利用每棵决策树的相似性采用t-SNE 投影,如图8所示,将决策树投影到二维平面上,散点图中每个点代表一棵决策树。t-分布随机邻域嵌入是一种非线性降维算法,适用于高维数据降到2维或者3维,并进行可视化。
可视化步骤如下:
首先通过将数据点之间的高维欧氏距离转换为表示相似性的条件概率,条件概率p j |i 定义为:
p j |i =
exp(- x j -x i 2
/2σi 2)
∑k ≠i
exp(- x k -x i 2
/2σi 2
)
(1
)
图6
数据实例总览视图
图7树视图
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论