数据挖掘技术浅析
2011-08-15辽宁刘旭
辽宁 刘旭
数据挖掘技术浅析
辽宁 刘旭
在浩瀚的数据海洋中,人们常常陷入渴望有效信息而无法入手的尴尬局面,传统的统计方式虽然可以实现空间数据的录入、修改、统计、查询等功能,但却不能很好的发现隐藏在空间数据中的关系、规律等信息。这就使得数据丰富,而知识贫乏的问题越来越突出。通过数据挖掘技术对原始数据进行加工,能够准确、高效地从数据海洋中找到答案获得价值信息,本文对这一技术进行探讨。
数据处理;数据挖掘;信息
引言
在过去的几十年中,计算机硬件得到了稳步、快速的发展,随着功能强大的计算机、数据收集设备和存储介质的大量供应,推动了数据库和信息产业的发展,使得人类拥有的数据量急剧增加,并且正以几何级数或指数级数增长。如今,如何分析这些海量的数据成为了各个领域的巨大挑战,数据挖掘技术应运而生,并得以蓬勃发展,越来越显示出其强大的生命力。
1 数据挖掘的定义
数据挖掘(Data Mining),又称为数据采掘、数据开采,相近的术语有KDD(数据库知识发现)、数据分析、数据融合(Data Fusion)、决策支持等。根据w.J.Frawley和G.P.Shapiro等人的定义,数据挖掘是指从大型数据库的数据中提取人们感兴趣的知识。而这些知识是隐含的、事先未知的、潜在的有用信息。它综合利用了统计学方法,模糊识别技术,人工智能方法,人工神经网络技术等相关技术,并对各行各业的生产数据,管理数据和经营数据进行处理、组织、分析、综合和解释,以期从这些数据中挖掘并揭示出客观规律,反映内在联系和预测发展趋势的知识。
人们把原始数据看作是形成知识的源泉,就像从矿石中采矿一样。原始数据可以是结构化的,如关系型数据库中的数据,也可以是半结构化的,如文本、图形、图像数据,甚至是分布在网络上的异构型数据。发现知识的方法可以是数学的,也可以是非数学的;可以是演绎的,也可以是归纳的。发现了的知识可以被用于信息管理、查询优化、决策支持、过程控制等,还可以用于数据自身的维护。因此,数据挖掘是一门广义的交叉学科,它汇聚了不同领域的研究者,尤其是数据库、人工智能、数理统计、可视化、并行计算等方面的学者和工程技术人员。
2 数据挖掘的方法
2.1 决策树
决策树是通过一系列对数据进行分类的过程,它从一组无次序、无规则的事例中推理出决策树表示形式的分类规则。决策树分类方法采用自顶向下的递归方式,在决策树的内部结点进行属性值的比较并根据不同的属性值判断从该结点向下的分支,在决策树的叶节点得到结论。所以从决策树的根到叶节点的一条路径就对应着一条合取规则,整棵决策树就对应着一组析取表达式规则。其优点是可将数据规则可视化,构造时间段,输出易于理解,故而多用于只是发现的系统中。
2.2 神经网络
神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。其优点是有很高的抗干扰能力和可对未训练数据进行分类,其不足之处是训练时间较长以及可解释性差。
2.3 遗传算法与进化理论
遗传算法是于解决最优化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。遗传算法善于解决全局最优化的问题。
2.4 类比学习
最典型的类比学习方法是K一最近邻方法,它属于懒散学习法,相比决策树等急切学习法,它具有训练时间短,但分类时间长的特点。K-最近邻算法可以用于分类和聚类中。类比学习的思路非常简单,当预测未来情况或进行正确分类时,系统寻找与现有情况类似的事例,并选择最佳的相同的解决方案。
2.5 关联规则
关联规则挖掘是用以发现大量数据中项集之间相关联系的,关联规则的发现可以分为两个方面:频繁项集的发现和关联规则的提取。其中,发现或识别所有频繁项目集是关联规则发现算法的核心和基础,也是计算量最大的部分。关系数据库中关联规则的挖掘目前有两种思路:一是,基于传统关联规则的思想;二是,直接利用结构化查询语言SQL来实现。若数据集中的属性都是布尔值,则此数据集中挖掘的关联规则就都是布尔关联规则。Apriori算法是挖掘布尔关联规则的典型算法,布尔关联规则算法又是最典型得一种关联规则挖掘算法。许多其它关联规则挖掘算法都基于布尔关联规则挖掘算法,并且许多其它属性的数据的关联关系挖掘也都可以转化为布尔关联规则挖掘算法。
除上述数据挖掘方法外还有统计分析、贝叶斯分类、粗糙集等方法,他们之间既相互独立又相互补充。
3 数据挖掘的应用
数据挖掘技术已经广泛地应用于金融业、零售业、远程通讯业、政府管理、制造业、医疗服务以及体育事业中,而它在网络中的应用也正在成为一个热点。
3.1 电子商务
运用网络用法挖掘技术能够从服务器以及浏览器端的日志记录中自动发现隐藏在数据中的模式信息,了解系统的访问模式以及用户的行为模式,从而做出预测性分析。例如通过评价用户对某一信息资源浏览所花的时间,可以判断出用户对资源兴趣如何;对日志文件所收集到的域名数据,根据国家或类型(.com,.edu,.gov)进行分类分析;应用聚类分析来识别用户的访问动机和访问趋势等。
3.2 网站设计
通过对网站内容的挖掘,可以有效地组织网站信息,例如采用自动归类技术实现网站信息的层次性组织;通过对用户访问日志记录信息的挖掘,把握用户的兴趣,有助于开展网站信息推送服务以及个人信息的定制服务。
3.3 搜索引擎
用搜索引擎进行数据挖掘的最大特色体现在它所采用的对网页Links信息的挖掘技术上。如通过对网页内容挖掘,可以实现对网页的聚类、分类,实现网络信息的分类浏览与检索;通过用户所使用的提问式的历史记录的分析,可以有效地进行提问扩展,提高用户的检索效果(查全率,precision;查准率,recall);运用网络内容挖掘技术改进关键词加权算法,提高网络信息的标引准确度,从而改善检索效果。上面仅仅列举了网络信息挖掘技术在这三个方面的应用这项技术的应用正变得越来越广泛,用户对高品质、个性化的信息需求必将推动学术界与实业界的研究开发工作。
3.4 数据挖掘在软件测试中的应用
数据挖掘技术为软件测试数据生成和软件可靠性评估提供了新的思路和方法软件结构测试数据生成一直是困扰软件测试人员的一个难题。通过手工方式设计测试数据的方法效率低,工作量大,数据挖掘中的遗传算法以其启发式的搜索寻优方式为软件结构测试数据生成提供了高效的方法。
传统软件可靠性模型适用性差,局限了模型的实际应用。软件可靠性评估是一个复杂的决策过程,正确的决策需要建立在对知识充分掌握的基础上。数据挖掘中的人工神经网络利用庞大的历史数据,通过机器的自学习能力,智能地分析、生成评估规则。由于其基于的是历史数据,而非模型假设,所以它具有比传统可靠性模型更好的适用性与通用性。
4 结束语
数据挖掘是目前国际上数据库和信息决策领域的前沿研究方向之一,也是当前计算机领域的一大热点,其研究的重点也逐渐从理论转移到了系统应用,随着技术的不断成熟,未来的应用领域也会更加广泛。只有更加深入的研究透了数据挖掘相关的理论,才能使其对未来社会的发展起到更积极的作用。
[1]赵岩.数据挖掘理论与技术[J].福建电脑,2006,02.
[2]薛慧君.数据挖掘技术及其在电子商务中的应用研究[J].内蒙古农业大学学报(自然科学版),2005,04.
[3]张娴.数据挖掘技术及其在金融领域的应用[J].金融教学与研究,2003,04.
[4]刘慧巍,张雷,翟军吕.数据挖掘中决策树算法的研究及其改进[J].辽宁师专学报,2005,7(4):23-24.
[5]吴晨.数据挖掘技术在软件可靠性测试与评估中的应用与研究[D].上海:同济大学,2008:22-23.
[6]毛弟弟,郝忠孝.关系数据库中关联规则挖掘的算法研究[J].哈尔滨理工大学学报.2009,4,14,增刊 1:15-17.
(编辑 吕智飞)
(作者单位:辽宁信息职业技术学院)