基于朴素贝叶斯的基于朴素贝叶斯的EM缺失数据填充算法缺失数据填充算法
实际应用中大量的不完整的数据集,造成了数据中信息的丢失和分析的不方便,所以对缺失数据的处理已经成
为目前分类领域研究的热点。由于EM方法随机选取初始代表簇中心会导致聚类不稳定,本文使用朴素贝叶斯算
法的分类结果作为EM算法的初始使用范围,然后按E步M步反复求精,利用得到的最大化值填充缺失数据。实
验结果表明,本文的算法加强了聚类的稳定性,具有更好的数据填充效果。
摘摘 要:要:实际应用中大量的不完整的数据集,造成了数据中信息的丢失和分析的不方便,所以对缺失数据的处理已经成为目前
分类领域研究的热点。由于EM方法随机选取初始代表簇中心会导致聚类不稳定,本文使用
关键词:关键词:数据填充;EM算法;朴素贝叶斯算法
在数据泛滥的今天,迫切地需要一种将数据转换成有用的信息和知识的数据挖掘技术。然而,由于信息无法获取或者在操作
过程中被遗漏等原因,现实中的数据往往存在大量的缺失[1]。数据缺失对数据挖掘的过程和结果有严重的影响:首先,系统
丢失了大量有用的信息;其次,系统中所表现出的不确定性更加显著,系统中蕴涵的确定性成分更难把握[2];第三,包含空
值的数据会使挖掘过程陷入混乱,导致不可靠的输出;第四,可能直接影响到数据挖掘模式发现的准确性和运行性能,甚至导
致错误的挖掘模型[3]。因此,在数据预处理过程中,缺失数据的处理是一个重要的环节。
目前,国外对数据缺失问题的研究取得了很多成果,提出了最近似值替换方法、随机回归填补法、神经网络、贝叶斯网络
等理论来解决缺失数据填充问题。国内对填充缺失数据的研究还处在一个开始的阶段,只有银行、保险业等在针对其自身具体
的应用进行了缺失数据处理的研究。
总体上说,对缺失值的处理分为三大类:删除元组、数据填充和不处理[4]。其中,处理数据缺失最简单的方法是删除元
组,当缺少类标号时通常这样做(假定挖掘任务设计分类),但是当每个属性缺少值的百分比变化很大时,该方法性能特别差
[5]。处理数据缺失的有效方法是使用最可能的值填充缺失值,可以用回归、贝叶斯形式化的基于推理的工具或决策树归纳确
定[6]。近年来,学术界提出了很多数据填充算法。宫义山提出了基于贝叶斯网络的缺失数据处理方法[7],彭红毅针对数据之
间存在相关性且为非高斯分布这种情况提出了ICA-MDH数据估计方法[8],Hruschkaetal.使用贝叶斯算法对实例中的缺失值进
行估计[9]。
在众多算法中,EM算法能通过稳定、上升的步骤可靠地找到全局最优值,算法适应性更强。尽管Gibbs抽样(Gibbs
samplig)[10]、GEM(Generalized EM)算法、Monte Carlo EM算法都改进了EM算法,但EM算法收敛速度慢的缺点仍然没有得
到很好的解决。基于此,本文提出结合朴素贝叶斯分类改进传统EM算法的方法填充缺失数据的新算法。给EM初始值界定了范
围,提高了EM算法的收敛速度和算法的稳定性,克服了边缘值造成EM算法结果偏差大的缺点,实现了良好的缺失数据填充效
果。
1 朴素贝叶斯分类的朴素贝叶斯分类的EM数据填充算法及其改进数据填充算法及其改进
1.1 符号定义符号定义
首先对算法中使用到的符号进行定义,如表1。
1.2 传统传统EM算法介绍算法介绍
EM(期望最大化)算法是一种流行的迭代求精算法,它的每一步迭代都由一个期望步(expectation step)和一个最大化步
(maximization step)组成。其基本思想是,首先估计出缺失数据初值,计算出模型参数的值,然后再不断迭代执行E步和M
步,对估计出的缺失数据值进行更新,直到收敛。EM算法的具体描述如下: