一种基于贝叶斯网络的分类预测方法

文档序号:10687635阅读:531来源:国知局
一种基于贝叶斯网络的分类预测方法
【专利摘要】本发明公开了一种基于贝叶斯网络的分类预测方法包括:获取待训练数据并分块为多个分块数据;为每个分块数据构建一个相对应的贝叶斯子网络;使用每个贝叶斯子网络同时进行分类预测任务。本发明通过使用并行学习获得多个子网结构并同时进行预测分类任务的技术方案,节省了数据量较大情况下贝叶斯网络学习的时间成本,并在特定数据集下取得了较好的表现。
【专利说明】
一种基于贝叶斯网络的分类预测方法
技术领域
[0001] 本发明涉及分类预测,特别地,涉及一种基于贝叶斯网络的分类预测方法。
【背景技术】
[0002] 贝叶斯网络作为表示随机变量之间因果关系的一种手段,被认为适于应用于分类 预测或成因分析等任务,而使用贝叶斯网络模型完成的分类预测任务的准确率往往也的确 高于其他通用算法。然而,由于贝叶斯网络的学习过程的空间与时间复杂度,及对其结构理 解的难度,贝叶斯网络在分类预测任务的情境中没有得到广泛的应用。以最大最小爬山算 法的启发式算法为例,其时间复杂度具有不确定性。在计算数据量较大的情况下,算法收敛 的时间可能随数据量的增加呈指数级增长。
[0003] 针对现有技术中计算数据量较大的情况下传统贝叶斯网络学习算法学习时间过 长的问题,目前尚未有有效的解决方法。

【发明内容】

