1. 关于Matlab BP神经网络工具箱nntool的数据输入问题。
这是可以的,但是,要把两组数据合到一个变量中,如:x=[trainx1;trainx2];作为一个输入矩阵。
2. 关于MATLAB中神经网络工具箱的问题
线性神经网络的构建:
net=newlin(PR,S,ID,LR)
PR--Rx2阶矩阵,R个输入元素的最小最大矩阵
S---输出层神经元个数
ID--输入延迟向量,默认值为[0]
IR--学习率,默认值为0.01
net = newlin([-1 1;-1 1],1); 表示设计的是一个双输入单输出线性神经网络
P = [1 2 2 3; 2 1 3 1];表示输入样本有四个,每一列就是一个输入样本
又比如假设我们期望的输出为 T=[1 2 3 4],则一个简单的神经网络如下:
>>net = newlin([-1 1;-1 1],1);%创建初始网络
P=[1 2 2 3; 2 1 3 1]%输入
T=[1 2 3 4]%期望的输出
net=newlind(P,T);%用输入和期望训练网络
Y=sim(net,P)%仿真,可以看到仿真结果Y和期望输出T的接近程度
P =
1 2 2 3
2 1 3 1
T =
1 2 3 4
Y =
0.8889 2.1667 3.0556 3.8889
楼主可以从《matlab神经网络与应用(第二版)》董长虹 开始入门神经网络的matlab实现
3. matlab中bp神经网络的工具箱怎么用,不要matlab程序,就工具箱怎么实现问题的解决
matlab中神经网络的工具箱:输入nntool,就会弹出一个对话框,然后你就可以根据弹出框的指示来操作。
4. matlab神经网络工具箱具体怎么用
为了看懂师兄的文章中使用的方法,研究了一下神经网络
昨天花了一天的时间查怎么写程序,但是费了半天劲,不能运行,网络知道里倒是有一个,可以运行的,先贴着做标本
% 生成训练样本集
clear all;
clc;
P=[110 0.807 240 0.2 15 1 18 2 1.5;
110 2.865 240 0.1 15 2 12 1 2;
110 2.59 240 0.1 12 4 24 1 1.5;
220 0.6 240 0.3 12 3 18 2 1;
220 3 240 0.3 25 3 21 1 1.5;
110 1.562 240 0.3 15 3 18 1 1.5;
110 0.547 240 0.3 15 1 9 2 1.5];
0 1.318 300 0.1 15 2 18 1 2];
T=[54248 162787 168380 314797;
28614 63958 69637 82898;
86002 402710 644415 328084;
230802 445102 362823 335913;
60257 127892 76753 73541;
34615 93532 80762 110049;
56783 172907 164548 144040];
@907 117437 120368 130179];
m=max(max(P));
n=max(max(T));
P=P'/m;
T=T'/n;
%-------------------------------------------------------------------------%
pr(1:9,1)=0; %输入矢量的取值范围矩阵
pr(1:9,2)=1;
bpnet=newff(pr,[12 4],{'logsig', 'logsig'}, 'traingdx', 'learngdm');
%建立BP神经网络, 12个隐层神经元,4个输出神经元
%tranferFcn属性 'logsig' 隐层采用Sigmoid传输函数
%tranferFcn属性 'logsig' 输出层采用Sigmoid传输函数
%trainFcn属性 'traingdx' 自适应调整学习速率附加动量因子梯度下降反向传播算法训练函数
%learn属性 'learngdm' 附加动量因子的梯度下降学习函数
net.trainParam.epochs=1000;%允许最大训练步数2000步
net.trainParam.goal=0.001; %训练目标最小误差0.001
net.trainParam.show=10; %每间隔100步显示一次训练结果
net.trainParam.lr=0.05; %学习速率0.05
bpnet=train(bpnet,P,T);
%-------------------------------------------------------------------------
p=[110 1.318 300 0.1 15 2 18 1 2];
p=p'/m;
r=sim(bpnet,p);
R=r'*n;
display(R);
运行的结果是出现这样的界面
点击performance,training state,以及regression分别出现下面的界面
再搜索,发现可以通过神经网络工具箱来创建神经网络,比较友好的GUI界面,在输入命令里面输入nntool,就可以开始了。
点击import之后就出现下面的具体的设置神经网络参数的对话界面,
这是输入输出数据的对话窗
首先是训练数据的输入
然后点击new,创建一个新的神经网络network1,并设置其输入输出数据,包括名称,神经网络的类型以及隐含层的层数和节点数,还有隐含层及输出层的训练函数等
点击view,可以看到这是神经网络的可视化直观表达
创建好了一个network之后,点击open,可以看到一个神经网络训练,优化等的对话框,选择了输入输出数据后,点击train,神经网络开始训练,如右下方的图,可以显示动态结果
下面三个图形则是点击performance,training state以及regression而出现的
下面就是simulate,输入的数据是用来检验这个网络的数据,output改一个名字,这样就把输出数据和误差都存放起来了
在主界面上点击export就能将得到的out结果输入到matlab中并查看
下图就是输出的两个outputs结果
还在继续挖掘,to be continue……
5. matlab bp神经网络工具箱怎么用
%% 训练集/测试集产来生
% 训练源集——用于训练网络
P_train = ;%输入集
T_train = ;%输出集
% 测试集——用于测试或者使用。
P_test = ;%输入
T_test ;
N = size(P_test,2);
%% BP神经网络创建、训练及仿真测试
% 创建网络
net = newff(P_train,T_train,9);
% 设置训练参数
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-3;
net.trainParam.lr = 0.01;
% 训练网络
net = train(net,P_train,T_train);
% 仿真测试、使用。
T_test = sim(net,P_test);%得到结果。
6. 如何使用matlab神经网络工具箱
为了看懂师兄的文章中使用的方法,研究了一下神经网络
昨天花了一天的时间查怎么写程序,但是费了半天劲,不能运行,网络知道里倒是有一个,可以运行的,先贴着做标本
% 生成训练样本集
clear all;
clc;
P=[110 0.807 240 0.2 15 1 18 2 1.5;
110 2.865 240 0.1 15 2 12 1 2;
110 2.59 240 0.1 12 4 24 1 1.5;
220 0.6 240 0.3 12 3 18 2 1;
220 3 240 0.3 25 3 21 1 1.5;
110 1.562 240 0.3 15 3 18 1 1.5;
110 0.547 240 0.3 15 1 9 2 1.5];
0 1.318 300 0.1 15 2 18 1 2];
T=[54248 162787 168380 314797;
28614 63958 69637 82898;
86002 402710 644415 328084;
230802 445102 362823 335913;
60257 127892 76753 73541;
34615 93532 80762 110049;
56783 172907 164548 144040];
@907 117437 120368 130179];
m=max(max(P));
n=max(max(T));
P=P'/m;
T=T'/n;
%-------------------------------------------------------------------------%
pr(1:9,1)=0; %输入矢量的取值范围矩阵
pr(1:9,2)=1;
bpnet=newff(pr,[12 4],{'logsig', 'logsig'}, 'traingdx', 'learngdm');
%建立BP神经网络, 12个隐层神经元,4个输出神经元
%tranferFcn属性 'logsig' 隐层采用Sigmoid传输函数
%tranferFcn属性 'logsig' 输出层采用Sigmoid传输函数
%trainFcn属性 'traingdx' 自适应调整学习速率附加动量因子梯度下降反向传播算法训练函数
%learn属性 'learngdm' 附加动量因子的梯度下降学习函数
net.trainParam.epochs=1000;%允许最大训练步数2000步
net.trainParam.goal=0.001; %训练目标最小误差0.001
net.trainParam.show=10; %每间隔100步显示一次训练结果
net.trainParam.lr=0.05; %学习速率0.05
bpnet=train(bpnet,P,T);
%-------------------------------------------------------------------------
p=[110 1.318 300 0.1 15 2 18 1 2];
p=p'/m;
r=sim(bpnet,p);
R=r'*n;
display(R);
运行的结果是出现这样的界面
点击performance,training state,以及regression分别出现下面的界面
再搜索,发现可以通过神经网络工具箱来创建神经网络,比较友好的GUI界面,在输入命令里面输入nntool,就可以开始了。
点击import之后就出现下面的具体的设置神经网络参数的对话界面,
这是输入输出数据的对话窗
首先是训练数据的输入
然后点击new,创建一个新的神经网络network1,并设置其输入输出数据,包括名称,神经网络的类型以及隐含层的层数和节点数,还有隐含层及输出层的训练函数等
点击view,可以看到这是神经网络的可视化直观表达
创建好了一个network之后,点击open,可以看到一个神经网络训练,优化等的对话框,选择了输入输出数据后,点击train,神经网络开始训练,如右下方的图,可以显示动态结果
7. 如何用MATLAB的神经网络工具箱实现三层BP网络
这是一个来自<神经网络之家>nnetinfo的例子,在matlab2012b运行后的确可以,因为网络知道的文本宽度不够,注释挤到第二行了,有些乱,楼主注意区分哪些是代码哪些是注释,
x1 =
[-3,-2.7,-2.4,-2.1,-1.8,-1.5,-1.2,-0.9,-0.6,-0.3,0,0.3,0.6,0.9,1.2,1.5,1.8]; %x1:x1 = -3:0.3:2;
x2 =
[-2,-1.8,-1.6,-1.4,-1.2,-1,-0.8,-0.6,-0.4,-0.2,-2.2204,0.2,0.4,0.6,0.8,1,1.2];%x2:x2 = -2:0.2:1.2;
y = [0.6589,0.2206,-0.1635,-0.4712,-0.6858,-0.7975,-0.8040,...
-0.7113,-0.5326,-0.2875
,0,0.3035,0.5966,0.8553,1.0600,1.1975,1.2618]; %y:
y = sin(x1)+0.2*x2.*x2;
inputData = [x1;x2]; %将x1,x2作为输入数据
outputData = y; %将y作为输出数据
%使用用输入输出数据(inputData、outputData)建立网络,
%隐节点个数设为3.其中隐层、输出层的传递函数分别为tansig和purelin,使用trainlm方法训练。
net = newff(inputData,outputData,3,{'tansig','purelin'},'trainlm');
%设置一些常用参数
net.trainparam.goal = 0.0001;
%训练目标:均方误差低于0.0001
net.trainparam.show = 400; %每训练400次展示一次结果
net.trainparam.epochs = 15000;
%最大训练次数:15000.
[net,tr] = train(net,inputData,outputData);%调用matlab神经网络工具箱自带的train函数训练网络
simout = sim(net,inputData);
%调用matlab神经网络工具箱自带的sim函数得到网络的预测值
figure; %新建画图窗口窗口
t=1:length(simout);
plot(t,y,t,simout,'r')%画图,对比原来的y和网络预测的y
8. 用matlab神经网络工具箱构建RBF神经网络,跪求源程序!
希望对您有用
clc
clear
close all
%---------------------------------------------------
% 产生训练样本与测试样本,每一列为一个样本
P1 = [rand(3,5),rand(3,5)+1,rand(3,5)+2];
T1 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)];
P2 = [rand(3,5),rand(3,5)+1,rand(3,5)+2];
T2 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)];
%---------------------------------------------------
% 归一化
[PN1,minp,maxp] = premnmx(P1);
PN2 = tramnmx(P2,minp,maxp);
%---------------------------------------------------
% 训练
switch 2
case 1
% 神经元数是训练样本个数
spread = 1; % 此值越大,覆盖的函数值就大(默认为1)
net = newrbe(PN1,T1,spread);
case 2
% 神经元数逐步增加,最多就是训练样本个数
goal = 1e-4; % 训练误差的平方和(默认为0)
spread = 1; % 此值越大,需要的神经元就越少(默认为1)
MN = size(PN1,2); % 最大神经元数(默认为训练样本个数)
DF = 1; % 显示间隔(默认为25)
net = newrb(PN1,T1,goal,spread,MN,DF);
case 3
spread = 1; % 此值越大,需要的神经元就越少(默认为1)
net = newgrnn(PN1,T1,spread);
end
%---------------------------------------------------
% 测试
Y1 = sim(net,PN1); % 训练样本实际输出
Y2 = sim(net,PN2); % 测试样本实际输出
Y1 = full(compet(Y1)); % 竞争输出
Y2 = full(compet(Y2));
%---------------------------------------------------
% 结果统计
Result = ~sum(abs(T1-Y1)) % 正确分类显示为1
Percent1 = sum(Result)/length(Result) % 训练样本正确分类率
Result = ~sum(abs(T2-Y2)) % 正确分类显示为1
Percent2 = sum(Result)/length(Result) % 测试样本正确分类率
9. MATLAB中用(BP神经网络)工具箱直接画出的图怎么去颜色
随便吧。你怎么加的颜色,就怎么去。