1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > BP神经网络预测算法以及Matlab工具箱实现

BP神经网络预测算法以及Matlab工具箱实现

时间:2018-10-19 09:20:51

相关推荐

BP神经网络预测算法以及Matlab工具箱实现

写在前面:

最近为了准备数模,囫囵吞枣地看了一些相关的模型和算法,神经网络模型我也是刚刚接触,这篇文章的内容算是一个笔记,记录的是我现阶段对这个算法的印象,肯定有偏颇与不对的地方,希望各位大佬多多指正与补充

BP神经网络预测算法

BP神经网络是前缀网络的一种 , 由输入层与输出层之间的若干隐层组成 , 如图 :

1. 前向传输

*对于隐层的任一神经元 j ,其的输入I_{j}为:

w_{ji} 为隐层神经元 j 与输入层神经元 i 之间的突出强度(即加权值);

*其输出为 :

其中u(x)为激活函数 , 这里取1/(1+e^(-x))

2. 误差反向传播

*隐层的实际输出y_{j} 与期望输出 d_{j} 的差距为 :

*最小均方根 (虽然我也不知道为什么要这样做==) :

*误差累加 :

*根据累加的误差 , 采用梯度下降法对加权值w{ij} 进行修正 :

其中

是设置的误差方向传播的学习率 ;

Matlab工具箱实现 (为什么用工具箱 ? 原理都没弄明白更不指望能自己手打程序了=_=,只能说工具箱是个好东西)

手动在app那找到 Neural Net Fitting (在命令行中,输入命令nftool)

一路next

在 Select Data 中选择输入数据和期待的输入数据 和 响应 的 样本类型。

一路next

在Network Archiecture 中设置 隐层 的神经元数 y 一般按照公式 :

其中n是输入层的神经元数;m是输出层的神经元数;a属于[1,10];

一路 next

在Train Network 点击 Train

一路 next

在 Save Results 中 生成脚本 (Simple Script)

回到编译器 中保存脚本并运行 ;

这时会得到一个训练好地 net 模型

在 命令行中 运用该模型 和 你的输出数据 得到 预测结果 ;

y=sim(net,x) 其中 x为输入的数据 ; y为最终预测的值 ;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。