BP神经网络在数据挖掘中的应用
摘要:随着信息技术的发展以及数据库管理系统的广泛应用,作为系统数据支撑的数据库,其存储的数据量急剧增大。运用数据挖掘技术,可以提取到这些海量的数据背后隐藏着的许多重要信息。但是,目前在大量非线性、多目标的复杂数据挖掘中仍存在一些问题。而神经网络在处理非线性、多目标数据方面有着较大优势。因此,本文将神经网络与数据挖掘相结合,阐述了BP神经网络在数据挖掘中应用的关键技术及实现方法。
关键词:数据挖掘;BP神经网络;分类
中图分类号:TP311.13文献标识码:A文章编号:1007-9599 (2013) 06-0000-02
1数据挖掘技术
1.1数据挖掘的含义
随着数据库技术及信息技术的不断发展,数据库管理系统在各个行业得到广泛应用。随之而来,数据库中存储的数据量急剧增长。在这些海量数据背后,隐藏着许多的重要信息,如果能把这些信息通过某种方式从数据库中抽取出来,将为数据的所有者创造出很多潜在利润和价值。这种从海量数据中挖掘提取出可能有潜在价值信息的技术,称之为数据挖掘(Data Mining)。[1]
1.2数据挖掘的功能
数据挖掘的目标是帮助决策者发现数据间潜在的关联、特征、趋势等可能有潜在价值的信息,从而做出前摄的、基于知识的决策。为企业带来利益或者为科学研究寻求到突破口。其主要功能如有:
(1)预测:数据挖掘可以在大型数据库中的海量数据中寻找预测性信息,把握分析对象发展的规律,对未来的发展趋势做出预见.
(2)关联分析:数据关联是数据间存在的一类重要的可被发现的知识。关联分析的主要目的是找出数据库中隐藏的关联与关联网。
(3)聚类:识别出分析对象数据内在的关联规则,按照这些规则把对象分成若干类。
(4)分类:按照分析对象的属性及特征,建立不同的组类来描述事物。
(5)偏差检测:在数据库的数据中,常有一些异常数据,从数据库中识别检测这些偏差很有意义。
1.3数据挖掘的处理过程
数据挖掘的处理过程是一个迭代的人机交互过程,主要由以下部分组成:
(1)问题定义:在数据挖掘开始之前,最重要的就是要理解数据所涉及领域内的业务问题,在此基础上对目标进较为行明确的定义。
(2)数据准备:获得要挖掘的数据源,从其中确定用于数据挖掘的数据子集,从而建立数据挖掘库。对子集数据进行预处理,如检查数据完整性、数据一致性、过滤噪声,填补丢失域,删除无效数据等。
(3)数据挖掘:依据数据挖掘的目的和数据的特征,选择或创建合适的模型及相应的算法,在经过预处理过的数据集上进行数据挖掘。
(4)评价解释:对数据挖掘的结果进行专业解释和评价,并将其转换成为能够最终被用户理解的知识。
2人工神经网络
2.1人工神经网络的含义
人工神经网络(Artificial Neural Networks,ANN),简称“神经网络”(NN),是作为对人类大脑最简单的一种抽象和模拟,是对人的大脑系统一定特性的描述。[2]它实际上是由大量的信息处理单元通过某种适当的方式互连构成的网络。由于其结构特征,神经网络具有高度非线性映射能力、记忆联想能力、自组织和自适应能力等,它能够进行复杂的逻辑操作和非线性映射。[3]
2.2BP神经网络的结构
BP网络是人工神经网络中的一种,是单向传播的多层前向网络,其网络结构如图1所示。是由输入层、输出层和中间的隐层组成,其中隐层可以是一层,也可以是多层,前层节点与后层节点通过网络权值相连接,同层节点中没有任何耦合。[3]
对于 个样本集合 的离散时间序列,BP神经网络可以完成从输入到输出的非线性映射,即可以找到某种映射关系使得: 。
图 1多层前馈 BP 网络
定理1:Kolmogorov定理,给定任一连续函数 ,这里 是闭区间[0,1], 可以精确地用一个三层前向网络实现逼近。
定理2:BP定理,给定任意 和在 范数下: ,存在一个三层BP网络,它可以在任意 平方误差精度内逼近 。
以上两个定理证明见[4],由此可见BP神经网络通过简单非线性处理单元的复合映射,具有了复杂的非线性问题的处理能力。
3神经网络在数据挖掘中的应用
3.1目前数据挖掘中存在的缺陷
目前在数据挖掘领域中,存在几个方面的问题:
(1)数据的量度和维度庞大,大量复杂的非线性或时序性的数据与噪音同时存在,因而过滤噪声或者提高数据挖掘算法的噪声承受力变得尤为重要。
(2)数据挖掘及分析的目标具有多样性,在此基础上,必须找到相对准确的数据分类方法,才能提高数据挖掘的准确性。
(3)在复杂目标下,对海量数据集的分析,目前还没有现成的且满足可计算条件的一般性理论的方法。
3.2BP神经网络应用于数据挖掘
在数据挖掘中,分类是一个重要的过程。其目的是通过对大量数据的分析,从而找出数据中隐含的规则,并根据此规则将数据分类。神经网络在数据挖掘中的优势是:对于噪声数据的强承受能力,对数据分类的较高准确性,以及可用多种算法进行规则提取。因此,常常借助神经网络来进行数据挖掘。
BP分类的过程可以分为训练和分类两个阶段.具体过程如下:
(1)根据网络要求对输入数据进行预处理;
(2)采用BP网络对已预处理的输入数据进行训练学习;
(3)用经过训练的BP网络对待识别数据进行模式分类。
BP网络可以对应一定的输入和输出,输入模式(输入数据)类似于事物的特性,而输出模式类似于事物的主题。隐含的神经网络层决定着数据分类规则。BP网络分类由训练学习和分类两个模块组成,BP网络的训练学习需要一定的时间。待网络训练完毕,则能较快地完成分类工作。[5]
对待挖掘的数据按要求进行预处理,把经过预处理的数据输入神经网络,进行训练学习;整个网络完成了对于样本的分类学习以后,那么网络中的权值参数已经包含了分类规则。从训练好的网络中提取分类规则。主要有下述2种方法:
(1)单层子网的规则的提取。以神经网络的隐含层结点和输出层结点为研究对象,把整个网络分解为许多单层子网的组合。这便于从简单的子网中挖掘知识。Fu的KT算法和Towell的MofM算法是比较具有代表性的方法。对于训练后的网络,需要对网络结构进行剪枝和删除冗余结点等处理工作。没有冗余结点连接的网络模式更精练和更易于理解。
(2)基于输入输出非线性关系提取规则。这种方法将直接从网络的输入和输出层数据入手,无需考虑网络的隐层结构,从而避免了基于结构分解的规则提取算法的缺陷和不足。Sestito等人提出的相似权值法,以及在此基础上演绎出的CSW算法(将网络输入扩展到连续值取值),是其中的两种典型算法。
4结束语
本文主要论述了BP神经网络技术在数据挖掘领域的应用,神经网络方法用于数据挖掘时,能够处理多变量和非线性数据,进行较为准确的分类,具有抗噪能力强,用户参与少,分类准确等特征。但在以下方面仍存在一些问题:
(1)数据的预处理中对数据进行标准化、特征化、除噪时所做的操作可能会损害数据的完整性和原始性,从而人为的造成误差。
(2)数据挖掘需要大量的样本数据,对于数据量较小的数据库,可能出现错误的结果。
(3)构造神经网络时要求使用大量数据对其训练,这意味着获得精确的神经网络需要花费许多时间。
在以上方面,需要进一步的研究,以期获得更好的数据挖掘方法,在越来越多的领域中发挥越来越大的作用。
参考文献:
[1]李凡.数据挖掘技术的研究与应用[D].西安电子科技大学,2002.
[2]阎平凡.人工神经网络与模拟进化计算.清华大学出版社.2000.
[3]蔡自兴.人工智能及其应用.清华大学出版社.2000.
[4]Lin S.H,Goodman E.D,Paunch W.F.Investigating Parallel Genetic Algorithms on Job Shop Scheduling Problem.In the Sixth International Conference on Evolutionary Programming.Berlin:Springer-Verlag,1997(4):383-393.
[5]懂聪.人工神经网络当前的进展与问题[J].科技导报,1999(7):26-30.
上一篇:探讨关于水电厂的自动化技术