摘要: 互联网的快速发展导致海量数据的产生,来自不同数据源的信息集成使得数据质量更难以保证,因此数据清洗成为改善数据质量的必要手段之一。传统的数据清洗方法虽然能够解决部分问题,然而存在计算难度大,缺乏充足的知识等局限性。本文提出了将主动学习与众包平台相结合来进行数据清洗的新方法,通过众包来提供需要的知识,同时结合主动学习模型来减少众包开销,实现了对给定的数据库基于众包平台的数据清洗,在最大程度上减少成本的同时提高了数据的质量。我们在真实数据集上验证了提出的模型,证明了所提方法的有效性。
关键词:众包;数据清洗;主动学习
引言
当今信息化时代,由于互联网的兴起和产业的数字化,导致各种数据量的急剧增长,数据的重要性越来越不可忽视。劣质数据的产生可能给企业带来时间浪费、金钱浪费和客户信任降低等不可估量的损失。而高质量的数据可以为企业带来正确的数据分析,从而对企业未来的决策给出可靠的数据保证,使其在激烈的竞争中立于不败之地。
现如今劣质数据存在于各种类型的数据库中时刻影响着企业的效益和人们的生活。比如对于企业,用户信息录入错误,信息存在时效性,企业合并等都会导致劣质数据的出现,从而影响数据的质量。下面我们给出几组数据[1]来体现劣质数据的影响。①据估计,由于地址的错误,被邮政部门标记为无法投递的国家退税支票每年超过175 000张。②电话公司由于数据错误(包括50%的电话账单错误)每年损失600 million磅。③糟糕的数据质量是原因之一,导致医疗健康产业中每年98 000人死亡。由上不难看出,劣质数据造成的糟糕影响,因此研究如何处理劣质数据,利用数据清洗提高数据的质量一直是人们关注的课题。
目前在数据清洗领域已经有众多研究[2-9],提出了概率方法、经验方法、基于规则方法和具有数据清洗功能的各种系统[6-8],原理是在原始数据的基础上进行最小修复的同时达到最大的准确度。然而现有的方法主要存在两个问题。
(1)缺少足够的知识。在很多情况下,没有额外知识的加入,规则定义的不够全面,都将导致数据清洗的结果精确度不够高。即使在有些研究[10]中使用了专家的指导,当数据集非常大时,昂贵的代价也使得这种方法变得不可行。
(2)复杂的数学计算。多数的机器学习算法都涉及到各类复杂的数学计算,它们之中大部分都是NP-hard难题或者是根本不可计算的。解决方法通常是提出一个近似算法或者启发式算法,然而这往往不能满足我们对数据要求的精度。
为了解决以上两个问题,本文提出了基于众包的主动学习模型,将主动学习与众包相结合对劣质数据进行数据清洗。通过众包手段进行数据清洗保证一定的精确度,同时结合主动学习模型减少众包的开销。
本文的主要贡献如下。
(1)设计了两种满足不同需求数据清洗的主动学习模型,将以往多应用在机器学习领域加快分类的主动学习机制应用在数据清洗领域。
(2)提出利用主动学习机制结合众包平台来进行数据清洗,加快原有模型的修复速度,增加模型修复的正确性。据我们所知,目前还没有主动学习与众包相结合应用在数据清洗领域的研究。
(3)实验研究了当劣质数据存在多数据源真值冲突和数据缺失时算法的准确度,实验结果表明,将众包与主动学习相结合对劣质数据进行清洗,提高了数据修复的准确性。
1 问题定义
我们将问题分成三步来解决。
我们将在下一节详细阐述如何在主动学习模型中通过上述三个步骤解决具体的数据清洗问题。