




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SchoolofInformationScience TechnologyDalianMaritimeUniversity 3神经计算基础3 2感知器 补充材料 1943年 W McCulloCh和W Pitts就提出了第一个人工神经元模型 称之为MP模型缺乏与生物神经元类似的学习能力美国学者罗森布拉持 F Rosenblatt 于1958年提出了感知器 perceptron 神经网络模型提出了一种感知器的训练算法成功应用于模式分类问题解决线性可分的问题时 运算速度快 性能可靠为更好地理解其他复杂的神经网络模型奠定基础 感知器及其MATLAB仿真程序设计 3 1感知器神经元及感知器神经网络模型3 2感知器的学习3 3感知器的局限性3 4单层感知器神经网络的MATLAB仿真程序设计1感知器神经网络设计的基本方法2单层感知器神经网络的设计例程3 5多层感知器神经网络及其MATLAB仿真1多层感知器神经网络的设计方法2多层感知器神经网络的设计例程3 6感知器应用于线性分类问题的进一步讨论 感知器及其MATLAB仿真程序设计 3 1感知器神经元及感知器神经网络模型 感知器神经元模型 将人工神经元的一般模型中传输函数取为阈值型传输函数 人工神经元的一般模型 图3 1感知器神经元的一般模型 3 1感知器神经元及感知器神经网络模型 单层和多层感知器神经网络模型 图3 2单层感知器神经网络模型 图3 3多层感知器神经网络模型 3 2感知器的学习 如何找到合适的权值和阈值 训练 不断地调整权值和阈值的调整过程神经网络的 学习 训练过程中把输入空间映射到输出空间的能力学习规则或训练算法 调整权值和阈值的算法感知器的学习是一种有教师学习方式学习规则称之为 规则 t表示目标输出 a表示实际输出 则e t a 3 1 网络训练的目的就是要使t a当e 0时 得到最优的网络权值和阈值 当e 0时 说明得到的实际输出小于目标输出 应增加网络权值和阈值 当e 0时 说明得到的实际输出大于目标输出 应减小网络权值和阈值 一般感知器的传输函数为阈值型函数 网络的输出a只可能为0或1 3 2感知器的学习 训练样本集 p1 t1 p2 t2 pn tn 3 2 权值阈值调整算法W k 1 W k epT 3 3 b k 1 b k e 3 4 式中 e 误差向量 e t a W 权值向量 b 阈值向量 p 输入向量 k 表示第k步学习过程 3 2感知器的学习 输入向量的取值范围很大 一些输入的值太大 而一些输入的值太小解决办法 阈值调整仍然按式 3 4 进行 而权值的调整可以采用归一化算法 即 3 2感知器的学习 3 5 3 6 单层感知器网络只能解决线性可分的分类问题网络的实际输出与期望输出的误差减小到零时完成训练过程训练的结果使网络的训练样本模式分布记忆在权值和阈值中 单层感知器的学习过程 例3 1试用单个感知器神经元完成下列分类 写出其训练的迭代过程 画出最终的分类示意图 已知 p1 22 T t1 0 p2 1 2 T t2 1 p3 22 T t3 0 p4 10 T t4 1 解 据题意 神经元有两个输入量 传输函数为阈值型函数 于是以图3 4所示感知器神经元完成分类 图3 4例3 1中的感知器神经元 单层感知器的学习过程 1 初始化 W 0 00 b 0 0 2 第一次迭代 a f n f W 0 p1 b 0 f 00 22 T 0 f 0 1e t1 a 0 1 1因为输出a不等于目标值t1 所以按照相应式调整权值和阈值W 1 W 0 epT 00 1 22 2 2 b 1 b 0 e 0 1 1 3 第二次迭代 以第二个输入样本作为输入向量 以调整后的权值和阈值进行计算a f n f W 1 p2 b 1 f 2 2 1 2 1 f 1 1e t2 a 1 1 0 因为输出a等于目标值t2 所以无需调整权值和阈值 W 2 W 1 2 2 b 2 b 1 1 4 第三次迭代 以第三个输入样本作为输入向量 以w 2 b 2 进行计算 a f n f W 2 p3 b 2 f 2 2 2 2 1 f 1 0e t3 a 0 0 0因为输出a等于目标值t3 所以无需调整权值和阈值 W 3 W 2 2 2 b 3 b 2 1 单层感知器的学习过程 5 第四次迭代 以第四个输入样本作为输入向量 以W 3 b 3 进行计算 a f n f W 3 p4 b 3 f 2 2 10 1 f 11 1e t4 a 1 1 0因为输出a等于目标值t4 所以无需调整权值和阈值 W 4 W 3 2 2 b 4 b 3 1 6 以后各次迭代又从以第一个输入样本开始 作为输入向量 以前一次的权值和阈值进行计算 直到调整后的权值和阈值对所有的输入样本 其输出的误差为零为止 进行第五次迭代 a f n f W 4 p1 b 4 f 2 2 22 1 f 9 0e t1 a 0 0 0 单层感知器的学习过程 因为输出a等于目标值t4 所以无需调整权值和阈值 W 5 W 4 2 2 b 5 b 4 1可以看出W 2 2 b 1对所有的输入样本 其输出误差为零 所以为最终调整后的权值和阈值 7 因为n 0时 a 1 n 0时 a 0 所以以n 0作为边界 根据训练后的结果画出分类示意图 如图所示 单层感知器的学习过程 图3 5例3 1分类示意图 3 3感知器的局限性 感知器神经网络的输出值只有两种 0或1 1或1 单层感知器网络只能用于解决线性可分的分类问题 而对线性不可分的分类问题无能为力感知器学习算法只适于单层感知器网络 3 4MATLAB仿真程序设计 感知器神经网络设计的基本方法以newp创建感知器神经网络首先根据所要解决的问题 确定输入向量的取值范围和维数 网络层的神经元数目 传输函数和学习函数等 然后用创建函数newp创建网络以train训练创建网络构造训练样本集 确定每个样本的输入向量和目标向量 调用函数train对网络进行训练 根据训练的情况决定是否调整训练参数 以得到满足误差性能指标的神经网络 然后进行存储以sim对训练后的网络进行仿真构造测试样本集 加载训练后的网络 调用函数sim 以测试样本集进行仿真 查验网络的性能 单层感知器神经网络的设计例程 例3 2设计一单层单输出感知器神经网络 进行二值化图像卡片上数字的奇偶分类解 1 问题分析数字1和0的二值化图像卡片分成5 3的矩形方块 每个小方块有数字的笔画划过记为1 否则记为0图像卡片上所有小方块表达了有0 1二值组成的一个模式 或向量 该模式可以作为感知器神经网络的输入向量 图3 6图像数字卡片构成模式 向量 示意图 由数字0 9构成的输入向量见表3 1 图像卡片上的数字为奇数时感知器神经网络输出为0图像卡片上的数字为偶数时感知器神经网络输出为1 单层感知器神经网络的设计例程 单层感知器神经网络的设计例程 2 设计感知器神经网络根据以上分析 按本题要求设计的感知器神经网络的基本结构如下 网络有1个输入向量 输入元素的取值范围为 01 为单层 单神经元感知器神经网络 输出是一个二值向量0或1 传输函数可以取为logsig函数 设计的感知器神经网络结构示意图如图3 7所示 图3 7单层感知器神经网络结构示意图 3 感知器神经网络的MATLAB程序实现 创建感知器神经网络 设置输入向量每个元素的值域 最小值和最大值 因为有15个输入 所以为15 2矩阵向量pr 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 net newp pr 1 创建感知器神经网络 有15个输入元素 1个神经元 训练感知器神经网络P 定义15 10的训练样本集输入向量t 1010101010 定义1 10的目标向量 net tr train net p t 训练单层感知器神经网络iw1 net IW 1 输出训练后的权值b1 net b 1 输出训练后的阈值epoch1 tr epoch 输出训练过程经过的每一步长perf1 tr perf 输出每一步训练结果的误差 存储训练后的神经网络savenet32net 单层感知器神经网络的设计例程 单层感知器神经网络的设计例程 从运行结果中可以看出 经过4步训练后 达到误差为0的性能指标进行仿真实验 加载训练后的神经网络loadnet32net 对训练后的神经网络进行仿真ptest 111101101101101 数字0 因某种原因 与训练样本不一致1100100110101111 数字1 与训练样本一致a sim net ptest 输出仿真结果 运行结果 a 10经过训练的网络 对于训练样本及训练样本以外的输入模式可以得到正确的分类结果 具有一定的容错能力 图3 8例3 2的训练误差性能曲线 例3 3设计一单层双输出感知器神经网络 进行二值化图像卡片上数字的奇偶分类 解 1 问题分析和神经网络设计设a1a2 10 表示偶数 a1a2 01 表示奇数 则a1a2 00为拒识状态 a1a2 11为错识状态 而其他分析同例3 2 设计的感知器神经网络结构示意图如图3 9所示 单层感知器神经网络的设计例程 图3 9例3 3单层感知器神经网络模型 单层感知器神经网络的设计例程 2 感知器神经网络的MATLAB程序实现本例的MATLAB程序只要修改例3 2中的以下两句即可 即net newp pr 2 初始化单层感知器神经网络 输人有15个元素 2个神经元t 1010101010 0101010101 定义2 10的目标向量矩阵 运行结果显示 经过4步训练后达到误差为0的性能指标 图3 8例3 3的训练误差性能曲线 单层感知器神经网络的设计例程 仿真试验程序 加载训练后的神经网络loadnet33net 对训练后的神经网络进行仿真ptest 111101101101101 数字0与训练样本不一致110010011010111 数字1与训练样本一致111011010111000 非数字111110101000111 非数字 进行仿真并输出结果a sim net ptest 进行仿真的结果a 1010 0110 对于训练样本及训练样本以外的输入模式可以得到正确的分类结果 具有一定的容错能力 3 5多层感知器神经网络及其MATLAB仿真 多层感知器神经网络的设计方法把神经网络的第一层设计为随机感知器层 且不对它进行训练 而是随机初始化它的权值和阈值以第一层的输出作为第二感知器层的输入 并确定第二感知器层的目标向量 然后对第二感知器层进行训练 在训练过程中 整个网络可能达到训练误差性能指标 也可能达不到训练误差性能指标 程序一次运行的结果往往达不到设计要求 需要反复运行 直至达到要求为止 多层感知器神经网络的设计例程 例3 4单层感知器网络不能模拟异或函数的问题 这里用二层感知器神经网络来实现 解 1 问题分析异或问题真值表见表3 2 表3 2异或问题真值表 多层感知器神经网络的设计例程 图3 11异或问题的图形表示 若把异或问题看成p1 p2平面上的点 则点A0 0 0 A1 1 1 表示输出为0的两个点 B0 1 0 B1 0 1 表示输出为1的两个点 如图3 11所示 多层感知器神经网络的设计例程 图3 12例3 14的二层感知器神经网络模型 2 神经网络设计以图3 12所示二层神经网络来实现 其中隐层为随机感知器层 net1 神经元数目设计为3 其权值和阈值是随机的 它的输出作为输出层 分类层 的输入 输出层为感知器层 net2 其神经元数为1 仅对该层进行训练 多层感知器神经网络的设计例程 3 多层感知器神经网络的MATLAB程序实现 初始化随机感知器层pr1 01 01 设置随机感知器层输入向量每个元素的值域net1 newp pr1 3 定义随机感知器层net1 inputweights 1 initFcn rands 指定随机感知器层权值初始化函数为随机函数net1 biases 1 initFcn rands 指定随机感知器层阈值初始化函数为随机函数net1 init net1 初始化随机感知器层iw1 net1 IW 1 随机感知器层的权值向量b1 net1 b 1 随机感知器层的阈值向量 随机感知器层仿真p1 00 01 10 11 随机感知器层输人向量 训练样本值 a1 pf sim net1 p1 随机感知器层仿真 初始化第二感知器层pr2 01 01 01 设置第二感知器层输入向量每个元素的值域net2 newp pr2 1 定义第二感知器层 训练第二感知器层net2 trainParam epochs 1000 net2 trainParam show 1 p2 ones 3 4 初始化第二感知器层的输入向量p2 p2 a1 随机感知器层的仿真输出结果作为第二感知器层的输入向量t2 0110 第二感知器层的目标向量 net2 tr2 train net2 p2 t2 训练第二感知器层epoch2 tr2 epoch 输出训练过程经过的每一步长perf2 tr2 perf 输出每一步训练结果的误差iw2 net2 IW 1 第二感知器层的权值向量b2 net2 b 1 第二感知器层的阈值向量 存储训练后的网络savenet34net1net2 多层感知器神经网络的设计例程 初始化第二感知器层pr2 01 01 01 设置第二感知器层输入向量每个元素的值域net2 newp pr2 1 定义第二感知器层 训练第二感知器层net2 trainParam epochs 1000 net2 trainParam show 1 p2 ones 3 4 初始化第二感知器层的输入向量p2 p2 a1 随机感知器层的仿真输出结果作为第二感知器层的输入向量t2 0110 第二感知器层的目标向量 net2 tr2 train net2 p2 t2 训练第二感知器层epoch2 tr2 epoch 输出训练过程经过的每一步长perf2 tr2 perf 输出每一步训练结果的误差iw2 net2 IW 1 第二感知器层的权值向量b2 net2 b 1 第二感知器层的阈值向量 存储训练后的网络savenet34net1net2 多层感知器神经网络的设计例程 多层感知器神经网络的设计例程 仿真程序代码 加载训练后的网络loadnet34net1net2 随机感知器层仿真p1 00 01 10 11 随机感知器层输人向量a1 sim net1 p1 随机感知器层仿真结果 输出感知器层仿真 并输出仿真结果p2 ones 3 4 初始化第二感知器层的输入向量p2 p2 a1 随机感知器层的仿真输出结果作为第二感知器层的输入向量a2 sim net2 p2 3 6应用于线性分类问题的进一步讨论 神经网络的实现功能可看成是输入到输出的映射把每一种不同的输入看成是一种输入模式 将其到输出的映射看成是输出响应模式 则输入到输出的映射就变成输入模式空间到输出响应模式空间的映射模式分类问题 输入模式到输出模式的映射决策函数与决策边界模式分类的基本内容 确定判决函数与决策边界对于C类分类问题 按照判决规则可以把特征向量空间 或称模式空间 分成C个决策域决策边界 决策边界方程 将划分决策域的边界称判决函数 用于表达决策规则的某些函数 神经网络用于模式分类的决策函数 神经网络用于模式分类 其决策函数为f n f Wp b 3 7 决策边界由相应的决策函数和决策规则所确定一般地说 当模式p为一维时 决策边界为一分界点 当p为二维时 决策边界为一直线 当p为三维时 决策边界为一平面 当p为n n 3 维时 决策边界为一超平面 图3 14画出了n 1 2 3维的情况 图3 14输入维数不同时的决策边界 感知器的决策函数与决策边界 感知器神经元的传输函数为阈值型函数 若传输函数为hardlim函数 则其决策函数为 3 8 决策边界由下列边界方程决定Wp b 0 3 9 单层感知器只有一个边界方程 且为线性方程 所以它只能进行线性分类 感知器分类MATLAB仿真 例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年炼油装置启动与停车操作流程模拟题详解
- 2025年特岗教师招聘考试初中英语冲刺模拟题及解题技巧
- 2025年数据分析与挖掘技术面试模拟题集及解析
- 2025年英语口语模拟测试及提高方法
- 2025年医生中级专业能力面试题及答案
- 2025年国际贸易经理面试必-备知识模拟题集及策略指导
- 2025年护士执业资格考试模拟题及备考技巧
- 北师大版高中数学必修第一册 第七章概率 7.4事件的独立性 课件
- 临床教学课件规范
- 初中阅读教学课课件
- 诊疗规范培训课件
- 《KANO模型培训》课件
- 复苏室患者的交接流程
- 【人教版化学】选择性必修1 知识点默写小纸条(答案背诵版)
- DB21-T 2523-2015矿山地质环境恢复治理规程
- 新能源集控中心建设方案
- 《中国老年糖尿病诊疗指南(2024版)》解读课件
- 幼儿园 中班语言绘本《章鱼先生卖雨伞》
- 《中国女性乳腺癌患者糖尿病和糖尿病前期管理专家共识》 (2024版)
- 6大国工匠百炼成器教案-蓝色
- 蜂种买卖合同
评论
0/150
提交评论