4.人工神经网络(一些例题)

本文介绍了人工神经网络中单层和多层感知器的设计与应用。通过MATLAB仿真,详细阐述了如何利用newp创建网络、train进行训练和sim进行仿真。以二值化图像分类和异或问题为例,展示了单层感知器的局限性和多层感知器的优势。同时,探讨了随机感知器层在多层网络设计中的作用。

感知器神经网络设计的基本方法
一.单层感知器神经网络的 MATLAB 仿真程序设计主要包括以下几个方面:
(1)以 newp 创建感知器神经网络
首先根据要解决的问题,确定每个样本的输入向量的取值范围和维数,网络层的神经元数目,传输函数和学习函数等然后予以单层感知器神经网络的创建函数 newp 创建网络。
(2)以 train 训练创建网络
构造训练样本集,确定每个样本的输入向量和目标向量,调用函数 train 对网络进行训练,并根据训练的情况决定是否调整训练参数,以得到满足误差性能指标的神经网络,然后进行存储。
(3)以 sim 对训练后的网络进行仿真
构造测试样本集,加载训练后的网络,调用函数 sim,以测试样本集进行仿真,查验网络的性能。
从以上过程可以看出,重要的感知器神经网络函数有:newp , train 和 sim ,除此之外还涉及 init , trainc , dotprod , netsum , mae , plotpc , plotpv 等。

例1:
设计一单层单输出感知器神经网络,进行二值化图像卡片上数字的奇偶分类。以下两图片中,共5*3个小方格,每个小方块上有笔画,为1,反之为0。该模式可以作为感知器神经网络的输入向量。
在这里插入图片描述
数字0-9的表格如下:

数字 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15
0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1
1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 1
2 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1
3 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1
4 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0
5 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1
6 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1
7 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0
8 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1
9 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0

如果我们想让奇数数字输出为0,偶数为1进行分类

我们的分析为:
●网络有 1 个输入向量,包括 15 个元素,相应图像卡片上 15 个小方块的值,输入元素的取值范围为[0 1];
●为单层、单神经元感知器神经网络;
●输出是一个二值向量 0 或 1,它的两种不同取值分别表示分类结果的奇偶情况,所以神经元的传输函数可以取为 hardlim 函数。

MATLAB代码:

clear all ; 
%创建感知器神经网络
pr=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];%设置输入,152列
net=newp(pr,1); %创建感知器神经网络,15 个输入元素,一个神经元
%训练感知器神经网络
%定义 15 *10 的训练样本集输入向量
p=[1 1 1 1 0 1 1 0 1 1 0 1 1 1 1;
1 1 0 0 1 0 0 1 1 0 1 0 1 1 1;
1 1 1 1 0 1 0 1 1 1 1 0 1 1 1;
1 1 1 1 1 1 0 1 1 0 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值