Processing math: 0%
高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

一种基于树增强朴素贝叶斯的分类器学习方法

陈曦 张坤

陈曦, 张坤. 一种基于树增强朴素贝叶斯的分类器学习方法[J]. 电子与信息学报, 2019, 41(8): 2001-2008. doi: 10.11999/JEIT180886
引用本文: 陈曦, 张坤. 一种基于树增强朴素贝叶斯的分类器学习方法[J]. 电子与信息学报, 2019, 41(8): 2001-2008. doi: 10.11999/JEIT180886
Xi CHEN, Kun ZHANG. A Classifier Learning Method Based on Tree-Augmented Naïve Bayes[J]. Journal of Electronics & Information Technology, 2019, 41(8): 2001-2008. doi: 10.11999/JEIT180886
Citation: Xi CHEN, Kun ZHANG. A Classifier Learning Method Based on Tree-Augmented Naïve Bayes[J]. Journal of Electronics & Information Technology, 2019, 41(8): 2001-2008. doi: 10.11999/JEIT180886

一种基于树增强朴素贝叶斯的分类器学习方法

doi: 10.11999/JEIT180886
基金项目: 国家自然科学基金(61772087)
详细信息
    作者简介:

    陈曦:男,1963年生,教授,硕士生导师,研究方向为数据挖掘

    张坤:男,1993年生,硕士生,研究方向为数据挖掘

    通讯作者:

    张坤 zonkis2016@outlook.com

  • 中图分类号: TP311.1

A Classifier Learning Method Based on Tree-Augmented Naïve Bayes

