标准化多维代价敏感决策树的集成分类器构建方法与流程

文档序号:11063711阅读:244来源:国知局
标准化多维代价敏感决策树的集成分类器构建方法与制造工艺

本发明涉及机器学习、人工智能以及数据挖掘领域,具体涉及一种标准化多维代价敏感决策树的集成分类器构建方法。



背景技术:

决策树研究是数据挖掘和机器学习中的一项重要和积极的研究课题。其所提出的算法被广泛地和成功地应用于实际问题中,如ID3,CART和C4.5,此类经典学习算法主要是研究准确率的问题,能够得到更高准确性的决策树。在现有的算法中,其大多数都只倾向于考虑测试代价和误分类错误代价中的一种,此类算法称为一维尺度代价敏感,其构建的决策树在现实案例中不能够解决综合问题。在代价敏感学习中除了考虑测试代价和误分类代价对分类的影响,还需考虑待时间代价对分类预测的影响,例如,患者可能存在测试代价约束,也有可能存在等待时间上的约束,根据不同类别需求人所具备的自身资源不同,所需的时间长短也不同,考虑各种代价单位机制不同的问题,另外在构建决策树过程中,采用先剪枝技术来解决决策树中过拟合问题。

由于单一的分类器有着结果不稳定的缺点,而集成学习通过训练集分类器的多个版本来解决这一个问题,因此通常能得到结果比单个分类器具有更强的泛化能力。为解决上述需求,基于在之前一种标准化的多维尺度异构代价敏感决策树构建方法基础上,本发明提出标准化多维代价敏感决策树的集成分类器构建方法。



技术实现要素:

针对于解决单一的分类器有着结果不稳定的缺点,提供一种标准化多维代价敏感决策树的集成分类器构建方法。

为解决上述问题,本发明是通过以下技术方案实现的:

标准化多维代价敏感决策树的集成学习方法,包括如下步骤:

步骤一:设原始训练集中有D个样本,原始训练集属性特征个数为n,F为分类器个数,T为测试数据集。

步骤二:根据装袋法从D中随机出训练子集Dj,从属性特征个数n中提取出属性特征子集个数nj

步骤三:由子集(Dj,nj)利用目标函数f(Si)作为属性选择因子来构建基分类器Ci,即构建一个标准化多维代价敏感决策树。

步骤四:重复步骤2和步骤3,建立一个集成分类器。

步骤五:测试集中数据x∈T,通过集成分类器中每棵决策树和运行记录的预测值,根据投票预测结果,得票最多的预测类作为此测试数据的最终类标号。

本发明有益效果是:

1、考虑了信息增益因素,构建的决策树有更好分类准确度,加强了分类能力,避免了当类中有稀有类时,把它当做普通类进行分类。

2、考虑了多种代价影响因子和决策树分支当中生成了空节点,若未知事物分类结果不符合当前模型,则可以通过空节点继续进行下一步分类操作,此构建的决策树模型应用范围要更广,更符合实际的需求。

3、在决策树构建过程中,标准化总测试代价可以更有效避免了分裂属性信息存在因过小而被忽略的风险。

4、建树过程中,对总测试代价和误分类代价标准化,可以更好的把各代价不同单位机制转化为同一单位机制,形成的决策树具有高的分类精度和降低误分类代价、测试代价以及待时间代价。

5、利用先剪支技术对决策树进行剪支提高了分类学习的速率。

6、构成的决策树更好的规避了信息偏置为数量级大的问题。

7、构成的集成分类器分类精度比单个分类器分类精度高很多。

8、构成的集成分类器泛化能力比单个分类器更强。

附图说明

图1为标准化多维代价敏感决策树的集成学习方法流程图

图2为一种标准化的多维尺度异构代价敏感决策树构建方法

具体实施方式

为解决单一的分类器有着结果不稳定的缺点,更好的提高分类精度问题,结合图1-图2对本发明进行了详细说明,其具体实施步骤如下:

步骤一:设原始训练集中有D个样本,原始训练集属性特征个数为n,F为基分类器个数,T为测试数据集。

F为基分类器个数,其具体设定公式为:

F=1/2lnD

步骤二:从D中随机出训练子集Dj,从属性特征个数n中提取出属性特征子集个数nj。其具体原理如下:

