基于序贯三支决策的代价敏感分类方法与流程

文档序号:16137029发布日期:2018-12-01 01:07阅读:510来源:国知局

本发明属于数据挖掘和机器学习技术领域,涉及一种基于序贯三支决策的代价敏感分类方法。

背景技术

代价敏感学习(cost-sensitivelearning)是数据挖掘和机器学习重要研究课题,其主要目的是处理在决策过程中产生的各种代价问题。代价敏感学习问题在现实生活生产中具有普适性,例如:医学诊断、机器人、工业生产过程、通信网络故障诊断等等。根据huntetal的研究,在代价敏感学习研究中主要由两类代价值得关注:决策误分类代价和对象属性的测试代价。turney在归纳概念学习研究中对代价进行了分类,对代价敏感学习研究提供了语境。很多研究表明代价敏感学习在决策过程中是重要的且是必要的。

针对人类的决策认知和规则学习,三支决策(three-waydecisions,3wd)作为一个重要的决策方法论在近十年得到了蓬勃发展。三支决策主要由两个紧密交织的任务构成:三分和三治。三分指的是把论域划分为三个两两不相交的区域(例如:区域ⅰ、区域ⅱ、区域ⅲ);三治指的是针对在三个不同域中的对象采用不同的治理方式(例如:策略ⅰ、策略ⅱ、策略ⅲ)。在不同的研究背景下,很多研究对三分和三治两个任务进行的具体的构造和解释,提出了大量三支决策相关的具体模型和应用。在扩展模型和优化模型上,相关的研究有:决策粗糙集、概率粗糙集、博弈论粗糙集、区间集、模糊区间集、基于三支决策的不完备信息系统、基于统计的三支决策,三支概念格等等。在应用方面,相关的研究有:临床诊断、论文同行评审、政府和投资决策、文本分类、邮件过滤、推荐系统、聚类分析、人脸识别、属性约简等。



技术实现要素:

本发明的目的在于提出针对代价敏感学习的序贯三支决策模型,从而提出基于序贯三支决策的代价敏感分类方法,并验证了序贯三支决策在代价敏感分类问题上的优势。

本发明是通过以下技术方案来实现:

基于序贯三支决策的代价敏感分类方法,包括以下操作:

1)对信息粒化和决策代价之间的关系进行以下定义和描述:

1.1)在s3wd模型中,假设论域是由独立的元素构成,论域空间有n+1,n≥1层粒度,{0,1,2,…,n}索引集合标识n+1层;层序列n到0,标示信息粒从最粗到最细的粒度层;对应粒度层的多个描述存在一个全序关系即:des0(x)是对象x最精细的描述,desn(x)是最粗糙的描述;

针对某一特定层对ui,0≤i-1≤n进行三分,引入评价函数vi(desi(x))和阈值对(αi,βi),对s3wd模型给出定义1和定义2;

1.2)从粒计算角度定义s3wd中的代价函数,对信息粒化进行解释;通过聚集具有相同粒度的信息粒,得到一个系统或问题的整体描述,这些粒的集合构成了一个粒度,构建一个粒度的过程称作对系统或问题在特定层的粒化;

让[x]a表示为信息粒,g(a)为对论域u的划分,其中,a表示为条件属性c的子集;对于决策表,给出决策表的多粒度空间构建和解释定义3和定义4;

1.3)在提出的s3wd模型中,在做出明确的决策前,有一系列的属性测试和延迟决策,对应的代价为测试代价和延迟代价,关于代价函数在不同粒度层之间的变化过程可以标识为两两相邻层之间的可重复的序列操作;

给定一个决策表s,有n+1,n≥1层粒度,在s上的s3wd代价结构定义为定义5;

2)从序决策过程的视角,利用不同粒度层次的代价矩阵构建了代价函数;

在4个不同粒度下三个域的划分情况,以及对应的决策代价,表下所示。

3)为平衡决策结果代价和决策过程代价,提出两个优化问题并给出解释性算法;

决策过程代价和决策过程代价是此消彼长的关系,采用以下两种模型在这两种代价之间寻找一个平衡点;