Funds: The National Natural Science Foundation of China (61772087)
  • 摘要: 树增强朴素贝叶斯(TAN)结构强制每个属性结点必须拥有类别父结点和一个属性父结点,也没有考虑到各个属性与类别之间的相关性差异,导致分类准确率较差。为了改进TAN的分类准确率,该文首先扩展TAN结构,允许属性结点没有父结点或只有一个属性父结点;提出一种利用可分解的评分函数构建树形贝叶斯分类模型的学习方法,采用低阶条件独立性(CI)测试初步剔除无效属性,再结合改进的贝叶斯信息标准(BIC)评分函数利用贪婪搜索获得每个属性结点的父结点,从而建立分类模型。对比朴素贝叶斯(NB)和TAN,构建的分类器在多个分类指标上表现更好,说明该方法具有一定的优越性。
  • 贝叶斯网络[1]表达一种因果关系,用图模型理论和统计学知识表示属性之间的概率,在贝叶斯网络中,分类是根据类别的先验分布计算后验概率,从而选择最可能的类。贝叶斯分类器在时间和空间复杂性上具有优秀的表达能力[2]。朴素贝叶斯(Naïve Bayes, NB)分类器[3]是一种简单有效的贝叶斯网络,但由于其属性变量之间存在条件独立性假设,分类精度不佳。Friedman等人[4]提出树增强的朴素贝叶斯(Tree-Augmented Naïve Bayes, TAN),它允许属性结点最多只能依赖于一个非类结点,综合性能良好,是学习效率与分类精度之间的一种折中。

    目前关于TAN分类器的研究通常从构建合适的贝叶斯网络着手,文献[5]提出一种不确定条件互信息度量方法来学习树形贝叶斯分类网络结构;文献[6]根据条件对数似然性提出一种平均树增强朴素贝叶斯;文献[7]对TAN分类器结构空间和TAN分类器结构等价类空间进行了研究,提出一个不考虑边重定向的TAN分类器学习算法。这类低阶或受限(如k阶依赖贝叶斯(k-BAN)[8,9])的贝叶斯分类模型既避免了由高维计算导致的不稳定性[10,11],同时也增强了网络结构中属性之间的因果关系。然而,TAN模型虽然简洁高效,但在构建网络结构时并没有进行相关属性选择或引入新属性,这对TAN分类模型的分类精度有所影响。

    本文在保证TAN精简结构的基础上,提出扩展的TAN分类器,额外允许TAN模型中部分属性没有父结点。考虑到属性对类贡献程度差异,采用互信息测试进行属性选择,用于确定后续每个属性结点的候选连接。并给出了利用可分解的评分函数来构建TAN模型的详细过程(此过程中的模型简记为STAN),提出一种利用改进的贝叶斯信息标准(Bayesian Information Criterion, BIC)评分函数来构建树形贝叶斯网络分类模型(Extended Tree Augmented Naïve Bayes with the Score function, SETAN)的学习方法。通过与其它同类分类器进行对比实验,本文提出的SETAN分类模型取得了更好的分类精度。

    2.1.1   TAN模型

    TAN分类器是一种满足Markov条件[12]的树形结构的贝叶斯网络分类器,其结构如图1(b)所示,对比图1(a)中的NB结构,它允许每个属性结点除了类父结点外,至多只有1个属性父结点。对于概率分布P(X1,X2,···,Xn,C), TAN分类器可表示为

    图 1  结构示意图
    \mathop {\arg \max }\limits_{C(x_1,x_2, ··· , x_n)} \left( {P(C\,)\prod\limits_{i = 1}^n {P\;({X_i}|{{{Π}}\!_i},C,{G_{\rm{T}}})} } \right) (1)

    其中,G_{\rm{T}}表示在给定类结点C的约束条件下{X_1},{X_2},·\!·\!· ,{X_n}的最大权重跨度树,{{{Π}}_i}是在最大权重跨度树中{X_i}的属性父结点,{{{Π}}_i}取值为0或1。因此,学习TAN结构首先要建立一个无向图结构,再找到合适的算法来解决最大权重生成树问题。

    2.1.2   STAN(Tree-Augmented Naïve Bayes with Score function)模型

    评分与搜索方法是常见的一种贝叶斯网络结构学习方法,它将结构学习转化成最优化问题,学习目标即搜索评分较高的网络结构。评分搜索的结构学习方法分为两步:网络结构评分函数和网络结构学习算法的确定。一旦定义好评分函数,贝叶斯网络结构学习问题就是一个最优化搜索问题。

    (1) 评分函数

    假设给定完整训练集DD = \{ {X_1},{X_2}, ·\!·\!· ,{X_n}\} , G是以{X_1},{X_2}, ·\!·\!· ,{X_n}为结点的贝叶斯网络。假设数据集满足独立同分布假设,则G相对于数据集D的优劣可以用评分函数来度量。探索最佳贝叶斯网络结构,就是找到可使得评分函数最大化的一个有向无环图G。即

    {G_{\max }} = \arg {\max _{G \in G_x}}{\rm{Scor}}{{\rm{e}}_D}(G\,) (2)

    若选定的评分函数{\rm{Scor}}{{\rm{e}}_D}(G)满足似然等价性和可分解性,图G_{\rm{1}}, G_{\rm{2}}(G_{\rm{1}} \ne G_{\rm{2}})是在属性结点集上的两个任意图,变量之间的条件独立性相同,当且仅当{\rm{Scor}}{{\rm{e}}_D}(G_1){\rm{ = Scor}}{{\rm{e}}_D}(G_2)时,此时称{\rm{Scor}}{{\rm{e}}_D}是似然等价的,可分解性则意味着有向无环图G 可用它的局部结构表示,即

    {\rm{Scor}}{{\rm{e}}_D}(G\,) = \sum\limits_{i = 0}^n {{\rm{Scor}}{{\rm{e}}_D}(X_i,{{{Π}}\!_i})} (3)

    评分函数是影响贝叶斯网络结构学习精确度的一个主要因素,选择合理的评分函数是贝叶斯网络结构学习的一个核心问题。文献[13]提出BIC评分函数,具备可分解性和似然等价性。BIC评分函数是在样本满足独立同分布假设的前提下,用对数似然度度量结构与数据的拟合程度。具体形式为

    \begin{align} {\rm{BIC}}({G_{\rm{T}}}|D) =& \sum\limits_{i = 1}^n \sum\limits_{j = 1}^{q_i} \sum\limits_{k = 1}^{r_i} {{m_{ijk}}\lg {\theta _{ijk}}} \\ {\rm{}}&- \frac{1}{2}\sum\limits_{i = 1}^n {{q_i}({r_i} - 1)\lg m} \end{align} (4)

    其中,q_i是变量X_i父结点取值组合的数目,r_i是变量X_i的取值数目,m是样本数,{m_{ijk}}表示X_i的父结点取j值,X_ik值时的样本个数。{m_{ij}}{\rm{ = }}\displaystyle\sum\nolimits_{k = 1}^{r_i} {{m_{ijk}}} , {\theta _{ijk}}{\rm{ = }}{{{m_{ijk}}}}/{{{m_{ij}}}}

    (2) 模型描述

    下面给出TAN分类模型结合评分搜索方法 STAN的一般性表达式。给定评分函数时,在TAN无向图中,有

    \begin{align} {\rm{}}&{\rm{Scor}}{{\rm{e}}_D}(X_i,\{ C\,\} ) + {\rm{Scor}}{{\rm{e}}_D}(X_i,\{ C,X_j\} ) \\ {\rm{}}& \quad= {\rm{Scor}}{{\rm{e}}_D}(X_j,\{ C\,\} ) + {\rm{Scor}}{{\rm{e}}_D}(X_j,\{ C,X_i\} ) \end{align} (5)

    由对称性可定义图中每条边(X_i,X_j)的权重

    \begin{align} w(X_i,X_j) =& {\rm{Scor}}{{\rm{e}}_D}(X_i,\{ C\,\} ) \\ {\rm{}}&- {\rm{Scor}}{{\rm{e}}_D}(X_i,\{ C,X_j\} ) \end{align} (6)

    假设只有X_{\rm{1}}不具备属性父结点,则可求得TAN分类器的网络结构表达式

    \begin{align} {G_{{\rm{TAN}}}} =& \mathop {{\rm{argmax}}}\limits_{G \in {G_{{\rm{TAN}}}}} {\rm{Scor}}{{\rm{e}}_D}(G\,) \\ =& \mathop {\max }\limits_{G \in {G_{{\rm{TAN}}}}} \left( \sum\limits_{i = 2}^n {{\rm{Scor}}{{\rm{e}}_D}({X_i},\{ C,{{{Π}}\!_i}\} )}\right. \\ {\rm{}}& + {\rm{Scor}}{{\rm{e}}_D}({X_1},\{ C\,\} ) \Bigg)\\ =& {\rm{Scor}}{{\rm{e}}_D}({X_1},\{ C\,\} ) \\ {\rm{}}&- \mathop {\min }\limits_{G \in {G_{{\rm{TAN}}}}} \left( { - \sum\limits_{i = 2}^n {{\rm{Scor}}{{\rm{e}}_D}({X_i},\{ C,{{{Π}}\!_i}\} )} } \right) \end{align}

    结合式(5)和式(6),则有

    {G_{{\rm{TAN}}}} =\! \sum\limits_{i = 1}^n {{\rm{Scor}}{{\rm{e}}_D}(X_1,\{ C\,\} )} \!- \min \sum\limits_{i = 2}^n {w(X_i,{{{Π}}\!_i})} \quad\quad (7)

    其中,最小式即最小生成树问题,将其最小化即可求得TAN分类网络结构,如图1(b)所示。当权重w(X_i,X_j) \ge {\rm{0}}时,移除边(X_i,X_j)

    2.2.1   理论分析

    由TAN的定义和式(7)可知,TAN结构限制每个属性结点X_i对其父结点有如下两种连接选择:(1)只有类父结点C;(2)具有类父结点C 和一个属性父结点X_j。TAN的学习是在完全图中搜索弧空间,通过这种限制,减小了搜索空间;同时父结点的数量受限使得条件概率计算相应地减少。

    然而,Greiner等人[14]通过实验证明,与数据集实际分布近似或比数据集实际分布简单的网络结构都具有一定的局限性。文献[7]已给出证明,限制父结点的数量可以有效避免具有指数复杂度的高维计算。而且即使NB网络或TAN网络相对简单,也可能由于存在冗余的结点和弧边而使得网络结构复杂化。显然,TAN结构并不能充分地表示属性结点之间的依赖关系,而且在构建网络结构时也未能去除冗余的属性结点,TAN是在维持原始属性变量集合的基础上建立低阶树形分类模型,而不是通过引入新的属性变量来放松条件独立性假设。因此,在建立TAN结构前有必要进行属性选择,既能保持模型的简洁性,同时进一步压缩结构学习过程中的搜索空间。另外,TAN结构仅仅强化了属性之间的因果关系,而没有考虑不同属性对类的贡献,这同样也降低了TAN模型的分类准确性。文献[15,16]的一系列对比实验证实了这一结论。

    基于上述分析,本文进一步扩展了TAN网络结构,该网络结构相对于TAN能够更充分地表示在类约束下属性之间的依赖关系,并尝试剔除对分类模型没有贡献的属性结点。

    2.2.2   SETAN模型

    (1) 条件独立性(CI)测试

    由香农的信息论可知,互信息可用作两个变量之间相关性度量,两个随机变量X_iX_j之间的互信息为

    \begin{align} I(X_i,X_j) &= H(X_i) - H(X_i|X_j) \\ {\rm{}}&= \sum\limits_{x_i,x_j} {P(X_i,X_j)\lg \left[ {\frac{{P(X_i,X_j)}}{{P(X_i)P(X_j)}}} \right]} \end{align} (8)

    I(X_i,X_j){\rm{ = 0}}或小于某阈值\varepsilon ,认为随机变量X_iX_j相互独立。互信息测试又可以称为0阶CI测试。利用互信息在量化邻居结点之间的影响,比使用更多三角形结构信息的方法具有更好的性能[17]

    (2) 改进BIC评分函数

    在式(4)中,第1项是模型的对数似然度,评估网络结构与数据的拟合程度。第2项是惩罚项,避免模型过拟合。{\theta _{ijk}}表示贝叶斯网络中变量X_i的似然条件概率,且存在{\rm{0}} \le {\theta _{ijk}} \le {\rm{1}}, \displaystyle\sum\nolimits_k {{\theta _{ijk}} = 1} 。当父结点取第j{\rm{(1}} \le j \le q_i)个值时,\max ({\theta _{ijk}})的值越接近1,表明在第j个取值时,父结点和子结点的因果关系越强;反之,\max ({\theta _{ijk}})越接近{{\rm{1}}}/{{r_i}},表明其因果关系越弱,甚至不具有因果关系。

    选择相关贝叶斯模型时,结合BIC评分函数确实有可能找到具有最大后验概率的目标模型,但当目标函数无边界时会失效[18]。由式(4)中固定惩罚结构可知,对于同一个贝叶斯网络,样本数越大,网络结构的得分相应越大,分值与样本数呈单调递增关系,容易产生过拟合,影响模型性能。因此,一方面既希望类似式(7)和式(10)的评分函数最大化,但又需尽可能避免模型过拟合现象,可以添加惩罚系数\xi ,重新改写BIC评分函数的惩罚项为\xi \sum\nolimits_{i = 1}^n {q_i(r_i - 1)\lg m} ,该惩罚项可进一步简化成\xi \sum\nolimits_{i = 1}^n {\lg m \cdot q_i \cdot r_i} 。根据BIC评分函数的可分解性,可得到改进后BIC的家族评分函数为

    \begin{align} {\rm{Scor}}{{\rm{e}}_D}(G_{\rm{T}}) &= {\rm{BIC}}((X_i,{{{Π}}_i})|D) \\ {\rm{}}&= \sum\limits_{j = 1}^{q_i} {\sum\limits_{k = 1}^{r_i} {{mi_{jk}}\lg \frac{{{m_{ijk}}}}{{{m_{ij}}}} - \xi \lg mq_i \cdot r_i} } \end{align} (9)

    (3) 改进TAN模型

    为避免贝叶斯网络分类器的高维计算,同时为了在构建SETAN结构时去除冗余结点并减少候选父结点集的搜索空间,增强分类模型的可靠性与健壮性,在TAN结构基础上,允许属性结点没有父结点。即具有如下额外两种选择:只有一个属性父结点;没有父结点。其中没有父结点的属性结点被视为对分类模型没有贡献的冗余结点。考虑到SETAN结构中各个属性结点X_i和类结点C 的相关性不同,先对类结点和属性结点进行互信息测试,如图1(c)中间图和图1(d)SETAN结果图所示。

    对于互信息大于阈值\varepsilon 的结点X_iX_j,计算并比较{\rm{Score}}(X_i,\{ C\,\} ), {\rm{Score}}(X_i,\{ X_j,C\,\} ), {\rm{Score}}(X_i,\{ X_j\} )三者评分大小,添加有向弧,如结点X_3, {\rm{Score}}(X_3,\{ X_1,C\,\} )最大,则有C \to X_3X_1 \to X_3

    对于互信息小于阈值\varepsilon 的结点X_k,计算并比较{\rm{Score}}(X_k,\{ X_i\} ){\rm{Score}}(X_k,\{ \varnothing \} ),添加有向弧,如结点X_2,不能将类结点作为父结点,且{\rm{Score}}(X_2,\{ X_1\} )最大,则有X_1 \to X_2;同理,对于结点X_4,则被视为对类没有贡献的冗余结点。

    基于上述改动,每个属性结点不必将类结点纳入候选父结点集,则式(5)中的对称性无法成立,从而无法在式(7)中利用最小生成树算法求得SETAN结构。此时对于经过0阶CI测试后的无环图,采用BIC评分函数贪婪查找下一个局部无环图G,从而得到图1(d)所示的最终有向无环图。则有

    \begin{align} {G_{{\rm{SETAN}}}} = &\mathop {\arg \max }\limits_G \left( \sum\limits_{i = 1}^{k_1} {{\rm{Scor}}{{\rm{e}}_D}(X_i,{{{Π}}\!_i})}\right. \\ {\rm{}}& \left.+ \sum\limits_{j = 1}^{k_2} {{\rm{Scor}}{{\rm{e}}_D}(X_i,{{{Π}}\!_j})} \right) \end{align} (10)

    其中,{{{Π}}\!_i}{{{Π}}\!_j}分别是符合不同互信息测试的属性结点的父结点集,k_1是符合互信息大于阈值\varepsilon 的属性结点个数,k_2是符合互信息小于阈值\varepsilon 且对网络结构有贡献的属性结点个数,所以k_1 + k_2 \le n。因此,对于概率分布P(X_1,X_2, ·\!·\!· ,X_n,C\,), SETAN分类器的表示形式为

    \mathop {\arg \max }\limits_{C(x1,..xn)} \left( {P(C\,)\prod\limits_{i = 1}^n {P(X_i|{{{Π}}\!_i},C,G_{\rm{SETAN}})} } \right) (11)

    式(11)和式(1)类似,区别在于{{{Π}}\!_i}是否为SETAN结构中符合互信息测试属性X_i的父结点集,且有{{{Π}}\!_i} \supseteq \{ C\,\}

    2.2.3   算法描述

    基于BIC评分函数的SETAN分类器学习方法主要有如下改进:(1)提出SETAN网络结构,在TAN结构基础上中放松了每个属性结点的父结点选择条件,允许部分属性没有类父结点,在同等计算复杂度下提高了分类模型的可靠性;(2)结合上述属性依赖条件,采用低阶CI测试,获得各个属性的候选父结点集合,同时也获得候选的冗余结点集,压缩了评分搜索学习方法的搜索空间;(3)将类结点纳入整个网络结构学习过程中,利用改进的BIC评分函数对局部最优无环图进行贪婪查找,从而获得最终的SETAN网络结构。进一步去除无效结点,提高算法的分类精度,如表1所示。

    表 1  算法描述
     输入:变量集V,样本数据集D
     输出:SETAN结构
     步骤1 For each X_i \in V\;, I(C,X_i) = {\rm{Calc\_MI}}(C,X_i)# 计算属性
    与类别之间的互信息值
     步骤2 将每个互信息值I(C,X_i)存入数组,降序
     步骤3 For each I(C,X_i) > \varepsilon in List
      S_1 = S_1 \cup \{ X_i\}
      Add path C - X_ito graph E# 若无连接边,则添加类
    别C到属性X_i的连接边
      S_2 = S_{\rm{2}} \cup \{ X_j\} X_j \in \{ I(C,X_j) < \varepsilon \}
      Add path X_i - X_jto graph E# 互信息值小于阈值\varepsilon
    结点则被添加到集合S_2
      Remove I(C,X_i)from List
      End for
     步骤4 For each E' \in E
      {\rm{Score}}(E') = {\rm{Calc\_BIC}}(E')# 计算改进的BIC评分
      K2-Search of the optimal SETAN Structure # 利用评
    分函数搜索最优结构
      End for
     步骤5 Return G = (V',E')with best BIC score
    下载: 导出CSV 
    | 显示表格
    2.2.4   时间复杂度分析

    从整体上看,本文提出的SETAN分类器学习方法主要分为两个部分:首先是类结点与各个属性结点之间的互信息测试。主要耗时是互信息测试I(C\;;X_i),复杂度为O(Nn)N是训练集实例数量,n是属性结点数量;第2部分是构建SETAN网络结构,主要是需要比较每个结点和其候选父结点集的连接得分,以此确定其父结点。时间复杂度是O(Nk_1^2 + N{k_1} \cdot {k_2}),因为k_1 + k_2 \le n, \varepsilon 一般取0.01~0.05,大多数属性结点可符合互信息测试,即k_2 \ll k_1。因此,SETAN分类器最终可在O(N{n^2})内完成,和TAN分类模型的时间复杂度相同。

    本节实验的主要目的是确定式(9)中改进后BIC评分函数的合适的惩罚系数\xi 。分别采用http://www.norsys.com提供的Asia网和Alarm网进行仿真实验。Asia网包含8个变量和8条边,Alarm网包含33个结点,46条边,样本数量均为5000。利用常见的K2算法和改进后的BIC评分函数学习贝叶斯网络结构,惩罚系数\xi 分别取0.01, 0.001, 0.0001。实验结果如表2所示,A为增加边,D为确实边,R为正确边。从表2的实验结果可以看出,\xi = 0.01时,Asia网络和Alarm网络结构缺式边数量相对比较多,没有增加边,说明惩罚系数偏大,导致数据和网络结构欠拟合;\xi = 0.0{\rm{00}}1时,网络结构增加边相对较多,导致数据和网络结构过拟合;而当\xi = 0.0{\rm{0}}1时,各项数据比较合理,说明数据和网络结构拟合较好。

    表 2  网络结构学习实验结果
    \xi Asia网Alarm网
    ADRADR
    0.0103502025
    0.0011173245
    0.000130815345
    下载: 导出CSV 
    | 显示表格
    3.2.1   实验环境

    实验数据选取UCI资源库中6个具有代表性的离散数据集、KDD Cup2008“乳腺癌早期检测问题”数据集和1987年美国众议院选举投票的数据集,数据信息如表3所示。实验环境在Windows7操作系统上进行,集成开发环境Intellij Idea, Weka 3.8,硬件配置为Intel®Core(TM)i5-2410MCPU@2.30 GHz,内存1 GB。

    表 3  实验数据集信息
    数据集样本数量类别分布属性数量分类数量缺失值
    Balance62549/288/28843
    Car17281210/384/69/6564
    Connect6755844473/16635/6449423
    Mushroom81244208/3916222
    Nursery129604320/2/328/4266/404485
    SPECT8040/40222
    Cancer28685/20192
    Votes435168/267162
    下载: 导出CSV 
    | 显示表格
    3.2.2   阈值\varepsilon 的准确率对比

    由式(8)可知,两两结点间互信息值小于阈值时,则被认为相互独立。为避免这类经验性参数的干扰[19],分别在表3中4个数据集上进行阈值对比实验。实验采用十折交叉有效性验证的方法,对于缺失值将其作为一个单独的值来处理,实验结果取平均值,其中\varepsilon 分别取0.01, 0.05和0.1。实验结果如表4所示。

    表 4  阈值\varepsilon 信息
    数据集阈值\varepsilon 平均准确率
    Balance0.01/0.05/0.100.915/0.914/0.910
    Connect0.01/0.05/0.100.767/0.764/0.760
    SPECT0.01/0.05/0.100.740/0.738/0.733
    Cancer0.01/0.05/0.100.710/0.710/0.698
    下载: 导出CSV 
    | 显示表格

    图2展示了各个数据集上SETAN在不同阈值\varepsilon 情况下的分类准确率。阈值\varepsilon 的设定会影响两两结点是否相互独立的概率,在同一数据集上,阈值\varepsilon 越小,式(10)中与类结点相关的属性结点数会相应增加;反之,阈值\varepsilon 越大,可能存在的冗余结点数增加。因此,阈值\varepsilon 越小,式(10)代表的网络结构得分越高,从而构建的分类效果越好。但同时,阈值\varepsilon 越小,相关的结点数增加,随之计算量也会相应增加。由图可知,阈值\varepsilon 取0.01和0.05时的分类准确率非常接近,因此\varepsilon 取0.05较为合理。

    图 2  不同阈值\varepsilon 的分类准确率
    3.2.3   实验结果及分析

    本文采用准确率(Accuracy)、召回率(Recall)、精确率(Precision)、F1值(F1-measure)、受试者工作特征曲线(Receiver Operating Characteristic, ROC)与坐标轴围成的面积(Area Under ROC Curve, AUC)5个常见的分类指标进行性能评估,ROC曲线的横轴是假正例率(FPR),纵轴是真正例率(TPR)。相较于Precision和Recall等衡量指标更加合理,AUC值越大说明模型性能越好。FPR和TPR二者定义如式(12)

    {\rm{TPR}} = \frac{{{\rm{TP}}}}{{{\rm{TP}} + {\rm{FN}}}},{\rm{FPR}} = \frac{{{\rm{FP}}}}{{{\rm{TN}} + {\rm{FP}}}} (12)

    所用的低阶CI测试阈值\varepsilon 取值为0.05,BIC评分函数的惩罚系数\xi 取0.001。在实验中采用十折交叉有效性验证的方法,对于数据集中的缺失值,将其作为一个单独的值来处理,实验结果取平均值。表5图3图7分别给出了本文提出的SETAN算法与NB, TAN算法的详细实验结果。

    表 5  NB, TAN和SETAN的各项分类指标对比情况
    数据集算法准确率F1值召回率精确率AUC面积
    NB0.9140.8760.9140.8420.961
    BalanceTAN0.8610.8340.8610.8360.904
    SETAN0.9140.8760.9140.8420.962
    NB0.8570.8490.8570.8540.976
    CarTAN0.9080.9110.9080.920.983
    SETAN0.9460.9470.9460.9470.988
    NB0.7210.6810.7210.6810.807
    ConnectTAN0.7630.7220.7630.7310.864
    SETAN0.7640.7240.7640.7350.866
    NB0.9580.9580.9580.960.998
    MushroomTAN0.9991.0000.9991.0001.000
    SETAN1.0001.0001.0001.0001.000
    NB0.9030.8940.9030.9060.982
    NurseryTAN0.9280.920.9280.9290.991
    SETAN0.9370.9270.9370.9370.993
    NB0.7380.7350.7380.7450.802
    SPECTTAN0.7130.7090.7130.7240.668
    SETAN0.7380.7360.7380.7410.755
    NB0.7340.7270.7340.7230.702
    CancerTAN0.7060.6920.7060.6870.667
    SETAN0.7100.7000.7100.6950.624
    NB0.9010.9020.9010.9050.973
    VotesTAN0.9400.9400.9400.9410.986
    SETAN0.9490.9500.9490.9500.985
    下载: 导出CSV 
    | 显示表格
    图 3  多分类数据集的AUC polar图对比
    图 7  SETAN结构示意图

    表5可以看出,SETAN在多分类或二分类数据集上相对有更好的分类效果;对于类别分布不均衡的数据集(如Balance, Car, Nursery, Cancer),SETAN的各项分类指标整体上优于NB和TAN分类器;其次,SETAN分类模型也适用于不同数据规模的数据集,但在SPECT和Connect数据集上的分类准确率较差,说明属性数量对分类模型的影响比较明显。其原因是,对于具有22个属性的SPECT数据集,80个样本相对于网络复杂度而言数据集规模太小,分类模型欠拟合导致各项分类指标不佳;对于Connect数据集,样本数量和属性数量均较大,相应的计算复杂度较高,导致评分搜索得到的模型指标不太理想。

    总之,在数据规模、类别分布、属性数量这3个因素上,数据集的规模和类别分布对3种分类器的影响都比较小,而属性数量会明显影响分类效果。属性越多,分类准确率相应下降,但SETAN相比NB和TAN模型来说仍然占有优势。而且对于类别分布不均衡的数据集(如Balance, Car, Nursery), SETAN的分类准确率有明显改善。

    为了更直观地观察SETAN算法与TAN, NB算法的分类效果差异,图3给出了3种算法的AUC面积的polar图,图4为NB, TAN和SETAN 3种分类器在同一数据集上的分类准确率对比图。由于3种算法在Mushroom数据集上的AUC值非常接近,因此图3图4没有给出。在图3中可以明显看出SETAN在各个polar图中面积都是最大的,说明SETAN模型整体上优于NB和TAN,图4的平均分类准确率则辅证了这一点;此外,SPECT属于二分类的小数据集,图5中给出了3种算法的ROC曲线图,可以看出,在处理属性数较多的小数据集SPECT时,SETAN算法的也具有很好的分类结果。

    图 4  平均分类准确率对比图
    图 5  二分类数据集的ROC曲线

    进一步验证SETAN树形分类器的有效性,与文献[4]的UPTAN分类器进行比较,图6是二者平均分类准确率的柱状图。由图可知,SETAN在Cancer数据集上差于UPTAN,这是由于Cancer数据集中属性值划分不一造成的,UPTAN所提出的不确定条件互信息度量能有效应对这一情况,而SETAN在Car, Mushroom, Nursery上均有良好表现。

    图 6  平均分类准确率比较图

    图7是基于表3中数据集Car上的SETAN结构图,图7的class结点是类别结点,其余结点是与是否买车相关的属性结点。可以看出,本文提出的学习方法剔除了与买车不太相关的doors属性,在一定程度上进行了属性选择,学习到的SETAN模型不仅有良好的分类准确率,同时也构造了更加精简有效的树形结构。

    本文提出一种基于评分搜索的树增强朴素贝叶斯分类器改进方法。考虑到属性对类贡献程度有所不同,该分类算法在此约束条件下利用低阶CI测试获得候选无效属性,随后通过改进的BIC评分函数结合K2算法的方式确定网络结构中弧边的方向,并去除无效属性,进而构建分类模型。本文方法额外允许属性没有父结点或只有一个属性父结点,从而构建了一种更好的树形贝叶斯网络结构,去除了冗余属性,增强了分类模型的可靠性。该算法和TAN分类模型的时间复杂度相同。实验结果表明,与NB, TAN及UPTAN分类器相比,SETAN的分类准确率更高。下一步尝试在大规模数据集上进行该算法的分布式并行化研究。

  • 图  1  结构示意图

    图  2  不同阈值\varepsilon 的分类准确率

    图  3  多分类数据集的AUC polar图对比

    图  7  SETAN结构示意图

    图  4  平均分类准确率对比图

    图  5  二分类数据集的ROC曲线

    图  6  平均分类准确率比较图

    表  1  算法描述

     输入:变量集V,样本数据集D
     输出:SETAN结构
     步骤1 For each X_i \in V\;, I(C,X_i) = {\rm{Calc\_MI}}(C,X_i)# 计算属性
    与类别之间的互信息值
     步骤2 将每个互信息值I(C,X_i)存入数组,降序
     步骤3 For each I(C,X_i) > \varepsilon in List
      S_1 = S_1 \cup \{ X_i\}
      Add path C - X_ito graph E# 若无连接边,则添加类
    别C到属性X_i的连接边
      S_2 = S_{\rm{2}} \cup \{ X_j\} X_j \in \{ I(C,X_j) < \varepsilon \}
      Add path X_i - X_jto graph E# 互信息值小于阈值\varepsilon
    结点则被添加到集合S_2
      Remove I(C,X_i)from List
      End for
     步骤4 For each E' \in E
      {\rm{Score}}(E') = {\rm{Calc\_BIC}}(E')# 计算改进的BIC评分
      K2-Search of the optimal SETAN Structure # 利用评
    分函数搜索最优结构
      End for
     步骤5 Return G = (V',E')with best BIC score
    下载: 导出CSV

    表  2  网络结构学习实验结果

    \xi Asia网Alarm网
    ADRADR
    0.0103502025
    0.0011173245
    0.000130815345
    下载: 导出CSV

    表  3  实验数据集信息

    数据集样本数量类别分布属性数量分类数量缺失值
    Balance62549/288/28843
    Car17281210/384/69/6564
    Connect6755844473/16635/6449423
    Mushroom81244208/3916222
    Nursery129604320/2/328/4266/404485
    SPECT8040/40222
    Cancer28685/20192
    Votes435168/267162
    下载: 导出CSV

    表  4  阈值\varepsilon 信息

    数据集阈值\varepsilon 平均准确率
    Balance0.01/0.05/0.100.915/0.914/0.910
    Connect0.01/0.05/0.100.767/0.764/0.760
    SPECT0.01/0.05/0.100.740/0.738/0.733
    Cancer0.01/0.05/0.100.710/0.710/0.698
    下载: 导出CSV

    表  5  NB, TAN和SETAN的各项分类指标对比情况

    数据集算法准确率F1值召回率精确率AUC面积
    NB0.9140.8760.9140.8420.961
    BalanceTAN0.8610.8340.8610.8360.904
    SETAN0.9140.8760.9140.8420.962
    NB0.8570.8490.8570.8540.976
    CarTAN0.9080.9110.9080.920.983
    SETAN0.9460.9470.9460.9470.988
    NB0.7210.6810.7210.6810.807
    ConnectTAN0.7630.7220.7630.7310.864
    SETAN0.7640.7240.7640.7350.866
    NB0.9580.9580.9580.960.998
    MushroomTAN0.9991.0000.9991.0001.000
    SETAN1.0001.0001.0001.0001.000
    NB0.9030.8940.9030.9060.982
    NurseryTAN0.9280.920.9280.9290.991
    SETAN0.9370.9270.9370.9370.993
    NB0.7380.7350.7380.7450.802
    SPECTTAN0.7130.7090.7130.7240.668
    SETAN0.7380.7360.7380.7410.755
    NB0.7340.7270.7340.7230.702
    CancerTAN0.7060.6920.7060.6870.667
    SETAN0.7100.7000.7100.6950.624
    NB0.9010.9020.9010.9050.973
    VotesTAN0.9400.9400.9400.9410.986
    SETAN0.9490.9500.9490.9500.985
    下载: 导出CSV
  • PEARL J. Probabilistic reasoning in intelligent systems: networks of plausible inference[J]. Computer Science Artificial Intelligence, 1991, 70(2): 1022–1027. doi: 10.2307/407557
    WEBB G I, CHEN Shenglei, and N A. Zaidi Scalable learning of Bayesian network classifiers[J]. Journal of Machine Learning Research, 2016, 17(1): 1515–1549.
    MURALIDHARAN V and SUGUMARAN V. A comparative study of Naïve Bayes classifier and Bayes net classifier for fault diagnosis of monoblock centrifugal pump using wavelet analysis[J]. Applied Soft Computing, 2012, 12(8): 2023–2029. doi: 10.1016/j.asoc.2012.03.021
    Friedman N, Geiger D, and Goldszmidt M. Bayesian network classifiers[J]. Machine Learning, 1997, 29(2-3): 131–163. doi: 10.1023/a:1007465528199
    GAN Hongxiao, ZHANG Yang, and SONG Qun. Bayesian belief network for positive unlabeled learning with uncertainty[J]. Pattern Recognition Letters, 2017, 90. doi: 10.1016/j.patrec.2017.03.007
    JIANG Liangxiao, CAI Zhihua, WANG Dianhong, et al. Improving Tree augmented Naive Bayes for class probability estimation[J]. Knowledge-Based Systems, 2012, 26: 239–245. doi: 10.1016/j.knosys.2011.08.010
    王中锋, 王志海. TAN分类器结构等价类空间及其在分类器学习算法中的应用[J]. 北京邮电大学学报, 2012, 35(1): 72–76. doi: 10.3969/j.issn.1007-5321.2012.01.017

    WANG Zhongfeng and WANG Zhihai. Equivalent classes of TAN classifier structure and their application on learning algorithm[J]. Journal of Beijing University of Posts and Telecommunications, 2012, 35(1): 72–76. doi: 10.3969/j.issn.1007-5321.2012.01.017
    DUAN Zhiyi and WANG Limin. K-dependence bayesian classifier ensemble[J]. Entropy, 2017, 19(12): 651. doi: 10.3390/e19120651
    冯月进, 张凤斌. 最大相关最小冗余限定性贝叶斯网络分类器学习算法[J]. 重庆大学学报, 2014, 37(6): 71–77. doi: 10.11835/j.issn.1000-582X.2014.06.011

    FENG Yuejin and ZHANG Fengbi. Max-relevance min-redundancy restrictive BAN classifier learning algorithm[J]. Journal of Chongqing University:Natural Science, 2014, 37(6): 71–77. doi: 10.11835/j.issn.1000-582X.2014.06.011
    WONG M L and LEUNG K S. An efficient data mining method for learning bayesian networks using an evolutionary algorithm-based hybrid approach[J]. IEEE Transactions on Evolutionary Computation, 2004, 8(4): 378–404. doi: 10.1109/TEVC.2004.830334
    LOU Hua, WANG Limin, DUAN Dingbo, et al. RDE: A novel approach to improve the classification performance and expressivity of KDB[J]. Plos One, 2018, 13(7): e0199822. doi: 10.1371/journal.pone.0199822
    ROBINSON R W. Counting Unlabeled Acyclic Digraphs[M]. Berlin Heidelberg: Springer, 1977: 28–43. doi: 10.1007/BFb0069178.
    SCHWARZ G. Estimating the Dimension of a Model[J]. Annals of Statistics, 1978, 6(2): 15–18.
    GREINER R and ZHOU W. Structural extension to logistic regression: discriminative parameter learning of belief net classifiers[J]. Machine Learning, 2005, 59(3): 297–322. doi: 10.1007/s10994-005-0469-0
    MADDEN M G. On the classification performance of TAN and general bayesian networks[J]. Knowledge-Based Systems, 2009, 22(7): 489–495. doi: 10.1016/j.knosys.2008.10.006
    DRUGAN M M and WIERING M A. Feature selection for Bayesian network classifiers using the MDL-FS score[J]. International Journal of Approximate Reasoning, 2010, 51(6): 695–717. doi: 10.1016/j.ijar.2010.02.001
    WU Jiehua. A generalized tree augmented naive bayes link prediction model[J]. Journal of Computational Science, 2018. doi: 10.1016/j.jocs.2018.04.006
    MEHRJOU A, HOSSEINI R, and ARAABI B N. Improved Bayesian information criterion for mixture model selection[J]. Pattern Recognition Letters, 2016, 69: 22–27. doi: 10.1016/j.patrec.2015.10.004
    杜瑞杰. 贝叶斯分类器及其应用研究[D]. [硕士论文], 上海大学, 2012.

    DU Ruijie. The Research of Bayesian Classifier and its applications[D]. [Master disertation], Shanghai University, 2012
  • 期刊类型引用(23)

    1. 官国宇,杨皓翔,王运豪,郝立柱. 基于误分类修正的朴素贝叶斯分类器及其在政务热线行业分类中的应用. 数理统计与管理. 2025(01): 179-190 . 百度学术
    2. 陈世武. 基于AI的网络流量分析与攻击检测研究进展. 网络安全技术与应用. 2025(04): 41-46 . 百度学术
    3. 王耀伟,刘原麟,潘若禹,陈宝文,罗方欣. 基于支持向量机的物流传送带场景下RFID识读性能研究. 现代电子技术. 2024(09): 150-156 . 百度学术
    4. 兰佳豪,杜运潮,周红侠. 基于树增强朴素贝叶斯的科技计划项目风险评价体系研究. 宁波工程学院学报. 2024(04): 26-32+40 . 百度学术
    5. 王学强,樊建春,杨哲,罗双平,徐志凯,蔡正伟,熊毅. 树增强型贝叶斯模型提升溢流预警时间提前量. 石油钻采工艺. 2024(04): 413-428 . 百度学术
    6. 肖军弼,魏娇娇. 面向数据挖掘的网络流量分析及预测研究综述. 计算机与数字工程. 2023(02): 372-379+467 . 百度学术
    7. 王渭刚. 基于朴素贝叶斯方法的英语缩略词汇推荐模型. 信息技术. 2023(04): 18-22+28 . 百度学术
    8. 齐迹. 基于RCNN模型的英语文本摘要自适应分类方法. 信息技术. 2023(10): 23-28 . 百度学术
    9. 陈晓姗,张国华. 基于朴素贝叶斯的大数据模糊随机挖掘仿真. 计算机仿真. 2023(11): 428-432 . 百度学术
    10. 方志豪,李正权,张铭玮. 基于加权朴素贝叶斯的水质数据分类研究. 物联网学报. 2022(01): 113-122 . 百度学术
    11. 李小燕. 基于朴素贝叶斯的智能电子图书信息自动分类系统. 自动化与仪器仪表. 2022(03): 26-30 . 百度学术
    12. 杜可敬. 三支增量朴素贝叶斯分类算法研究. 信息与电脑(理论版). 2022(14): 70-72 . 百度学术
    13. 胡启实,余卫星. 基于人工智能的多媒体数据库在线整合系统设计. 现代电子技术. 2021(02): 127-130 . 百度学术
    14. 张春英,冯晓泽,刘洋,马逸涛,刘凤春,高瑞艳,任静. 一种新的三支扩展TAN贝叶斯分类器. 小型微型计算机系统. 2021(03): 485-490 . 百度学术
    15. 谢文涌,柴琴琴,林旎,李祥辉,王武. 基于Stacking集成学习的马兜铃酸及其类似物鉴别. 江苏农业学报. 2021(02): 503-508 . 百度学术
    16. 潘勇斌,顾全,廖华,周南菁. 基于循环神经网络的电网故障智能告警信息分类研究. 自动化技术与应用. 2021(09): 56-60 . 百度学术
    17. 万迪明,孙海玉,张小斐,刘昊,耿俊成,袁少光. 基于树增强朴素贝叶斯分类的台区关口表挂接关系在线校验方法. 电子器件. 2021(06): 1463-1468 . 百度学术
    18. 冯天军,高坦,田秀娟. 基于朴素贝叶斯的交通事故严重程度分析. 山东交通科技. 2021(06): 1-4+8 . 百度学术
    19. 刘文斌,吴倩,杜玉改,方刚,石晓龙,许鹏. 基于个性化网络标志物的药物推荐方法研究. 电子与信息学报. 2020(06): 1340-1347 . 本站查看
    20. 陈勇刚,崔康,孙向东,冯鹏宇. 运输航空飞行安全绩效模糊动态评估模型. 中国安全生产科学技术. 2020(08): 173-178 . 百度学术
    21. 李明. 基于朴素贝叶斯的重力感应电子秤定载荷点选择. 机械与电子. 2020(10): 43-47 . 百度学术
    22. 刘世晶,涂雪滢,田昌凤,徐皓. 基于机器视觉的吸鱼泵过鱼量计数系统试验研究. 渔业现代化. 2020(05): 45-51 . 百度学术
    23. 王震,张海清,彭莉,汪杰,游凤,李代伟,唐聃. 基于奇异值分解的医疗数据信息提取及分类方法. 成都信息工程大学学报. 2020(05): 537-541 . 百度学术

    其他类型引用(26)

  • 加载中
图(7) / 表(5)
计量
  • 文章访问数:  3083
  • HTML全文浏览量:  1316
  • PDF下载量:  108
  • 被引次数: 49
出版历程
  • 收稿日期:  2018-09-18
  • 修回日期:  2019-03-27
  • 网络出版日期:  2019-04-20
  • 刊出日期:  2019-08-01

目录

/

返回文章
返回