1.基本原理

感知器可以说是最早的人工神经网络(Artificial Neural Network,ANN),单层感知器是一个具有一层神经元、采用阈值激活函数的前向神经网络网络。
感知器的输出一般是0或1,当然也可以是-1或+1,实现对输入的矢量进行分类的目的。
前向神经网络(Feed Forword Neural Network):各个神经元接受前级输入,并输出到下一级,无反馈,可用一有向无环图表示。
前馈网络通常分为不同的“层”(layer),第i层的输入只与第i-1层的输入联接。
可见层:输入层(input layer)与输出层(output layer)
隐藏层(hidden layer):中间层。

      神经网络里最简单的模型,就是感知器。感知器可以实现N维空间的线性划分。如二维空间,下图就是用一条直线将(0 0)分为一类,其余四点为一类。实现了与门。

感知器神经网络的模块 感知器的网络结构_Network

简单的感知器神经网络代码例子分析:

1.建立输入向量与目标向量

P=[0 0 1 1;0 1 0 1];                         %输入向量,第一行代表横坐标,第二行代表纵坐标。
T=[0 1 1 1];                                 %目标向量,分为0和1两类,0代表o,1代表+

2.建立网络

net=newp(minmax(P),1,'hardlim','learnp');    %建立感知器神经网络,newp函数是建立感知器神经网络,minmax()函数用于获取数组中每一行的最小值和最大值

感知器神经网络的模块 感知器的网络结构_Network_02

3.对网络进行训练

net=train(net,P,T);                          %对网络进行训练

4.将已经训练好的网络进行仿真

Y=sim(net,P);                                %对已经训练好的网络进行仿真

5.绘制分类结果图

plotpv(P,T);                                 %绘制感知器的输入向量和目标向量,绘制样本点
plotpc(net.iw{1,1},net.b{1});                %在感知器向量图中绘制分界线

感知器神经网络的模块 感知器的网络结构_神经网络_03

感知器神经网络的模块 感知器的网络结构_Network_04

分析该神经网络的结构

感知器神经网络的模块 感知器的网络结构_Network_05

 该网络有两个输入,也就是输入向量有两行,分别代表横纵坐标。

该网络有一个输出,并且不是0就是1.

小节:

感知器是最简单的神经网络,只适合进行简单的模式分类;感知器只对线性可分的向量集合进行分类,所谓线性可分,是指可以用一条直线(针对二维向量)或者一个平面(针对三维向量)将输入向量分开;对感知器的分析有助于理解更加复杂的神经网络。