3.1)最小决策结果代价序贯三支决策模型,决策者设定决策过程代价上限的基础上,在s3wd过程中找到最小决策结果代价的粒度层下的对象划分,通过定义6来划分;

3.2)最小决策过程代价序贯三支决策模型,最小决策过程代价相关粒度层下的对象划分,通过定义7来划分;

运用这两个模型和相应的算法,可在现实生活中平衡两种代价从而做出符合实际的决策。

与现有技术相比,本发明具有以下有益的技术效果:

(1)旨在通过三支决策的驱动、解释和实现,在粒计算(granularcomputing,grc)的概念下,提出了代价敏感序贯三支决策模型。

(2)利用不同属性个数反映对系统不同的描述能力这一特性,构造等价类的集合,实现了对信息系统的粒化,进一步构成了具有序关系的多粒度空间。

(3)研究了序贯三支决策构建多粒度空间过程相关的决策代价,根据信息获取的粒化过程,粒度的粗化--细化原则提出了代价函数;利用代价矩阵,构建了一个合理的代价结构用于评价序贯三支决策,合理地解释了阈值对(α,β)。

(4)在粒度由粗到细的变化过程中,决策结果代价具有非单调下降的特点,而决策过程代价具有单调上升的特点;由此,提出了两个优化问题,优化目标为:由用户设定一种代价上限,最小化另一种代价,对信息系统的对象进行三分。反映了人们在现实生活中对待风险的两种不同态度。

具体实施方式

下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。

1代价敏感序贯三支决策模型

本节主要讨论了粒计算驱使下序贯三支决策的代价敏感方法。首先,从粒计算的概念出发,介绍了序贯三支决策的定义,然后给出了序贯三支决策模型的多粒度空间的构造,最后给出了序贯三支决策中的代价结构,提出代价敏感序贯三支决策模型。

1.1序贯三支决策序贯三支决策(sequentialthree-waydecisions,s3wd)理论作为粒计算概念下的产物,其目标是提供一个灵活的机制和方法,使得用户在信息粒化序列过程中做出合适的决策。由于s3wd过程需要的时间和信息较少,因此,相比3wd而言,s3wd的优势在于决策过程代价小,决策速度快。例如,通过考察一个对象的描述或者相关信息来判断它的真状态。但是,这样的有效信息往往不完整、不明确;条件集合可能是非标准的;关于对象的描述具有二义性。所以需要延迟决策,只有当信息的细节足够支持决策精度的情况下,才能做出一个明确的决策。这样的决策方式是人类认知和决策的基本原则,这也是s3wd模型的基础。

在s3wd模型中,假设论域是由独立的元素构成,论域空间有n+1,n≥1层粒度,{0,1,2,…,n}索引集合标识n+1层。层序列n到0,标示信息粒从最粗到最细的粒度层。如果对象x∈u在每一粒度层下存在一个描述,而对应粒度层的多个描述存在一个全序关系即:des0(x)是对象x最精细的描述,desn(x)是最粗糙的描述。针对某一特定层对ui,0≤i-1≤n进行三分,引入评价函数vi(desi(x))和阈值对(αi,βi)。对s3wd模型给出以下基本定义(包括定义1和2)。

定义1假设论域u有n+1,n≥1层粒度,为从ui到全序集的评价函数,给定一个阈值对(αi,βi∈li)且在特定层i,1≤i≤n上,li可以分为三个两两不相交的域:

其中,是边界域,边界域中的对象均被延迟决策。随着从低层获取更多的细节信息,边界域大小会逐渐减小,对象会从bnd划分到pos和neg。最终,s3wd在第0层实现简单二支决策。

定义2在第0层,l0可以分为两个不相交的域:

其中,阈值γ0∈l0表示两个域是基于该阈值而划分的。

1.2序贯三支决策多粒度空间的构建从粒计算角度定义s3wd中的代价函数,首先需要对信息粒化进行合理解释。信息粒代表一个u的一个对象子集,它描述了一个系统或问题的子部分,而信息粒的粒度表达了其泛化能力或抽象能力。通过聚集具有相同粒度的信息粒,可以得到一个系统或问题的整体描述,这些粒的集合构成了一个粒度,构建一个粒度的过程称作对系统或问题在特定层的粒化。同时,大的粒是由多个小的粒支撑的。

