资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,2,章 人工神经网络基础,主要内容,生物神经网,人工神经元,单级,神经网络结构,示例,生物体的神经系统,图,1,生物体的神经元,根据一个简化的统计,人脑由百亿条神经组成,每条神经平均连结到其它几千条神经。通过这种连结方式,神经可以收发不同数量的能量。,神经的一个非常重要的功能是它们对能量的接受并不是立即作出响应,而是将它们累加起来,当这个累加的总和达到某个临界阈值时,它们将它们自己的那部分能量发送给其它的神经。,大脑通过调节这些连结的数目和强度进行学习。尽管这是个生物行为的简化描述。但同样可以充分有力地被看作是神经网络的模型。,根据生物神经系统的工作过程,我们可以大概理解以下这个图所要表达的含义:,图,2,生物体的神经系统工作原理,生活中的神经网络,大家可以想象这样一种情形:寒冷的冬天,我们伸手到火炉边烤火,慢慢地,你觉得自己快要睡着了,这个时候,突然发现自己伸在火炉边的手特别烫得疼,然后马上将手缩回去。,生活中的神经网络,这就是一个神经网络的工作实例,火对手产生的温度就是图,2,的输入层。(,Input,),而缩手或不缩手就是图,2,的输出层(,Output,)。,但是缩手只有在手的温度达到一定的程度才发生的,比如说,40,度。,数学解释,用图,2,来表示上面所说的情形:,X1=,火对手产生的温度,w1=,火对手产生的温度的权值(对火对手产生的温度的放大或是缩小,我们让这个值为,1,),激活函数(,Active Function,),=,如果,x1*w1 40,激活(缩手),否则抑制(不缩手),这是单输入的情况,如果有多个输入,则输出为,f(x1*w1+x2*w2+x3*w3,),其中,,f(x),为激活函数。,示例,AND,运算:常用的求和运算,如:,1 AND 0=0,OR,运算:常用的求并运算,如:,1 OR 0=1,2,个(多)输入的神经网络结构图,AND,运算,其中,f(x)=,If(x=2)return 1;,Else return 0;,阈值为,2,。,检验,我们可以利用这个结构图来检验一下是否正确:,X1=0,x2=0,x=x1*w1+x2*w2=0 f(x)=0;,正确,X1=0,x2=1,x=x1*w1+x2*w2=1 f(x)=0;,正确,X1=1,x2=0,x=x1*w1+x2*w2=1 f(x)=0;,正确,X1=1,x2=1,x=x1*w1+x2*w2=2 f(x)=1;,正确,OR,运算,其中,f(x)=,If(x=1)return 1;,Else return 0;,阈值为,1,。,2,个(多)输入的神经网络结构图,我们可以利用这个结构图来检验一下是否正确:,X1=0,x2=0,x=x1*w1+x2*w2=0 f(x)=0;,正确,X1=0,x2=1,x=x1*w1+x2*w2=1 f(x)=1;,正确,X1=1,x2=0,x=x1*w1+x2*w2=1 f(x)=1;,正确,X1=1,x2=1,x=x1*w1+x2*w2=2 f(x)=1;,正确,生物神经网,/,人工神经网络的基本特性,六个基本特征:,1,),神经元及其联接,;,2,),神经元之间的联接强度决定,信号传递,的强弱;,3,),神经元之间的联接强度是可以随,学习,改变的;,4,),信号可以是起,刺激,作用的,也可以是起,抑制,作用的;,5,),一个神经元接受的信号的,累积效果,决定该神经元的状态;,6),每个神经元可以有一个,“,阈值,”,。,学习,上面,2,个实例,就是我们需要建立的一个神经网络模型。,但是我们如何确定,w1,w2,和阈值呢?,这就需要通过神经网络来学习,从而确定,w1,w2,和阈值。,学习,拿计算,AND,运算的模型来说,需要,2,个输入,1,个输出是肯定的。关键就是如何确定,2,个输入的权值和激活函数的阈值。,为了计算激活函数的阈值,我们可以增加一个输入层,变成这个样子:,其中,f(x)=,If(x=2)return 1;,Else return 0;,阈值让,w3,去定。,原先的问题就转化成了求解,w1,w2,w3,的大小的问题了。,学习律(规则),我们制定这样的学习规律:,W(i)=,W(i),+(,正确值,-,实际计算的值,)*x(i).,通过一定次数的训练,我们就可以让,(,正确值,-,实际计算的值,),变得相当下,这样最后的结果也就稳定了,同时求出了我们需要的,w1,w2,w3,的近似值。,实际执行过程,得到训练集合(合理的输入和期望的输出(如:输入,x1=1,,,x2=1,输出,1,),随机给,w1,w2,w3,赋值,执行一定次数的训练,人工神经网络的学习,人工神经网络最具有吸引力的特点是它的学习能力。,1962,年,,Rosenblatt,给出了人工神经网络著名的学习定理:人工神经网络可以学会它可以表达的任何东西。,人工神经网络的表达能力大大地限制了它的学习能力。,人工神经网络的学习过程就是对它的学习过程,人工神经网络的学习,关联权值的确定,确定的内容,权值,w,i,和,确定的方式,学习(训练),有监督的学习:已知一组正确的输入输出结果的条件下,神经网络依据这些数据,调整并确定权值;,无监督的学习:只有输入数据,没有正确的输出结果情况下,确定权值。,无监督学习,无监督学习,(Unsupervised Learning),与无监督学习,(Unsupervised Training),相对应,抽取样本集合中蕴含的统计特性,,并以神经元之间的联接权的形式存于网络中。,无监督学习,Hebb,学习律、竞争与协同(,Competitive and Cooperative,)学习、随机联接系统(,Randomly Connected Learning,)等。,Hebb,算法,D.O.Hebb,在,1961,年,的核心,:,当两个神经元同时处于激发状态时被加强,否则被减弱。,数学表达式表示:,W,ij,(,t+1,),=W,ij,(,t,),+V,i,(,t,),V,j,(,t,),Hebb,学习规则,如果两个神经元同时兴奋,(,即同时被激活,),,则它们之间的突触连接加强,a,为学习速率,,Vi,Vj,为神经元,i,和,j,的输出,Hebb,学习规则是人工神经网络学习的基本规则,几乎所有神经网络的学习规则都可以看作,Hebb,学习规则的变形,有监督学习,有监督学习,(Supervised Learning),与有监督学习,(Supervised Training),相对应。,输入向量与其对应的输出向量构成一个,“,学习对,”,。,有监督学习的学习算法的主要步骤包括:,1,),从样本集合中取一个样本(,A,i,,,B,i,);,2,),计算出网络的实际输出,O,;,3,),求,D=B,i,-O,;,4,),根据,D,调整权矩阵,W,;,5,)对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。,人工神经网络的学习,学习与工作的关系,先学习,再,工作,阈值逻辑单元(,Threshold Logic Unit,,,TLU,),理解神经网络的第一步是从对抽象生物神经开始,并把重点放在,阈值逻辑单元(,TLU,),这一特征上。一个,TLU,是一个对象,它可以输入一组加权系数的量,对它们进行求和,如果这个和达到或者超过了某个阈值,输出一个量。,阈值逻辑单元(,Threshold Logic Unit,,,TLU,),用符号标注这些功能:,输入值:,X1,X2,.,Xn,权系数:,W1,W2,.,Wn,激发层,a,:,求和计算出的,Xi*Wi,,即:,a=(X1*W1)+(X2*W2)+.+(Xi*Wi)+.+(Xn*Wn),阈值逻辑单元(,Threshold Logic Unit,,,TLU,),阈值:,theta,输出结果:,y,当,a=theta,时,y=1,,反之,y=0,。,注意:,输出可以是连续的,因为它也可以由一个,squash,函数,s,(或,sigma,)判定,该函数的自变量是,a,,函数值在,0,和,1,之间,,y=s(a),。,/,初始化训练集合,TrainSet sets=new TrainSet new TrainSet(0,0,0),new TrainSet(0,1,0),new TrainSet(1,0,0),new TrainSet(1,1,1);/,构造单层神经网络,2,个输入节点,1,个输出节点,NeuralNetwork nn=new NeuralNetwork(2,1);slnn=new SingleLayerNeuralNetworks(nn,sets);/,训练,slnn.Train();MessageBox.Show(AND,运算训练结束,);this.button2.Enabled=true;this.button3.Enabled=true;this.button4.Enabled=true;this.button1.Enabled=true;this.Text=AND,运算,;,AND,计算的总体运行过程,阈值逻辑单元,带有,sigma,函数(顶部)和,cutoff,函数(底部),激活函数,(Activation Function),激活函数,执行对该神经元所获得的网络输入的变换,也可以称为激励函数、活化函数:,o=f,(,net,),1,、线性函数(,Liner Function,),f,(,net,),=k*net+c,net,o,o,c,非线性斜面函数,(Ramp Function),if net,f,(,net,),=k*netif|net|0,为一常数,被称为饱和值,为该神经元的最大输出。,非线性斜面函数(,Ramp Function,),-,-,net,o,阈值函数(,Threshold Function,)阶跃函数,if net,f,(,net,),=,-if net,、,、,均为非负实数,,为阈值,二值形式:,1if net,f,(,net,),=,0if net,双极形式:,1if net,f,(,net,),=,-1if net,3,、阈值函数(,Threshold Function,)阶跃函数,-,o,net,0,4,、,S,形函数,压缩函数(,Squashing Function,)和逻辑斯特函数(,Logistic Function,)。,f,(,net,),=a+b/(1+exp(-d*net),a,,,b,,,d,为常数。它的饱和值为,a,和,a+b,。,最简单形式为:,f,(,net,),=1/(1+exp(-d*net),函数的饱和值为,0,和,1,。,S,形函数有较好的增益控制,4,、,S,形函数,a+b,o,(0,c),net,a,c=a+b/2,这三个点正处在两个区间的中间,数学方程式无法判断。为此用人工神经网络判断。输入信号为,x,,,y,。但要求取值都在,0,,,1,之间。由于,x,,,y,均在,1.12.1,,所有数都减去,1.1,,归一化就完成了。,处理的基本思路是:自,15,个已知样品中找出规律,将此规律用于处理三个未确认的样本。,解决实际问题时要根据具体情况确定隐含层的层数和输入层、隐含层、输出层各自的结点数,以使构成的网络达到最优效果。本例中,隐含层取,1,,输入结点数为,2,,分别代表触角与翼长;中间隐含层的结点数取,3,个就够了。输出的结点数取,2,,设,A,f,样品的输出是(,1,,,0,);,A,pf,的输出是(,0,,,1,)时为理想输出。由,15,个已知样品进行训练,选出合适的权值。对于任一未知样品,输出元后,和靠近(,1,,,0,)还是靠近(,0,,,1,)对比,就可以判断其归属了。,输入信号为,x-,1.1,,,y-,1.1,A,f,样品的输出是(,1,,,0,);,A,pf,的输出是(,0
展开阅读全文