ann分类器matlab代码,写的关于ANN分类代码,大虾看下指点下

这是我写的代码

function test()

clc;

% NEWFF——生成一个新的前向神经网络

% TRAIN——对 BP 神经网络进行训练

% SIM——对 BP 神经网络进行仿真

%  定义训练样本

% P 为输入矢量

P=[1.78,1.14;1.96,1.18;1.86,1.20;1.72,1.24;2.00,1.26;2.00,1.28;1.96,1.30;1.74,1.36;1.64,1.38;1.82,1.38;1.90,1.38;1.70,1.40;1.82,1.48;1.82,1.54;2.08,1.56];

%P=[1.78,1.96,1.86,1.72,2.00,2.00,1.96,1.74,1.64,1.82,1.90,1.70,1.82,1.82,2.08;1.14,1.18,1.20,1.24,1.26,1.28,1.30,1.36,1.38,1.38,1.38,1.40,1.48,1.54,1.56]

% T 为目标矢量

T=[0.9;0.9;0.9;0.1;0.9;0.9;0.9;0.1;0.1;0.1;0.1;0.1;0.1;0.1;0.1];

%T=[0.9 0.9 0.9 0.1 0.9 0.9 0.9 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1];

%保证输入矢量和目标矢量的列相同

P=P'

T=T'

size(P)

size(T)

%*************下面开始使用神经网络

%  创建一个新的前向神经网络newff(minmax(输入矩阵),)

net_1=newff(minmax(P),[2,1],{'logsig','logsig'},'traingd')

%初始化指定权值和阈值,若不指定系统将默认为rand()

net_1.IW{1,1}=[-5.3692,7.5663;-1.9853,9.1958];

net_1.b{1}=[1.7521;-10.7015];

net_1.LW{2,1}=[-0.1795,0.7873];

net_1.b{2}=[-0.8842];

%  显示当前输入层权值和阈值

inputWeights=net_1.IW{1,1}

inputbias=net_1.b{1}

%  显示当前网络层权值和阈值

layerWeights=net_1.LW{2,1}

layerbias=net_1.b{2}

%  设置训练参数

net_1.trainParam.show = 500;

net_1.trainParam.lr = 0.1;

%net_1.trainParam.mc = 0.9;

net_1.trainParam.epochs = 5250;

net_1.trainParam.goal = 0.01;

%  调用 TRAINGDM 算法训练 BP 网络

[net_1,tr]=train(net_1,P,T);

%写出结果

la=net_1.iw{1,1}

lb=net_1.lw{2,1}

ya=net_1.b{1}

yb=net_1.b{2}

save net net_1

%  对 BP 网络进行仿真

A = sim(net_1,P);

%  计算仿真误差

E = T - A;

MSE=mse(E)

%x=[1.80,1.24]';

%sim(net_1,x)

%y=[1.84,1.28]';

%sim(net_1,y)

%z=[2.04,1.40]';

%sim(net_1,z)

%u=[1.78,1.14]';

%sim(net_1,u)

%i=[1.73,1.24]';

%sim(net_1,i)

Q=[1.80 1.84 2.04 1.78 1.73;1.24 1.28 1.40 1.14 1.24]

Y=sim(net_1,Q)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值