基于ANN的综合评价系统的设计【计算机科学专业】【毕业设计+文献综述+开题报告】

基于ANN的综合评价系统的设计【计算机科学专业】【毕业设计+文献综述+开题报告】

ID:479604

大小:782.00 KB

页数:40页

时间:2017-08-09

上传者:U-944
基于ANN的综合评价系统的设计【计算机科学专业】【毕业设计+文献综述+开题报告】_第1页
基于ANN的综合评价系统的设计【计算机科学专业】【毕业设计+文献综述+开题报告】_第2页
基于ANN的综合评价系统的设计【计算机科学专业】【毕业设计+文献综述+开题报告】_第3页
基于ANN的综合评价系统的设计【计算机科学专业】【毕业设计+文献综述+开题报告】_第4页
基于ANN的综合评价系统的设计【计算机科学专业】【毕业设计+文献综述+开题报告】_第5页
资源描述:

《基于ANN的综合评价系统的设计【计算机科学专业】【毕业设计+文献综述+开题报告】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

(20届)本科毕业论文基于ANN的综合评价系统的设计36 摘要:现实中经常需要根据事物诸因素的状况,以及各个因素对于总体评价的重要程度,对评价对象进行多因素的综合评价。本毕业设计针对事物诸因素状况和诸因素重要程度的模糊性,依据模糊理论,采取ANN机器学习方法,使用MATLAB开发环境,实现多因素的智能综合评价。根据ANN机器学习机制,首先提供若干样本对BP神经网络进行训练,并对训练过程进行控制,直至BP神经网络具有相对满意的综合评价功能,从而在综合评价中体现评价专家思想。关键词:综合评价;专家思想;BP神经网络;ANN36 DesignofComprehensiveevaluationsystembasedonANNAbstract:Inreality,weoftenevaluateobjectsfrommanyfactorsaccordingtotherelatedfactorsandtheirimportancetototalevaluation.Thegraduationdesigncontraposethefactorsandthefuzzinessofthisfactorsimportantdegree,basedonthefuzzytheoryandtakeANNmachinelearningmethod,usingMATLABdevelopmentenvironmenttorealizemulti-factorintelligentcomprehensiveevaluation.AccordingtoANNmachinelearningmechanism,firstly,providesomesamplesforBPneuralnetworktraining.ThencontroltheprocessoftraininguntiltheBPneuralnetworkarchivearelativelysatisfactorycomprehensiveevaluationfunction.Thusexpertsthoughtreflectedinthecomprehensiveevaluation.Keywords:comprehensiveevaluation;Expertsthought;BPneuralnetwork;ANN36 目录1绪论11.1课题的研究背景11.1.1人工智能11.1.2综合评价法11.2课题研究的目的与意义11.3课题的研究内容11.4课题的研究方法21.5论文的内容组织22基础知识简介32.1人工神经网络简介32.1.1人工神经网络的基本特征32.1.2人工神经网络的结构42.2综合评价法一般过程62.3MATLAB简介82.3.1MATLAB基本功能82.3.2MATLAB特点83系统分析93.1需求分析93.2可行性分析94基于ANN的综合评价系统设计104.1模糊综合评价法104.2BP神经网络104.2.1BP神经网络的设计104.2.2BP神经网络的学习过程114.3BP网络主要工具函数125基于ANN的综合评价系统设计实现135.1主要界面设计135.2主要功能设计155.2.1样本的生成155.2.2MATLAB中BP网络构建和初始化175.2.3MATLAB中BP网络训练185.2.4MATLAB中网络测试205.2.5查看网络参数(shownet_Callback)215.2.6打开网络(Opennet_Callback)225.2.7保存网络(Savenet_Callback)236总结及展望24致谢25参考文献2636 1绪论1.1课题的研究背景1.1.1人工智能人工智能(ArtificialIntelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。智能控制中的人工神经网络由于模仿人类的神经网络,具有感知识别、学习、联想、记忆、推理等智能,更是有着广阔的发展前景。[1]1.1.2综合评价法综合评价法是指运用多个指标对多个参评单位进行评价的方法,称为多变量综合评价方法,或简称综合评价方法。其基本思想是将多个指标转化为一个能够反映综合情况的指标来进行评价。如不同国家经济实力,不同地区社会发展水平,小康生活水平达标进程,企业经济效益评价等,都可以应用这种方法。[2,3]1.2课题研究的目的与意义本毕业设计实现智能综合评价,针对事物诸因素的模糊性,对评价对象进行多因素的综合评价。使用ANN机器学习方法,使该系统在开发和使用的过程中,从评价专家获得各评价因素重要程度的有关知识,进而实现体现专家思想的综合评价。1.3课题的研究内容本课题旨在设计一个基于人工神经网络的对网站进行综合评价的系统。研究主要内容包括:1、影响网站绩效评佑的相关指标体系确定及其量化和规范化。2、影响网站绩效评估各相关指标的相对权重确定。影响网站绩效各相关因素在输入预测和评估模型时,需要一组决定其相对重要性的初始权重,权重的确定需要基本的原则作支持。3、基于BP神经网络的网站绩效评价模型研究。以BP神经网络为基础,构建基于多因素的网站绩效评价模型。4、基于BP神经网络的网站绩效评价模型计算方法设计。根据基于BP神经网络的技术创新预测和评估模型的基本特点,设计其相应的计算方法。5、基于BP神经网络的网站绩效评价模型学习样本设计。根据相关的历史资料,构建基于BP神经网络的网站绩效评价模型的学习样本,对模型进行自学习和训练,36 使模型适合评价者的思想。[4、5]1.4课题的研究方法这种情况下,神经网络技术就有其特有的优势,以其并行分布、自组织、自适应、自学习和容错性等优良性能,可以较好地适应网站评价这类多因素、不确定性和非线性问题,它能克服上述各方法的不足。本项目以BP神经网络作为基于多因素的评估模型构建的基础,BP神经网络由输入层、隐含层和输出层构成,各层的神经元数目不同,由正向传播和反向传播组成,在进行网站评价时,从输入层输入影响网站评价值的n个因素信息,经隐含层处理后传入输出层,其输出值Y即为网站绩效的评估值。整个系统运用MATLAB编程实现。1.5论文的内容组织论文共由七章组成。第1章绪论,主要介绍课题的研究背景、研究目的和意义、研究内容以及研究方法;第2章基础知识简介,主要介绍人工神经网络,综合评价法的一般过程和MATLAB开发环境;第3章系统分析,从需求分析和可行性分析两方面分析了本系统的要求和设计;第4章系统设计,详细介绍了所使用的模糊综合评价法和本系统使用的BP网络的设计和学习过程;第5章系统的实现,主要介绍系统界面设计、功能设计;第6章总结与展望,主要阐述了本课题所完成的研究工作和存在的不足,以及希望在今后可以完善的地方。36 2基础知识简介2.1人工神经网络简介人工神经网络(ArtificialNeuralNetworks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(ConnectionistModel),它是一种模范动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。人工神经网络具有自学习和自适应的能力,可以通过预先提供的一批相互对应的输入-输出数据,分析掌握两者之间潜在的规律,最终根据这些规律,用新的输入数据来推算输出结果,这种学习分析的过程被称为“训练”。[4]2.1.1人工神经网络的基本特征人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。人工神经网络具有四个基本特征:(1)非线性非线性关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。  (2)非局限性一个神经网络通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。通过单元之间的大量连接模拟大脑的非局限性。联想记忆是非局限性的典型例子。  (3)非常定性人工神经网络具有自适应、自组织、自学习能力。神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化。经常采用迭代过程描写动力系统的演化过程。36   (4)非凸性一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。例如能量函数,它的极值相应于系统比较稳定的状态。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。人工神经网络中,神经元处理单元可表示不同的对象,例如特征、字母、概念,或者一些有意义的抽象模式。网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。输入单元接受外部世界的信号与数据;输出单元实现系统处理结果的输出;隐单元是处在输入和输出单元之间,不能由系统外部观察的单元。神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。人工神经网络是一种非程序化、适应性、大脑风格的信息处理,其本质是通过网络的变换和动力学行为得到一种并行分布式的信息处理功能,并在不同程度和层次上模仿人脑神经系统的信息处理功能。它是涉及神经科学、思维科学、人工智能、计算机科学等多个领域的交叉学科。 人工神经网络是并行分布式系统,采用了与传统人工智能和信息处理技术完全不同的机理,克服了传统的基于逻辑符号的人工智能在处理直觉、非结构化信息方面的缺陷,具有自适应、自组织和实时学习的特点。[5-9]2.1.2人工神经网络的结构根据连接方式不同,神经网络的神经元之间的连接有如下几种形式。(1)前向网络前向网络结构图如图1-11所示,神经元分层排列,分别组成输入层、中间层(也称为隐含层,可以由若干层组成)和输出层。每一层的神经元只接受来自前一层神经元的输入,后面的层对前面的层没有信号反馈。输入模式经过个层次的顺序传播,最后在输出层上得到输出。感知器网络和BP网络均属于前向网络。36 图1-11前向网络结构(2)有反馈的前向网络其结构如图1-12所示,从输出层对输入层有信息反馈,这种网络可用于存储某种模式序列,如神经认知机和回归BP网络都属于这种类型。图1-12有反馈的前向网络结构(3)层内又相互结合的前向网络其结构如图1-13所示,通过层内神经元的相互结合,可以实现同一层内神经元之间的横向抑制或兴奋机制,这样可以限制每层内可以同时动作的神经元素,或者把每层内的神经元分为若干组,让每一组作为一个整体进行运作。例如,可利用横向抑制机理把某层内具有最大输出的神经元挑选出来,从而抑制其他神经元,使之处于无输出状态。图1-13层内有相互结合的前向网络结构(4)相互结合型网络(全互连或部分互连)36 相互结合型网络结构如图1-14所示,这种网络在任意两个神经元之间都有可能有连接。Hopfield网络和Boltzmann机均属于这种类型。在无反馈的前向网络中,信号一旦通过神经元,该神经元的处理就结束了。而在相互结合网络中,信号要在神经元之间反复传递,网络处于一种不断改变状态的动态之中。信号从某初始状态开始,经过若干次变化,才会达到某种平衡状态。根据网络的结构和神经元的特性,网络的运行还有可能进入周期震荡或其他如混沌等平衡状态。[7]图1-14相互结合型网络结构2.2综合评价法一般过程1.建立综合评价的目的与要求  不同的评价目的会影响评价指标体系、合成方法、权数的选择。例如,绝对测定时通常每一个指标都要有一个固定(或明确统一)的评价标准,这样所得到的总评价值才会有实际的“绝对好坏”的意义。而相对测定时重视的是排序结果,只要能分辨出各评价对象在评价结果上的先后次序即可。所以,人们可以用AHP方法,主成分分析法、聚类分析法、极差变换法进行综合评价,但这些方法并不适合于“绝对测定”。因此,在进行综合评价时,首先必须明确评价目的与要求。2.构造评价指标体系这是综合评价活动的第二个环节。任何问题的综合评价都需要建立一套科学合理的评价指标体系,况且综合实力是一个综合性的概念,其数量表现形式多种多样,任何单一指标却只能反映出一个侧面,只有构造完整的指标体系才能科学全面的对评价对象做出评价。但同时,由于指标之间往往具有一定的相互关系,甚至有反复交叉的情况,并不是所有的指标都有必要选入评价体系之中。因此,必须对指标体系的合理性、科学性和可行性做出鉴别,使评价体系中的指标变得简练而全面。没有科学的指标体系,就不可能得到科学、准确的综合评价结论。3.对单项指标值进行同度量化由于不同指标具有不同的计量单位,它们在说明综合实力的数量与方向并不完全相同。因此,必须做同度量化处理,转化为具有同类尺度的评价值,这一步也称为无量纲化。大多数综合评价方法都有同度量化的问题。从表面看,有些评价方法,如多元统计分析方法、模糊数学方法等,似乎没有专门的同度量化处理,但事实上,它们是将同度量化过程直接作为评价方法本身的一个基本组成部分了。36 4.确立评价权数构成综合评价体系的各分项指标虽然都能说明评价对象在某一方面的竞争力状态,但在说明的程度或力度上是有区别的,有些指标比较重要,而另一些相对次要一些。因此,在将单项指标评价值合成为总评价值时,就必须进行加权处理,以反映指标体系中不同指标对总评价目标所起作用大小的差异。有些综合评价方法(如主成分分析法)从表面上看似乎没有独立构造权数过程,但从实质上仍然存在一个加权的问题,故也有构权的问题,只不过这种权数是伴随着合成方法而自然生成的。当然,那些比较简明的综合评价方法都有一个权数构造的问题。5.分项指标的合成单项评价指标经过同度量化处理之后,便可采用一定方法合成总评价值。总评价值就是单项评价值及相应权重的函数。综合评价中的合成,实际上就是归结为寻求函数的形式并计算之。合成方法,就是借这种函数的形式及相应的规则。对于那些自成体系的综合评价方法,合成过程与权数生成过程是合而为一的,结果都表现为一种线性函数。它们在实质上是以一种加权算术平均数。6.综合评价结论与分析通过计算,最后必须对被评价对象的综合实力状态做出分析,结果有两种情况:或是排序结果,或是动态变化程度。对于前者,通常是作为上级管理部门考评各单位发展状态好坏的重要手段;对于后者,通常还要进一步分析排名变化的原因(如用指数分析法、分组分析法等因素分析技术)以及提出提高综合实力的切实途径,最后提交一份具有一定深度与力度的统计分析报告。[10]图2综合评价的一般过程36 2.3MATLAB简介2.3.1MATLAB基本功能MATLAB是矩阵实验室(MatrixLaboratory)的简称,是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。[11] MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用。2.3.2MATLAB特点1)高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;  2)具有完备的图形处理功能,实现计算结果和编程的可视化;  3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。[12、13]36 3系统分析3.1需求分析本系统目的是实现智能综合评价,通过分析任务要求和参考大量书籍,一个完善的智能综合评价系统应具备如下功能:1、运用模糊综合评价法:针对事物诸因素的模糊性,对评价对象进行多因素的综合评价。2、基于ANN的学习机制:鉴于在计算机中表达评价者对各因素重视程度的困难性,可适当使用ANN机器学习方法,使该系统在开发和使用的过程中,从评价专家获得各评价因素重要程度的有关知识,进而实现体现专家思想的综合评价。3.2可行性分析本系统是在matlab软件的图形界面GUI开发环境下,神经网络工具箱平台之上,使用matlab语言设计完成的。随着信息技术的发展,现在一般的电脑内存都已达到1G,双核处理器也很普遍,硬盘的存储容量基本上在250G到1T的范围。因此硬件技术能够支持上述软件的正常运行。如前所述,matlab具有完备的图形处理功能,实现计算结果和编程的可视化;友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;功能丰富的应用工具箱(如BP神经网络工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。所以,运用matlab实现一个智能的综合评价系统是可行的。36 4基于ANN的综合评价系统设计4.1模糊综合评价法模糊综合评价法是一种基于模糊数学的综合评标方法。该综合评价法根据模糊数学的隶属度理论把定性评价转化为定量评价,即用模糊数学对受到多种因素制约的事物或对象做出一个总体的评价。它具有结果清晰,系统性强的特点,能较好地解决模糊的、难以量化的问题,适合各种非确定性问题的解决。本系统中,1、设定评价因素(F):系指对某对象评议的具体内容。在本系统中,将评价因素定为6个,并用模拟量A,B,C,D,E,F表示各个评价因素。2、设定评价因素值(FV):系指评价因素的具体值。在本系统中,使用数据产生器生成300组在[0,5]区间内的随机数,并存在Ann.xls表中。3、设定权重(W):系指评价因素的地位和重要程度。在本系统中,用户根据需求,可在系统界面上分别输入6个评价因素的权值,各权值相加为1。4、计算加权平均值(Epw):系指加权后的平均评价值。加权平均评价值(Epw)=平均评价值(Ep)×权重(W)。5、计算综合评价值(Ez):系指同一级评价因素的加权平均值之和。在本系统中,通过计算,综合评价值的区间为[0,5]。4.2BP神经网络BP(BackPropagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidelayer)和输出层(outputlayer)。4.2.1BP神经网络的设计(1)隐层数的设计:理论分析证明,具有单隐层的前馈网可以映射所有连续函数,只有当学习不连续函数(如锯齿波等)时,才需要两个隐层,所以神经网络系统设计一个隐层。(2)输入输出层节点数的设计:本网络中,输入神经元确定为6个,即影响网站绩效评价的因素有6个;输出层确定为4个,即网站绩效等级分为:优秀,良好,一般,差。36 (3)隐节点数的设计:隐节点的作用是从样本中提取并储存其内在规律,每个隐节点有若干个权值,而每个权值都是增强网络映射能力的一个参数。设置多少个隐节点取决于训练样本数的多少、样本噪声的大小以及样本中蕴含规律的复杂程度。确定最佳隐节点的一个常用方法称为试凑法,计算公式有:;;;其中m为隐层节点数,n为输入层节点数,l为输出层节点数,a为1~10之间的常数。(4)传输函数:BP网络中的传输函数通常采用S(sigmoid)型函数:网络训练与测试:将收集到的可用样本随机分为两部分,一部分作为训练集,另一部分作为测试集。训练时对所有样本正向运行一轮并反向修改权值一次称为一次训练。在MATLAB神经网络工具箱中,常用的训练函数有traingd,traingdm,traingdx等。[5、6]4.2.2BP神经网络的学习过程令网络输入向量为Pk;网络目标向量为Tk;中间层单元输入向量Sk,输出向量Bk;输出层单元输入向量Lk,输出向量Ck;输入层至中间层的连接权值wij;中间层至输出层的连接权值vjt;中间层个单元的输出阈值;输出层个单元的输出阈值。(a)初始化。给每个连接权值wij、vjt、阈值与赋予区间(-1,1)内的随机值。(b)随机选取一组输入和目标样本Pk、Tk提供给网络。(c)用输入样本Pk、连接权值wij和阈值计算中间层个单元的输入sj,然后用sj通过传递函数计算中间层个单元的输出bj。(d)利用中间层的输出bj、连接权值vjt和阈值计算输出层个单元的输出Lt,然后利用通过船体函数计算输出层噶单元的响应Ct。36 (e)利用网络目标向量Tk,网络的实际输出Ct,计算输出层的各单元一般化误差。(f)利用连接权值vjt、输出层的一般化误差dt和中间层的输出bj计算中间层个单元的一般化误差。(g)利用输出层各单元的一般化误差与中间层各单元的输出bj来修正连接权值vjt和阈值。(h)利用中间层各单元的一般化误差,输入层各单元的输出Pk来修正连接权值wij和阈值。(i)随机选取下一个学习样本向量提供给网络,返回到步骤(c),知道m个训练样本训练完毕。(j)重新从m个学习样本中随机选取一组输入和目标样本,返回步骤(c),直到网络全局误差E小于预先设定的一个极小值,即网络收敛。(k)学习结束。[10]4.3BP网络主要工具函数Matlab软件包中的人工神经网络工具箱包含了进行BP网络设计和分析的大量工具函数。下面给出在BP网络设计和分析中的常用工具函数以及功能说明。Newff创建前馈后向传播网络(BP网络)Learnbp反向传播学习规则Logsig对数S型激励函数Purelin线性激励函数Traingd运用BP算法训练前向网络Sim神经网络仿真函数36 5基于ANN的综合评价系统设计实现用人工神经网络建立评价模型,需要编程或一些辅助软件,对多数研究人员来说,自己编写神经网络的各种算法程序将显得十分困难、繁琐。而MATLAB的神经网络工具箱的推出免除了编写复杂而庞大的算法程序的困扰。MATLAB7的神经网络工具箱为BP网络提供了很多工具箱函数,它们对利用MATLAB进行BP网络的设计、分析及实际应用有着不可替代的作用。5.1主要界面设计MATLAB图形用户界面开发环境(GUIDE)提供了一系列创建图形用户界面(GUI)的工具。这些工具极大地简化了GUI设计和生成的过程。MATLAB中的基本图形用户界面对象分为3类:用户界面控件对象(uicontro1)、下拉式菜单对象(uimenu)和内容式菜单对象(uicontextmenu)。利用上述对象,进行周密的组织、设计,就可以设计出一个界面友好、操作简便、功能强大的图形用户界面。MATLAB图形用户界面开发环境把GUI保存在2个文件中,它们在第1次保存或运行时生成,与GUI显示和编程任务相对应。其中一个是FIG文件,扩展名为.fig,它包含对GUI和GUI组件的完整描述:另一个是M文件,扩展名为.m,它在GUI显示在屏幕上以前包含代码来完成任务,例如创建数据或图形。它包含每次用户单击GUI组件时运行的回调函数。初始情况下,每个回调都只包含一个函数定义行,然后用M文件编辑器添加代码来完成函数的编写。在MATLAB主界面下,选择File菜单New子菜单下的GUI项,打开GUIDE启动对话框,选择创建一个新的GUI程序。创建新的程序时可以使用4种不同的GUIDE模板。在本次设计中,选择空白GUI,其设计界面如下图所示:36 从左侧边栏中选取所需Uicontrol对象,将之移至中心的GUI界面设计区域。然后,需要设置这些组件的属性,常用属性包括颜色设置,文本标签设置,回调函数设置等。本系统在.fig中添加所需控件,并对每个控件设置相应属性和函数:按钮菜单函数名称打开使用一个网络Opennet_Callback保存这个网络Savenet_Callback关于About_Callback生成样本Product_Callback载入训练数据loadtraindata_Callback训练网络train_Callback载入测试数据loadtrydata_Callback测试网络trynet_Callback查看网络参数shownet_Callback设计界面如下图所示:文件菜单下有两个子菜单(1)使用已存在的网络:会让你选择一个mat文件,选择后就会把当前的网络变为mat文件中已存储的网络,可以直接使用。36 (2)保存这个网络:会让你选择个位置保存网络,把这个网络保存在硬盘数据mat中帮助菜单下有一个子菜单。(1)关于:会蹦出一个版权界面。5.2主要功能设计5.2.1样本的生成训练网络所需的样本必须代表专家思想,所以根据模糊综合评价法的基本原则,点击生成样本按钮时,调用product_Callback函数,执行N组代表评价者思想的评价值R与权值A的计算得到综合评价值,评价值作为输入,综合评价值为输出,存储数据作为训练样本。在本系统中,R存在表Ann.xls中,所以从本地读取XLS数据:R=xlsread('Ann.xls');A从界面上获取:36 A0=str2num(get(findobj('tag','edit30'),'string'));A1=str2num(get(findobj('tag','edit31'),'string'));A2=str2num(get(findobj('tag','edit32'),'string'));A3=str2num(get(findobj('tag','edit33'),'string'));A4=str2num(get(findobj('tag','edit34'),'string'));A5=str2num(get(findobj('tag','edit35'),'string'));A=[A0;A1;A2;A3;A4;A5];其中edit30,edit31,edit32,edit33,edit34,edit35分别是界面上各个编辑框的标签名。计算综合评价值:data0=R;data0(:,7)=R*A;为了方便建立划分模型,本系统中运用matlab中的round函数将各综合评价值四舍五入取整:forindex=1:300data0(index,7)=round(data0(index,7));endforindex=1:300ifdata0(index,7)<1data0(index,7)=1;endifdata0(index,7)>4data0(index,7)=4;endend其结果1,2,3,4分别表示评价的差,一般,良好,优秀四个等级,读取综合评价值的值并存入RR.xls表中。xlswrite('train.xls',data0);msgbox('结果保存为train.xls,请在当前文件夹下查看','提示','warn');36 5.2.2MATLAB中BP网络构建和初始化训练前馈网络的第一步是建立网络对象。程序刚打开界面的时候默认生成了一个网络。MATLAB中,函数newff建立一个可训练的前馈网络,这需要4个输入参数。第一个参数是一个Rx2的矩阵以定义R个输入向量的最小值和最大值。第二个参数是一个网络每层神经元个数的数组。第三个参数是包含每层用到的转移函数名称的细胞数组。最后一个参数是用到的训练函数的名称。在本系统中,根据上文所得,输入向量有6组,为了省去归一化的麻烦,把它们直接约束在0~1的范围内。隐层个数默认为n,默认为5,输出层1个。输入层到隐层的转移函数是log-sigmoid,输出层的转移函数是linear,训练函数选择了trainbfg。trainbfg计算量和内存需求均比共轭梯度算法大,但收敛比较快。系统中相应的命令语句为:net=newff([05;05;05;05;05;05],[n1],{'logsig','purelin'},'trainbfg');这个命令建立了网络对象并且初始化了网络权重和偏置,因此网络就可以进行训练了。我们可能要多次重新初始化权重或者进行自定义的初始化。下面就是初始化的详细步骤。(1)获取隐含层节点数:n=str2num(get(findobj('tag','edit10'),'string'));(2)获取学习速率:net.trainParam.lr=str2num(get(findobj('tag','edit13'),'string'));(3)获取最大学习次数:36 net.trainParam.epochs=str2num(get(findobj('tag','edit12'),'string'));(4)获取期望误差:net.trainParam.goal=str2num(get(findobj('tag','edit14'),'string'));其中edit10,edit12,edit13,edit14分别是相对应的控件名。net.trainParam.show=50;%每学习50次显示下net.trainParam.lr=lr;%学习速率net.trainParam.epochs=epochs;%最大学习次数net.trainParam.goal=goal;%期望误差目标5.2.3MATLAB中BP网络训练本系统中,要训练的数据为xls电子表格格式,表名为trainl。Xls数据内容格式要求:前6列为输入数据ABCDEF,输入数据范围在0-1之间,第7列为输出数据取值在1-4之内,代表:优秀,良好,一般,差。配置好网络参数,载入训练数据来选择输入数据:点击训练按钮将会训练这个网络。获取要测试的XLS数据:trainfile=get(findobj('tag','edittraindata'),'string');iflength(trainfile)==0msgbox('请载入训练数据!','提示','warn');return;end读取相应的数据为输入输出:data=xlsread(trainfile);36 input=data(:,1:6)';output=data(:,7)'。MATLAB中训练网络的格式为:net=train(net,input,output);handles.net=net;%赋值给窗口的netguidata(hObject,handles);%保存网络数据训练误差曲面:由图可知,训练误差趋近于目标误差,视为训练成功。训练结束后,可点击查看网络参数按钮,会提示去matlab命令行窗口去看这个网络的参数。(因为程序刚启动就默认生成了一个网络,所以不必训练就可以直接查看参数,训练后会发现参数变化了)。因为每次初始化网络时都是随机的,而且训练终止时的误差也不完全相同,结果训练后的权植和阀也不完全相同(大致是一样的),所以每次训练后的结果也略有不同。找到比较好的结果后,用函数Savenet_Callback保存网络,可使预测的结果不会变化,在需要的调用时用命令loadfilename载入。36 5.2.4MATLAB中网络测试同样,测试样本的格式也为xls电子表格,表名为try。测试后统计出不合格的个数,并将比对结果显示在测试结果区中。例如,已知权重A=[0.2;0.2;0.2;0.2;0.1;0.1],若try表取10组测试数据,数据如下(A-F为6个评价值,G为预期综合评价值):测试结果如下图,本次正确率为80%,预测的结果可从Result表中查看。36 相应代码为:functiontrynet_Callback(hObject,eventdata,handles)tryfile=get(findobj('tag','edittrydata'),'string');%获取要测试的数据iflength(tryfile)==0%如果没有载入测试数据msgbox('请载入测试数据!','提示','warn');return;enddata=xlsread(tryfile);input=data(:,1:6)';%输入数据位前6列output=data(:,7)';%输出数据位第7列len1=length(output);%总共的数目net=handles.net;new_output=sim(net,input);%预测数据new_output=fix(new_output)+1;ifexist('Result.xls')delete('Result.xls');endxlswrite('Result.xls',new_output')wucha=new_output-output;len=length(find(wucha));%不一样的个数report='测试结果显示区';report=sprintf('%sr 本次测试数据个数:%d',report,len1);report=sprintf('%sr 本次测试正确个数:%d',report,len1-len);rate=num2str((len1-len)/len1);report=sprintf('%sr 本次测试正确率:%s',report,rate);report=sprintf('%sr %d个预测结果已保存在Result.xls文件中,请查看对比',report,len1);set(findobj('tag','textreport'),'String',report);5.2.5查看网络参数(shownet_Callback)训练成功,可查看相应网络的网络参数。functionshownet_Callback(hObject,eventdata,handles)disp('网络参数展示')disp('输入层到隐含层的权值矩阵W1')handles.net.iw{1,1}disp('隐含层的闭值矩阵b1')handles.net.b{1}disp('隐含层到输出层的权值矩阵W2')36 handles.net.lw{2,1}disp('输出层的阂值矩阵b2')handles.net.b{2}msgbox('请到命令行窗口查看网络参数!','提示','warn');点击查看网络参数按钮,跳出提示如下对话框,点击OK后,可在matlab命令行窗口查看网络各个参数。5.2.6打开网络(Opennet_Callback)由5.1所知,打开一个已存在的网络函数为Opennet_Callback。使用uigetfile创建文件名处理对话框,用来在打开情况下交互地获得文件名等信息。仅当文件存在时才成功返回。如果用户选择了一个并不存在的文件,就显示出错信息,控制框返回到对话框。调用语句为:[filename,pathname]=uigetfile('*.mat','打开一个网络');其中,'*.mat'表示列出所有的网络文件;'打开一个网络'是对话框标题字符串。fullname=fullfile(pathname,filename);%文件路径全名load(fullname,‘net’)%提取网络数据handles.net=net;%赋值到窗口网络guidata(hObject,handles);%保存窗口信息36 5.2.7保存网络(Savenet_Callback)由上一节所知,保存一个网络的函数为Savenet_Callback。使用uiputfile创建文件名处理对话框,其与uigetfile十分相似,而且也是返回文件和路径字符串。调用语句为:[filename,pathname]=uiputfile('net.mat','保存这个网络');fullname=fullfile(pathname,filename)%文件路径全名fullname=sprintf('%s',fullname);net=handles.net;%获得窗口net数据save(fullname,'net')36 6总结及展望经过对收集的资料进行学习与实践。了解了综合评价,专家思想的含义;熟悉了人工神经网络的发展和结构和matlab工具箱;并完成了运用神经网络工具箱设计基于人工神经网络的综合评价系统。本系统以BP神经网络作为基于多因素的评估模型构建的基础,将训练样本通过输入层输入,正向运行一次并反向修改权值,经过多次的学习,使系统贴近评价者的思想。在本次系统的设计与开发过程中,我学到了很多东西。不管是新的知识,还是处理问题能力的提升,对我来说都是一笔不小的财富。由于时间仓促和个人的知识有限,系统总是会有瑕疵。1、因为并未对现实中评价网站绩效的因素进行考察,所以本系统中的影响因素均为模拟量,样本数据也没有真正符合实际情况。2、由于学习速率是固定的,因此,网络的收敛速度慢,需要较长的训练时间。3、网络的学习和记忆具有不稳定性。也就是说,如果增加了学习样本,训练好的网络需要从头开始重新训练,对于以前的权值和阈值是没有记忆的。4、网络隐含层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者通过反复试验确定。因此,网络往往存在很大的冗余性,在一定程度上也增加了网络学习的负担。36 参考文献[1]师黎.智能控制理论及应用[M].清华大学出版社,2009.[2]JoyTillotson.WebSiteEvaluation:ASurveyofUndergraduates[J].OnlineInformationReview,2002(6).[3]王知津,李明珍.网站评价指标体系的构建方法与过程[J].图书与情报,2006(3).[4]周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].北京:清华大学出版社,2005.[5]施彦,韩力群,廉小亲.神经网络设计方法与实例分析[M].北京:北京邮电大学出版社,2009.[6]飞思科技产品研发中心.神经网络理论与MATLAB7实现[M].北京:电子工业出版社,2005.[7]人工神经网络讲稿PPT[DB/OL].http://wenku.baidu.com/view/a935618fcc22bcd126ffOcda.html.2010,12,12.[8]周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].北京:清华大学出版社,2005.[9]HORNIKKM,STINCHCOMBEM,WHITEH.Multilayerfeedforwardnetworksareuniversalapproximators[J].NeuralNetworks,1989,2(5):359-366.[10]综合评价方法研究[DB/OL].http://futures.hexun.com/2008-09-12/108769713.html.2011,4,10.[11]飞思科技产品研发中心.神经网络理论与MATLAB7实现[M].北京:电子工业出版社,2005.[12]张德丰.MATLAB神经网络应用设计[M].北京:机械工业出版社,2009.[13]百度百科[DB/OL].http://baike.baidu.com/view/10598.htm.2011,4,20.36 文献综述基于ANN的综合评价系统设计一、前言部分系统评价是对新开发的或改建的系统,根据预定的系统目标,用系统分析的方法,从技术、经济、社会、生态等方面对系统设计的各种方案进行评审和选择,以确定最优或次优或满意的系统方案。由于各个国家社会制度、资源条件、经济发展状况、教育水平和民族传统等各不相同,所以没有统一的系统评价模式。评价项目、评价标准和评价方法也不尽相同。目前在综合评价系统中,较多采用的是模糊综合评价和模糊决策等模糊数学方法,此类方法每进行一次评价,都需要多个评价人对所评价的问题有较深入的了解,然后正确表明自己的偏好进行综合评价。尽管是对于相同的问题,也需要进行如此繁琐的工作。这一方面增加了评价的工作量,另一方面对指标的人为定权将使评价结果带有较大的主管随意性。[1]为了克服常规方法的不足,本系统讲人工神经方法引入到此类问题的求解。人工神经元是对生物神经元的一种模拟与简化。它是神经网络的基本处理单元,利用人工神经元,可以构成各种不同拓扑结构的神经网络。人工神经网络是在现代神经生物学研究基础上提出的模拟生物过程以反应人脑某些特性的计算结构。它不是人脑神经系统的真实描写,只是特性的某种抽象、简化和模拟。[2]应当清楚地认识到,利用人工方法实现人脑高级智能的任务艰巨复杂,任重道远。揭示人脑的奥妙需要各学科的交叉和各领域专家的协作,而模拟人脑的智能需要各学科理论、方法和技术的交叉融合。近年来,人工神经网络技术与模糊逻辑、遗传算法及专家系统相结合,取得的应用成果明显优于各种智能技术单兵作战的结果。[3]二、主题部分(一)人工神经网络起源和发展人工神经网络至今经历了萌芽期、第一高潮期、反思期、第二高潮期、再认识与应用期。(1)萌芽期(20世纪40年代):1943年心理学家W.McCulloch和数学家W.Pitts合作提出了最早的神经元数学模型(MP模型),开创了神经科学理论研究的时代。1949年,心理学家Hebb通过对大脑神经细胞学习和条件反射的观察与研究,提出了改变神经元连接强度的Hebb规则。(2)第一高潮期(1950~1968):1957年,Rosenblatt发展了MP36 模型,首次提出了模拟人脑感知和学习能力的感知器(Perceptron)概念,并给出了两层感知器的收敛定理,提出了引入隐层处理元件的三层感知器这一重要研究方向。1960年,Widrow提出了自适应线性元件(Adaline)模型及一种有效的网络学习方法,即通常所说的Widrow-Hoff学习规则(也称δ学习规则)。(3)在第一次高潮期后历经反思期(1969~1982),研究发现人们习以为常的普通知识和经验,计算机却很难学会。这就迫使人们去考虑一个问题:人脑的智能是否可以在机器中再现?(4)而后进入第二次高潮期(1983~1990):1982年,美国加洲工学院的物理学家Hopfield提出了一个用于联想记忆和优化计算的新途径—Hopfield网络模型(HNN),使神经网络的研究有了突破性的进展。在1984年发表的另一篇重要论文中,Hopfield指出HNN可以用集成电路实现,很容易被工程技术人员及计算机科技工作者理解。这些具有开创性的研究成果和有意义的工作为神经网络的发展奠定了理论基础。Rumelhart和McClelland领导的PDP研究小组于1986年的《并行分布处理》一书,在全面介绍了着重于认知微观结构的PDP理论的同时,他们发展了多层网络的BP算法(反向传播算法)。迄今为止,BP网络仍是应用最普遍的网络模型。随着神经网络研究热潮的出现,不同学科的学者开始联合起来从事神经网络理论、应用开发及实现的研究,国际学术交流日益频繁。1986年4月美国物理学会在Snowbirds召开了国际神经网络会议。1987年6月在美国的SanDiego召开了第一届神经网络国际会议。国际神经网络学会(INNS)随之成立。1988年《神经网络》(《NeuralNetworks》)杂志创刊。自1988年起INNS和IEEE联合开始召开每年一次的国际学术会议(后改为一年两次)。1990年3月,IEEE神经网络会刊问世。(5)从1991年至今,人工神经网络的研究进入再认识与应用期。我国的神经网络研究开始于1988年前后,并在基础与应用领域开展了一些工作。1989年召开了全国第一届神经网络——信号处理会议。1990年、1991年分别召开了中国第一届、第二届神经网络学术大会。1992年在北京召开了国际神经网络学会和IEEE神经网络委员会的联合学术会议,2005年神经网络国际会议(SecondInternationalSymposiumonNeuralNetworks,ISNN2005)于5月30日至6月2日在重庆大学召开。这说明了我国的神经网络络研究在国际上也已占有一定的地位。[4-8](二)人工神经网络的现状和发展方向人工神经网络的研究可以分为理论研究和应用研究两大方面。理论研究可分为以下两类:(1).利用神经生理与认知科学研究人类思维以及智能机理。(2).利用神经基础理论的研究成果,用数理方法探索功能更加完善、性能更加优越的神经网络模型,深入研究网络算法和性能,如:稳定性、收敛性、容错性、鲁棒性等;开发新的网络数理理论,如:神经网络动力学、非线性神经场等。应用研究可分为以下两类:36 (1).神经网络的软件模拟和硬件实现的研究。(2).神经网络在各个领域中应用的研究。[8-10]这些领域主要包括:模式识别、信号处理、知识工程、专家系统、优化组合、机器人控制等。目前具体相关的应用研究有:神经网络在空间数据挖掘中的应用、用神经元网络的模糊算法预测平均投票值(PMv)、人工神经元网络在地下工程预测中的应用、人工神经元网络条件下的分支预测算法、神经元网络智能控制器及其应用、神经元网络在安全评价中的应用、用BP神经网络预测股票市场的涨跌、基于BP神经元网络的信息产业测度研究。通过神经网络的应用以上问题都得到了更好的优化或解决,而神经网络理论也在应用过程中逐步完善。[11](三)人工神经网络的结构根据连接方式不同,神经网络的神经元之间的连接有如下几种形式。1、前向网络前向网络结构图如图1-11所示,神经元分层排列,分别组成输入层、中间层(也称为隐含层,可以由若干层组成)和输出层。每一层的神经元只接受来自前一层神经元的输入,后面的层对前面的层没有信号反馈。输入模式经过个层次的顺序传播,最后在输出层上得到输出。感知器网络和BP网络均属于前向网络。图1-11前向网络结构2、有反馈的前向网络其结构如图1-12所示,从输出层对输入层有信息反馈,这种网络可用于存储某种模式序列,如神经认知机和回归BP网络都属于这种类型。图1-12有反馈的前向网络结构3、层内又相互结合的前向网络36 其结构如图1-13所示,通过层内神经元的相互结合,可以实现同一层内神经元之间的横向抑制或兴奋机制,这样可以限制每层内可以同时动作的神经元素,或者把每层内的神经元分为若干组,让每一组作为一个整体进行运作。例如,可利用横向抑制机理把某层内具有最大输出的神经元挑选出来,从而抑制其他神经元,使之处于无输出状态。图1-13层内有相互结合的前向网络结构1、相互结合型网络(全互连或部分互连)相互结合型网络结构如图1-14所示,这种网络在任意两个神经元之间都有可能有连接。Hopfield网络和Boltzmann机均属于这种类型。在无反馈的前向网络中,信号一旦通过神经元,该神经元的处理就结束了。而在相互结合网络中,信号要在神经元之间反复传递,网络处于一种不断改变状态的动态之中。信号从某初始状态开始,经过若干次变化,才会达到某种平衡状态。根据网络的结构和神经元的特性,网络的运行还有可能进入周期震荡或其他如混沌等平衡状态。[12]图1-14相互结合型网络结构(四)神经网络的开发环境目前神经网络的开发方法有以下3种模式:(1)人工编码神经网络开发的一种常用模式是人工编码,即研究人员针对某个具体问题选择一种算法,然后由人工编制代码在计算机上实现一个神经网络系统。(2)算法库神经网络开发的第二种模式是使用神经网络算法库。神经网络开发工具中有各种有效的算法可供研究人员选择,同时神经网络的实现是自动形成的。因此,研究人员很容易实现所设计的神经网络。选择算法实际上是从算法库中提取了一个代码的结构,然后填上代码段以规定网络的特性参数。(3)生成网络模型神经网络开发的第三种模式是形成神经网络模型,使研究人员能建立任何设想的网络而不仅是在库中定义的算法。[3、13]MATLAB神经网络工具箱36 神经网络工具箱以人工神经网络理论为基础,用MATLAB语言构造出典型神经网络的激活函数,使设计者对所选定网络输出的计算,变成对激活函数的调用。另外,根据各种典型的学习规则和网络训练过程,用MATLAB编写出各种网络权值训练的子程序。神经网络的设计者可以根据需要调用工具箱中有关神经网络的设计与训练的程序,使自己从繁琐的编程中解脱出来,集中精力去思考问题和解决问题,从而提高效率和解题质量。[14]此外还有,Plexi神经网络开发环境、Neuroshell神经网络开发环境、NeuralworksProfessional神经网络开发环境、NETSET神经网络开发环境、N-NET210神经网络开发环境、CaseNet神经网络开发环境等[3、13]随着神经网络理论本身以及相关理论、相关技术的不断发展,神经网络的应用定将更加深入,逐步拓宽其应用面,提高精确度以及可信度。三、总结部分人工神经网络的非线性处理能力突破了基于线性处理现有评价方法的局限。一般的评价方法在信息含糊、不完整、存在矛盾等复杂环境中往往难以应用,而神经网络技术则能跨越这一障碍;网络所具有的自学习能力使得知识获取工作转换为网络的变结构调节过程,从而大大方便了知识的记忆和提取;网络通过学习,可以从典型事例中提取所包含的一般原则、学会处理具体问题,且能对不完整信息进行补全。从评价的角度来看,神经网络通过对已有系统及其评价结果的学习,可获得隐含其中的人的经验、知识以及对目标重要性的看法等直觉思维。一旦用来评价时,网络便可再现这些经验、知识与直觉思维,对复杂问题做出合理的判断。[15]本项目以BP神经网络作为基于多因素的评估模型构建的基础,BP神经网络由输入层、隐含层和输出层构成,各层的神经元数目不同,由正向传播和反向传播组成,在进行网站评价时,从输入层输入影响网站评价值的n个因素信息,经隐含层处理后传入输出层,其输出值Y即为网站绩效的评估值。四、参考文献[1]S.Dolev,Self-Stabilization[M].TheMITPress,2000.[2]HAGANMT,DEMUTHHB,BEALEM.Neuralnetworkdesign[M].Boston:PWSPublishingCompany,1996.[3]韩力群.人工神经网络理论、设计及应用[M].北京:化学工业出版社,2007.[4]人工神经网络讲稿PPT[DB/OL].http://wenku.baidu.com/view/a935618fcc22bcd126ffOcda.html.2010,12,12.[5]袁曾任.人工神经元网络及其应用[M].北京:清华大学出版社,1999.36 [6]HORNIKKM,STINCHCOMBEM,WHITEH.Multilayerfeedforwardnetworksareuniversalapproximators[J].NeuralNetworks,1989,2(5):359-366.[7]HEXingui,LIANGJiuzhen.Sometheoreticalissuesonprocedureneuralnetworks[J].EngineeringScience,2000,2(12):40-44.[8]周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].北京:清华大学出版社,2005[9]焦李成.神经网络系统理论[M].西安:西安电子科技大学出版社,1989[10]海金(Haykin,S).神经网络原理[M].北京:机械工业出版社,2004[11]邓伟.BP神经网络构建与优化的研究及其在医学统计中的应用.复旦大学.博士论文,2003,12,23.[12]飞思科技产品研发中心.神经网络理论与MATLAB7实现[M].北京:电子工业出版社,2005[13]王伟.人工神经网络原理——入门与应用[M].北京:北京航空航天大学出版社,1995[14]张德丰.MATLAB神经网络应用设计[M].北京:机械工业出版社,2009[15]施彦,韩力群,廉小亲.神经网络设计方法与实例分析[M].北京:北京邮电大学出版社,2009.36 开题报告基于ANN的综合评价系统设计一、选题的背景、意义万维网服务是目前因特网提供的核心业务之一,目前已经渗透到我们生活的方方面面,万维网服务的基本组成就是形形色色的网站,网站的质量直接决定了我们获取服务的质量。因此,一个客观科学的网站评价体系对于因特网的发展具有重要的意义。综合国内外网站评价研究,不少学者提出了各种评价方法,包括网络可用性评测法、网站自动评价法、网站链接分析法、网站框架评价法、网络链接分析法、对应分析法等。从评估的模式来看,有技术性测试调查、网站流量监测、网站调查、专家调查和网络计量等五种模式。各种网站评价方法的角度和侧重点不同,得出的结论也不尽相同。其中比较常用的方法有问卷调查法、链接分析法,近年来,由于对于指标评价的定量分析要求,层次分析法也开始应用到了网站评价中。从已有的文献所采用的研究方法来看,把定量研究和定性研究结合起来,以定性研究方法和模型为基础,用定量的研究方法提高其科学性和可信度,是当前研究的趋势。[1-5]二、研究的基本内容与拟解决的主要问题1、影响网站绩效评佑的相关指标体系确定及其量化和规范化。2、影响网站绩效评估各相关指标的相对权重确定。影响网站绩效各相关因素在输入预测和评估模型时,需要一组决定其相对重要性的初始权重,权重的确定需要基本的原则作支持。3、基于BP神经网络的网站绩效评价模型研究。以BP神经网络为基础,构建基于多因素的网站绩效评价模型。4、基于BP神经网络的网站绩效评价模型计算方法设计。根据基于BP神经网络的技术创新预测和评估模型的基本特点,设计其相应的计算方法。5、基于BP神经网络的网站绩效评价模型学习样本设计。根据相关的历史资料,构建基于BP神经网络的网站绩效评价模型的学习样本,对模型进行自学习和训练,使模型适合评价者的思想。[6、7]三、研究的方法与技术路线、研究难点,预期达到的目标1、研究方法与技术路线这种情况下,神经网络技术就有其特有的优势,以其并行分布、自组织、自适应、自学习和容错性等优良性能,可以较好地适应网站评价这类多因素、不确定性和非线性问题,36 它能克服上述各方法的不足。本项目以BP神经网络作为基于多因素的评估模型构建的基础,BP神经网络由输入层、隐含层和输出层构成,各层的神经元数目不同,由正向传播和反向传播组成,在进行网站评价时,从输入层输入影响网站评价值的n个因素信息,经隐含层处理后传入输出层,其输出值Y即为网站绩效的评估值。整个系统运用MATLAB编程实现。(1)隐层数的设计:理论分析证明,具有单隐层的前馈网可以映射所有连续函数,只有当学习不连续函数(如锯齿波等)时,才需要两个隐层,所以神经网络系统设计一个隐层。(2)输入输出层节点数的设计:本网络中,输入神经元确定为6个,即影响网站绩效评价的因素有6个;输出层确定为4个,即网站绩效等级分为:优秀,良好,一般,差。(3)隐节点数的设计:隐节点的作用是从样本中提取并储存其内在规律,每个隐节点有若干个权值,而每个权值都是增强网络映射能力的一个参数。设置多少个隐节点取决于训练样本数的多少、样本噪声的大小以及样本中蕴含规律的复杂程度。确定最佳隐节点的一个常用方法称为试凑法,计算公式有:;;;其中m为隐层节点数,n为输入层节点数,l为输出层节点数,a为1~10之间的常数。(4)传输函数:BP网络中的传输函数通常采用S(sigmoid)型函数:网络训练与测试:将收集到的可用样本随机分为两部分,一部分作为训练集,另一部分作为测试集。训练时对所有样本正向运行一轮并反向修改权值一次称为一次训练。在MATLAB神经网络工具箱中,常用的训练函数有traingd,traingdm,traingdx等。[7、8](5)BP网络学习过程和步骤令网络输入向量为Pk;网络目标向量为Tk;中间层单元输入向量Sk,输出向量Bk;输出层单元输入向量Lk,输出向量Ck;输入层至中间层的连接权值wij;中间层至输出层的连接权值vjt;中间层个单元的输出阈值;输出层个单元的输出阈值。(a)初始化。给每个连接权值wij、vjt、阈值与赋予区间(-1,1)内的随机值。(b)随机选取一组输入和目标样本Pk、Tk提供给网络。(c)用输入样本Pk、连接权值wij和阈值计算中间层个单元的输入sj,然后用sj通过传递函数计算中间层个单元的输出bj。36 (d)利用中间层的输出bj、连接权值vjt和阈值计算输出层个单元的输出Lt,然后利用通过船体函数计算输出层噶单元的响应Ct。(e)利用网络目标向量Tk,网络的实际输出Ct,计算输出层的各单元一般化误差。(f)利用连接权值vjt、输出层的一般化误差dt和中间层的输出bj计算中间层个单元的一般化误差。(g)利用输出层各单元的一般化误差与中间层各单元的输出bj来修正连接权值vjt和阈值。(h)利用中间层各单元的一般化误差,输入层各单元的输出Pk来修正连接权值wij和阈值。(i)随机选取下一个学习样本向量提供给网络,返回到步骤(3),知道m个训练样本训练完毕。(j)重新从m个学习样本中随机选取一组输入和目标样本,返回步骤(3),直到网络全局误差E小于预先设定的一个极小值,即网络收敛。(k)学习结束。2、研究难点(1)隐层节点数太多会导致学习时间过长;而隐层节点数太少,容错性差,识别未经学习的样本能力低,所以必须综合多方面的因素进行设计。36 (2)采用不同的训练函数对网络的性能有影响,比如收敛速度。所以选择一个合适的训练函数很重要。(3)在实际应用中,BP网络往往在训练过程中,找不到某个具体问题的解,比如在训练过程中陷入局部最小的情况。当BP网络在训练过程中陷入误差性能函数的局部最小时,可以通过改变其初始值,并经多次训练,以获得全局最小。(4)训练次数的确定。[7、9、10]3、预期目标(1)人机界面良好(2)系统通过学习贴近评价者的思想四、论文详细工作进度和安排第七学期第10周至第18周(2011年01月06日前):文献检索和资料收集,完成毕业论文(设计)文献综述、开题报告和外文翻译;第八学期第1周至第3周(2011年03月11日前):撰写论文提纲,完成毕业论文(设计)初稿、需求分析和概要设计;第八学期第4周至第12周(2011年05月13日前):详细设计、系统调试、和毕业论文(设计)完成定稿;第八学期第13周(2011年05月20日前):完成应用软件系统的设计和毕业论文(设计)送指导老师和评阅老师评阅,准备答辩;第八学期第14周:参加毕业论文(设计)答辩。五、主要参考文献:[1]JoyTillotson.WebSiteEvaluation:ASurveyofUndergraduates[J].OnlineInformationReview,2002(6)[2]王知津,李明珍.网站评价指标体系的构建方法与过程[J].图书与情报,2006(3)36 [3]赵仪,赵熊,张成昱.专业网站的评价指标分析[J].现代图书情报技术,2002(4)[4]李玉海,唐世军.电子商务网站评价[J].图书馆理论与实践,2006(1)[5]张玉超.试论学科核心网站评价指标与测定方法[J].情报杂志.2006(6)[6]周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].北京:清华大学出版社,2005[7]施彦,韩力群,廉小亲.神经网络设计方法与实例分析[M].北京:北京邮电大学出版社,2009.[8]飞思科技产品研发中心.神经网络理论与MATLAB7实现[M].北京:电子工业出版社,2005[9]ShtubA,ZimermanY.Aneural-network-basedapproachforestimatingthecostofassembly.InternationalJournalofProductionEconomics,1993.32:189-207[10]邓伟.BP神经网络构建与优化的研究及其在医学统计中的应用.复旦大学.博士论文,2003,12,23.36

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