您好,欢迎访问三七文档
第五章类神经网络1什么是类神经网络类神经网络(NeuralNetwork,NN)类似人类神经结构,是“一种基于脑与神经系统研究,所启发的信息处理技术”。它具有人脑功能基本特性:学习、记忆和归纳。神经网络中的几个术语:树突(Dendrites):神经元中负责把神经脉冲传递至细胞体的神经纤维。神经核(soma):神经元的中央处理部位。轴突(Axon):神经元中负责把神经脉冲从细胞体往外传递的神经纤维。突触(Synapse):神经元之间的连结机制。232020/1/12类神经网络,类似人类神经元结构。神经元的主要功能是接受刺激和传递信息。神经元通过传入神经接受来自体内外环境变化的刺激信息,并对这些信息加以分析、综合和储存,再经过传出神经把指令传到所支配的器官和组织,产生调节和控制效应。42020/1/12yVj5类神经网络和回归分析不同,没有任何假设的概率分布,是模式识别和误差最小化的过程,在每一次经验中提取和学习信息。类神经网络可以处理连续型和类别型的数据,对数据进行预测。神经网络是有监督学习。神经网络的特点:二、类神经网络的架构类神经网络主要结构是由神经元(neuron)、层(layer)和网络(network)三个部份所组成。整个类神经网络包含一系列基本的神经元,通过权重(weight)相互连接。这些单元以层的方式组织,每一层的每个神经元和前一层、后一层的神经元连接。6后向传播神经网络输入层隐藏层(可多层)输出层(决策层)7神经元什么是后向传播?后向传播是一种按误差逆传播算法训练的多层前馈网络的学习算法。这个神经网络包括输入层、隐藏层和输出层。这种学习算法下的神经网络是一组连接的输入/输出单元,其中每个连接都与一个权相连。它的学习规则是使用最速下降法,按照误差纠正规则反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小,从而使得能够预测输入样本的正确类标号。前向传播:在前向传播过程中,神经网络中的所有突触的权重都是固定不变的。8不同的信息流向导致不同类型的网络,可区分为”前馈神经网络”(feedforwardneuralnetwork)和”反馈式神经网络”(feedbackneuralnetwork)。9什么是前馈神经网络:前馈神经网络是指信息只朝一个方向流动,也就是数据在神经元之间的流动方向是单向的,没有循环。这种网络而在分类过程中数据只能向前传送,直到到达输出层,层间没有向后的反馈信号,因此被称为前馈网络。后向传播是在多层前馈神经网络上学习的。10反馈式神经网络是指数据在神经元之间的流动方向是双向关系,神经元会输出到其他所有的神经元,也会接收其他神经元的输出成为输入。11什么是反馈式神经网络?什么是自组织网络(SOM,Self-OrganizingNeuralNetworks)自组织神经网络是一种无监督学习网络。它通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。1213类神经网络的分为输入层、输出层和隐藏层,三层连结形成一个神经网络。输入层只从外部环境接收信息,该层的每个神经元相当于自变量,不完成任何计算,只为下一层传递信息。输出层生成最终结果,为网络送给外部系统的结果值。什么是层?14隐藏层介于输入层和输出层之间,这些层完全用于分析,其函数联系输入层变量和输出层变量,使其更拟合(fit)资料。隐藏层的功能主要是增加类神经网络的复杂性,以能够模拟复杂的非线性关系。隐藏层的多少要适当,过多容易过度拟合。一层加权神经元的网络称单层感知器,多层加权神经元的网络称多层感知器(multi-layerperceptrons)。一个输出元的两层神经网络15神经网络的形式:16一个输出元的三层神经网络多个输出元的三层神经网络17三、神经元的结构18一个神经元j,有阈值,从上一层连接的神经元得到n个输入变量X,每个输入变量附加一个链接权重w。输入变量将依照不同权重加以合并(一般是加权总和),链接成组合函数(combinationfunction),组合函数的值称为电位(potential);然后,启动(转换、激活、赋活)函数(activationfunction)将电位转换成输出信号。j1njijijiIwon表示变量的个数Oi表示第i个输入值(X)Wij表示第j个神经元的第i个输入值的权重::o1o2onw1jw2jwnjOjIjf(Ij)ixix19是第j个神经元的偏置(偏差):偏差有增大或者减小激活函数的净输入的作用,取决于该偏差是负值还是正值。表示第j个神经元的输入值(组合函数)。f(•)是神经元的启动(激活或赋活)函数Oj=f(Ij)是第j个神经元的输出值(Y)。jjI四、启动函数f(•)类型201、线性启动函数:启动函数就是负责将神经元接受的输入脉冲总和,转换成输出脉冲,但是人类神经在处理外部刺激时,输出信号是有极限的,否则可能会因为输出信号过强而造成对神经元的伤害。因此,类神经网络在选取启动函数时,不能够使用传统的线性函数,通常来说会选择兼具正向收敛与负向收敛的函数。jjfII211,11,00,0jjjIfII1,01,0jjjIfII,0,0jjjIfII0,12.阶梯(step)启动函数的一般形式:阶梯启动函数又称阈值(threshold)启动函数。当时,得到当时,得到对称阶梯函数。即:对称阶梯函数+1-10阶梯函数1223.Sigmoid(或称S型)启动函数Sigmoid启动函数输出值界于-1和1,或是0和1之间,是单调递增函数,函数型数有许多种,最常用的是Logistic函数。式中α是正常数(一般为零),Sigmoid启动函数是最常用启动函数,非线性函数,但是易于微分和了解。2311jjIfIe+1S函数0244、分段线性启动函数251,1,010,0jjjjjIfIIII分段线性函数+10262jIVjfIejI5、高斯启动函数钟型曲线(bell-shapedcurve),输出值在0和1之间,其中,是均值,V是函数事先定义的方差。五、类神经网络的训练27类神经网络学习前,必须建立出一个训练样本(trainingpattern)使类神经网络在学习的过程中有一个参考,训练样本的建立来自于实际系统输入与输出或是以往的经验。例如:洗衣机洗净衣服的时间,与衣服的质料、数量、肮脏的程度有关,因此我们必须先针对不同质料、数量、肮脏的程度的衣服统计出洗衣所需的时间,建立训练样本。不同衣服的质料、数量、肮脏程度就是类神经网络的输入,而洗衣所需的时间则为类神经网络的目标值(target),也就是类神经网络的参考输出。28神经网络学习就是不断调整权重的过程。训练之前,必须将数据集分为训练数据集和测试数据集,将权重指定给第一层的神经元。大多数软件包使用向后传播方法(Backpropagation),任何一种后向传播算法的最重要部分都是使用误差度量来调整权重。后向传播神经网络通过更新权重和偏置使得网络预测的误差达到最小。具体步骤如下:通过输入节点将输入变量加以标准化,标准化后的变量数值落在0和1之间,或者是-1和1之间。将网络权重初始值设定为0(或随机产生)。通过各节点的函数,估计数据的目标变量值。29六、权重和偏置的调整比较实际值和估计值之间的误差,并根据误差值重新调整各权重和偏置。重新执行第二步骤,反复执行,一直到实际值和估计值之间的误差值最小,此时才停止学习,此时获得最佳权重。3031举例说明权重和偏置的调整过程1、首先利用随机的方式,产生各神经元间的权重,以及隐藏层与输出层神经元的偏置。32w14w15w24w25w34w35w46w560.2-0.30.40.1-0.50.2-0.3-0.2θ4θ5θ6-0.40.20.12、根据输入信号,计算各隐藏层神经元的输出信号,假设输入的样本是(X1,X2,X3,Y)=(1,0,1,1)。神经元4:神经元5:334441*0.20*0.41*(0.5)0.40.7iiiIwO总输入信号:440.711=0.3321+1+IOee转换输出信号:5551*(0.3)0*0.11*0.20.20.1iiiIwO总输入信号:550.111=0.5251+1+IOee转换输出信号:jijijiIwO总输入信号:1=1+jjIOe转换输出信号:3、根据隐藏层输出信号,计算输入层神经元的输出信号。神经元634566640.332*(0.3)0.525*(0.2)0.10.105iiiIwO总输入信号:660.10511=0.4741+1+IOee转换输出信号:4、此时,输出值0.474与真值1不一致,我们可以计算神经元6的误差项。神经元6的误差项:5、将此误差项反馈至隐藏层,此时可以计算隐藏层神经元误差值。神经元4误差项:神经元5误差项:3566666=(1)()0.474(10.474)(10.474)0.1311ErrorOOTO4444=(1)0.332(10.332)*0.1311*(0.3)0.0087iiiErrorOOErrorw5555=(1)0.525(10.525)*0.1311*(0.2)0.0065kkkErrorOOErrorw=(1)()jjjjjkErrorOOTOError=(1)jjjkjkkErrorOOErrorw6、最后根据神经元误差项,更新各神经元的权重以及偏置,假设学习速率为0.9。36*14*15*24*25*34*35*460.20.9(0.0087)*10.2080.30.9(0.0065)*10.2940.40.9(0.0087)*00.40.10.9(0.0065)*00.10.50.9(0.0087)*10.4920.20.9(0.0065)*10.2060.30.9(0.1311)*0.3320.339*56*4*5*60.20.9(0.1311)*0.5250.1380.40.9(0.0087)0.3920.20.9(0.0065)0.2060.10.9(0.1311)0.218w****ijjiijijijjjjjjwErrorO学习速率:通常是介于0~1之间,当其数值越大,每次权数的修正量就越大。不能太小或太大。经验设置为1/t,t为迭代次数。目前调整权重的方法是一种最陡坡降法。如此,即达成一个学习循环的类神经网络权重修正,接下来持续此步骤,使得输出值越来越接近真值,从而达到建立模型的目的。另外,根据理论当学习时间无限长时,误差应该会无限接近于零。但事实上,如果当模型训练越久,就有可能出现过度拟合的问题,因此一般有两种方法来处理:设定阀值。使用测试样本。一般,测试组误差一开始会随着上述误差的减小而减小,但当过度拟合现象发生时,测试组的误差会开始从小到大变化。37七、类神经网络的优点类神经网络可以建构非线性的模型,模型的准确度高。类神经网络有良好的推广性,对于未知的输入亦可得到正确的输出。类神经网络可以接受不同种类的变量作为输入,适应性强。类神经网络可应用的领域相当广泛,模型建构能力强。类神经网络具模糊推论能力,允许输出入变量具模糊性,归纳学习较难具备此能力。38八、类神经网络的缺点类神经网络的隐藏层一般为1-2层,数目可设为任意数目,且有学习速率等参数需设定,工作相当费时。类神经网络以迭代方式更新阀值,计算量大,相当耗费计算机资源。类神经网络的解有无限多组,无法得知哪一组的解为最佳解。类神经网络是以建立数值结构
本文标题:5第五章_神经网络
链接地址:https://www.777doc.com/doc-2930091 .html