通常使用等价类[x]a来描述一个对象x,通过增加对象属性个数,其对象的描述能力逐渐增强,这样一个从粗糙到精细的粒化过程反映了多粒度的概念和基本方法。通过不同的等价类,以及在此基础上的等价类划分,能够构建s3wd的多粒度空间。

让[x]a表示为信息粒,g(a)为对论域u的划分,其中,a表示为条件属性c的子集。对于决策表,粒化定义如下:

定义3给定一个决策表s=(u,at=c∪d,{va|a∈at},{ia|a∈at}),假设有n+1,n≥1层粒度,在决策表s上的粒化定义为:

其中,g(ai)为某一特定相同粒度的信息粒集合对u的划分,ai,1≤i≤n,是条件属性的子集,且满足条件,

例1给定一个决策表s,如表1所示,可以根据定义3,对决策系统构建一个多粒度空间。

表1决策信息表

表1中共有6个对象,2个决策标签和4个条件属性,从1到4个属性递增方式,在不同属性集合下,构造等价类。让g(ai),0≤i-1≤3为第i层粒度下,信息粒的集合划分。由此可以构造4层粒度空间,例如,假设一种简单的属性个数增加过程为a0={a1},a1={a1,a2},a2={a1,a2,a3},a3={a1,a2,a3,a4},最粗糙的粒度则为g(a0),最精细的粒度为g(a3)。粒化情况如下:

第3层,g(a0)=g({a1})={{x1,x2,x4,x6},{x3,x5}};

第2层,g(a1)=g({a1,a2})={{x1,x2,x6},{x3,x5},{x4}};

第1层,g(a2)=g({a1,a2,a3})={{x1,x2,x6},{x3},{x5},{x4}};

第0层,g(a3)=g({a1,a2,a3,a4})={{x1,x2},{x3},{x5},{x4},{x6}}。

例1中,可以观察到两两相邻的层存在一个偏序关系,且这个偏序关系存在传递性。

定义4给定一个决策表s,有n+1,n≥1层粒度,表示第i层粒化,表示第j层粒化,0≤i-1≤j-1≤n,如果满足以下关系则成立:

其中,p,q分别是粒化下的粒集合。

例1中,g(a0),g(a1),g(a2),g(a3)是构成4层粒度的粒化过程。根据定义4,可以断定g(a0)有两个粒{x1,x2,x4,x6}和{x3,x5},g(a1)有三个粒{x1,x2,x6},{x3,x5}和{x4}。对于在g(a0)中的任意粒q,能够找到一个g(a1)中的粒p,使得例如,{x1,x2,x6}∈{x1,x2,x4,x6}或{x4}∈{x1,x2,x4,x6}。同样地,可以得到因此,很容易证明这样的关系(证明略),故定义4中具有传递性。

对于决策表的多粒度空间构建和解释,定义3和定义4给出了基本语义。而对于s3wd多粒度层的构建和理解正是在此基础上引入代价结构和阈值对而成立的。

1.3序贯三支决策模型代价结构设计在s3wd模型中主要有两种代价,一种是决策结果代价(可看作对象误分类而产生的风险),如表2所示;另一种代价为决策过程代价(可看作描述对象或获得对象属性值而产生的代价)。但在大多数3wd研究中,决策过程代价往往被忽略了。代价结构设计中,决策过程代价是一个关键因素,只有对其给定良好的定义,s3wd在决策方法中的优势才能得以体现。

表2决策结果代价矩阵

在提出的s3wd模型中,在做出明确的决策前,(决策过程中)有一系列的属性测试和延迟决策,对应的代价为测试代价和延迟代价,如表3所示,关于代价函数在不同粒度层之间的变化过程可以标识为两两相邻层之间的可重复的序列操作。

表3决策过程代价向量

定义5给定一个决策表s,有n+1,n≥1层粒度,在s上的s3wd代价结构可定义为:

c义为t=(costr,costp)(5)

