基于资源约束代价敏感决策树构建方法与流程

文档序号:11063706阅读:617来源:国知局
基于资源约束代价敏感决策树构建方法与制造工艺

本发明涉及人工智能、机器学习领域。



背景技术:

在归纳学习技术中如何尽量减少误分类错误是主要焦点,例如CART和C4.5。在归纳问题上误分类不仅是一个错误。近来,研究工作人员已开始考虑了测试代价和误分类代价的问题。前工作人员假设测试代价和误分类代价在归纳过程中代价影响是相同的。在实际事例中,这两种代价影响是不一样的。不仅如此,在实际应用中,任何资源都是有限的,所以解决任何一个实际问题,都要在一定条件约束下完成。如,对于医疗数据进行训练时,通常假设给定一足够大的数据集,但事实上,这些数据往往不是免费而是要通过一定资源来换取,且训练器所能够担负的资源是有限的,也就是存在了资源约束。那么既然这些情况是不可避免,现就如何在资源约束下,获得相对最优的决策树模型。



技术实现要素:

针对资源约束条件下,同时考虑测试代价以及误分类代价影响因子,本发明提出了一种基于资源约束代价敏感决策树构建方法

本发明所采用技术方案:利用EP准则先把训练集多类标识为两类,在TS<ω条件下,再根据选择属性代价增益率为目标函数:这个准则,f越大属性特征越好,则此属性作为结点或是扩展结点。最后形成的决策树,为了避免过度拟合的问题,用后剪支算法优化决策树。

本发明的有益效果是:

1,得到的决策树,测试成本低

2,得到的决策树,误分类代价低

3,在缺失值情况下,也可以得到优化的决策树模型。

4,在资源约束条件下,可以获得更优化的决策树模型。

附图说明

图1基于资源约束代价敏感决策树构建流程图

图2基于EP准则实现的两类结点图

具体实施步骤

为解决资源约束条件下,同时又可以获得更好的测试代价和误分类代价,本发明结合图1-图2对本发明进行详细说明:

步骤1.设训练集中有X个样本,属性个数为n,即n=(s1,s2,…sn),同时分裂属性sr对应了m个类L,其中Li∈(L1,L2…,Lm),r∈(1,2…,n),i∈(1,2…,m)。相关领域用户设定好误分类代价矩阵C,L利用EP准则对类进行处理得到误分类代价矩阵C′。

步骤2:创建根节点G。

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

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

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

步骤6:根据属性S的代价增益率f函数从候选属性中选择splitS。

目标函数f:

w为总误分类代价函数,TS为选择属性S总代价函数,CS为选择属性S资源损耗代价函数。

在TS<ω条件下,当选择属性splitS满足f函数越大时,则找到标记结点G。

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

步骤8:由结点延伸出满足条件为splitS=splitSi分支。

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

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

步骤10:利用后剪支技术解决此决策树模型中过度拟合问题。

后剪支目标函数为总测试代价减少率:

用户自定义一个减少率因子α。

其中,TTC是剪支之前的初始树的总平均测试代价,TTC′为剪支之后的总平均测试代价,当r(TTC)越大直到满足以下条件,我们就实施剪支操作:

r(TTC)>α

其中正数α为用户指定达到的条件,剪枝的条件首先要满足尽可能使代价减损达到用户指定条件,然后满足测试代价降低到用户要求。

步骤11:更新训练数据集,保存新的示例数据。

所述步骤1基于EP准则求解两类节点具体计算过程如下:

1.1误分类代价矩阵C

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

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

1.2EP准则

设训练数据集X,其类有m个,假如判定当前结点的类标号为Li,把Li判定为P例,则其他的就为N例。

其中nj表示该属性中类别为Lj样例个数,i,j∈{1,2,…,m}。cij为P例代价,Σj≠injcij为该结点产生的总P例代价。

同理可得出N例有效代价EP(j)

基于EP的结点类标号判定方法为:

这里我们把m个类用EP准则判定为两类情况,如图2所示。

其中TN代表真正反例,TP代表真正正例,c00与c11为预测正确时产生的代价,此时假设c00、c11都等于1。c01、c10为误分类代价,一般情况下,c10>c01

即得误分类代价矩阵C′为:

所述步骤6求解目标函数,即代价增益率f,需求解总误分类代价函数w、总代价函数TS、资源损耗代价函数CS。具体求解过程如下:

步骤6.1:求解总误分类代价函数w

根据EP准则可以得出训练数据集中总的(P,N)分布值,(P,N)满足P+N=X条件;决策树正例总误分析代价c由相关专家给出,反例总误分析代价为c′,所以:

w=N×c

步骤6.2:总代价函数TS

TS=TC(S)+MC(S)

=[(P1+N1)+(P2+N2)]×c1+(N1×cji+P2×cij)+N0×cji

6.2.1测试代价函数TC(S)

假设当前选择属性S的测试成本为c1,c1由用户根据实际情况估计。把S属性根据类结点划分为三部分,已知值个数(P1,N1)与(P2,N2),未知值(P0,N0)。

属性S的总样例个数为:

total number=(P1+N1)+(P2+N2)+(P0+N0)

则属性S的测试代价函数为:

TC(S)=(P1+N1)+(P2+N2)×c1

上式P1为第1分支正例的个数,N1为第1分支反例的个数;

P2为第2分支正例个数,N2为第2分支反例的个数

6.2.2误分类代价函数MC(S)

假设属性S第一个分支为正例结点,即EP(i)<EP(j);则第二分支则为反例结点,即EP(i)>EP(j),第三分支未知。

从上述指标可以得出误分类代价指标函数:

MC(S)=N1×cji+P2×cij

上式cji为第1分支FP代价,cij为第1分支FN代价。cji和cij由用户根据具体情况来自定义。

6.3资源损耗代价函数CS

CS=[(P1+N1)+(P2+N2)]×c2+(N1×cji′+P2×cij′)+N0×cji

这里c2为预测的资源测试代价,cji′为第2分支FP代价,cij′为第2分支FN代价。c2、cji′、cij′由用户自定义。

所述步骤10后剪支技术:如果取消当前测试属性可以减少决策树模型的测试代价,那么就剪除当前测试结点。如代价复杂性剪枝和最少描述长度剪枝。代价复杂性剪枝在剪枝过程中因子树被叶节点替代而增加的错误分类样本总数称为代价,剪枝后子树减少的叶节点数称为复杂性。最少描述长度剪枝根据决策树的编码代价大小进行剪枝,目标是使得训练样本的大多数数据符合这棵树,把样本中不符合的数据作为例外编码,使得编码决策树所需的比特最小和编码例外实例所需的比特最小。

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