[0004] 有鉴于此,本发明的目的在于提出一种基于贝叶斯网络的分类预测方法,能够在 数据量较大情况下节省贝叶斯网络学习的时间成本,并具有更好的学习效果。
[0005] 基于上述目的,本发明提供的一种基于贝叶斯网络的分类预测方法,其特征在于, 包括:
[0006] 获取待训练数据并分块为多个分块数据;
[0007] 为每个分块数据构建一个相对应的贝叶斯子网络;
[0008] 使用每个贝叶斯子网络同时进行分类预测任务。
[0009] 其中,获取待训练数据并分块为多个分块数据包括:
[0010] 获取待训练数据集合D,并确定分块数据个数η;
[0011] 将待训练数据集合D平均分割成η个数据块(D1,D2,…,Dn}。
[0012] 并且,确定分块数据个数η包括:
[0013] 为待训练数据集合D指定最大分块数量Smax;
[0014] 生成k个分块方案,第一个分块方案为分成4块,此后每一个分块方案的分块数目
都是前一方案的2倍,其中
[0015] 根据贝叶斯网络评甘称佃,甘別別^个甘I犬万案建立测试网络Ntest与对应的数据 子集Dtest并进行评估,将得分最高的方案的分块数量值赋给η。
[0016] 同时,为每个分块数据构建一个相对应的贝叶斯子网络包括:
[0017] 获取先验知识K;
[0018]输入η个数据块(D1 ,D2,…,Dn}与先验知识K,使用最小最大爬山算法训练并输出η 个贝叶斯子网
[0019]并且,使用最小最大爬山算法训练并输出η个贝叶斯子网{N^Ns,···,Νη}包括:
[0020]根据每一个输入数据中的属性fi,生成候选集合CPC,候选集合CPC中包括与属性fi 关系密切的节点{f I,f2,…,fx};
[0021] 根据贝叶斯网络评分标准,对候选集合CPC中的节点进行爬山搜索,通过算子操作 构建出η个贝叶斯子网^,^,…具},其中,算子操作包括:加边、减边、反转边。
[0022] 同时,使用每个贝叶斯子网络同时进行分类预测任务包括:
[0023]获取测试数据集DT,测试数据集Dt包括t条测试样例{cU,^,···,dt};
[0024] 使用η个贝叶斯子网{他,犯,···,^}对任一条测试样例Cl1进行分类预测,获得η个分 类预测结果Irii,ri2,…,η η};
[0025] 使用η个贝叶斯子网{他,犯,···,^}对t条测试样例Cl1进行分类预测,获得子网分类 预测结果M,分类子网预测结果M为tXn的矩阵;
[0026] 获取t条测试样例{di,d2,…,dt}的类信息{Ci,C2,…,C t}并生成类型值Y,类型值Y 为t Xl的矩阵;
[0027] 根据子网分类预测结果M构建弱分类器,使用提升方法将弱分类器升级为强分类 器,并使用强分类器获得最终分类预测结果。
[0028]并且,使用贝叶斯网络对测试样例进行分类预测,为对概率分布ρ(Χ1,···,Χη,(:),使 用arg max{p(c| Tic) OIL1 p(Xi Ini, Ν)}对变量c进行预测,其中,N为变量C,X1,…,Xn的贝 叶斯网络结构4。是类变量C的父节点集1^的配置。
[0029] 同时,根据子网分类预测结果M构建弱分类器,使用提升方法将弱分类器升级为强 分类器,并使用强分类器获得最终分类预测结果包括:
[0030] 从子网分类预测结果M中提取出每一条测试样例Cl1的分类预测结果{m,ri2,…, Tin};
[0031] 根据每一条测试样例Cl1的分类预测结果{ril,rl2,…,r in}与η个贝叶斯子网{仏, Ν2,···,Νη}的权重{ri,r2,···,rn}构建弱分类器{wci,wc2,···,wcm};
[0032] 使用最大化对数似然函数迭代弱分类器{wC1,WC2,~,WCm},其中,每次迭代过程均 包括更新每次回归拟合的变量与通过最小二乘法进行加权回归;
[0033] 对所有加权回归函数求和获得强分类器sc,并使用强分类器sc获得最终分类预测 结果。
[0034] 从上面所述可以看出,本发明提供的技术方案通过使用并行学习获得多个子网结 构并同时进行预测分类任务的技术方案,节省了数据量较大情况下贝叶斯网络学习的时间 成本,并在特定数据集下取得了较好的表现。
【附图说明】
[0035] 为了更清楚地说明本公开的实施例,下面将对实施例描述中所需要使用的附图作 简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通 技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036] 图1为本发明实施例提供的基于贝叶斯网络的分类预测方法的流程图;
[0037] 图2为本发明实施例提供的基于贝叶斯网络的分类预测方法中,进行分布式并行 学习阶段的流程示意图;
[0038] 图3为本发明实施例提供的基于贝叶斯网络的分类预测方法中,根据子网的预测 结果进行预测阶段的流程示意图;
[0039] 图4为本发明实施例提供的基于贝叶斯网络的分类预测方法中,贝叶斯子网执行 MapReduce方法的架构图。
[0040] 通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图 和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为 本领域技术人员说明本公开的概念。
【具体实施方式】
[0041] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照 附图,对本发明进一步详细说明。
[0042]需要说明的是,本发明实施例中所有使用"第一"和"第二"的表述均是为了区分两 个相同名称非相同的实体或者非相同的参量,可见"第一" "第二"仅为了表述的方便,不应 理解为对本发明实施例的限定,后续实施例对此不再一一说明。
[0043] 根据本发明的一个实施例,提供了一中基于贝叶斯网络的分类预测方法。
[0044] 如图1所示,根据本发明实施例提供的基于贝叶斯网络的分类预测方法包括:
[0045] 步骤SlOl,获取待训练数据并分块为多个分块数据;
[0046] 步骤S103,为每个分块数据构建一个相对应的贝叶斯子网络;
[0047]步骤S105,使用每个贝叶斯子网络同时进行分类预测任务。
[0048] 其中,获取待训练数据并分块为多个分块数据包括:
[0049] 获取待训练数据集合D,并确定分块数据个数η;
[0050] 将待训练数据集合D平均分割成η个数据块{D^Ds,…,Dn}。
[0051 ]并且,确定分块数据个数η包括:
[0052]为待训练数据集合D指定最大分块数量Smax;
[0053]生成k个分块方案,第一个分块方案为分成4块,此后每一个分块方案的分块数目 都是前一方案的2倍,其中,= [Iog2 SmasJ - 1;
[0054] 根据贝叶斯网络评分标准,分别对k个分块方案建立测试网络Ntest与对应的数据 子集Dtost并进行评估,将得分最高的方案的分块数量值赋给η。
[0055] 同时,为每个分块数据构建一个相对应的贝叶斯子网络包括:
[0056] 获取先验知识K;
[0057] 输入η个数据块{Di,D2,…,Dn}与先验知识K,使用最小最大爬山算法训练并输出η 个贝叶斯子网{N1,N2,…,Nn},其中,A = ar/3 (AZx ID, /(),x e [ 1,η ]。
[0058] 并且,使用最小最大爬山算法训练并输出η个贝叶斯子网{见,他,···,Νη}包括:
[0059] 根据每一个输入数据中的属性fi,生成候选集合CPC,候选集合CPC中包括与属性fi 关系密切的节点{f 1,f2,…,fx};
[0060] 根据贝叶斯网络评分标准,对候选集合CPC中的节点进行爬山搜索,通过算子操作 构建出η个贝叶斯子网^,^,…具},其中,算子操作包括:加边、减边、反转边。
[0061] 同时,使用每个贝叶斯子网络同时进行分类预测任务包括:
[0062]获取测试数据集DT,测试数据集Dt包括t条测试样例{cU,^,···,dt};
[0063]使用η个贝叶斯子网{他,犯,···,^}对任一条测试样例Cl1进行分类预测,获得η个分 类预测结果Irii,ri2,…,ηη};
[0064] 使用η个贝叶斯子网{他,犯,···,^}对t条测试样例Cl1进行分类预测,获得子网分类 预测结果M,分类子网预测结果M为tXn的矩阵;
[0065] 获取t条测试样例{di,d2,…,dt}的类信息{Ci,C2,…,C t}并生成类型值Y,类型值Y 为t Xl的矩阵;
[0066] 根据子网分类预测结果M构建弱分类器,使用提升方法将弱分类器升级为强分类 器,并使用强分类器获得最终分类预测结果。
[0067]并且,使用贝叶斯网络对测试样例进行分类预测,为对概率分布ρ(Χ1,···,Χη,(:),使 用arg max{p(c|ttc) HlU P〇q|τη, Ν)}对变量C进行预测,其中,N为变量C,X1,…,Xn的贝 叶斯网络结构4。是类变量C的父节点集1^的配置。
[0068] 在0-1损失下,贝叶斯网络分类器是最优分类器。
[0069] 同时,根据子网分类预测结果M构建弱分类器,使用提升方法将弱分类器升级为强 分类器,并使用强分类器获得最终分类预测结果包括:
[0070] 从子网分类预测结果M中提取出每一条测试样例Cl1的分类预测结果{m,ri2,…, Tin};
[0071] 根据每一条测试样例Cl1的分类预测结果{ril,rl2,…,r in}与η个贝叶斯子网{仏, Ν2,···,Νη}的权重{ri,r2,···,rn}构建弱分类器{wci,wc2,···,wcm};
[0072] 使用最大化对数似然函数迭代弱分类器{wC1,WC2,~,WCm},其中,每次迭代过程均 包括更新每次回归拟合的变量与通过最小二乘法进行加权回归;
[0073] 对所有加权回归函数求和获得强分类器sc,并使用强分类器sc获得最终分类预测 结果。
[0074] 下面根据具体实施例进一步阐述本发明的技术方案。
[0075]贝叶斯网络用于确定变量之间的关系。理想的贝叶斯网络结构能够出色地描述数 据中各个变量之间的关系,并能在推理预测任务中带来较好的表现。
[0076] 传统的贝叶斯网络学习方法主要分为两类:一类是由领域专家确定变量之间的因 果关系,采用人工的方法完成构建。另一种方法是从现有的数据中学习,通过计算自动学习 网络。本发明主要使用的思路是打分-搜索方案,根据给定的数据集合D与先验知识K,通过 爬山、贪心搜索方法,确定一个网络结构N,使后验概率P (NID,K)最大。
[0077] N=argmaxNP(N | D ,K)
[0078] 寻找最优网络结构N的过程已被证明是一个NP难问题。
[0079] MMHC(Max-Min Hill Climbing,最大最小爬山)算法通过计算变量两两之间的条 件独立性,从而确定出与一个变量可能具有因果关系的其他变量,然后基于打分-搜索机 制,结合爬山算法的思想得到输入数据集合D上的网络结构N 13MMHC算法通过输入的数据集 合D进行结构学习,它结合了基于约束的构造方法与基于打分-搜索方法两种思想,采用BIC (Bayesian Information Criterions,贝叶斯网络评分标准),在给定数据集合的搜索空间 下得到局部最优的网络结构N13MMHC算法可以分为两个阶段,阶段一对于每一个输入数据中 的属性fi,找出与它关系密切的节点{fi,f2,…,fx}作为CPC(candidate parents and children of T,候选集合的父集合与子集合)中的节点;然后构建网络N,从空图开始,根据 贝叶斯网络评分标准BIC,进行加边、减边和反转边三个算子的操作,完成贪婪爬山搜索。
[0080] MMHC算法在实验中能够得到较理想的贝叶斯网络结构N。然而在输入的训练数据 集合D包含属性较多,或是样例数量较大的情况下,由于学习结构需要进行的计算量激增, 训练算法的收敛时间会非常长。
[0081] 为了加速贝叶斯网络的学习,本发明实施例的技术方案分为两个阶段。
[0082]阶段一:进行分布式并行学习。如图2所示,本发明实施例将训练数据集合D平均分 割成η个数据块(D1,D2,…,Dn},分别执行MMHC算法完成训练。训练任务由MapReduce框架下 的训练方法完成。得益于MapReduce框架的并行计算能力,以及在数据量较小时MMHC算法的 较低时间代价,我们能够在较短的时间内得到分块数据{D^Ds,···,D n}的训练结果一一包含 η个子网的集合(N1 ,N2,···,&}。由于这些网络结构来自数据集合D的子集(D^D2, ···,0"},故 称其为子网。
[0083]阶段二:根据子网的预测结果进行预测。如图3所示,本发明实施例使用子网{仏, N2,…,Νη}对测试数据集Dt进行预测,设测试数据Dt包含t条测试样例,对于同一条测试样例 cU,将得到来自子网集合{他,犯,~具}的η个预测结果{ri,rwn}。全体测试数据的子网 预测结果被表示为M,M是一个t Xη的矩阵。其中每一行对应全体子网(N1J2,···,&}输入同 一条测试样例cU的预测结果。图中最右侧Y是一个t Xl的矩阵,对应每一条测试样例Cl1的类 信息,如T +a=
[0084]
[0085]
[0086]
[0087]可以看出,子网的预测结果中出现正确类信息的概率非常高;事实上,实验中绝大 多数情况下,都存在子网正确预测的中间结果。本发明在预测结果矩阵M的基础上构建弱分 类器,结合提升(Boosting)思想,以真实数据作为检验标准,形成一个类投票机制,组合弱 分类器得到强分类器,进而计算得出最终的预测结果。
[0088]特别需要指出的是,本发明实施例使用的不是权重矩阵合并多个子网{他,犯,···, Nn}的结构信息的方法,而是利用子网预测的中间结果M来进行分类预测的方法。结合 Boosting的方法思想,利用多个子网的结构同时进行分类预测任务,模型在任务中的正确 率才能够得到保证。
[0089]图4示出的是MapReduce的架构图。如图4所示,MapReduce编程架构采用分而治之 的思想,将需要处理的数据进行切分,在Map阶段将切分得到的每一个分块分别进行计算, 在Reduce阶段将计算的结果整合。
[0090] MapReduce任务可以分成两个阶段,第一个阶段为map阶段,指的是Hadoop平台调 用多台机器的计算能力来对切分好的η个任务分别进行计算处理;第二个阶段为Reduce阶 段,指的是对前一阶段得到的η个分块的结果进行进一步处理,从而得到归并后的结果。这 样处理方案可以很大程度上解决由于所处理的数据量过大,导致的程序运行时间过长的问 题。
[0091] 针对贝叶斯网络学习的算法,本文采用借助MR编程架构的并行处理模式,使用多 个节点同时完成贝叶斯网络的学习任务。如前所述,大量数据的并行训练步骤包含2个阶 段:(1)数据评估与切分;(2)并行本地学习。
[0092] 在第一阶段的数据评估与切分过程中,数据被切分成η份。本发明实施例通过BIC 的打分机制来评估不同的分块数目下得到的网络对于对应数据的描述能力,并判断η的合 适取值。对于输入的数据集D,我们指定一个最大分块数量S max,从4分块开始生成分块方案。 接下来的划分数据块数目将在前一方案的基础上乘2。我们假设方案数量为k,那么k与S max 的关系满足下式:
[0093]
[0094] 在得到k个分块方案后,模型将分别对k个方案进行评估,就这些方案各建立一个 测试网络Ntest,并对得到的网络结构N test和对应数据子集Dtest进行打分评估。得分最高的方 案的分块数量η将作为最优分块方案。
[0095] 经过分块处理我们将得到η块大小为M的子数据块,然后提交至Hadoop进行网络 η 结构学习,模型进行计算和收敛后得到子网{见,他,···,^}作为输出结果。
[0096] 提升(Boosting)方法是一种常用的分类方法,它的基本思路是在同一问题情境下 通过更改训练样本特征{f I,f 2,…,fm}的权值,来学习多个弱分类器{WC1,WC2,…,WCm},在多 次迭代过程中进行调整,将多个弱分类器线性组合成一个强分类器SC。
[0097] 在本发明实施例中,由于各个子网(N1 ,N2,…,Nn}是由分块的数据(D1,D2,…,D n}训 练得来,在对于整个数据集合的描述能力上弱于使用整个数据集合训练得到的网络N。 [0098]在完成阶段一,得到η个子网{见,犯,···,N n}以后,一个直接的问题是如何利用这些 结果。
[0099] 一种方案是将各个子网{他,犯,···,&}视为弱分类器,在训练数据D与测试数据Dt 间构建一个映射,而完成这一映射的方法即为不断更新训练数据样例的权值,来组合多个 弱分类器(子网的概率推理)。可以表示为:
[0100]
[0101 ]其中,{f,f2,…,fm}表示训练数据包含的全体属性,由于属性数量为m,对应的系 数集合{αι,α2,…,am}的大小也为nuDw表示经过权重调整后的输入数据集。Boosting方法通 过调整输入的测试数据的权重来让弱分类器组合,从而达到更好的预测效果。
[0102] 另一种方案是不再将子网(N1,N2, ···,&}看做分类器。而是基于子网的预测结果M 做二次分类。
[0103] 记子网集对每一条样例的预测结果为{ri,r2,H_,rn},可以表示为
[0104]
[0105] 分类器的目标在于在子网预测结果M与测试样例的类信息Y间建立一个映射。我们 引入系数集合Ia1^ 2, ···,~}来对每个子网的预测结果的权重进行调整。先使用子网{他, Ν2,···,Νη}对全体测试数据Dt做预测,由于子网的个数为n,对于某一条测试样例,我们将得 至Ijn个预测结果{ri,r2,…,r n},这几个结果可能预测准确,也有可能不准。Boosting方法通 过调整{η,Γ2,···,r n}各项在预测任务中所占的权重,在这η个预测结果和测试数据的类信 息Y之间建立一个映射。Boosting方法中的弱分类器将基于子网的预测结果M构建。
[0106] 两种方案比较起来,第二种方案具有较高的可操作性。同时,我们对比了子网的预 测结果{rw_,rn}与测试数据的类信息,在绝大部分情况下,子网的预测结果{ ri,r2,···, rn}中已经包含了正确结果(即绝大部分情况下,存在能够预测准确的子网结果)。
[0107] 因此,本发明实施例提出一种基于子网预测结果的Boosting方案,利用前一阶段 给出的子网结构{他,犯,···,&}与全体数据D进行预测。对于每一条测试数据,都有η个来自 不同子网的预测结果。然后我们在此基础上构建简单分类器。可以将这个过程理解为每一 个子网{见,犯,···,^}对最终的结果取值做了一次投票,在这个投票过程中需要考虑各个子 网给出的结果的权重{η, Γ2,···,rn},而目标是找出能够让这个投票机制达到最高准确率的 数据与分类器组合。
[0108]本发明实施例使用LogitBoost算法来完成这一目标。LogitBoost算法采用最大化 对数似然函数推导。算法在每一次迭代过程中,先更新每次回归拟合的变量,然后通过最小 二乘法做一个加权回归,最后将所有回归函数的和作为最终的分类器。
[0109]在使用子网,利用全体数据进行预测的任务中,我们先用不同的子网分别预测得 到结果,可以将各个弱分类器使用Boosting方法组合,形成一个类投票机制,得到一个强分 类器,用于给出最终的预测结果。LogitBoost算法能在学习过程中不断减少训练误差,即在 训练数据集上的分类误差率。
[0110]综上所述,本发明从减少学习算法所用时间的目标出发,提出一种结合MapReduce 编程框架与MMHC算法的学习贝叶斯网络结构的方法。该方法首先将训练数据分块,利用分 块数据训练得到多个贝叶斯网络子网,然后利用这些子网同时进行分类预测任务。多个子 网的预测结果的组合过程用到了Boosting方法,实验证明,对于Nursery数据集,朴素贝叶 斯分类器在准确度方面的表现不如贝叶斯网络分类器;在时间性能上,朴素贝叶斯由于不 需要进行网络结构学习而能得到最高的时间性能,与此同时,贝叶斯网络分类器的学习时 间成本远高于朴素贝叶斯分类器,将其学习过程进行并行化处理有利于缩短时间成本,同 时会在正确率上有所损失。本发明的方法在大大加快贝叶斯网络的训练过程的同时,保证 了较高的分类预测准确率,节省了数据量较大情况下贝叶斯网络学习的时间成本,并在特 定数据集下取得了较好的表现。
[0111]所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非 旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例 中的技术特征之间也可以进行组合,并存在如上所述的本发明的不同方面的许多其它变 化,为了简明它们没有在细节中提供。因此,凡在本发明的精神和原则之内,所做的任何省 略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种基于贝叶斯网络的分类预测方法,其特征在于,包括: 获取待训练数据并分块为多个分块数据; 为每个所述分块数据构建一个相对应的贝叶斯子网络; 使用每个所述贝叶斯子网络同时进行分类预测任务。2. 根据权利要求1所述的方法,其特征在于,所述获取待训练数据并分块为多个分块数 据包括: 获取待训练数据集合D,并确定分块数据个数η; 将所述待训练数据集合D平均分割成η个数据块{D^Ds,…,Dn}。3. 根据权利要求2所述的方法,其特征在于,所述确定分块数据个数η包括: 为所述待训练数据集合D指定最大分块数量Smax; 生成k个分块方案,第一个分块方案为分成4块,此后每一个分块方案的分块数目都是 前一方案的2倍,其中,fc = !j〇g2SmC!;J - 1.; 根据贝叶斯网络评分标准,分别对所述k个分块方案建立测试网络Ntest与对应的数据子 集Dtest并进行评估,将得分最高的方案的分块数量值赋给η。4. 根据权利要求2所述的方法,其特征在于,为每个所述分块数据构建一个相对应的贝 叶斯子网络包括: 获取先验知识Κ; 输入所述η个数据块与所述先验知识Κ,使用最小最大爬山算法训练并输 出 η个贝叶斯子网{见,N2,…,Nn },其中,乂: = artgmax;v;r Ρ (ΛΓΧ 丨 Z), AT),X e [ 1,n ]。5. 根据权利要求4所述的方法,其特征在于,所述使用最小最大爬山算法训练并输出η 个贝叶斯子网{^…具}包括: 根据每一个输入数据中的属性^,生成候选集合CPC,所述候选集合CPC中包括与所述属 性fi关系密切的节点{f 1,f2,…,fx}; 根据贝叶斯网络评分标准,对所述候选集合CPC中的节点进行爬山搜索,通过算子操作 构建出η个贝叶斯子网{N^fe,···,Nn},其中,所述算子操作包括:加边、减边、反转边。6. 根据权利要求4所述的方法,其特征在于,使用每个所述贝叶斯子网络同时进行分类 预测任务包括: 获取测试数据集DT,所述测试数据集DT包括t条测试样例{cb,d2,…,d t}; 使用所述η个贝叶斯子网{他,N2,…,Nn}对任一条测试样例cU进行分类预测,获得η个分 类预测结果Irii,ri2,…,ηη}; 使用所述η个贝叶斯子网{他,N2,…,Nn}对t条测试样例cU进行分类预测,获得子网分类 预测结果M,所述分类子网预测结果Μ为tXn的矩阵; 获取t条测试样例{di,d2,…,dt}的类信息{ci,C2,…,ct}并生成类型值Y,所述类型值Y 为t XI的矩阵; 根据所述子网分类预测结果Μ构建弱分类器,使用提升方法将弱分类器升级为强分类 器,并使用强分类器获得最终分类预测结果。7. 根据权利要求6所述的方法,其特征在于,使用所述贝叶斯网络对测试样例进行分类 预测,为对概率分布P(XI,…,Xn,C),使用arg max{p(c|TTc) Hf=:1 p(Xi|71丨,Ν)}对变量C进 行预测,其中,N为变量CA,…,Xn的贝叶斯网络结构,π。是类变量C的父节点集山的配置。8.根据权利要求6所述的方法,其特征在于,根据所述子网分类预测结果Μ构建弱分类 器,使用提升方法将弱分类器升级为强分类器,并使用强分类器获得最终分类预测结果包 括: 从所述子网分类预测结果Μ中提取出每一条测试样例cU的分类预测结果{m,ri2,···, Tin}; 根据所述每一条测试样例6的分类预测结果{^^12,"_,^11}与所述11个贝叶斯子网 {Νι,Ν2,···,Nn}的权重{ri,r2,···,rn}构建弱分类器{wci,wc2,…,wcm}; 使用最大化对数似然函数迭代所述弱分类器{wC1,WC2,~,WCm},其中,每次迭代过程均 包括更新每次回归拟合的变量与通过最小二乘法进行加权回归; 对所有加权回归函数求和获得强分类器SC,并使用所述强分类器SC获得最终分类预测 结果。
【文档编号】G06K9/62GK106056164SQ201610412995
【公开日】2016年10月26日
【申请日】2016年6月13日
【发明人】孙鹏飞, 胡婕, 吴国仕, 熊秋
【申请人】北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1