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 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体