qq_41506982 2019-10-09 20:08 采纳率: 0%
浏览 881

训练神经网络的输入二维矢量,如何用插值法验证?

习题

根据所学过的BP网络设计及改进方案设计实现模糊控制规则为T = int((e+ec)/2)的模糊神经网络控制器,其中输入变量e和ec的变化范围分别是:e = int[-2, 2],ec = int[-2, 2]。网络设计的目标误差为 0.001。

背景

这个题目,很明显输入矢量和目标矢量是

P = [-2 -2 -2 -2 -2 -1 -1 -1 -1 -1 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2;
    -2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2 ];
T = [-2 -2 -1 -1 0 -2 -1 -1 0 0 -1 -1 0 0 1 -1 0 0 1 1 0 0 1 1 2];

疑问

题目最后,要求

验证,采用插值法选取多于训练时的输入,对所设计的网络进行验证,给出验证的A与T值。

这里怎么插值?、
外插值的话,神经网络只对内部有泛化能力,外部插值没有意义。
内部插值的话,e和ec只能是整数啊?这个能插值嘛?
题目的这个意思我搞不明白。求赐教!

附带作业的matlab代码

clc;
P = [-2 -2 -2 -2 -2 -1 -1 -1 -1 -1 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2;
    -2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2 ];
T = [-2 -2 -1 -1 0 -2 -1 -1 0 0 -1 -1 0 0 1 -1 0 0 1 1 0 0 1 1 2];

[R,Q] = size(P);
[S2,Q] = size(T);
S1 =9;

%[W1] = rands(S1,R);
%[B1] = rands(S1,1);
%[W2] = rands(S2,S1);
%[B2] = rands(S2,1);

net = newff(minmax(P),[S1,1],{'tansig','purelin'},'trainlm');

%net.iw{1,1}=W1;net.b{1}=B1;
%net.lw{2,1}=W2;net.b{2}=B2;

%net=initnw(net,1);

net.iw{1,1}=W1;
net.b{1}=B1;
net.lw{2,1}=W2;
net.b{2}=B2;
net.trainParam.epochs = 20000;
net.trainParam.goal = 1e-003;
net.trainParam.min_grad = 1e-10;
net.trainParam.lr = 0.12;
%net.trainParam.lr_inc = 1.06;
%net.trainParam.lr_dec = 0.7;

net = train(net,P,T);

W1_=net.iw{1,1}
B1_=net.b{1}
W2_=net.lw{2,1}
B2_ = net.b{2}

A = sim(net,P)
  • 写回答

1条回答

  • zqbnqsdsmd 2019-10-09 23:01
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题