其中,costr和costp分别表示决策结果代价和决策过程代价。

假设在s上进行粒化,有一个属性集合序为:a0,a1,…,an;其中,g(ai),0≤i-1≤n表示第n-i层上的信息粒集合,那么,在该层上,对象x的决策结果代价为:

costr=λ(a(x)|g(ai))(6)

信息粒集合g(ai)的决策结果代价为:

其中,g(ai)与定义3中相同,a(x)表示为对象x做出的决策,即ap,an,ab中的某一个,λ∈{λpp,λpn,λbp,λbn,λnp,λnn}。

对象x的决策过程代价为:

costp(x)=(tc(x),dc(x))(8)

其中,tc(x)和dc(x)分别表示属性测试代价和对象延迟代价,其代价函数表示为:

值得注意的是,在一个粒度下,多个信息粒的属性是同时测试的,考虑对象的属性之间是相互独立的,因此可以得到在第i层上,信息粒结集合g(ai)的决策过程代价为(假定s3wd在第n层,即最粗层进行划分时,令):

2代价敏感序贯三支决策模型算例

本节主要通过一个算例演示s3wd的决策过程。代价结构的构建为s3wd模型提供了语义和解释。使得代价敏感s3wd模型具有理论意义和应用场景。

在例1中,g(a0),g(a1),g(a2),g(a3)构成了4层粒度。假设代价函数由表2和表3给定,为了简化计算复杂度,设每一层粒度下的决策结果代价矩阵相同。由此,可计算得到阈值α=0.75,β=0.4。阈值对具体的计算过程在有关决策粗糙集、三支决策的文献中均有详细描述[7-8,11,14],本文不再赘述。现在,根据式(7),计算决策表(如表1所示)每一粒度层下的决策结果代价。

(1)在第3层,对于对象x1,其条件概率为:

因此,根据定义1,同样地,可以对这一层所有对象进行判断,由此,三个域可划分为:

根据式(7):

costr(g(a0))=0×($5×0.5)+4×($1×0.5+$2×0.5)+2×($4×0.5)=$10

(2)在第2层,已划分到域pos和neg的对象不再考察,只需要对第3层bnd中的对象进一步判断,执行在第3层中同样的计算,三个域可划分为:

costr(g(a1))=$6.67

(3)在第1层,三个域可划分为:

costr(g(a2))=$4

(4)在第0层,三个域可划分为:

costr(g(a3))=$4

根据式(11),可以计算每一粒度层下的决策过程代价。

1.在第3层,有1个属性{a1}进行了测试,6个对象进行了判断,因此,costp(g(a0))=($18,12min)。

2.在第2层,有2个属性{a1,a2}进行了测试,4个对象进行了判断,因此,costp(g(a1))=($32,32min)。

3.在第1层,有3个属性{a1,a2,a3}进行了测试,3个对象进行了判定,因此,costp(g(a2))=($36,30min)。

4.在第0层,有4个属性{a1,a2,a3,a4}进行了测试,3个对象进行了判定,因此,costp(g(a3))=($51,30min)。

最终获得在4个不同粒度下三个域的划分情况,以及对应的决策代价,如表4所示。

表4序贯三支决策算例结果

3决策代价

本节在探讨决策结果代价和决策过程代价的关系、各自特点的基础上,提出了两个有优化问题,并对每个优化问题给出了解释性算法。

3.1决策结果代价与决策过程代价从第2节的算例中可以观察到随着粒度的变细,costr总体呈现下降的趋势,但如果进一步分析发现有些属性是可约简的,因此,即使考察了这些属性,仍然不能提高分类精度,至此导致costr具有非单调性,非单调性已经在部分文献中进行了充分证明,本文不再赘述。

而对于costp总体呈现单调增加的趋势,即:costp(g(an))>costp(g(an-1))>…>costp(g(a0))。有两个原因可以解释这一特性:1.测试代价随着属性个数增加而增加。2.延迟代价随着层的增加而累加。

