前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >感知器神经网络

感知器神经网络

作者头像
瓜大三哥
发布2018-02-26 15:40:47
6760
发布2018-02-26 15:40:47
举报
文章被收录于专栏:瓜大三哥瓜大三哥瓜大三哥

感知器是一种前馈人工神经网络,是人工神经网络中的一种典型结构。感知器具有分层结构,信息从输入层进入网络,逐层向前传递到输出层。根据感知器神经元变换函数、隐层数以及权值调整规则的不同,可以形成具有各种功能特点的人工神经网络。

一、单层感知器

包括一个线性的累加器和一个二值阈值原件,同时还有一个外部偏差。线性累加器的输出作为二值阈值原件的输入,这样当二值阈值元件产生的输入是整数,神经元就产生输出+1,繁殖,如果其输入是负数,则产生输出-1.即:

使用单层感知器的目的就是让其对外部输入x1,x2,...,xm进行识别分类,单层感知器可将外部输入分为两类:l1和l2。当感知器的输出为+1时,可认为输入x1,x2,...,xm属于l1类,当感知器的输出为-1时,可认为输入x1,x2,...,xm属于l2类,从而实现两类目标的识别。在m维信号空间,单层感知器进行模式识别的判决超平面由下式决定:

二、多层感知器

多层感知器是单层感知器的一种推广形式,多层感知器网络的信息是逐层向前传播的,下一层的个单元与上一层的每个单元项链。输入单元按照输入/输出关系式进行操作,每层之间的连接权值可以通过学习规则进行调整。可以看出,多层感知器实际上就是多个单层感知器经过适当组合设计而成的,它可以实现任何形状的划分。

三、感知器的局限性

1.感知器神经网络的传输函数一般采用阈值函数,所以输出只有两种值;

2.单层感知器只能用于解决线性可分的分类问题,而对线性不可分的分类问题无能为力;

3.感知器学习算法只适应于单层感知器网络,所以一般感知器网络都是单层的。

四、神经网络显示函数

1. plotpc函数

该函数用于感知器向量绘图中绘制分界线。函数的调用格式为:

plotpc(W,B)

该函数对含权矩阵W和偏差向量B的硬特性神经元的两个或三个输入画一个分类线。

2.plotpv函数

该函数用于绘制感知器的输入向量和目标向量。函数的调用格式为:

plotpv(P,T):以T为标尺,绘制P的列向量

plotpv(P,T,V):在V的范围中绘制P的列向量

例1:‘或’门实现

由此可见,感知器在训练以前的输出是不符合要求的,经过三次训练后的输出已经和目标向量一致了,训练过程如上图所示。

例2:‘异或’门实现

clear all;

pr1=[0 1;0 1];%设置随机感知器层输入问题每个元素的值域

while 1

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=[0 0;0 1;1 0;1 1]';%随机感知器输入向量(样本)

[a1,pf]=sim(net1,p1);

% 初始化第二层感知器层

pr2=[0 1;0 1;0 1];%设置第二感知器输入向量每个元素的值域

net2=newp(pr2,1);%定义第二感知器层

% 训练第二感知器层

net2.trainParam.epochs=10;

net2.trainParam.show=1;

p2=ones(3,4);%初始化第二感知器层的输入向量

p2=p2.*a1;%随机感知器层的仿真输出结果作为第二感知器的输入向量

t2=[0 1 1 0];%第二感知器层的目标向量

% 训练第二感知器层

[net2,tr2]=train(net2,p2,t2);

a2=sim(net2,p2)

if a2==t2

break

end

end

disp('输出训练过程经过的每一步长为:')

epoch2=tr2.epoch

disp('输出训练过程经过的恶误差:')

perf2=tr2.perf

disp('第二感知器的权值向量为:')

iw2=net2.iw{1}

disp('第二感知器的阈值向量为:')

iw2=net2.b{1}

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 瓜大三哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 感知器是一种前馈人工神经网络,是人工神经网络中的一种典型结构。感知器具有分层结构,信息从输入层进入网络,逐层向前传递到输出层。根据感知器神经元变换函数、隐层数以及权值调整规则的不同,可以形成具有各种功能特点的人工神经网络。
    • 一、单层感知器
      • 二、多层感知器
        • 三、感知器的局限性
          • 四、神经网络显示函数
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档