(计算机应用技术专业论文)基于bp神经网络的属性选择研究.pdf_第1页
(计算机应用技术专业论文)基于bp神经网络的属性选择研究.pdf_第2页
(计算机应用技术专业论文)基于bp神经网络的属性选择研究.pdf_第3页
(计算机应用技术专业论文)基于bp神经网络的属性选择研究.pdf_第4页
(计算机应用技术专业论文)基于bp神经网络的属性选择研究.pdf_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 数据挖掘是门从大规模的数据中提取有用信息的技术,数据预处理是数据挖 掘任务过程中一项重要的环节,特别是挖掘海量高维数据的信息时数据预处理就显 得非常重要【1 1 。因为通常用于数据分析的数据可能包含数以百计的属性,其中很多 属性与数据挖掘不相关,因此通过属性选择找出最小的属性集来有效提高数据挖掘 的效率就显得格外重要。 而分类数据挖掘有很多的挖掘工具,其中之一就是神经网络,其中以b p 神经 网络最为常用。但现有的神经网络属性选择方法存在不足之处,因为神经网络这种 学习型的算法本身的效率就不太高,而如果我们采用数据集全部的属性对神经网络 进行训练和裁剪的话,就会使神经网络的网络规模过大,输入的训练信息量过多, 网络学习效率低下等等【2 】。为了克服神经网络属性选择的缺陷,就必须提出新的方 法以对现有的方法加以改进。 本文提出一种改进的神经网络属性选择方法,该方法结合了属性选择模型中 w r a p p e r 模型和f i l t e r 模型的优点,这种方法能有效改善b p 神经网络属性选择方法 的不足,加快b p 神经网络预测的效率,提高网络的分类预测准确率。文中首先用 敏感度分析法对初始属性集中的属性进行排序,然后根据属性排序的结果,通过逐 一剔除次要属性,来比较在剔除次要属性后b p 神经网络预测和分类的准确率,最 后通过比较在不同情况下的准确率结果,找到最小最优属性集。最后使用m a t l a b 进行了相关的仿真实验,比较属性选择前后的神经网络的分类准确度和效率,仿真 的结果表明该方法效果良好。, 关键字:敏感度分析;b p 神经网络:属性选择;属性排序; 硕士学位论文 m a s t e r st h e s i s a b s t r a c t d a t am i n i n gi sat e c h n o l o g yw h i c hc a na b s t r a c tu s e f u li n f o r m a t i o nf r o ml a r g e - s c a l e d a t a s e t , d a t ap r e - p r o c e s s i n gi sa ni m p o r t a n tl i n ko fd a t am i n i n gp r o c e s s ,e s p e c i a l l yi n 1 1 i g hd i m e n s i o n a ld a t am i n i n g u s u a l l y , t h ed a t au s e df o rd a t aa n a l y s i sm a yc o n t a i n h u n d r e d so ff e a t u r e s ,a n dm a n yo ft h e m 剐n o tr e l e v a n tt od a t am i n i n g t h e r e f o r e , i ti s p a r t i c u l a r l yi m p o r t a n tt of i n do u tt h em i n i h l u l ns e to ff e a t u r e st oe f f e c t i v e l yi m p r o v et h e e f f i c i e n c yo fd a t am i n i n g t h e r ea r em a n yd a t am i n i n gt o o l so fc l a s s i f i c a t i o n , o n eo fw h i c hi sn e u r a ln e t w o r k s , a n db pn e u r a ln e t w o r k su s e di nd a t am i n i n go fc l a s s i f i c a t i o nm o s tc o m m o n l y h o w e v e r , t h e r ea r em a n yd e f e c t se x i s ti nt h em e t h o d so fn e u r a ln e t w o r k sf e a t u r es e l e c t i o n , b e c a u s e t h ee f f i c i e n c yo fl e a r n i n ga l g o r i t h mo fn e u r a ln e t w o r k si sn o tt o oh i g hi t s e l f , a n di fw e a d o p tt h et o t a lf e a t u r e so f d a t a s e tt ot r a i nan e u r a ln e t w o r k s ,t h es c a l eo ft h en e t w o r kw i l l b ev e r yl a r g e ,t h ei n f o r m a t i o no ft h en e t w o r kw i l lb ev e r yh u g e ,t h es t u d y i n ga n d p r e d i c t i n ge f f i c i e n c yo ft h en e t w o r kw i l lb eb a d i no r d e rt oo v e r c o m et h ed e f i c i e n c i e so f n e u r a ln e t w o r k sf e a t u r es e l e c t i o n ,w en e e dt op r o p o s ean e wa p p r o a c ht oi m p r o v et h e e x i s t i n gm e t h o d s a ni m p r o v e dn e u r a ln e t w o r k sf e a t u r e ss e l e c t i o nm e t h o di sp r e s e n t e di nt h ep a p e r , i t c o m b i n e st h ea d v a n t a g e so fw r a p p e rm o d e la n df i l t e rm o d e l ,a n dt h i sa p p r o a c hc a n i m p r o v et h ed e f e c t so fb pn e u r a ln e t w o r k s ,w h i c hs p e e du pt h ep r e d i c t i o ne f f i c i e n c yo f b pn e u r a ln e t w o r k sa n de n h a n c e st h ep r e d i c t i o na c c u r a c yo fn e t w o r k s i tr a n k st h ei n i t i a l f e a t u r e ss e tb yu s i n gt h em e t h o do fs e n s i t i v i t ya n a l y s i s ,a n dt h e nw er e m o v e st h e s e c o n d a r yf e a t u r e sa c c o r d i n gt ot h ef e a t u r e sr a n k i n gr e s u l t st oc o m p a r et h ea c c u r a c yo f b pn e u r a ln e t w o r kp r e d i c t i o na n dc l a s s i f i c a t i o nb e t w e e nb e f o r ea n da f t e rr e m o v i n gt h e s e c o n d a r yf e a t u r e s ,a tl a s tw ec a ng e tt h em i n i m u ms e to ff e a t u r es e tb ym a k i n ga c o m p a r i s o no ft h ep r e d i c t i o ni nd i f f e r e n ts i t u a t i o n s t h es i m u l a t i o nr e s u l t sw h i c hb a s e d o nt h em a t l a bt o o ls h o wt h ee f f i c i e n c yo ft h i sa p p r o a c h k e yw o r d s :s e n s i t i v i t ya n a l y s i s ;b pn e u r a ln e t w o r k ;f e a t u r es e l e c t i o n ;f e a t u r e r a n k i n g 儿 硕士学位论文 m a s t e r st h e s i s 华中师范大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作 所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本声明的法律结果由本人承担。 作者签名:椒幅唧 吼2 唧年f 月二驴日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权华中师范大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时授权 中困科学技术信息研究所将本学位论文收录到中国学位论文全文数据库,并通 过网 学位论文提交“c a l i s 高校学位论文全文数据库”中全文发布,并可按“章程”中的规 定享受相 作者 日期 硕士学位论文 m a s t e r st h e s i s 第1 章绪论 本章首先阐明了本文所选课题的研究背景以及所具有的研究意义,接着简单阐 述了本文完成的工作,最后对本文的内容做了大致的安排。 1 1 选题背景和研究意义 进入2 l 世纪以后,随着数据库和人工智能的迅猛发展,各个领域都产生了大 量的数据,在这些大量的数据背后隐藏着许多重要的信息。由于这些数据十分繁杂, 如何通过处理这些数据得到有益的信息是一个十分艰巨的任务,为达此目的的研究 统称为数据挖掘【3 l 。数据挖掘是最近几年发展起来的- n 新技术。其处理对象是大 量的日常数据,目的是为了从这些数据中抽取一些有价值的知识或信息 4 1 。 在数据挖掘中,分类、聚类、数据总结、概念描述、关联规则是数据挖掘所面 临的最主要的任务【1 1 。其中分类是一种非常重要也很常用的数据分析技术,它可以 用于提取描述重要数据的模型和预测未来的数据趋势【2 】。分类问题在人工智能、机 器学习以及模式识别等领域已经得到了广泛的研究,并已产生了许多的分类方法p j 。 但是,面对大规模的海量的数据,传统的分类算法在可扩展性和高效率性等方面上 遇到了大量的问题。因此,近年来分类问题已成为数据挖掘领域的一项重要研究内 容。 数据预处理是数据挖掘任务中重要的一环,而且必不可少1 2 j 。要使挖掘更有效 地挖掘出知识或有用的信息,就必须为它提供没有噪声干扰、实际有效的数据。 而属性选择通常作为数据挖掘的一个预处理步骤,这个步骤是一项非常重要的 工作【2 1 。随着数据挖掘研究的深入和在实际中的应用,数据挖掘的规模也越来越大 了,比如数据的数量以指数级别增长,数据包含的属性维数已经出现了“维度灾难” 【4 】j 如此多的数据和如此高的属性维数中必定包含了大量冗余属性以及数据,它们 的存在给许多机器学习算法都带来了严重的问题,不仅使挖掘算法的性能降低,而 且得出来的规则也难于理解,在数据挖掘的过程中,毫无疑问保留那些不相关的属 性对挖掘算法有很大影响,但是如果遗漏了相关的属性也会使挖掘任务遭受失败的 可能。因此,如何找到海量数据中的重要信息,将原始数据集中的属性做以重要性 排序就显得非常重要。对数据挖掘任务来说,属性选择成为一种必然的选择1 6 j 。 硕士学位论文 m a s t e r st h e s i $ 1 2 本文所完成的工作 本文主要针对海量数据的属性缩减问题,实现海量数据的缩减,重点研究了目 前存在的w r a p p e r 模型属性选择方法和f i l t e r 模型属性选择方法的优点和缺点,将 它们的优点进行结合,使用敏感度分析的方法将原始属性集中的属性进行重要性排 序,并根据一定的规则得到一个重要属性集,通过删减后的重要属性集再放入b p 神经网络用以分类预测,最后使用u c i 数据源,并在离散型数据库和连续性数据库 上完成了对本文方法的验证工作,比较了在删减属性和不删减属性前后的分类预测 率以及系统资源耗费率,进行了相关的实验和分析。 1 3 本文组织安排 论文的主要框架和内容如下: 第1 章为本文的绪论,分析了本文的选题意义和研究现状,并综述了本文的研 究目标和主要工作。 第2 章主要对相关背景知识做出简单介绍,其中重点介绍了属性选择的概念、 重要性、过程、以及常用的模型,仔细分析了现有模型的优缺点,提出了结合不同 模型优点的想法。 第3 章将上一章提出的想法做出了进一步的原理分析和思路介绍,然后通过对 b p 神经网络和敏感度分析方法的详细介绍,证明了这种改进的方法的优越性和可 操作性。随后详细阐述了这种方法的执行过程及注意事项。 第4 章主要是使用m a t l a b 进行实验仿真。分别对方法中使用到的b p 神经网 络在m a t l a b 环境中的实际构造以及方法的实现过程进行了详细的描述,最后对 实验结果做出分析和相关思考,证明了本方法的有效性。 第5 章对工作做出总结,并对后续的研究进行了展望。 2 硕士学位论文 m a s t e r st h e s i s 第2 章相关背景知识 随着计算机技术和网络信息技术的快速发展,出现在日常生活和工作中的数据 量越来越大,这些庞大的数据量对数据挖掘提出了很大的挑战,如何从海量数据库 中提出人们所需要的知识和信息,如何尽可能的在不降低数据挖掘目标的前提下缩 减海量数据库,是一件非常艰巨的任务,作为数据挖掘关键环节之一的属性选择环 节也成为各领域专家和学者研究的重要内容之一,通过对属性选择技术的研究发现 通过属性选择能有效提高分类数据挖掘任务的效率,降低数据挖掘过程的复杂度r 刀。 2 1 属性选择的重要性 属性选择是指选择一个尽可能小的属性子集,用该属性子集得到的类分布接近 原数据,并且学习后得到的分类器预测精度并不显著降低1 5 j 。属性选择在数据挖掘 中起着非常重要的作用,这主要表现在以下两个方面: l 、属性选择是数据挖掘任务的基础1 8 j 。 属性选择问题是许多不同领域的基础,如在分类、数据挖掘、图像处理、概念 学习等多项领域的数据挖掘准备的过程中起着很重要的作用。 2 、属性选择非常影响数据挖掘过程t 引。 用于数据分析的数据可能包含很多的属性,其中部分属性对于挖掘任务而言是 冗余不相关的,虽然从理论上来说属性越多,应该越利于数据挖掘任务的高精度实 现,但是事实是这些属性的存在不仅跟挖掘任务不相关,有时候甚至影响了数据挖 掘算法的性能和挖掘效果【6 】。通过去掉冗余的属性来降低复杂度和提高分类精度的 有效途径。并且通过去除冗余的属性能有效减少样例的个数,更加能加快数据挖掘 任务的速度。 2 2 属性选择的过程 属性选择这个过程是指:删除原始属性集中不相关和( 或) 冗余的属性,得到 一个最优最小的属性子集1 6 】。属性选择的目标是:用最少的属性达到最好的分类效 果【8 】o 属性选择的过程作的形式化描述如下: 设原始数据集p 趔= ( d u ) 肘期由m 以个样本构成,其中朋表示属性个数,而珂表示 样本组数。原始数据集p 棚可以表示为属性的集合如= m ,六) ,其中 3 硕士学位论丈 h t a s t e r st h e s i s 万= ( 盔,厶。,) r 。属性选择的过程是从中去除一些属性得到一个子集 = 研,五 ( 七刀) ,通过删减过程后,变为= 毛朋,s 。 ,使得 原始属性集个数变为最少,而且在属性个数最少的状态下能最佳状态的逼近目标函 数,则匕为所选的最优属性子集,也就是指在初始的一个属性中选择出一个有k 个 属性的子集,其中k 刀,这k 个属性可以像原来的拧个属性一样正确对数据集中的 每一个数据进行分类 9 1 。 2 3 属性选择的模型 现有的属性选择方法可以分为两种模趔:过滤( f i l t e r ) 模型 r l 嘲、封装( w r a p p e r ) 模型【7 】【8 】。 f i l t e r 模型的特点是,属性选择发生在学习算法之前,跟学习算法相对独立, 只被看模型中的一种过滤过程,所以被称之为过滤模型【l o l 。这种模型通常通过一些 很简单的特征来选择一些属性,而不会用任何学习算法来选择属性【7 l 。由于该模型 只是通过属性的某些简单特征来进行属性选择,所以它具有属性选择效率高的优 点,但是同时具备对噪声数据划分敏感的缺点,这种模型选择方法,常常会选择对 挖掘任务相关但是没有意义的属性进行泛化,很容易产生过拟合嗍。 w r a p p e r 模型的特点是,属性选择步骤与学习算法相互融合,宏观上成为一个 整体,模型中需要预先设定学习算法来评估和决定选择哪些属性【8 j 。该模型具体如 下图2 1 所示。 训 属 属性子集 学最优分类或 练 性习属性集预测 l 学习算法 数 选 算 择 法 据 评估结果 原始数据 t 测试数据 图2 1w r a p p e r 模型结构 f i g 2 1s t r u c t u r eo fw r a p p e rm o d e l 在w r a p p e r 模型中,首先用训练数据和相应的学习算法训练一个分类模型,然 4 硕士擘位论文 m a s t e r st h e s i s 后用测试数据来评估这个分类器的分类准确率,这个步骤通常非常缓慢,因为需要 重复进行很多次才能得到一个较好的最优属性集用在后面的数据预测或分类工作, 同时能够发现比较适合的学习算法以及算法的相关参数设定值瞒1 。f i l t e r 模型的缺点 在于该模型需要耗费大量的时间进行学习和训练,所以不适用于学习算法经常变动 的情况下 9 1 。相比而言,w r a p p e r 模型比f i l t e r 模型有很好的实用价值,因为虽然挖 掘速度没那么快,但是精度上可以得到保证。 通过对f i l t e r 模型和w r a p p e r 模型的比较,可以发现这两个模型各有利弊,但 这两种模型并不是对立的,现实中,将两种模型结合起来,往往是一种很有效而且 很不错的解决问题方法【1 0 1 。本文提出一种用f i l t e r 模型进行数据预处理,用w r a p p e r 模型进行分类或预测的方法,即基于敏感度分析的b p 神经网络属性选择方法( b p n e u r a ln e t w o r k sf e a t u r es e l e c t i o nm e t h o db a s e do ns e n s i t i v i t ya n a l y s i s ,f s b s a ) ,这 种方法将两种模型有效的结合了起来,实验表明,f s b s a 方法能很好的扬长避短, 进行高精度高速度的数据预测或者分类。 2 4 本章小结 本章介绍了数据挖掘过程中,属性选择的相关概念和重要性,这是进行分类数 据挖掘研究的前提和基础。接着详细的描述了属性选择的过程以及常用的模型,并 对这几种模型进行了分析和比较,总结出了不同模型的优缺点,最后提出基于敏感 度分析的b p 神经网络属性选择方法,该方法能更好的进行数据分类挖掘任务。 5 硕士擘位论文 m a s t e r st t t e s i s 第3 章基于敏感度的属性选择方法 属性选择是数据挖掘过程中一个重要的环节,该环节在统计模式识另1 ( s t a t i s t i e a l p a t t e r nr e c o g n i t i o n ) 、文本分类( t e x tc a t e g o r i z a t i o n ) 和数学挖掘( d a t am i n i n g ) 等等领 域都得到了广泛的研究与发展,但是通过属性选择的方法寻找到最优属性子集常常 是很困难的,许多和属性选择相关的问题都被证明是n p 难问题【l 。 本文提出的算法是利用敏感度来度量每个属性跟分类问题的相关性,并按照相 关性对每个属性进行排序,将属性分为强相关和弱相关( 或不相关) ,去除弱相关 属性【9 】,通过这种敏感度分析的b p 神经网络属性选择方法选出强相关属性组成的 重要属性集i f s ( i m p o r t a n tf e a t u r es e t ) 。 3 1 基本原理 上章属性选择方法中通过对f i l t e r 模型和w r a p p e r 模型的研究,已经发现f i l t e r 模型属性选择效果高,但是分类预测精度不高。w r a p p e r 模型的选择效率低,但是 分类预测的精度非常高,神经网络属性选择算法是w r a p p e r 模型的典型代表。将两 种模型的思想进行结合融入到属性选择中,即首先用f i l t e r 模型对原始数据集中的 属性进行排序,比较每个属性的相对重要性并进行属性重要性排序,从而可以按照 排序结果将重要的属性送入神经网络中进行属性选择。这种方法能有效的避免神经 网络属性选择方法必须对全部属性进行训练,从而也避免了输入属性过多而导致的 网络规模过大、训练数据量过大、学习时间太长效率低下等等缺陷,使w r a p p e r 模 型的属性选择效率有很大的提高。 3 1 1b p 神经网络 在w r a p p e r 模型中,研究最多的也是最受关注的是神经网络属性选择算法【l 。 神经网络( n e u r a ln e t w o r k s ,n n ) ,即通过模仿人脑神经系统的信息传递结构,完成 数据信息的分布式存储和非线性计算【1 2 】。神经网络是近年来数掘挖掘中的一个重要 研究工具,因为它具有的分类精度高、鲁棒性良好、自适应性良好等很多优点,所 以近年来频繁用于分类数据挖掘任务中i l3 。主要的神经网络有:b p 网络、a r t 网 络、h o p f i e l d 网络、k o h o n e n 网络等【1 3 1 ,而在众多网络中,b p 神经网络应用最为广 泛,它具有可逼近任何非线性函数、可借用历史数据、误差逆传播、经济简单和高 容错能力等优点,故本文采用了b p 神经网络进行预测分类。 6 硕士擘位论文 m a s t e r st h e s i s 1 b p 神经网络概述 b p ( b a c k - p r o p a g a t i o n , 反向传播) 网络是1 9 8 6 年由r u m e l h a r t 和m c c e l l a n d 为首的科学家小组提出,是一种按误差反向传播的多层网络【l 。它的最大特点是仅 借助历史学习数据,通过学习就可让b p 神经网络实现由刀个输入神经元的模式向 量x 组成的x 。空间到】,空间的高度非线性映射,自学 - j 能力非常强大【l o 】。 2 b p 神经网路模型 b p 算法是一种前馈多层网络的学习算法,经典的前馈多层网络的结构一般由 三层组成:输入层i ( i n p u tl a y e r ) 、隐含层h ( h i d d e nl a y e r ) 、输出层o ( o u t p u tl a y e r ) , 其中隐含层有单层或者多层组成【1 2 1 。虽然隐含层以及隐含层中包含的隐含神经元都 没有直接跟外界联系,但它们的状态会直接影响输入与输出之间的关系,也就是说, 改变隐含层的层数、修改不同隐含层之间的权系数、修改不同隐含层之间的阈值, 能改变这个神经网络的整体性能和分类预测效果【1 3 1 。 在b p 神经网络模型中,相邻层之间的每个神经元都会相互进行连接1 1 4 l ,但同 一层的神经元相互之间却并不连接。模型具体如下图3 1 所示。 - i n p u t l a y e r : : 黼睽f 霞k - 1 层lk 层l, i 修改矽 i 图3 ib p 神经网络模型 f i g 3 im o d e lo f b p n e u r a ln e t w o r k s 3 b p 神经网络学习原理【1 5 】 b p 神经网络学习和训练的基本原理是:输入变量值x = g l ,工:j 。) 通过m 层 的隐含层的作用,将产生出来的结果通过输出层输出,得到输出值为r ,同时由于 送入b p 网络作用不仅包含了输入的变量值x = “,吃,) 还包含了期望输出值 n ,则将通过隐含层作用的输出值z 和期望输出值f ,进行比较,如果i 和f 。之间 7 硕士学位论文 m a s t e r st h e s i s 有偏差或者偏差大小不符合规定的要求,则需要调整b p 网络内部的隐元数目、不 同神经元之间的权值已经不同神经元之间的闽值大小,使偏差按照极小化误差的方 式逐渐减小,经过这种反复学习的方法和步骤,当z 和r 。之间偏差达到要求的时候, 就可以确定b p 网络的各个参数,整个学习训练过程就结束了,形式化描述如下: 如图3 1 所示,设有一个肌层的神经网络,并设带有样本集的输入向量 x = “,工:,x ) 。设第k 层( 是m 层神经网络其中的某一层) 的第f 个神经元的输 入总和表示为x ? ,输出衅,第k l 层( 即k 层的前一层) 的第,个神经元到第k 层 的第f 个神经元的权系数为形7 ,设这两个神经元之间的激发函数为厂( ) ( 或者可以 称为变换函数) ,则不同变量之间的关系可以用黟:厂( 舯) 来表示,并且由于第k l 层隐含层的神经元歹的输入向量x ,通过权系数形的调整最终得到了第k 层的神 经元f 的输入值,最终也能得到八时) = 吖x k ,。1 ,按极小化误差的方式取实际输 j 出值和期望输出值之差的平方和为实际输出和期望输出的偏差,即 e = 妻罗;一黟) 2 ,按e 来调整b p 网络内部的隐元数目、不同神经元之间的权值已 z7 经不同神经元之间的阈值大小【1 6 1 。 整个b p 网络完整的算法可以分为正向传播( f o r w a r d - p r o p a g a t i n g ) 和反向传播 1 3 1 o ( 1 ) 正向传播:该过程指将输入的数据从输入层进入,通过逐个隐含层的变换 和处理,将最终的结果传送的输出层,这个过程是神经网络顺序执行过程,当顺序 执行抵达输出层后,比较实际输出值和期望输出值,当发现两者的误差没有达到指 定的要求时,就进入下面的反向传播的过程【1 5 】。 ( 2 ) 反向传播:该过程是指将上步所述的误差值按上面那个正向传播的路线进 行反向传播,并按极小化误差的方式( 即误差平方最小) ,从输出层到输入层,在 历经各个隐含层的时候逐层修正连接权值等系数,使误差平方能达到最小值1 1 5 】。 随着( 1 ) ( 2 ) 两个过程用迭代方式进行,神经网络的实际输出将会逐步向期望输出 进行逼近,这样通过算法不断的学习和调整之后,预期的分类或预测效果也会得到 很大的提高。当得到确定的神经网络模型的各个参数后,即可以用这个确定的神经 网络模型进行数据挖掘的分类或预测任务。b p 神经算法就是这种典型的“正向传 播”和“反向传播”交替进行的训练算法【1 4 l 。 4 b p 神经网络算法主要部分【1 5 】 8 硕士学位论文 m a s t e r st h e s i s ( 1 ) 节点输出分为:隐含节点输出和输出节点输出; 隐含节点输出: h j = 厂眨w 驴毛一巳) ( 3 - 1 ) 输出节点输出: o k = 厂匹- e , ) ( 3 - 2 ) 以上两个输出中厂( ) 为非线性激发函数,可根据需要选择,0 为神经元的阈值 ( 偏置) ,w l ,为隐含层神经元到下一层神经元的权值,为隐含层神经元到输出层 神经元的权值,而和h ,均为隐含层或输出层中某个神经元的输入值。 ( 2 ) 误差调整分为:隐含层误差调整和输出层误差调整: 主要调整方式是按误差函数e 的负梯度方向修改b p 神经网络中的各项参数, 即g = i 1 ( p ;一矿) 2 ,其中z 是输出层各个不同神经元的期望值,i n t 为输出层各个 一 j 神经元的实际输出值,则如果是在输出层七,r ;就是实际输出。 隐含层误差调整,即此时k ? 的第j 个分量工,添加噪声或扰动,并通过上步 中已经调整好的b p 神经网络得到每个输入变量对应的 “+ “) ? ,最后通过以上 敏感度分析公式得到每个输入变量相应的 s 詹随机参数平均值,然后将 s ,并随机参 数值由大到小排序,得到属性敏感度排序集f s a s ( f e a t u r es e n s i t i v i t y a n a l y s i ss e t ) 。 由于输入变量的重要性跟打的变化大小之间有联系,也就是说如果输入的变 量值 而 ? 变化了一个a 事,则预测的错误值蚂 ? 也至少变化一个窖,并由此可以说 明该输入对分类预测任务是十分重要的【8 】,根据上面的理论的阐述,则在实际的实 验过程中,当遇到随机参数平均值小于打的输入变量,则直接剔除,它们的存在 对分类预测正确率不会有很大影响,相反它们的存在会在一定程度上干扰挖掘的效 率和准确率,故敏感度分析对于定位每个属性对分类预测的重要性非常重要。 ( 5 ) 分类预测实验一 通过敏感度分析之后,得到敏感度重要性的排序,这一从高到低的属性排序结 果体现了每个属性对分类预测精度的影响程度,此实验一将pp r e d i c t i o n 中的全部 数据全部属性,即将f s a s 送入步骤( 3 ) 中已构造好的b p 神经网络中进行分类预测, 不添加任何扰动或噪声,得到b p 神经网络的输出为f ( x j ) ,并得到网络预测准确率 p l ( 为能清楚区分,下文中表示为p t o t a l ) 。 ( 6 ) 分类预测实验二 经过上步的分类预测实验一后,我, f f 易w j 除f s a s 中值小于厅的属性,假设剔除 的属性变量个数为x ,则留下的随机参数大于疗的属性构成了重要属性集 i f s ( i m p o r t a n tf e a t u r es e t ) 的属性个数为n x ( 其中原始属性个数为n ) ,该i f s 也按 爷,并随机参数平均值由大到小排列。 将重要属性集i f s 中的n - x 个输入变量送入b p 神经网络里进行分类预测,得 到分类准确率p 2 ( 为能清楚区分,下文中表示为p i f s ) ,然后利用“试错法 依次剔 1 7 硕士学位论文 m a s t e r st h e s i s 除重要属性集i f s 中敏感度随机参数值相对较小的属性 9 1 ,并也通过b p 神经网络 分类模型依次得到剔除某个随机参数值偏小的属性后的分类预测率p 3 ,p 4 , p i ,p m 。 ( 7 ) 得到最优属性子集 当上步( 6 ) 中发现达到用最少的属性得到最好的分类效果的目标时,整个属性选 择完成。假设通过“试错法 得到当删减重要属性集i f s 中的第f 个属性的分类效 果最好时,则剩下的玎芬f 就为弱相关或不相关属性。 3 3 关于执行过程的思考 在f s b s a 方法的实际操作过程中,存在一些问题需要注意。 1 b p 网络内部结构的确定【2 7 】 由于神经网络是一种新兴的人工智能技术,而且由于其自我学习的特性,使之 本身就具有不确定性和模糊性,不会存在最好的神经网络f 2 羽。所以面对b p 神经网 络内部结构的确定问题上,没有什么具体的规则可遵循。现实中更多的是采用经验 法,或者是“试错法 ,根据实际情况,再结合仿真的实验结构,来确定最适合的 b p 神经网络结构和各项参数。 ( 1 ) 隐含层数的确定 如果隐含层层数太少,可能会影响分类的精度,如果隐含层层数太多,又 可能带来神经网络结构庞大计算复杂的问题。常用方法如下: 1 ) 经验法一:h e c h tn i e l s e n 指出在实际的应用中,一般一个具有三层结构 的b p 神经网络就可以满足一般情况的分类问题阳。 2 ) 经验法二:设隐含层数目为 蚴,则“黼曙+ 1 , 3 n ( 其中n 为样本 二 的维数,即输入层神经元数目) ,文献 2 5 】指出n 至少在3 以上,否则网络分类 精度不是很好,也会出现网络无法收敛的情况,可根据 蜘所取的隐层层数 范围,进行逐步的删减或者增加,以得到最好的分类效果。 ( 2 ) 各层神经元的确定 1 ) 输入层的神经元数目:输入数据集的样本维数; 2 ) 输出层的神经元数目:最终的分类类别数; 3 ) 隐含层神经元的数目: 经常使用k o l m o g o r o v 定理团】,针对于b p 神经网络的分类问题,由 1 8 硕士学位论文 n 【a s t e r st h e s i s h e c h t - n i d s e n 提出,设已知b p 神经网络中的输入层神经元数目删,输出层 神经元数日o 。叫,则隐含层的神经元数目鼬可这样取值: = 肛i 磊= 百+ 口;其中口= l 圳; 或者虬删= l o g 多一; 或者 腑= 2 虬州+ 1 ; 或者 胁= m l p l i i 。删; 隐含层神经元的确定遵循的基本原则如下: 1 ) 隐含层的神经元个数取值在输入层神经元个数和输出层神经元个数之间 ( 如介于输入神经元个数和输出神经元个数之和的5 0 一7 0 之间) ,并且一 定小于一1 ( n 为训练样本的数目) 渊。 2 ) 可根据实际需要采取“经验法 和“试错法”结合的方法进行隐含层神 经元数目的选取,如在经验法确定的数目上进行删减或者增加,尽量满足在不 影响b p 网络分类预测精度的情况下,使b p 网络的内部结构尽可能的简单明 了 2 3 1 jo 2 b p 网络的泛化能力 泛化能力是体现一个分类预测模型好坏的重要指标,通过增强网络的泛化能力 能有效提高b p 神经网络对未知数据的分类精度,这是训练一个b p 神经网络的目 标。在实际的操作仿真中,可以通过以下方式提高网络的泛化能力: ( 1 ) 不管是训练还是验证b p 神经网络,都尽可能的多提供一些数据样本。 ( 2 ) 控制b p 网络的误差设置,当误差太大,则说明网络泛化能力不好,减少误 差设定值,能有效提高网络的泛化能力,但是误差值不能设置太小,因为太小时可 能会产生“过拟合 ,反而降低了网络的泛化能力皿引。 ( 3 ) 网络训练的过程中,可以以采取随时终止的方法来防止“过拟合”现象的 出现,以提高网络的泛化能力【2 6 1 。 3 b p 网络的学习率 学习率的作用是不断调整权值阈值,可以用来在训练b p 网络的时候防止网络 陷入局部最小,帮助网络寻找到全局的最小,使训练后的b p 网络能得到最好的分 类预测精度。在仿真实验中,我们设学习率为,7 ,通常而言,设定r c ( o ,1 ) ,如果学 1 9 硕士学位论文 h l a s t e r st h e s i s 习率设定得太小,则整个网络在训练过程中会收敛得非常缓慢,但如果学习率设定 得太大,虽然网络的收敛速度变快很多,但网络的分类精度就无法保证。 ( 1 ) 经验法一:刁:一1 ,其中t 为训练b p 网络时设置的训练次数 2 7 1 。 f ( 2 ) 经验法z - 使用变动的学习率,即先预定一个值叩。,当在仿真过程中发现 使用t l o 进行训练时,网络的误差挺大,则增大,7 。的值,同样当发现网络的误差太小, 则减小吼的值,当,7 的选定合适时,网络就不易陷入局部最小值,而得到不错的 分类精度,而且训练速度合适。 ( 3 ) 经验法三:仿真中b p 神经网络i , ) l e v e n b e r g m a r q u a r d t 训练优化算法,能 有效的使b p 网络学习时间短,而且分类效果较好陋】。 3 4 本章小结 b p 神经网络目前已广泛应用于多个领域,有着非常突出预测能力。本章首先 介绍了一种改进的b p 神经网络属性选择方法的基本原理,如大致阐述了b p 神经 网络的原理和敏感度分析的原理,然后阐述了本文提出的这种改进的方法的基本思 想,以证明该方法的可行性和优越性,并对本方法的执行步骤做出了详细的说明, 最后对该方法中需要注意的问题和事项加以说明。 2 0 硕士学位论文 m a s t e r st h e s i s 第4 章方法的仿真以及验证 文中的仿真实验采用的实验工具为m a t l a b 神经网络工具箱。该工具箱具有 能将建模与仿真、数据处理、算法开发和可视化等等功能集于一体的优点,能够完 成自适应神经模糊学习、聚类任务以及s u g e n o 推理等等,而且因为具有友好的操 作界面,所以使用起来非常简单,使仿真任务摆脱了编写复杂代码的困扰,在此环 境下,用户不需要重复性的编写专业领域的代码,如在神经网络工具箱中,m a t l a b 提供了许多有关神经网络构造、设计、训练和仿真的函数。用户只要根据自己的需 要调用相关程序,使用起来非常方便【2 s j 。 4 。1 使用m a t l a b 进行实验的步骤 1 b p 神经网络构造t 2 9 3 3 1 在仿真过程中,需要根据实际的需要确定相应的拓扑结构,如确定隐含层的层 数、各层的神经元数目、确定各层神经元的变换函数、网络的各项训练参数值、样 本的归一化等,但这些工作可以通过m a t l a b 自带的神经网络工具箱来完成。 ( 1 ) 隐含层的层数:这是构造实验中用到网络的关键,由于本实验是使用u c i 国际数据源进行分类预测,属于普通的分类预测实验,则根据“h e c h tn i e l s e n ”提 出的隐含层层数经验法,可以知道三层的b p 网络结构就可以完成本文中的分类的 映射和逼近。故本文的b p 神经网络采用了三层的结构1 2 刀。 ( 2 ) 隐含层的神经元数目:输入层和输出层的神经元数目根据实际数据库的输 入维数和数据库的分类类别而定,而隐含层的层数按照本文3 3 节中介绍的 鼢= 瓦= 干瓦= 可+ 口( 其中a = l - 1 0 ) 经验法确定神经元数目的范围,在实 验过程中用m a t l a b 进行迭代实验,当达到最好分类效果时,实验停止。 ( 3 ) 各层神经元变换函数:文中实验将t a n s i g 设置为隐含层的激发函数,将 p u r e l i n 设置成输出层的激发函数,将t r a i n l m ( 即上章提到的l e v e n b e r g m a r q u a r d t 优 化算法) 设置为训练算法。 通过上面三步确定的隐含层层数、神经元数目、变换函数后,可以使用m a t l a b 自带的神经网络工具箱进行网络的实际构造: ( 1 ) b p 网络的生成:使用工具箱中自带的n e w f f 函数,通过该函数,我们可以 生成带有上面三步确定的参数的b p 神经网络,并可以通过该函数进行初始化,最 终函数的输出用n e t 进行返回,该函数可以表示为: 2 1 硕士擘位论文 m a s t e r st h e s i s n e t 三删f f ( p x , s l s 2 ,s n i ,陋l ,t f 2 , ot f n i , b t f ,b l e ,即) ,其中p r 代表原始数 据集,并且该数据集是由最大最小值构成的矩阵,用m i n m a x ( p ) 表示,s l ,s 2 ,s n l 分 别表示输入层、隐含层、输出层的神经元数目,其中l 则表示了b p 网络是几层结 构,当为三层结构时,l 的值取为2 。t f i ,t f 2 , ,t f n l 分别表示网络每一层的神经 元对应的变换函数,如果不自行设定,网络会将t a n s i g 作为缺省值。b t f 为网络的 训练函数,一般情况下都会设定为t m i n l m ,b l e 是学习函数,用于b p 网络的反向 修改权值和阈值,一般情况下都会设定为e a r n g d m ,p f 是性能函数,用来计算网络 的误差,用来给网络提供修改的依据,通常取m s e ,本文的b p 神经网络构造如下: n e t = 一绷矽岫n m a x ( p ) , m ,n l ,e t 蛐s 姆,i o g s i g t r a i n l m ) ( 其中m 为哪,n 为) 1 2 7 1 ;, ( 2 ) b p 神经网络的初始化:经过上步的网络生成后,就会进行网络的初始化工 作,m a t l a b 工具箱中自带了i n i t 的初始化函数,但是在网络生成完成后,就会自 动调用i n i t 函数,而不需要专门的语句初始化,所以仿真试验中,i n i t 语句大部分时 候都省略了。 ( 3 ) b p 神经网路的训练:可以表示为n e t = t r a i n ( n e t ,p ,t ) ,此时的n e t 为在步骤( 1 ) 中生成的并已经调整

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论