基于条件偏好网权重属性的研究.docx
《基于条件偏好网权重属性的研究.docx》由会员分享,可在线阅读,更多相关《基于条件偏好网权重属性的研究.docx(40页珍藏版)》请在冰豆网上搜索。
基于条件偏好网权重属性的研究
毕业论文(设计)
基于BP算法的条件偏好网属性权重研究
TheresearchoftheattributeweightsoftheCP-net
BasedontheBPalgorithm
烟台大学计算机与控制工程学院
[摘要]本文主要描述了基于人工神经网络BP算法对条件偏好网属性权重的研究。
在个性化的应用如网络服务的选择过程中,用户的偏好往往会扮演一个非常重要的角色。
条件偏好网(CP-nets)对于表示和推理有条件的偏好是一种简洁而直观的形式。
然而当有多个特定偏好的组合进行比较时,原始的条件偏好网是无法比较出特定偏好组合之间的细微差别的,因此,在本文中,我们提出了一种通过用户指定不同偏好属性之间的相对重要性即权重来解决这个问题。
当用户描述的偏好与其实际的选择之间产生矛盾时,则需要调整条件偏好网中的属性的权重,本文提出了两种调整思路,线行调整法和非线性调整法,并着重研究了基于人工神经网络BP算法的对条件偏好网属性权重的非线性的调整方法。
[关键词]条件偏好网;属性权重的非线性调整;人工神经网络;BP算法
Abstract:
ThispapermainlydescribestheresearchoftheattributeoftheCP-netsbasedontheBP-ANNalgorithm.Onthechoiceofpersonalizedapplicationssuchasnetworkservice,theuser'spreferencestendtoplayaveryimportantrole,CP-netsisacompactandintuitiveformalismforrepresentingandreasoningwithconditionalpreference.However,comparedwiththecombinationofhavemorethanonespecificpreference,theoriginalCP-netsisunabletocomparethesubtledifferencesbetweencertaincombinationsofpreference,therefore,inthisarticle,weputforwardakindoftheusertospecifytherelativeimportanceoftheweightbetweenthepreferenceattributestosolvethisproblem.Asdescribedintheuserpreferenceandconflictbetweentheactualchoice,youwillneedtoadjustgoodnetweightsofattributesinthecondition,thispaperputsforwardtwokindsofthinking,thelineofcontrolandnonlinearadjustmentmethod,andemphaticallyintroducesthebasedonartificialneuralnetworkBPalgorithmnonlinearadjustmentmethodfortheCP-netsattributeweights.
Keywords:
CP-nets;Nonlinearadjustmentofattributeweights;theartificialneuralnetworks;BPalgorithm
目录
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.1BP算法的提出及其概述10
4.2BP算法的原理分析10
5BP算法对条件偏好网权值调整15
5.1调整初始属性权重的提出15
5.2BP算法对条件偏好网的调整16
6总结与展望18
致谢19
参考文献20
附录21
1绪论
1.1本课题研究的意义及必要性
在个性化选择和人工智能的应用领域,为了支持自动决策,用户偏好的提取在这当中起着重要的作用。
在日常生活中,偏好随处可见,人们通过偏好来表达自己各种各样的意愿,以此来帮助自己做出满意的决策。
例如我们在购买衣服时,一些人的一个简单的准则是昂贵的比便宜的好,当价格相同时,材质优的比材质差的要好;而另一些人的偏好则不尽相同,他们可能首先认为样式新颖的比不新颖的要好等等。
因此,服装经销商要依据顾客对偏好的描述推理出其对服装的需求原则,从而给出顾客最需要的选择,以满足不同消费群体的不同的需求。
条件偏好网(CP-nets)对于表示和推理有条件的偏好是一种简洁而直观的形式,因此吸引了国内外大批学者对它的关注与研究。
然而,原始的条件偏好网却有两个无法避免的的内在的缺点:
用户无法表达出他们的细微的偏好,更具体的说,它无法详细的表达出某一偏好的属性值或属性间的具体差别;由于表达能力的局限性,那些包含多个属性值的服务模式是无法比较其偏好大小的。
因此条件偏好网的表现能力和其对服务模式的比较能力对其应用具有重要的影响。
为了解决这些问题,一些专家学者提出了一些方法,包括定义一个逻辑框架来增强条件偏好网的表现能力,对不同的服务模式应用一个具体的函数模型来比较其偏好程度等等。
但这些方法都仅仅是解决了条件偏好网内在缺陷的一个方面,而不能同时避免这两个问题。
所以,我们采用对不同偏好属性加权的方法来克服条件偏好网的这些内在缺陷。
既然是对属性加权,那么对不同属性权值大小的设置就成为了准确应用条件偏好网来解决实际的网络服务选择(例如对某些网络产品的个性化推荐),人工智能等问题的关键。
然而初始权重的设置和最终用户对某些服务模式的选择往往会产生矛盾,这个时候,为了能得到最个性化的产品推荐和最精准的智能预测,就需要对初始权重进行调整。
本文就是在这种背景下提出采用人工神经网络的BP算法,来对权重进行调整从而实现最个性化的产品推荐和最精准的智能预测的目的,使得更充分的发挥条件偏好网在实际中的应用,更好地为人类服务。
1.2国内外研究现状及发展趋势
偏好处理是近年来人工智能研究的热点,而目前偏好的应用及处理大都基于条件偏好网来加以描述,加权条件偏好网是在条件偏好网的基础上通过对服务模式给定一定的权重来增强其表现能力和比较能力而衍生出来的。
国内外众多学者对如何调整加权条件偏好网的属性的权重做了很多研究。
在调整权重的过程中,我们要引入违反程度的概念,违反程度,简单来讲就是你对某一服务属性的不喜欢的程度,对违反程度的介绍在后面章节中我们会详细介绍。
这些基于违反程度对服务模式属性权重调整的基本原理都是当用户实际选择的服务模式并不具有最小的违反程度时,基于违反程度对条件偏好网属性权重的调整主要有两种思路:
线性调整和非线性调整。
对于线性调整,我们采用拉格朗日算法的模型进行调整;对于非线性调整,我们引入神经网络的BP算法进行调整,这也是本文研究的重点,会在后面章节中详细介绍。
当给定不同的应用和真实的约束时,其他的线性和非线性方法可能更合适,但我们专注的是对一般属性的调整而不是优化,因此,在前人研究的基础上,我们采用上文提到的两种方法进行进行条件偏好网属性权重的调整。
1.3研究思路及内容
本文通过对用户条件偏好的分析,引入对条件偏好的图形表示模型——条件偏好网条件偏好网。
为了改善条件偏好网的表达能力和对包含多个属性的服务模式的偏好比较能力,提出了加权条件偏好网的概念,即对某一服务模式的不同属性指定其权重,为了更细致的比较对不同服务模式的偏好和对权重的调整,我们引入违反程度的概念,并提出了基于拉格朗日算法的线性调整方法和基于人工神经网络BP算法的非线性调整方法。
后面的章节中,详细的介绍了人工神经网络的BP算法,并引用实例,采用Matlab编程,验证人工神经网络BP算法对条件偏好网属性权重调整的优越性。
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,这里的xi
D(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)
(b)
(a)
图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)是属性的违反程度。
为得到服务模式的违反程度,对特定合复合函数F的定义有不同的方法,包括线行的和非线性的。
一个简单的线性思路是对该服务模式下所有属性的违反程度和相应属性权重乘积求和;人工神经网络作为非线性的思路来实现对复合函数F的模拟,这将在后面的章节中详细介绍。
下图2-2给出了加权条件偏好网:
(e)
5
3
(d)
图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.1BP算法的提出及其概述
为了解决一些线行不可分问题,研究人员引入了人工神经网络的多级网络,即除去输入层、输出层之外,又增加了一个隐藏层神经元,其典型的结构如下图4-1所示。
图4-1多级人工神经网络
而估计多级网络中隐藏层神经元误差,成为人们对神经网络研究的不小的挑战。
因为在实际的应用中,隐藏层神经元的输出值是未知的。
BP算法就是在此基础上提出来,解决这个问题的。
BP算法,是一种向后传播的算法,它的主要思路是:
输出层的直接前导误差值的获取来源于对输出层误差的估计,对更前面一层的误差估计来源于前一个估计误差。
如此循环下去,所以其他层的误差估计可以得到的,并且误差从输出发送到网络的输入,误差信号的反向传播,从输出端逐级向网络中传递。
在这个过程中会因为对向后传播的误差的不断估计而使得误差精度降低,但却能为训练多级网络提供较为便捷有效的办法。
因此,该算法受到普遍的关注。
4.2BP算法的原理分析
BP算法的学习过程的主要思想分为两个阶段:
第一阶段(即正向通信过程),给定的输入信息经由输入层然后再由隐处理并计算每个单元的实际输出值;第二阶段(即反向传播过程),若输出值不与期望值一致,通过递归步骤以计算所需的输出和实际输出值(误差),根据该差之间的差再进行权重的调整。
下图4-2给出了基于BP算法的多层网络的结构,如下所示:
图4-2BP算法多层网络
这其中不仅包括输入层节点,输出层节点,并且还包含一