总的来说,决策过程代价和决策过程代价是此消彼长的关系。决策者可以在粗粒度下做出快速决策且决策过程代价小,但决策结果代价大;相反的,决策者可以在细粒度下做出决策,决策结果代价小且分类精度高,但决策过程代价大。因此,在这两种代价之间寻找一个平衡点成为了决策者有效利用s3wd方法的关键。

3.2最小决策结果代价序贯三支决策模型在一些现实应用中,相比决策过程代价,一般更关注决策结果代价,从而避免高风险决策。例如,在疑似癌症患者的诊断过程中,患者在做了x光检查,但检查获得的信息不足以让医生做出判断,为了避免误诊(风险大)患者需要进一步做mri检查,由此导致的决策过程代价增加。

在这种情况下,优化的目标就是最小决策结果代价。一个可行的方法是决策者设定决策过程代价上限的基础上,在s3wd过程中找到最小决策结果代价的粒度层下的对象划分(即,在该层上的3wd)。

定义6给定一个决策表s,有n+1,n≥1层粒度,设定决策过程代价上限是s3wd中,最小决策结果代价相关粒度层下的对象划分,当且仅当满足以下情况成立:

(1)

(2)

其中,g的含义同定义3,分别表示在j,i层上的三支决策,0≤i<j≤n。

算法1最小决策结果代价s3wd算法

输入:决策表s,n+1,n≥1层粒度,代价结构c义为t=(costr,costp),决策过程代价上限

输出:mincostr和相关粒度层下的三个域pos,bnd,neg。

①begin

③i=n+1;un+1=u;

④computethepairofthresholds(α,β);

⑤whileandi>0do

⑥i=i-1;

⑦foreachdo

⑧ifthen

⑨ifthen

⑩bnd=ui-pos-neg;

ui=bnd;

computecostpandcostr;

ifandthen

foreachdo

ifthen

ifthen

computecostr

returncostr,pos,bnd,neg.

3.3最小决策过程代价序贯三支决策模型相对于最小决策结果代价s3wd模型,决策过程代价s3wd模型也有相关的应用场景,由于文章篇幅原因,以下仅给出定义和算法。

定义7给定一个决策表s,有n+1,n≥1层粒度,设定决策结果代价上限是s3wd中,最小决策过程代价相关粒度层下的对象划分,当且仅当满足以下情况成立:

(1)

(2)

其中,g的含义同定义3,分别表示在j,i层上的三支决策,0≤i<j≤n。

算法2最小决策过程代价s3wd算法

输入:决策表s,n+1,n≥1层粒度,代价结构c义为t=(costr,costp),决策结果代价上限

输出:mincostp和相关粒度层下的三个域pos,bnd,neg。

①begin

③i=n+1;un+1=u;

④computethepairofthresholds(α,β);

⑤whileandi>0do

⑥foreachdo

⑦ifthen

⑧ifthen

⑨bnd=ui-pos-neg;

⑩ui=bnd;

i=i-1;

computecostpandcostr;

ifandthen

foreachdo

ifthen

ifthen

computecostp

returncostp,pos,bnd,neg.

3.2和3.3节提出的两个模型反映了决策者决策过程中的两种风险态度和两种决策策略,运用这两个模型和相应的算法,可以在现实生活中平衡两种代价从而做出符合实际的决策。

4实验

选用4个uci数据集运用于算法的验证,假设每个数据集的决策属性为两类且没有缺失值。数据集基本信息以及决策结果代价和决策过程代价设定,如表5所示。

表5uci数据集基本信息和代价上限设定

算法1和2在每个数据集上运行了3000次,用卡方值χ2验证算法的有效性,使用了近似质量评价了分类效果,使用粒度的层数来验证序贯三支决策在分类问题上的有效性。使用了matlabr2016a作为算法实现的平台。实验统计结果如表6所示。

表6卡方、近似质量和粒度层数的平均值以及标准差

本发明从粒计算的角度考察了代价敏感学习和s3wd过程,提出了s3wd下的代价敏感分类模型和分类方法。讨论了s3wd模型中的两类代价以及之间的关系,在此基础上提出了两个优化问题并提出了相关的算法。理论和实验结果分析表明:代价敏感s3wd在实际应用中更有优势。

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