收藏 分销(赏)

本科毕业设计--基于条件偏好网权重属性的研究.doc

上传人:丰**** 文档编号:5154120 上传时间:2024-10-28 格式:DOC 页数:30 大小:306KB 下载积分:12 金币
下载 相关 举报
本科毕业设计--基于条件偏好网权重属性的研究.doc_第1页
第1页 / 共30页
本科毕业设计--基于条件偏好网权重属性的研究.doc_第2页
第2页 / 共30页


点击查看更多>>
资源描述
分类号 TP18 编号 烟 台 大 学 毕 业 论 文(设 计) 基于BP算法的条件偏好网属性权重研究 The research of the attribute weights of the CP-net Based on the BP algorithm 申请学位: 工学学士 院 系: 计算机与控制工程学院 专 业: 自动化 姓 名: 姜传星 学 号: 201158502243 指导老师: 刘兆伟(副教授) 2015年 6 月 1 日 烟台大学计算机与控制工程学院 基于BP算法的条件偏好网属性权重研究 姓 名: 姜传星 导 师: 刘兆伟 2015 年 6 月 1 日 烟台大学计算机与控制工程学院 [摘要]本文主要描述了基于人工神经网络BP算法对条件偏好网属性权重的研究。在个性化的应用如网络服务的选择过程中,用户的偏好往往会扮演一个非常重要的角色。条件偏好网(CP-nets)对于表示和推理有条件的偏好是一种简洁而直观的形式。然而当有多个特定偏好的组合进行比较时,原始的条件偏好网是无法比较出特定偏好组合之间的细微差别的,因此,在本文中,我们提出了一种通过用户指定不同偏好属性之间的相对重要性即权重来解决这个问题。当用户描述的偏好与其实际的选择之间产生矛盾时,则需要调整条件偏好网中的属性的权重,本文提出了两种调整思路,线行调整法和非线性调整法,并着重研究了基于人工神经网络BP算法的对条件偏好网属性权重的非线性的调整方法。 [关键词]条件偏好网;属性权重的非线性调整;人工神经网络;BP算法 Abstract: This paper mainly describes the research of the attribute of the CP-nets based on the BP-ANN algorithm. On the choice of personalized applications such as network service, the user's preferences tend to play a very important role, CP-nets is a compact and intuitive formalism for representing and reasoning with conditional preference. However, compared with the combination of have more than one specific preference, the original CP - nets is unable to compare the subtle differences between certain combinations of preference, therefore, in this article, we put forward a kind of the user to specify the relative importance of the weight between the preference attributes to solve this problem. As described in the user preference and conflict between the actual choice, you will need to adjust good net weights of attributes in the condition, this paper puts forward two kinds of thinking, the line of control and nonlinear adjustment method, and emphatically introduces the based on artificial neural network BP algorithm nonlinear adjustment method for the CP-nets attribute weights . Key words: CP-nets; Nonlinear adjustment of attribute weights; the artificial neural networks; BP algorithm 目 录 1 绪论 1 1.1本课题研究的意义及必要性 1 1.2国内外研究现状及发展趋势 1 1.3研究思路及内容 2 2 条件偏好网 3 2.1条件偏好网的简要介绍 3 2.2条件偏好网的应用及不足 4 2.3加权条件偏好网的权重及违反程度的概念 4 3 人工神经网络 7 3.1人工神经网络的概述及定义 7 3.2人工神经元 7 3.3激活函数 8 3.4人工神经网络的训练 9 4 人工神经网络的BP算法 10 4.1 BP算法的提出及其概述 10 4.2 BP算法的原理分析 10 5 BP算法对条件偏好网权值调整 15 5.1调整初始属性权重的提出 15 5.2 BP算法对条件偏好网的调整 16 6 总结与展望 18 致谢 19 参考文献 20 附录 21 1 烟台大学毕业论文(设计) 1 绪论 1.1本课题研究的意义及必要性 在个性化选择和人工智能的应用领域,为了支持自动决策,用户偏好的提取在这当中起着重要的作用。在日常生活中,偏好随处可见,人们通过偏好来表达自己各种各样的意愿,以此来帮助自己做出满意的决策。例如我们在购买衣服时,一些人的一个简单的准则是昂贵的比便宜的好,当价格相同时,材质优的比材质差的要好;而另一些人的偏好则不尽相同,他们可能首先认为样式新颖的比不新颖的要好等等。因此,服装经销商要依据顾客对偏好的描述推理出其对服装的需求原则,从而给出顾客最需要的选择,以满足不同消费群体的不同的需求。条件偏好网(CP-nets)对于表示和推理有条件的偏好是一种简洁而直观的形式,因此吸引了国内外大批学者对它的关注与研究。 然而,原始的条件偏好网却有两个无法避免的的内在的缺点:用户无法表达出他们的细微的偏好,更具体的说,它无法详细的表达出某一偏好的属性值或属性间的具体差别;由于表达能力的局限性,那些包含多个属性值的服务模式是无法比较其偏好大小的。因此条件偏好网的表现能力和其对服务模式的比较能力对其应用具有重要的影响。为了解决这些问题,一些专家学者提出了一些方法,包括定义一个逻辑框架来增强条件偏好网的表现能力,对不同的服务模式应用一个具体的函数模型来比较其偏好程度等等。但这些方法都仅仅是解决了条件偏好网内在缺陷的一个方面,而不能同时避免这两个问题。所以,我们采用对不同偏好属性加权的方法来克服条件偏好网的这些内在缺陷。既然是对属性加权,那么对不同属性权值大小的设置就成为了准确应用条件偏好网来解决实际的网络服务选择(例如对某些网络产品的个性化推荐),人工智能等问题的关键。然而初始权重的设置和最终用户对某些服务模式的选择往往会产生矛盾,这个时候,为了能得到最个性化的产品推荐和最精准的智能预测,就需要对初始权重进行调整。本文就是在这种背景下提出采用人工神经网络的BP算法,来对权重进行调整从而实现最个性化的产品推荐和最精准的智能预测的目的,使得更充分的发挥条件偏好网在实际中的应用,更好地为人类服务。 1.2国内外研究现状及发展趋势 偏好处理是近年来人工智能研究的热点,而目前偏好的应用及处理大都基于条件偏好网来加以描述,加权条件偏好网是在条件偏好网的基础上通过对服务模式给定一定的权重来增强其表现能力和比较能力而衍生出来的。国内外众多学者对如何调整加权条件偏好网的属性的权重做了很多研究。在调整权重的过程中,我们要引入违反程度的概念,违反程度,简单来讲就是你对某一服务属性的不喜欢的程度,对违反程度的介绍在后面章节中我们会详细介绍。这些基于违反程度对服务模式属性权重调整的基本原理都是当用户实际选择的服务模式并不具有最小的违反程度时,基于违反程度对条件偏好网属性权重的调整主要有两种思路:线性调整和非线性调整。对于线性调整,我们采用拉格朗日算法的模型进行调整;对于非线性调整,我们引入神经网络的BP算法进行调整,这也是本文研究的重点,会在后面章节中详细介绍。当给定不同的应用和真实的约束时,其他的线性和非线性方法可能更合适,但我们专注的是对一般属性的调整而不是优化,因此,在前人研究的基础上,我们采用上文提到的两种方法进行进行条件偏好网属性权重的调整。 1.3研究思路及内容 本文通过对用户条件偏好的分析,引入对条件偏好的图形表示模型——条件偏好网条件偏好网。为了改善条件偏好网的表达能力和对包含多个属性的服务模式的偏好比较能力,提出了加权条件偏好网的概念,即对某一服务模式的不同属性指定其权重,为了更细致的比较对不同服务模式的偏好和对权重的调整,我们引入违反程度的概念,并提出了基于拉格朗日算法的线性调整方法和基于人工神经网络BP算法的非线性调整方法。后面的章节中,详细的介绍了人工神经网络的BP算法,并引用实例,采用Matlab编程,验证人工神经网络BP算法对条件偏好网属性权重调整的优越性。 20 2 条件偏好网 2.1条件偏好网的简要介绍 条件偏好网(条件偏好网)是一种为了表达和推理条件偏好的紧凑而直观的图形模型。它包含两个部分,导向图(DDG)以及条件偏好表(CPT)。DDG中包含了一组属性V={X1,X2,……,Xn},集合V中的每一个属性Xi被认为是导向图DDG中的一个节点这里每一个节点Xi都与一个有限的定义域D(Xi)={xi1,……,xin}相关。一个服务模式往往包含多个属性,这些属性之间可能具有依赖关系,假设在某种服务模式下,对属性X2偏好取决于属性X1,则称节点X1为节点X2的父节点,表示为Pa(X2)。此外,需要注意的是,代表某个属性的节点可以有多个父节点。因此,一个服务模式可以被定义为条件偏好网表示的所有属性的组合属性值。例如SP(服务模式)=x1x2……xn ,这里的xiD(Xi)(对于i=1,……,n,)表示了属性Xi的某一个特定的值。 另外,每一个属性Xi在条件偏好表CPT中表示为CPT(Xi),它表示属性Xi在其在其父属性Pa(Xi)不同取值下,服务模式对D(Xi)集合的一个偏好。CPT(Xi)之所以能被称为条件偏好表,是因为父属性Pa(Xi)不同取值下,在一个服务模式中对属性Xi几个取值的偏好排序也不同。在Pa(Xi)所有的取值下,某一服务模式对属性Xi会有不同的偏好属性值,对这些同一属性下的不同属性值的偏好进行排序,即会得到条件偏好表CPT(Xi)。在父节点Pa(Xi)给出某一定值的条件下,属性Xi的有限定义域D(Xi)中的属性值的偏好关系可以用>来表示。举个例子,假设一种偏好模型表示为x11:x21>x22,则其含义可以理解为在节点X2的父节点X1取定属性值x11的条件下,属性X2的属性值x21优于另一个属性值x22,通俗点讲,就是在父节点给定的前提条件下,人们对属性X2的一个属性值x21的喜好程度大于X2的另一个属性值x22。 一个典型的条件偏好网如下图2-1中的图(a),(b)所示,其模型是对一个公司的数据存储及访问服务的描述,关于其服务质量的标准包含三个属性:即A : Platform(平台), B : Location(区域) 和C : Provider(访问途径)。(c)则表示了每一个属性所包含的特定的属性值。 具体来说,数据可以存储在文件系统a1或数据库a2,存储的地点可以选择纽约b1或北京b2,访问的途径可以为公开访问c1或私人访问c2。由下图的(b)可知,对于数据存储的平台,用户无条件的喜欢文件系统a1而不是数据库a2;但是对于属性A之外的另外两个属性偏好的比较,则要根据其父节点的值来确定。例如,在对数据存储平台的选择时,选择了数据库a2而非文件系统a1,那么显然由图(b)可知,在对接下来存储地点的选择时,偏好b2北京;若属性B选择了b2,则访问途径就会偏好于c2私人访问而不是c1公开访问。注意这个例子将用于本文的其余部分。 (c) c1:公开访问 c2:私人访问 b1:纽约 b2:北京 (b) a1:文件系统 a2:数据库 b1: c1>c2 b2: c2>c1 a1: b1>b2 a2: b2>b1 a1>a2 (a) C : Provider B : Location A : Platform 图2-1 条件偏好网 2.2条件偏好网的应用及不足 关于人工智能的研究是近几年的热点,对条件偏好的处理是人工智能领域的一个研究方面,自然引起人们的关注。偏好在日常生活中随处可见,人们表达意愿,做出决策都是通过对偏好的处理来实现的;在电子商务中,对偏好的处理更是起着决定性的作用,卖方首先要了解买方的偏好,才能将合适的商品推荐给他。而对偏好处理的基础就是对偏好的表示,目前大多数的偏好表示是利用条件偏好网。条件偏好网是一个图形化的工具来定性表达自己的偏好关系。其作为一种表达能力的工具,是非常强大的,可以直观,自然地表达用户的偏好信息,但是,它只能是不对称的简单偏好关系却无法描述连续型议题或是一些不能够被清楚表达的抽象的偏好信息,这是条件偏好网的一大缺陷。除此之外,条件偏好网还有两个无法避免的内在问题:一是它无法详细的表达出某一偏好的属性值或属性间的具体差别;二是对于包含多个属性值的服务模式是无法比较其偏好大小。基于此,本文提出了加权的条件偏好网来克服其上述不足,增强其对偏好的表达能力,拓展了它的应用范围。 对于加权的条件偏好网,其权重的设置与调整是它能够被准确应用的关键。对加权条件偏好网的权重进行调整,需要引入一个新的概念——违反程度,将在下一节中详细介绍。 2.3加权条件偏好网的权重及违反程度的概念 加权条件偏好网的权重是比较两个属性相对重要性的尺度,通常是以比值的形式出现,在导向图属性间相连的弧线上标注出来。违反程度是对于某一属性的不同属性值而言的,它是比较属性值相对重要性的尺度。 基于服务模式之间的比较,加权条件偏好网对违反程度的概念有如下定义。 定义1:属性的违反程度。是指当被选择的服务模式的属性并非是在相对应的条件偏好表CPT中最优的那个属性时,用数值来表示被选择的属性偏离最优属性的程度,通常都是在给定加权条件偏好网时,就给出来了的值,此即为属性的违反程度。形似上可以表示Vx(sp)。其中,X表示的是服务模式sp中的一个属性。 定义2:服务模式的违反程度。是指一种组合的违反程度,要同时考虑到所有属性的违反程度及属性的权重。形式上可以表示为V(sp),并定义V(sp)如下 V(sp)=F(wx,Vx(sp)) 这里F是一个复合函数,其中wx是属性X的权重,Vx(sp)是属性的违反程度。 A : Platform 为得到服务模式的违反程度,对特定合复合函数F的定义有不同的方法,包括线行的和非线性的。一个简单的线性思路是对该服务模式下所有属性的违反程度和相应属性权重乘积求和;人工神经网络作为非线性的思路来实现对复合函数F的模拟,这将在后面的章节中详细介绍。下图2-2给出了加权条件偏好网: a1>2a2 (e) b1: c1>3c2 b2: c2>2c1 a1: b1>1b2 a2: b2>3b1 5 3 C : Provider (d) B : Location 图2-2 加权条件偏好网 由上图2-2中(d)可知,WB/WA=1/3,WC/WB=1/5,这里的WA,WB和WC分别代表了属性A,属性B和属性C的权重,又因为对于权重,有一个隐含的等式:WA+WB+WC=1。由这两个公式,可以很轻松的计算出WA ,WB和WC的具体数值。并且可以得出(WA:WB:WC=15:5:1)这在后面对权重的调整中会用到。 鉴于对定义一中属性的违反程度的定义,我们可以由图(e)可以明确地得出各属性同属性值之间的违反程度。例如,在图(e)中给定属性间的违反程度为a1>2a2,对于任意给出的一个服务模式sp=a2b2c2,此时,对属性A而言,被选择的属性值是a2而不是属性值a1。那么此时,偏好就会被违反。所以,对于服务模式a2b2c2,其对应于属性A就会存在一个违反程度,且违反程度的值为2,可以记为VA(a2b2c2)= 2。一般情况下,对于一特定服务模式的某一属性的违反程度越大,对该属性的偏好越小。 3 人工神经网络 3.1人工神经网络的概述及定义 人工神经网络模拟的是人脑的功能,它的实现是通过建立一个包含大量处理单元的数学模型。人工神经网络系统则是把这些处理单元按适当方式连接而成的,这种系统具有的典型特性是具有非线性自适应性。对于其定义,尼尔森给出了如下声明: 人工神经网络具有一个特殊的并行结构,其特殊之处在于它在并行的基础上还能够分布处理。它由处理单元和被称为联接的无线信号通道互联而成。这些处理单元有一定的本地存储,从而可以完成一些局部操作;每个处理单元具有一个输出连接,输出连接非常强,足以根据期望分支分成多个并行连接的数目,和并联连接然后输出相同的信号,而信号的大小却不会因为分支的多少而变化。对于输出信号处理单元,它也可以是任何需要的数学模型。每个处理单元只能进行局部操作,也就是说,它必须紧紧依靠输入连接到的输入信号的所有的当前值和存储在本地存储处理单元的值。 该定义强调了四个方面:神经网络的并行分布处理的结构;一个处理单元的输出能够在保证大小不变的情况下被被任意分支;在给定期望值的条件下任意数学模型都可以作为输出信号;处理单元具有独立性,可实现完全局部操作。这里所说的处理单元是构成人工神经网络的基本单元。对于详细的神经元在下一节将讨论。上面的人工神经网络的定义被证明是非常详细的,但它是非常复杂的,为了方便使用,在1987年,从Simpenm人工神经网络的拓扑结构,给出了一个虽然不是太严格,但却具有实用性的简明扼要的定义。是足以说明一般应用中的问题的。 定义的内容为:人工神经网络是一种包含有可以通过改变权大小来改变存放模式的加权边的非线性有向图。这种非线性的有向图具有强大的功能,能在不完整的或未知的输入条件下找到模式,得到预期的输出结果。 从形式上看,人工神经网络,模拟生物神经系统,因此将拥有其的一些基本特征:从系统的结构形式来看,人工神经网络本身以及它们之间的连接方式,都是以与生物神经系统相似的方式在工作;从性能特征来看,人工神经网络系统和生物神经系统的基本操作模式也基本相同。 3.2人工神经元 从上面的叙述可知,神经元是形成神经网络最基本的单元。因此构建人工神经元模型是构建人工神经网络的首要任务。并且我们希望这个模型不仅仅是一种简单易实现的数学模型,而应该具有生物神经元的基本特征(基本功能包括:神经元之间的连接强度由信号传输的强度决定;通过训练可以改变神经元之间的连接强度,有两种信号刺激或抑制;神经元的状态由神经元接收的累积效应的信号确定)。因此,人工神经的我们的最简单的要求是要让它可以模拟一阶生物神经元,可以实现输入信号的加权求和的特性。 X3 X2 X1 W1 W2 W3 Net=XW 对每一个人工神经元来说,它能够接受一组来自于系统中其他神经元的输入信号,每一个输入信号都会有一个权值与之对应,神经元的激活状态由输入该神经元的加权和决定。这里的权相当于突触的联接强度,其基本模型如下图3-1所示。 图3-1 简单神经元结构 其中,X1,X2,...,XN表示n个输入端,W1,W2,...,Wn的表示相应的链路的权重,所有的输入信号时,链路权重分别构成了输入向量X,权联接向量W,分别如下: X=(X1,X2,……,Xn) W=(W1,W2,……,Wn)T 用Net来表示神经元所获得的输入信号累积,Net=XiWi ,以向量形式表达为Net=XW。 3.3激活函数 (3.1) 获得网络输入后的神经元,会给出适当的输出。符合生物神经元的特性,在人工神经网络的每个神经元将具有阈值,当神经元的累积影响小于相应的阈值时获得的输入信号,所述神经元是在激发态;否则就处于抑制态。激活函数或称为激励函数或则活化函数本质上是实现人工神经网络中神经元所得到的网络输入变换的一种变换函数。用f表示: O=f(Net) 其中,O是该神经元的输出。从上面的公式中,可以看出,函数f在使神经元限制在适当的范围内或则对其输出放大起了一定的作用。常用的的激活函数包含线行函数,阶跃函数,s型函数和非线性斜面函数等四种。 3.4人工神经网络的训练 人工神经网络的学习能力是最吸引人眼球特点。Rosenbllatt人工神经网络学习定理表明,在一定的训练数据的训练下,人工神经网络可以学习表达任何事物。但需要注意的是,人工神经网络所具有的表达能力也是有限的。这一点从很大程度上限制了它的学习能力。 对人工神经网络训练就是赋予它学习的能力。训练是由样本矢量样本收集(以下简称为样本集训练)输入到人工神经网络的过程,以一定的方式调节神经元之间的连接的权重,将样本的内涵由网络设置存储在连接权矩阵中,这使得网络接受输入,能够提供适当的输出。 有导师学习和无导师的学习是人工神经网络进行学习的两种形式,一般情况下对前者的使用较多。有导师的学习通俗来讲就是学生到学校接受老师教育或学生自己读书;而无导师的学习则是一种人们根据一些实际的经验来不断地总结学习。 在有导师学习中,除了事先要求给出的输入向量,也必须给相应的期望输出向量。因此,使用训练网络,实现不同的连接图。有导师学习训练算法步骤如下: (1)把一个样本(Ai,Bi)从样本的集合中取出来; (2)输入网络中并计算出网络实际的输出O; (3)求出误差D=Bi—Oi; (4)依据误差D来调整权矩阵W; (5)对每一个样本集都重复上面的过程。当整个样本集的误差都不超过设定的允许误差时,训练停止。 delta规则是在导师训练算法中最重要的(3.2) : Wij(t+1)=Wij(t)+α(Yj-Aj(t))Oi(t) 式中 Wij(t+1)表示神经元ANi到ANj的联接在时刻t+1的强度,同理Wij(t) 代表时刻t的强度,α为在程序中预先给出的学习率,ANj为神经元Yj的理想输出,神经元ANj的激活状态是Aj(t),神经 元ANi在时刻t的输出为Oi(t)。关于这个规则,将在下一章中的关于人工神经网络的BP算法中详细介绍。 无导师的训练方法只需要给出输入向量而不需要给出目标向量,对神经网络权重矩阵的修改所用到的算法,即为神经网络的训练算法。训练的结果是使网络对一个输入能给出基本一致的输出,也就是输入向量与输出向量形式相同。在训练的过程中,无导师训练算法的意义在输入训练样本集的统计特征提取出来,在神经网络中存在的形式是神经元间的连接权矩阵形式,并按照权矩阵向量的相似性进行分类。 虽然在网络中对数据进行了一定程度的训练之后,能够得到较为理想的效果。但在实际的应用中,还需要进行另一项工作,即要求将输出变换成能够被理解的形式。此外,其运行结果难以预测,这也为其的普及应用带来一定障碍。 4 人工神经网络的BP算法 4.1 BP算法的提出及其概述 为了解决一些线行不可分问题,研究人员引入了人工神经网络的多级网络,即除去输入层、输出层之外,又增加了一个隐藏层神经元,其典型的结构如下图4-1所示。 图4-1 多级人工神经网络 而估计多级网络中隐藏层神经元误差,成为人们对神经网络研究的不小的挑战。因为在实际的应用中,隐藏层神经元的输出值是未知的。BP算法就是在此基础上提出来,解决这个问题的。BP算法,是一种向后传播的算法,它的主要思路是:输出层的直接前导误差值的获取来源于对输出层误差的估计,对更前面一层的误差估计来源于前一个估计误差。如此循环下去,所以其他层的误差估计可以得到的,并且误差从输出发送到网络的输入,误差信号的反向传播,从输出端逐级向网络中传递。在这个过程中会因为对向后传播的误差的不断估计而使得误差精度降低,但却能为训练多级网络提供较为便捷有效的办法。因此,该算法受到普遍的关注。 4.2 BP算法的原理分析 BP算法的学习过程的主要思想分为两个阶段:第一阶段(即正向通信过程),给定的输入信息经由输入层然后再由隐处理并计算每个单元的实际输出值;第二阶段(即反向传播过程),若输出值不与期望值一致,通过递归步骤以计算所需的输出和实际输出值(误差),根据该差之间的差再进行权重的调整。下图4-2给出了基于BP算法的多层网络的结构,如下所示: 图4-2 BP算法多层网络 这其中不仅包括输入层节点,输出层节点,并且还包含一层或隐藏节点的网络层。前向信息输入到网络并扩散到隐藏层,然后激活节点处的函数功能,从隐藏层节点传递到输出节点的信息的操作后,输出的动作后的输出节点活化功能。正向和反向这两部分的传输网络的学习过程组成BP网络的学习过程。正向传播的特点在于,每一层神经元的状态都只能影响与它直接相连的下一层的神经元网络。如果输出是不期望的输出,则开始计算实际输出值期望输出值之间的差值,并转到前和计算修改的训练功能后的逆过程,即在输入误差信号的反向连接通路。每个神经元的权重,逐次输入蔓延过去。这两个过程反复进行,直到达到设置的误差的精度。 BP算法是一种有导师训练的方法,是一种适合于多层神经网络学习,建立它是基于梯度下降的方法。 假设任意一个神经网络,该网络含有L层和n个节点。每一层的网络,每一层只接收上一层的信息,然后将接收到的信息输出到下一层,假设各单元的激励函数为Sigmoid型(一类原函数与一阶导数均连续可微的函数)函数。为了分析的过程简单,假设网络只有一个输出y。设给出的N个样本分别为(Xk,Yk)(k=1,2,...,N),Oi为任一节点i的输出,当数据Xk被输入时,网络对应的输出为Yk,Oik为节点i的输出,对于第l层第j个单元,我们重点研究。对于输入网络的第k个样本,节点j的输入为 (4.1) (4.2) 其中表示l-1层,当第k个样本被输入时,第j个单元的节点的输出。 采用的误差函数如下, (4.3) 其中是单元j实际的输出。总误差为: (4.4) 定义 (4.5) 于是有 (4.6) 对上述公式分两种情况进行讨论: (1)当节点j作为为输出单元时,则有 (4.7) (2)当节点j不作为输出单元时,则有 (4.8) 式中是送到下一层(l+1)层的输入,计算要从(l+1)层算回来。 在(l+1)层第m个单元时有如下的式子: (4.9) (4.10) 将式(4·8)代入式(4·8)中,则得 对上述结果总结可得,有 (4.11) 由上面叙述的过程,可对BP反向传播算法的步骤概括如下: (1)首选定权系数的初值; (2)重复下面的过程,直到误差满足我们设定的误差精度,即: :精度 1)对于k从1到N 正向过程计算:计算每层单元的,和,k=2,...,N。 反向过程的计算:对各层(l=L-1到2),对每层的各单元,计算 2)按如下公式对权值进行修正 (4.12) 3)误差达到期望值,算法结束 用一个具体的实例来说明: 已知某系统的输入输出的部分的对应关系如下。设计一个BP神经网络,来实现y=f(x)的曲线拟合。 x -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 y -0.832-0.423 -0.024 0.344 1.282 3.456 4.02 3.232 2.102 1.504 x 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 y 0.248 1.242 2.344 3.262 2.052 3.456 4.02 3.232 2.102 1.504 我们用隐层节点数为15的单输入单输出两层BP网络来实现对其曲线的拟和,其仿真图如下所示 图4-3 运行结果 从仿真结果我们可知,在把所有样本都输入并计算出总的误差之后才进行对权值和阈值的修正。 具体程序可参见附录一。 5 BP算法对条件偏好网权值调整 5.1调整初始属性权重的提出 尽管依据加权条件偏好网的导向图和条件偏好表给出的初始的权重和属性的违反程度我们可以得到一系列服务模式的违反程度,对这一系列服务模式的违反程度进行排序,我们可以得到计算出的最小的违反程度对应的服务模式,换一种说法就是,人们对该服务模式的偏好最大,即最有可能被选择的服务模式。但有时候人们可能并不会选择这个在初始属性权重及属性违反程度下计算得到的最优的服务模式,在这种情况下,我们就需要对初始权重进行调整。具体调整过程将在下一节中介绍。 在这里,我们引入一个例子来具体讲述一下为何要对初始权重进行调整。由上面的导向图和条件偏好表图2-2的图(d)图(e)可知,初始属性的相对权重有如下关系: WA:WB:WC=15:5:1 又因为属性的相对权重满足WA+WB+WC=1,联立上面两式我们可计算得WA=0.7143, WB=0.2381,WC=0.0476。由于有三个属性,每个属性有两个不同的属性值,因而可以得到8种不同的服务模式(具体为sp1=a1b1c1,sp2=a1b1c2,sp3=a1b2c1,sp4=a1b2c2,sp5=a2b1c1,sp6=a2b1c2,sp7=a2b2c1,sp8=a2b2c2)。依据初始给定的属性违反程度,我们应用简单的线行求和的方法来计算这八种服务模式所对应的服务模式的违反程度,具体的计算过程如下: V(sp1)=0*0.7143+0*0.2381+0*0.0476=0.0000 V(sp2)=0*0.7143+0*0.2381+3*0.0476=0.1428 V(sp3)=0*0.7143+1*0.2381+2*0.0476=0.3339 V(sp4)=0*0.7143+1*0.2381+0*0.0476=0.2381 V(sp5)=2*0.7143+3*0.2381+0*0.0476=2.1429 V(sp6)=2*0.7143+3*0.2381+3*0.0476=2.2857 V(sp7)=2*0.7143+0*0.2381+2*0.0476=1.5238 V(sp8)=2*0.7143+0*0.2381+0*0.0476=1.4286 因此我们可以对服务模式的违反程度排序如下: V(sp1)<V(sp2)<V(sp4)<V(sp3)<V(sp8)<V(sp7)<V(sp5)<V(sp6) 由上述的顺序我们显然可知服务模式sp1是最优的服务模式,sp6是最差的服务模式。但当数据库中不包含sp1所对应的选择时,我们还可以从上述顺序中选出次优的服务模式sp2。而且从对服务模式违反程度的计算过程可知,最优服务模式和最差服务模式无论怎样改变权重都是不会被改变的。因此,用户在进行服务模式的选择时,可以略去对最优和最差服务模式的比较与选择,因为这是无意义的选择。因此在给定可以比较的数据库中,一般是不会包含这两个选择的。在数据库中不包含最优服务模式sp1和最差服务模式sp6的条件下,若用户并没有按照上面计算出的次序选择次优服务模式sp2,而是按照下面给出的自己的偏好顺序进行选择: V(sp1)<V(sp4)<V(sp8)<V(sp5)<V(sp3)<V(sp2)<V(sp7)<V(sp6) 这个时候,用户的实际偏好次序与计算得到的偏好次序就会有矛盾,为了使计算得到的偏好次序能够与用户实际的偏好次序想拟合,就需要对初始的权重进行调整。在这里,我们采用人工神经网络的BP算法来对相对权重的比值进行调整,具体调整思路及过程将在下一节介绍。 5.2 BP算法对条件偏好网的调整 BP算法的功能之一就是能够进行非线性拟合,在给定输入和期望输出的条件下,在一系列的学习与训练之后,能够在一定误差允许的范围内,使得网络的输出尽量与期望输出相拟合。因此,当出现前一章所叙述的矛盾时,BP算法适用于对加权条件偏好网的初始权重进行调整。具体调整思路如下: (1)在初始权重下,计算出服务模式的违反程度,并按计算得到的服务模式违反程度的次序排列出服务模式的偏好顺序,作为网络的输入; (2)给出用户实际的服务模式的偏好顺序; (3)按照用户实际的服务模式的偏好顺序,来对第一步中计算得到的服务模式的违反程度进行排序,作为网络的期望输出; (4)在Matlab中调用神经网络工具箱,初始化各参数。并将初始的属性权重相对比赋给输入层与隐藏层之间的权重; (5)运行Matlab程序,对属性初始权值及其余各权值进行调整; (6)当达到程序中要求的训练精度后,也即在精度允许范围内,实际输出与期望输出一致。 此时,查看运行结果中的调整后的隐藏层之间与的权重即为调整后的属性的相对权重比。程序运行后,结果如下。 图5-1 运行结果 同时可得输入层与隐含层的权重如下: 图5.2 调整后权重 所以可得调整后的权重之比为: WA:WB:WC=7:1:9 又因为WA+WB+WC=1,所以可得修改后的权重为WA=0.4118,WB=0.0588,WC=0.5294。再运用上一章中用到的方法计算服务模式的违反程度,验证一下对权重的调整是否正确: V(sp1)=0*0.4118+0*0.0588+0*0.5294=0.0000 V(sp2)=0*0.4118+0*0.0588+3*0.5294=1.5882 V(sp3)=0*0.4118+1*0.0588+2*0.5294=1.1176 V(sp4)=0*0.4118+1*0.0588+0*0.5294=0.0588 V(sp5)=2*0.4118+3*0.0588+0*0.5294=1.0000 V(sp6)=2*0.4118+3*0.0588+3*0.5294=2.5882 V(sp7)=2*0.4118+0*0.0588+2*0.5294=1.8824 V(sp8)=2*0.4118+0*0.0588+0*0.5294=0.8236 对权重调整后的服务模式的违反程度进行排序可得: V(sp1)<V(sp4)<V(sp8)<V(sp5)<V(sp3)<V(sp2)<V(sp7)<V(sp6) 与期望得到的结果相一致,所以可知采用此种算法对权重的调整是正确的。具体程序见附录二。 6 总结与
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服