第一,从D中随机出训练子集Dj具体描述为:从原数据集D中有放回的随机抽样N个样本更换原来的N。有些样本被抽中一次以上,以及有些样本一次都不被选中。这种抽样法大约有2/3的样本个数将被选中。

第二,从原始属性特征个数n中提取出属性特征子集个数nj具体方法为:先把原始属性特征根据信息量进行排列,设置一个划分点H,在属性范围(S1,SH)为高再从中选出nj个属性特征作为基分类器的分裂属性。

根据信息属性值对原始属性特征n进行排序,其具体计算式如下:

上式P(S1,2,…,n)分别为属性(S1,S2,…,Sn)所对应的信息属性值,Sij代表第i个属性的第j类属性值,Eij为第i个属性的所有属性值的均值。

根据P(S1,2,…,n)的值从大到小对原始属性特征n进行排序,对排序后的属性n用H进行划分,即临界属性SH的确定。

临界属性SH的确定具体判定条件为:

P(SH)=2/5max[P(S1,2,…,n)]=2/5max{∑ij[2ln(Sij-Eij))-lnEij]}

步骤三:由子集(Dj,nj)利用目标函数f(Si)作为属性选择因子来构建基分类器Ci,即构建一个标准化多维代价敏感决策树。

构建单一决策树(基分类器—标准化多维代价敏感决策树)的算法具体步骤如下所示:

步骤1:设训练集中有Dj个样本,属性个数为nj,即这里下面令同时分裂属性对应了m个类L,其中Lr∈(L1,L2…,Lm),r∈(1,2…,m)。相关领域用户设定好误分类代价矩阵C、属性Si测试代价为costi、资源调节因子∝、wc(Si)—相对等待时间代价值,修正系数β,判定条件阈值p、α以及γ,

1)上述步骤1中所述的误分类代价矩阵C具体设定过程如下:

相关领域用户误分类代价矩阵C的设定:

类别标识个数为m,则该数据的代价矩阵m×m方阵是:

其中cij表示第j类数据分为第i类的代价,如果i=j为正确分类,则cij=0,否则为错误分类cij≠0,其值由相关领域用户给定,这里i,j∈(1,2,…,m)

步骤2:创建根节点G。

步骤3:如果训练数据集为空,则返回节点G并标记失败。

步骤4:如果训练数据集中所有记录都属于同一类别,则该类型标记节点G。

步骤5:如果候选属性为空,则返回G为叶子结点,标记为训练数据集中最普通的类。

步骤6:根据属性Si的目标函数f(Si)从候选属性中选择splitSi

目标函数f(Si):averagegain(Si)为平均信息增益函数,(ZTC(Si))normal为标准化总测试代价函数,Rmc(Si)normal为标准化误分类代价比率函数,。

当选择属性splitSi满足目标函数f(Si)越大,则找到标记节点G。

2)上述步骤6求解目标函数f(Si),需要先求解平均信息增益函数averagegain(Si),标准化总测试代价函数(ZTC(Si))normal,标准化误分类代价比率函数Rmc(Si)normal,具体求解过程如下:

2.1)计算平均信息增益函数averagegain(Si)的具体过程如下:

信息增益函数gain(Si):gain(Si)=E(X)-E(Si)

上式E(X)为整个训练集的信息熵,E(Si)为属性Si所对应的信息熵;

上式表示为类Lr的个数,为训练集对应类Lr的概率,类的个数总共为m个。

上式k为属性Si所对应属性值的个数,ni为对应属性值为i的样本数,β为修正系数。

β这里为了避免在构建决策树中存在分类偏置的问题,即偏置到数量级更大的类问题。

所以

最后求得的averagegain(Si)—平均信息增益函数为如下所式:

averagegain(Si)作用:可以提高决策树的分类精度,解决决策树偏置问题。

2.2)计算标准化总测试代价函数(ZTC(Si))normal具体过程如下:

2.2.1)先求解总测试代价函数ZTC(Si),其表达式为:

以下具体介绍相对等待时间代价wc(Si):

等待时间代价与时间有关,即我们可以用数值来描述这些时间敏感代价,如

果结果可以马上得到,等待时间代价为0;如果结果要几天,就由相应专家确定一个数值。另外规定,如果一定要这个测试结果出来才能进行下一个测试,即使等待的时间不多,如半天或一天,都把这个等待时间代价设为一个很大的常数,即m→∞。

