目前朴素贝叶斯的改进主要有以下四个方面:
一.结构扩展(主要方向为探索属性间的关联关系)
朴素贝叶斯的星型结构:
如图1.1所示,我们有类别C,有A,B,C三个属性能决定C的类别,并且ABC都互相独立:
图1.1 星型结构
树型结构:
Friedman在1997年提出的TAN算法,将原算法的星型结构演变成更高的树型依赖结构。目的是解决属性变量之间存在的依赖关系。2004年石洪波提出的利用条件互信息选择若干TAN进行组合,提高TAN算法。树形结构如下图1.2。
图1.2 树型结构
网状结构:
Pearl1988年提出,后来Cooper在1992年提出了K2算法,在已获得先验信息下,利用爬山法来搜索最优的结构。如下图1.3所示:
图1.3 网状结构
二.属性加权(解决各属性对于类别决策影响相同的问题,对各特征属性赋予一个权值)
Harry Zhang等提出的MCMC方法,信息增益法,爬山法,MCMC方法和爬山法相结合的方法等。
2014年魏会建从粗糙集理论出发,引入信息论的信息熵和条件熵,通过属性的重要性来确定权重。
还有学者使用卡方统计来构造属性间的相关系数,来以此作为权值。
三.局部学习(将原数据集切割成若干子集,使用其中某些来进行分类算法)
局部学习的原理是将原本不符合朴素贝叶斯假设的训练集中的部分数据能满足属性间没有依赖性的要求。
四.属性选择(将冗余属性剔除删除的方法)
Langley在1994年提出的贪心策略对于属性进行选择,以此提高分类算法的性能。
也有很多学者使用粗糙集理论,寻找能够度量单个属性特征对类别的决策贡献度指标,即关联规则,并且基于此来剔除贡献度第的属性特征。