单层感知器的MATLAB实现

来源:互联网 发布:php数组添加元素 编辑:程序博客网 时间:2024/04/29 17:21

 

P= [-0.4 -0.5 0.6; 0.9 0 0.1]; %给定训练样本数据

T= [1 1 0]; %给定样本数据所对应的类别,用10来表示两种类别

%创建一个有两个输入、样本数据的取值范围都在[-11]之间,并且

%网络只有一个神经元的感知器神经网络

net=newp([-1 1;-1 1],1); 

net.trainParam.epochs = 20; %设置网络的最大训练次数为20

net=train(net,P,T);        %使用训练函数对创建的网络进行训练

Y=sim(net,P)               %对训练后的网络进行仿真

E1=mae(Y-T)        %计算网络的平均绝对误差,表示网络错误分类

Q=[0.6 0.9 -0.1; -0.1 -0.5 0.5]; %检测训练好的神经网络的性能

Y1=sim(net,Q)        %对网络进行仿真,仿真输出即为分类的结果

figure;              %创建一个新的绘图窗口

plotpv(Q,Y1);        %在坐标图中绘制测试数据

plotpc(net.iw{1},net.b{1}) %在坐标图中绘制分类线