等待时间同时还和当地资源有关,同时考虑时间代价和资源约束代价。

上式∝是个调节因子,不同资源∝不同,资源越多∝越大,反之也成立。

2.2.2)再求解标准化总测试代价函数(ZTC(Si))normal,具体求解步骤如下:

这里

上式中属性个数为n,为测试代价成本最大值,max[wc(S1,2,…,n)]代表相对等待时间最大值。

所以

(ZTC(Si))normal的作用:避免属性信息过小而被忽略的风险,另外把不同单位量化为同一单位。

2.3)求解标准化误分类代价比率函数Rmc(Si)normal具体过程如下:

标准化误分类代价比率函数Rmc(Si)normal的表达式为:

上式i∈(1,2,…,n),Emc(Si,La)为属性Si误分为类La的误分类代价期望值,max(Emc(S1,La),Emc(S2,La)…,Emc(Sn,La))为训练集中属性误分类代价期望的最大值。

先求解属性Si的误分类代价期望值Emc(Si,La),i∈(1,2,…,n),其具体计算过程如下:

如果对事例预测的类标签La与真实类标签Lb相同,则分类正确,此时的误分类代价C(La,Lb)=0,如果La≠Lb,则C(La,Lb)≠0。在分类过程中,通常不知道事例的实际标签,所以这里用误分类代价的期望Emc来代替误分类代价的值,即,把一个事例的类标签预测为La的误分类代价的期望为:

其中,L为数据集中所有类标签集合,p(Lb/Si)为当前选择属性Si中含有类Lb的概率,C(La,Lb)为把类Lb误分为类La的代价花费。

综上所述,即标准化误分类代价比率函数Rmc(Si)normal

Rmc(Si)normal的作用:不同单位代价统一

当出现目标函数f(Si)相等时,为打破平局标准,则按照下面的优先顺序再进行选择:

(1)更小的Rmc(Si)normal

(2)更小的(ZTC(Si))normal

步骤7:标记结点G为属性splitS。

步骤8:由结点延伸出满足条件为splitS=splitSi分支,同时利用先剪支技术对叶子节点进行剪支操作,一边建树一边剪支,如果满足以下两条件之一,就停止建树。

8.1这里假设Yi为训练数据集中splitS=splitSi的样本集合,如果Yi为空,加上一个叶子结点,标记为训练数据集中最普通的类。

8.2此结点中所有例子属于同一类。

3)上述步骤8所述的先剪支技术,其判定条件顺序具体如下:

(1)

(2)Rmc(Si)normal<α

(3)(ZTC(Si))normal<γ

为一个叶子节点类Lr的样本数,X为训练集总体样本数,p为用户基于训练集的样本个数百分比的最小值设定的一个适当的阈值。剪支条件首先要达到用户指定条件,即所占的类达到最小阈值p,再是标准化误分类代价比率函数Rmc(Si)normal达到用户设定的最小值阈值α,最后考虑标准化总测试代价函数(ZTC(Si))normal达到用户指定的做小阈值γ。

这个剪枝条件更严谨,构成的决策树可以更有效的预防过渡拟合的问题。

步骤9:非8.1与8.2中情况,则递归调用步骤6至步骤8。

单一决策树构建完成。

步骤四:重复步骤二和步骤三,建立一个集成分类器,当满足以下条件,即停止构建单个决策树。

假设t为基分类器初始个数,即初始t=0,完成一次步骤二和步骤三,即实行t++操作,当满足t=F时,停止重复步骤二和步骤三的操作。

步骤五:测试集中数据x∈T,通过集成分类器中每棵决策树和运行记录的预测值,根据投票预测结果,得票最多的预测类作为此测试数据的最终类标号。

投票预测:C*(x)=MAXvote(C1(x),C2(x),…,CF(x))

这里C*(x)为测试集数据x对应的类标号,C1(x),C2(x),…,CF(x)为各基分类器分别对测试集数据x预测的类标号。

选取类标号个数的最大值作为测试集数据x对应的类标号。

投票预测C*(x)具体公式为:

根据此判断出的最大值即为此测试数据对应的类。

标准化多维代价敏感决策树的集成分类器,其伪代码计算过程如下:

输入:D个原始训练集,原始训练集属性特征个数为n,基分类器个数F以及T为测试数据集。

输出:标准化多维代价敏感决策树的集成分类器。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1