技术领域
[0001] 本
发明涉及一种基于SVM-RF的决策规则提取及约简方法,属于计算机科学与信息技术领域。
背景技术
[0002] 规则提取是用可理解的规则集来补充说明黑匣子模型卓越的性能,将模型中隐藏的逻辑规则以一种易于人类理解的方式表达出来。目前的科学研究中,许多基于
机器学习方法构建的决策分类模型被称为黑匣子,即向用户隐藏其内部逻辑的系统。虽然此类模型具有较高的性能,但由于在实际生活中使用内部逻辑机制并不明确的决策模型时,将会造成道德问题和问责机制不明确问题,而导致无法在实际生活中运用。因此实现此类模型的规则提取以增强可解释性已经成为迫切的问题。
[0003]
支持向量机(SVM)是一个间隔最大化分类器,是机器学习方法中一种高效的分类模型。其目标是找到一个可以分离不同类别样本的分类
超平面,超平面能够满足最大化分类间距,并用
训练数据的子集表示决策边界,此类子集称为支持向量(SVs)。同时,将超平面搜寻转化为凸优化问题,记为:
[0004]
[0005]
[0006] 其中参数W,b用于计算分类模型中的样本与分类边界的距离;ξi是松弛变量,将硬区间最大化转换为软区间最大化;C是惩罚因子,用以权衡决策边界和样本偏差避免模型过拟合或欠拟合; 用于将输入空间映射到高维空间,通常使用径向基函数(RBF)。
[0007] 然而SVM由于其分类规则并不明确而被视为黑匣子,导致其无法实际用于支持决策系统。因此需要进行规则提取,挖掘此模型中隐含的知识。
[0008] 目前基于SVM的规则提取方法可以分为三类:分解法,教学法和折中法。分解方法是通过超矩形或超椭圆体构造规则区域,但此类方法不适用于高维特征下的SVM的提取。教学法往往忽略了决策边界或决策向量提供的信息,导致生成的规则太多。常见的折衷法是SVM-DT和SVM-RF,通过将SVM与
决策树相结合,利用决策树将对象的属性或特征线性化为一组决策规则的优点,从SVM的支持向量集中提取出规则。此类方法被认为是易于理解和可解释的。其中决策树越多代表规则越多。但是SVM-DT是将SVM与决策树相结合,但由于仅用单一决策树,容易产生过拟合的问题,其准确率和泛化能
力都不如SVM-RF。SVM-RF是将SVM与
随机森林相结合,能够产生多项独立学习的决策树,但容易出现产生规则过多的问题,降低模型的可解释性。而且实际上,基于SVM-RF解决复杂问题会导致提取的规则过大且存储成本过高。
[0009] 但是经过实验观察得知虽然随机森林确定了数百棵决策树,但其中许多树木通常只有少数
节点不同。此外一些树仅在拓扑结构上有所不同,但却使用相同的特征空间。因此本发明基于此理论依据,针对SVM-RF产生规则过多的问题,同时兼顾判别能力,提出一种基于SVM-RF的规则提取及约简的方法。
发明内容
[0010] 本发明目的是为增强SVM-RF模型的可解释性并提高其实用性,同时兼顾模型的判别能力,提出一种基于SVM-RF的规则生成及约简的方法。
[0011] 本发明的设计原理为:将数据通过SVM和再生树实现最具信息量的数据生成,并使用随机森林(RF)生成大量决策树后进行规则提取和约简。在规则约简过程中,本发明在规则生成过程中通过生成最具信息量数据缩减训练数据集,以减少决策树生成,在规则约简过程中引入两类相似度度量准则并平衡性地进行树与树间的相似度计算,因此能够在兼顾判别能力的
基础上,将规则数量降低至人们可理解的范围。首先将获得的最具信息量的数据放入随机森林进行训练,获得大量决策树;然后进行
剪枝将层数和终端节点数控制在设定范围内;接着计算决策树两两之间的终端节点的相似性和决策性能的相似度,引入平衡因子将两者的平衡性结合,设定
阈值将相似度高的决策树进行约简;最后不断地更新决策树集直至不能够对决策树进行约简。具体实现过程见图1。
[0012] 本发明的技术方案是通过如下步骤实现的:
[0013] 步骤1,使用数据训练SVM模型,获取支持向量;
[0014] 步骤2,使用支持向量生成最具信息量数据集,此类数据既能具有多样性又能保留特征之间的相关性,具体实现方法为:
[0015] 步骤2.1,设定生成最具信息量数据的数量为N,特征数为K,生成数据的数量可根据应用场景而定,然后设定运行中的阈值α,随机选取N个步骤1中获得的支持向量集并转化为矩阵的形式;
[0016] 步骤2.2,生成第i个数据时,其中i∈[1,N],顺序生成K个特征;
[0017] 步骤2.3,生成数据i的第j个特征时,先随机获得一个0至1之间的数值,然后判断与阈值的大小,若大于等于阈值则特征j为支持向量i的第j个特征,反之则生成1至N的整数T,特征j为支持向量T的第j个特征;
[0018] 步骤2.4,将生成的数据通过步骤1中的SVM获得判断结果,并作为其标签;
[0019] 步骤2.5,重复步骤2.2,2.3和2.4,循环生成N个最具信息量数据;
[0020] 步骤3,使用新生成的最具信息量数据集训练随机森林模型,生成多项决策树;
[0021] 步骤4,利用权衡因子融合两项决策树相似度,对决策树集进行约简,具体实现方法为:
[0022] 步骤4.1,设置决策树的层数和终端节点范围,在兼顾高准确率的前提下对决策树的层数和终端节点进行约简,约简决策树的层数和键值对;
[0023] 步骤4.2,设置权衡因子θ和阈值β,其中θ∈(0,1),然后计算决策树两两之间的终端节点相似度和决策性能相似度,使用权衡因子θ将两者结合起来获得总的相似度,将总相似度低于阈值β的决策树约简至一棵;
[0024] 步骤4.2,重复循环4.2,直到不能进行约简或达到最大循环次数;
[0025] 步骤5,使用决策
树遍历的方法,扫描全部决策树进行规则提取。
[0026] 有益效果
[0027] 相对于一般的规则约简方法,本发明采用再生树方法生成最具信息量数据,兼顾规则提取
质量的前提下减少规则数量生成,然后通过引入权衡因子θ,融合终端节点相似度和决策性能相似度,将相似的决策树进行最大程度约简,在兼顾准确率的前提下将规则数目约简至人们可理解的范围,并发现数据中隐含的规律。
[0028] 与SVM-RF相比,本发明能够大幅度的提取并减少规则数量;与同类的特征提取与约简方法相比,本发明采用的方法能够兼顾准确率,其规则更少,有利于挖掘数据隐含的规律。
附图说明
[0029] 图1为本发明的基于SVM-RF的决策规则提取及约简方法
具体实施方式
[0030] 为了更好的说明本发明的目的和优点,下面结合附图和
实施例对本发明方法的实施方式做进一步详细说明。
[0031] 具体流程为:
[0032] 假设一个分类问题将数据分为(A,B,C)三类,需要挖掘SVM-RF模型中的隐藏规则,以人类可理解的范围进行提取并约简。记数据集为D0,其样本数量为n0,特征数为k,样本形式为 i∈(0,n0),其中xi为第i个数据的特征向量,即xi=(xi1,xi2…xij...xik),j∈[1,k],xij为第i个数据的第j个特征。yi为第i个数据的标签,为(A,B,C)三类中的某一类。
[0033] 步骤1,使用数据集D对SVM模型进行训练,从SVM中提取出能够表征决策边界的数据子集,此子集称为支持向量,记子集为D1,数据量为n1。
[0034] 步骤2,使用此数据子集生成数量更少但质量更高的最具信息量数据,记为D2,样本形式为 具体实现步骤为:
[0035] 步骤2.1,设定生成最具信息量数据为n2,其中n1>n2,这里设置为n1的1/2。设定阈值α0,此设为0.5。从特征子集中随机挑选n2个数据合成为矩阵的形式,其中每一行为一条数据,每一列为对应的特征。之后按步骤2.2顺序生成数据
[0036] 步骤2.2,生成第i个最具信息量数据 时,按步骤2.3所示顺序生成k个特征,记为 将 送入至步骤1训练完成的SVM中,并将获得的结果设定为标签
[0037] 步骤2.3,生成第i个数据的特征j时,即 首先随机获得一个0至1之间的数值αi,然后判断αi与阈值α0的大小,若αi≥α0,则 若αi<α0,则在区间[1,n2]随机一个整数数T,令
[0038] 步骤3,使用新生成的最具信息量数据集D2,训练随机森林模型,获得多项决策树,记集合为M0,数量设为w0,
[0039] 步骤4,计算决策树两两之间的终端节点相似度和决策性能相似度,引入权衡因子θ将两者结合,并设定阈值β,进行决策树的约简,具体实现步骤为:
[0040] 步骤4.1,初步将层数大于6的决策树进行剪枝至6层,将终端结点数目大于6的决策树顺序减去信息熵较小的键值对,将终端节点数控制在6以内,如控制在范围(3,4,5,6)内。
[0041] 步骤4.2,将终端结点数目相同的决策树聚为一类,顺序地在每一类中进行决策树约简。约简为顺序固定一颗决策树,计算与其他决策树的相似度,通过步骤4.3,4.4和4.5获得总相似度,对低于阈值β的决策树进行删除。这里举个例子,固定T1,计算T1和Tj相似度d与设置的阈值β相比较,若低于此阈值将剪掉Tj。更新决策树集,然后固定下一棵决策继续进行决策树约简工作,直至不能进行约简或达到最大循环次数。
[0042] 步骤4.3,计算决策树与其他决策树间的终端结点相似度,公式为:
[0043]
[0044]
[0045] 其中T1和Tj为终端结点树相同的两棵决策树,wk为此类决策树的结点个数。 和为此类中对应的标签。这里举个例子,设T1和Tj的节点都为3,T1的终端结点的标签为(A,B,C),Tj的终端结点的标签为(A,C,C),则其 df越大代表两决策树终端结点相似度越高,越小则相似度越低。
[0046] 步骤4.4,计算决策树两两终端结点相似度后,计算与其他决策树间的决策性能相似度,将数据集D2输入至决策树中,计算其决策性能,公式为:
[0047]
[0048] 其中T1和Tj为终端结点树相同的两棵决策树,n2为数据集D2,Ij(i,k)为终端节点为k的第j棵树的第i条数据的观测值。这里举个例子,设T1和Tj的节点都为3,输入5条数据,在T1中获得预测标签为(A,B,B,C,C),在Tj中获得预测标签为(A,B,B,A,C),即(A,B,B,C,C)与(A,B,B,A,C)仅有1个标签不同,因此 dt越小代表两决策树决策性能相似度越高,越大则相似度越低。
[0049] 步骤4.5,使用权衡因子θ将df与dt相融合,公式如下:
[0050] d(T1,Tj)=θ(1-df)+(1-θ)dt
[0051] 步骤5,使用决策树遍历的方法,扫描全部决策树进行决策规则提取。
[0052] 如上所述,便可较好地实现本发明。
[0053] 本发明通过使用知识蒸馏的方法生成最具信息量数据集,约简随机森林的训练数据树量,然后引入权衡因子融合决策树间终端节点相似度和决策性能相似度,能够实现兼顾决策性能下,以人类可理解的形式对模型隐藏的规则进行提取和约简,是一种能够挖掘SVM-RF隐藏的决策规则的方法,帮助SVM-RF模型在实际应用中推广,起到辅助人类决策的作用。
[0054] 以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何
修改、等同替换、改进等,均应包含在本发明的保护范围之内。