
关于matlab的BP神经网络:
我是个matlab新手哈,想问一下,要想用matlab的BP神经网络,需要另外安装什么库吗?还是matlab中直接就可以建起一个BP神经网络呢?那么怎么建立这个网络呢?-...
我是个matlab新手哈,想问一下,要想用matlab的BP神经网络,需要另外安装什么库吗?
还是matlab中直接就可以建起一个BP神经网络呢?那么怎么建立这个网络呢?
-------------------------------------------------------
非常感谢! 展开
还是matlab中直接就可以建起一个BP神经网络呢?那么怎么建立这个网络呢?
-------------------------------------------------------
非常感谢! 展开
1个回答
展开全部
比较新的版本,比如说matlab 2010以上的,都不需要装神经网络的工具箱
建立网络步骤:
1、数据归一化:输入的数据通常为P,输出数据通常为T,数据格式为:每列对应一个样本,归一化常用函数:mapminmax
[pn,ps]=mapminmax(p); [tn,ts]=mapminmax(t)
pn,tn是归一化后的数据,ps, ts是归一化的结构体,在后面反归一化预测值很有用。
2、建立网络并设定参数
net=newff(pn,tn,[ ]) 中括号里面的是输入层数,隐含神经元数,输出层数,还可以设定节点传递函数等等的参数
net.trainparam.epochs=1000 训练的次数
net.trainparam.goal=0.0001 训练的误差目标值
net.trainparam.lr=0.1 学习速率,通常在0到1之间,过大过小都不好
3、预测并分析
an=sim(net, pn)
ouput=mapminmax('reverse', an, ts) 根据之前归一化的标准,对预测结果进行反归一化,得到结果
error=output-t 这里是对误差进行输出,也可以用error=sum(asb(output-t))
当然也可以作图,比如说:
plot(p,t,'-o')
hold on
plot(p, output,'-*')
看预测值和真实值能否吻合
还可以在神经网络训练完成后的对话框中看MSE和R方
还有很多方法提高神经网络的精度,以上程序没有经过MATLAB调试,但大致过程如上
纯手打,希望采纳!
建立网络步骤:
1、数据归一化:输入的数据通常为P,输出数据通常为T,数据格式为:每列对应一个样本,归一化常用函数:mapminmax
[pn,ps]=mapminmax(p); [tn,ts]=mapminmax(t)
pn,tn是归一化后的数据,ps, ts是归一化的结构体,在后面反归一化预测值很有用。
2、建立网络并设定参数
net=newff(pn,tn,[ ]) 中括号里面的是输入层数,隐含神经元数,输出层数,还可以设定节点传递函数等等的参数
net.trainparam.epochs=1000 训练的次数
net.trainparam.goal=0.0001 训练的误差目标值
net.trainparam.lr=0.1 学习速率,通常在0到1之间,过大过小都不好
3、预测并分析
an=sim(net, pn)
ouput=mapminmax('reverse', an, ts) 根据之前归一化的标准,对预测结果进行反归一化,得到结果
error=output-t 这里是对误差进行输出,也可以用error=sum(asb(output-t))
当然也可以作图,比如说:
plot(p,t,'-o')
hold on
plot(p, output,'-*')
看预测值和真实值能否吻合
还可以在神经网络训练完成后的对话框中看MSE和R方
还有很多方法提高神经网络的精度,以上程序没有经过MATLAB调试,但大致过程如上
纯手打,希望采纳!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询