bp神经网络代码matlab

作者&投稿:牧肢 (若有异议请与网页底部的电邮联系)

BP神经网络中初始权值和阈值的设定
1、首先需要了解BP神经网络是一种多层前馈网络。2、以看一下在matlab中BP神经网络的训练函数,有梯度下降法traingd,弹性梯度下降法trainrp,自适应lr梯度下降法traingda等。3、在matlab中命令行窗口中定义输入P,输出T,·通过“newff(minmax(P),[5,1]构建BP神经网络,“[net,tr]=train(net,P,T...

求MATLAB的BP神经网络预测程序
由于数据比较大,我又懒得用归一化,所以直接把数据降了3个数量级,不过我觉得应该没问题,但用归一化结果应该更准确些。。由于初始权值和阀值均是随机给的,所以每次仿真都有点点不同,这是正常的。p=[1183 1303 1278;1303 1278 1284;1278 1284 1187 ;...1284 1187 1154;1187 1154 1267;1154 1267...

matlab神经网络中为什么要用minmax(trainP),不是说是R,T实际输出和期望...
你是说newff函数里的参数设置吗?第一个参数是输出的范围,所以用minmax(P)

神经网络中为什么要用minmax(trainP),也就是说为什么每一行都要找出最...
newff函数的格式为:net=newff(PR,[S1 S2 ...SN],{TF1 TF2...TFN},BTF,BLF,PF),函数newff建立一个可训练的前馈网络。输入参数说明:PR:Rx2的矩阵以定义R个输入向量的最小值和最大值;Si:第i层神经元个数;TFi:第i层的传递函数,默认函数为tansig函数;BTF:训练函数,默认函数为trainlm...

BP神经网络,还是不会啊?为何还是不对,求大神帮修改啊
function myTest1clc;clear;close all;%生成样本数据L1=1;L2=1;theta1=linspace(0,pi\/2,100);theta2=linspace(0,pi\/2,100);[x y]=fun(L1,L2,theta1,theta2);plot(x,y,'.');hold on;P = [theta1;theta2];T = [x;y];%构造BP网络net = newff(minmax(P),[20,2],{'tansig'...

神经网络中的P和T分别表示什么(详细点的最好举例子)?
P代表输入,T代表输出,一般他们都是矩阵,列数不同,但行数相同。一个输入对应一个输出。转载的:http:\/\/zhidao.baidu.com\/question\/302724781.html

MATLAB中如何获取BP神经网络训练后的参数
sim命令将运行指定的模型。模型执行时使用传递给sim命令的数据,这些数据包括在options结构中设定的参数值。a=sim(net,[ ])中,net是你的训练网络,后面的中括号是你要训练的结构参数!

关于MATLAB中BP神经网络模型训练后的验证
用法错了。premnmx函数用于将网络的输入数据或输出数据进行归一化,归一化后的数据将分布在[-1,1]区间内。premnmx语句的语法格式是 [Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T)其中P,T分别为原始输入和输出数据,minp和maxp分别为P中的最小值和最大值。mint和maxt分别为T的最小值和最大值。

matlab神经网络中P_test是什么意思?
测试矩阵,输入有两种,一种是训练数据,训练网络的权值和阈值,可以表示为P_train另一个用来测试网络的训练效果,叫测试数据,就是你这个P_test。

如何在matlab中建立多层bp神经网络
当你用newff的时候,里面有一个参数可以控制层数,比如说:P = [0 1 2 3 4 5 6 7 8 9 10];T = [0 1 2 3 4 3 2 1 2 3 4];net = newff(P,T,5); %这样表示有1个隐藏层,里面那个5表示神经元的个数 net = newff(P,T,[5,10]); %这样表示有2个隐藏层 net = newff(P...

殷勤温17040006157问: 如何用matlab编写BP神经网络程序 -
张掖市小金回答: matlab编写BP神经网络很方便的,这个工作不用像编程序的C什么的那样还要编写算法.这个算法早已经在软件的库里提供了.你只要用一条语句就出来了.把参数,深度和节点固定的往里一代数就可以了.还有一点,注意最后结果的收敛性,神经网络发展一直是曲折前进的,为什么这样,现在不太给力,因为面临着一个收敛的问题,实现起来效果不好.这些程序网上有很多,你借一本基本的神经网络的书里面也有.望采纳.

殷勤温17040006157问: 求BP神经网络的MATLAB算法 -
张掖市小金回答: 以常用的三层BP为例:net=newff(P,T,{m},{'tansig'},'trainlm');//用newff建立新的网络net,P为样本输入,T为目标输出,m为隐层的神经元数目,tansig为隐层到输出层的传输函数,如果是多隐层则要给出每层的输出函数,trainlm为训练函数net....

殷勤温17040006157问: bp神经网络预测matlab源代码 -
张掖市小金回答: P=[1;2;3;4;5];%月 P=[P/50];T=[2;3;4;5;6];%月训练样本 T=[T/50];threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1]; net=newff(threshold,[15,7],{'tansig','logsig'},'trainlm'); net.trainParam.epochs=2000; net.trainParam.goal=0.001; LP.lr=0.1; net=train(net,P,T); P_test=[6月]';%6月数据预测7月 P_test=[P_test/50]; y=sim(net,P_test) y=[y*50]

殷勤温17040006157问: 用Matlab算BP神经网络的具体算法?
张掖市小金回答: BP神经网络的传递函数一般采用sigmiod函数,学习算法一般采用最小梯度下降法;下面是具体的程序例子: 例1 采用动量梯度下降算法训练 BP 网络. 训练样本定义如下: 输入矢量为 p =[-1 -2 3 1 -1 1 5 -3] 目标矢量为 t = [-1 -1 1 1] 解:本例的...

殷勤温17040006157问: BP神经网络用matlab如何编写?
张掖市小金回答: 可以参考神经网络工具箱说明,比如train函数等.调整好数据对应就行

殷勤温17040006157问: BP神经网络的Matlab编程
张掖市小金回答: #include<stdio.h> #include<conio.h> #define RUN 1 void swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; } void change(int *p) { int i; int j; int *pmax = p, *pmin = p; for (i = 0 ; i < 5 ; i++) { for (j = 0 ; j < 5 ; j++) { if (*pmax < *(p +...

殷勤温17040006157问: BP神经网络的Matlab编程 -
张掖市小金回答: #include<stdio.h> #include<conio.h> #define RUN 1 void swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; } void change(int *p) { int i; int j; int *pmax = p, *pmin = p; for (i = 0 ; i < 5 ; i++) { for (j = 0 ; j < 5 ; j++) { if (*pmax < *(p + 5*i + j)) { pmax...

殷勤温17040006157问: 编写matlab的bp神经网络用于预测 -
张掖市小金回答: 直接用神经网络工具箱里面的函数做: d = [ 1 0.31 0.27 0.41 0.2 0.6 0.21 2 0.31 0.27 0.41 0.2 0.7 0.19 3 0.31 0.27 0.41 0.2 0.8 0.17 4 0.31 0.39 0.63 0.5 0.6 0.62 5 0.31 0.39 0.63 0.5 0.7 0.63 6 0.31 0.39 0.63 0.5 0.8 0.65 7 0.31 0.51 0.85 0.8 0.6 ...

殷勤温17040006157问: matlab程序 BP神经网络预测 程序如下: -
张掖市小金回答: P=[...];输入T=[...];输出% 创建一个新的前向神经网络 net_1=newff(minmax(P),[10,1],,'traingdm')% 当前输入层权值和阈值 inputWeights=net_1.IW inputbias=net_1.b% 当前网络层权值和阈值 layerWeights=net_1.LW layerbias=net_1.b 应该没问题吧.

殷勤温17040006157问: 四输入两输出BP神经网络MATLAB怎么编写 -
张掖市小金回答: 在你的代码基础上说了.clc;clear; close all; p=load('originaldata.txt');%你问题最后说的数据文件名跟这个不同.p1=p'; t=[1];% 这个输出(Targets)应该和输入数据对应,输入数据有10个,输出应该也是10个 所以改为 t是一个1x10的行向量,每个元素对应10个输入数据的输出.不知道你的训练数据的输出是不是都是1?我试了试假设你的数据的输出都是1,所以t=ones(1,10),可以运行.


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网