写在前面:
最近为了准备数模,囫囵吞枣了一些相关的模型和算法,神经网络模型我也刚刚接触,这篇文章的内容是一个笔记,记录了我现阶段对这个算法的印象。 一定有偏颇之处和错误之处,请大家多多指正和补充
BP神经网络预测算法BP神经网络是前缀网络的一种,由如图所示的输入层和输出层间的几个隐藏层组成。
1 .前向传输*对于隐藏层中的任何神经元j,其输入I_{j}为w_{ji} 为隐层神经元 j 与输入层神经元 i 之间的突出强度(即加权值);
*其输出来自其中u(x)为激活函数 , 这里取1/(1+e^(-x))
2 .误差反向传播*隐层的实际输出y_{j}与期望输出d_{j}之间的差,不知道*最小均方()为什么这么做,但是==)
其中
设定的误差方向传播的学习率
实现Matlab工具箱(为什么要使用工具箱? 不知道原理却不能指望自己打程序=_=,只能说工具箱是好东西)手动在app上找到Neural Net Fitting ()在命令行上,输入命令nftool () )。
一路下一步
在Select Data中,选择输入数据、预期输入数据和响应的示例类型。
一路下一步
在网络架构中设置隐藏层的神经元数y通常遵循以下公式:
这里,n是输入层神经元数; m是输出层的神经元数,a是[ 1,10 ];
一路下一步
在Train Network上单击Train
一路下一步
在Save Results中生成脚本(简单脚本) )。
返回编译器并保存和运行脚本;
得到训练有素的net模型
在命令行中使用该模型和你的输出数据得到预测结果;
y=sim(net,x ),其中x是输入数据; y是最终预测的值;