《第4章(人工神经网络1基础知识)ppt课件.pptx》由会员分享,可在线阅读,更多相关《第4章(人工神经网络1基础知识)ppt课件.pptx(61页珍藏版)》请在三一办公上搜索。
1、第4章 人工神经网络,内容:教材 109-119 、191-200 页,4.1 基础知识(补充)4.2 神经元与神经网络4.3 反向传播神经网络4.4 离散的Hopfield网络,4.1 基础知识1 最速下降法(梯度法)2 Matlab程序设计语言与神经网络工具箱,1 最速下降法,最速下降法(又称梯度法)是1847年 Cauchy 提出来的最优化算法,用于求解非线性函数的局部最小值(最小点),回顾高等数学中一元函数的求极值问题:,极小点的条件是:,n 元函数极小点的条件:,矩阵是半正定的,Hesse矩阵,梯度,自然而然想到的求极小值的方法令梯度为零,通过解非线性方程组,求出一组极值点根据每一个
2、极值点处的矩阵是否为半正定,来判断极小值点,在实际中,这一方法是不可行的:变量的个数多不易求解非线性方程组不易判断矩阵是否半正定,在最优化技术中,采用迭代的方法求出其中的一个解,不同的初始值可能对应于不同的解,并求出局部极值,在最速下降法中,以负梯度方向作为极小化算法的下降方向迭代格式为,梯度,是迭代步长,可以用一维搜索来确定,终止准则 :,向量的2范数:,最速下降法的计算步骤:1:给定初始点 x1,允许误差,置 k=12:计算搜索方向 g(xk) = f (xk),3:如果 | g(x) |2,则终止计算,算法找到解。否则,从 x k 出发,沿 -g(xk) 进行一维搜索,求出k ,使得 f
3、(xk -k g(xk) = min f(xk - g(xk)4:置 xk+1= xk -k g(xk) ,k=k+1,转到步2,说明:在编程时,还需要设置最大允许迭代次数,以提前终止迭代过程在人工神经网络的算法中经常人为地设定迭代步长(学习率)(常量或者单调减小),梯度法的特点:一般来说,只能找到一个局部最小点(多解)收敛速度较慢算法结构简单,易于用各种编程语言来实现,2 Matlab程序设计语言与神经网络工具箱,(1) Matlab简介,Matlab(Matrix Laboratory)是美国MathWorks公司的产品,是一种功能强大、效率高、便于进行科学和工程计算的交互式软件包。当前使
4、用的版本:Matlab6.1、Matlab6.5和Matlab7.0,Matlab的特点:高效方便的矩阵和数组运算例如:求Ax=b, 语句是 x=Ab 求特征值,语句是 e=eig(A)编程效率高Matlab语言简洁紧凑,使用灵活方便,程序书写形式自由。库函数丰富,结构化/面向对象当前Matlab版本采用C+编写的,既有结构化的控制语句(for, while, break, continue, if),又有面向对象编程的特性方便的绘图功能能够绘制各种二维、三维图件,用户使用方便 使用方式有命令行和.m文件(脚本M文件、函数M文件)。后者作为编译型语言使用:编辑-编译-连接-执行与调试功能强大的
5、工具箱近三十个工具箱,扩充能力强用户可以自己编写函数,建立新的库函数和扩充库函数。核心文件和工具箱文件都是可读可写的源文件,用户可以修改。可以与C,C+语言混合编程计算速度比C语言慢,易学会难精通,(2) Matlab语言的要点,注释行注释行的开头是“ ”,变量变量命名规则是:区分大小写长度最多不能超过19个字符变量名必须以字母开头,由字母、数字和下划线组成,数组数组是一系列数的有序排列,用方括号“ ”表示数组的下标从 1 开始元素之间用“ 空格 ”或“ 逗号 ”分开,例:x=0 , 1 , 2 , 3 , 4 , 5 , 6;(行向量)x( 1 ):第一个元素x( 1 : 5 ):第一到第五
6、个元素x( 3 : -1 : 1 ):第三到第一个元素,注意:如果语句最后没有“ ;”,则显示 x 的所有值有分号则不显示,矩阵矩阵用“ 方括号 ”来表示同一行的数据用“ 空格 ”或“ 逗号 ”隔开不同行的数据用“ 分号 ”隔开,例:A= 1 , 0 , 0 ; 0 , 1 , 0 ; 0 , 0, 1 ;引用一个元素可以用两个下标来表示例 A(i , j)引用多个元素可以用冒号来表示例 A(:,j):第 j 列的所有元素,4.1.2.3 神经网络工具箱,神经网络工具箱包含了人工神经网络中的主要模型与算法,具体有:感知器神经网络(Perceptron,Rosenblatt,1957)线性神经网
7、路(Adaline, Widrow和Hoff, 1960)BP神经网络(BP,Rumelhart和McCelland, 1986),自组织网络(SOM,Kohonen,1980)离散的Hopfield网络(Hopfield,1986),第4章 人工神经网络,4.1 基础知识(补充)4.2 神经元与神经网络4.3 反向传播神经网络4.4 离散的Hopfield网络,4.2.1 生理神经元4.2.2 人工神经元4.2.3 神经网络,4.2.1 生理神经元1 生理神经元的结构 2 生理神经元的工作原理,典型的神经元分成:细胞体(cell body)突(process),1 生理神经元的结构,轴突(a
8、xon)树突(dendrite),生理神经元的组成,轴突是个突出部分,长度可达 l m,把本神经元的输出发送到与其相连接的其它神经元,生理神经元的组成,输出端,树突是突出部分,但一般较短,且分枝很多,与其它神经元的轴突相连,以接收来自其它神经元的生物信号,生理神经元的组成,输入端,输出端,突触是轴突的末端与树突进行信号传递的界面,生理神经元的组成,接口,输出端,输入端,输入端,2 神经元的工作原理,只有神经元所有输入的总效应达到阈值电平后,神经元才会产生一个全强度的输出窄脉冲,从细胞体经轴突进入轴突分枝。此时,称为神经元的触发(抑制转化为兴奋),神经元通过突触形成的网络,传递神经元间的兴奋与抑
9、制;大脑的全部神经元构成极其复杂的拓扑网络群体,用于实现记忆与思维,4.2.2 人工神经元,人工神经元是生理神经元的数学模型,由McCulloch 与 Pitts 在 1943 年首先建立的,现在的模型经过后人适当的改进与完善,在人工神经元模型中:用权值和乘法器模拟突触特性用加法器模拟树突的互联作用用与阈值比较来模拟细胞体内电化学作用产生的开关特性,n 个输入 xi R ( i=1,n ),相当于其它神经元的输出值,其中 n 是输入(信号)的数目(即,与其相连的其他神经元的个数),人工神经元模型,n 个连接权系数(权值) w j i R ( i=1,n ),相当于突触的连接强度(对于激发状态取
10、正值,对于抑制状态取负值),j :神经元的阈值,相当于动作电平的阈值,总输入:输入信号的加权和,即,单输出 y 为:,f 称为激发函数、作用函数、激励函数、变换函数、转换函数、传递函数,激发函数 f 的常用形式,阈值函数或者阶跃函数(非线性函数,不可微),符号函数(非线性函数,不可微),线性函数( 线性函数、1 阶可微),Sigmoid函数 (非线性函数,任意阶可微),Sigmoid函数的特点:第一、非线性、单调性(单调增)第二、无限次可微第三、当值很大时,可以近似阈值函数或符号函数第四、当值很小时,可以近似线性函数,神经元的动作: 求加权和 与阈值比较 用激发函数得到输出,公式表示上的简化令
11、w j 0 = -j ,并记w j = (wj 0, wj 1, , wj n)T x = ( 1, x1, , xn )T 则有 yj = f ( w j Tx ),注意:有些神经元可能不包含阈值,图形表示上的简化将神经元简化为圆圈或者实心元,阈值,4.2.3 神经网络,人工神经网络是由大量处理单元(人工神经元)相互连结组成的非线性、大规模、自适应的动力系统。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式,设计出一种新的机器使之具有像人脑那样的信息处理能力,人工神经网络的特点并行分布处理神经网络具有高度的并行结构和并行实现能力,因而具有较好的容错能力和
12、较快的总体处理能力,所以特别适于实时和动态处理,非线性映射神经网络具有高度非线性映射(变换)能力,是处理非线性问题的一种有效手段,学习能力神经网络通过样本数据完成学习或训练。训练后的神经网络具有推广或者泛化能力(对未来数据的预测能力)。因此,神经网络能够解决数学模型或规则难以处理的问题(类似于黑盒子),适应性与集成性 神经网络可以用于在线处理,并能同时进行定量和定性操作。神经网络的强适应和信息融合能力使得它可以同时输入大量不同的控制信号,解决输入信息间的互补和冗余问题,并实现信息集成和融合处理。所以,特别适于复杂、大规模和多变量系统,硬件实现除了软件实现外,神经网络还用硬件实现。超大规模集成电路实现硬件的面世,使得神经网络成为具有快速和大规模处理能力的网络,本课程介绍的神经网络模型有: 多层感知器及其BP训练算法(BP网络) Hopfield网络(Hopfield网络),