基于MATLAB的BP神经网络预测系统的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DESIGN OF FORECAST SY STEM OF BACK PROPAGATION NEURAL NETWORK BA SED ON MATLAB
L i P ing Zeng L ingke Shui Anze Jin Xueli L iu Y anchun W ang H u i
(S ou th Ch ina Un iversity of T echnology, G uangzhou 510640, G uangd ong, Ch ina )
global net
定义 net为全局变量
yuce_yangben = str2num ( get( hand les. ed it_yuce_yangben, String ) ) ;
将预测样本的文本转换为数组
yuce_yangben = yuce_yangben ; s ize_yuce_yangb en= s ize( yuce_yangb en) ;
Abstrac t Forecast system of Back P ropaga tion neural ne tw ork is developed by MATLAB. The functions in the too lbox o f Back P ropagation neura l netwo rk and the g raph ica l use r inter faces o fMATLAB are introduced. T he design o f forecast system o f Back P ropagation neura l netwo rk is ana lyzed in deta i,l and the perfo rm ance o f the fo recast system is ev aluated. T he resu lt ind icates tha t the sy stem has good pe rfo rm ance, and it is use fu l in m any fie lds.
1. 2 BP神经网络
BP 神经网络的产生归功于 BP 算法的获得。它有一个输入 层、一 个输出层 和一个或多 个隐含层, 同层 神经元间无 关联, 异 层神经元间向前连接。根 据对象 的复杂 程度, 选择适 当的网 络 结构, 就可以实 现从输入空间 到输出空 间的任 意非线 性函数 的 映射。
BP 神经网络主要用 于: ( 1 )函 数逼 近: 用 输入 矢量 和相 应 的输出矢量训练一个网络逼近 一个函数; ( 2)系 统辨识 和预测: 用一个特定的输出矢量将它与 输人矢量联 系起来; ( 3) 分类: 把 输人矢量以所定义的合适方式 进行分类; ( 4)数 据压缩: 减少 输 出矢量维数以便于传输或存储。
BP 学习算法由两部分组成: 信息的正向传 播与误差的反 向 传播。在正向传播过程中, 输 入信息从 输入经 隐含层 逐层计 算 传向输出层, 每 一层神经元的状态只影响下一层神经元的状态。 如果在输出层没有得到期 望的输 出, 则 计算输 出层的 误差变 化 值, 然后转向反 向传播, 通过网络将误差信号沿原来的连接通 路 反传回来修改各层神经元的权值直至达到期望目 标。
பைடு நூலகம்
4. 1 BP神经网络预测系统界面的设计
系统主界面主要有三部分: ( 1) BP神经网 络的设计; ( 2) BP 神经网络的训练; ( 3) 利用训练好的 BP 神经网络的进行预测。
4. 2 BP神经网络预测系统运行流程
运行系统, 出现系统 主界 面, 首先 设置 BP 神经 网络, 然 后 利用已知的样本对网络进行训练, 最后就可以利用训练 好的 BP 神经网络对未知的样 本进行 预测。当进 行训练 或预测 时, 如 果 BP 神经网络的设置与训练 样本的 输入及 预测样 本的输 入不 一 致的时候会弹出警告对话框。 BP 神经网络训练完成 后, 会显 示 训练过程的曲线, 如图 1所示, 并且 按 绘制 训练结 果 按钮, 将 弹出训练结果图, 如 图 2所 示。按 保存 按钮, 结 果将 保存 为 一个 以 当 前 日 期 及 时 间 数 字 为 文 件 名 的 文 本 文 档 ( 200641416112. 89. txt) , 该文 档保 存了 所有处 理的 信息。运 行 流程如图 3所示。
tra ingdm 梯度下降动量 BP算法函数
学习函数 性能函数 显示函数
lea rngd le arng dm
m se m sereg p lotperf p lotes plo tep errsu rf
梯度下降权值 \阈值学习函数 梯度下降动量权值 \阈值学习函数 均方误差性能函数 均方误差规范化性能函数 绘制网络的性能 绘制一个单独神经元的误差曲面 绘制权值和阈值在误差曲面上的位置 计算单个神经元的误差曲面
对预测样本进行仿真 仿真结果数组转置
set( hand les. ed it_yuce jieguo, S tring , num 2str( yucejieguo) ) ;
将仿真结果显示在预测结果输出文本框内
set( hand les. pushbu tton_baocun, Enab le, on ); 将 保存 按钮设置为可用
数组转置 预测样本数组的大小
if( s ize_yuce_yangben( [ 1 ] ) = = get( hand les. popupm enu_ shu ruceng_num,
V alu e ) )
如果样本数组的行数与输入层的神经元数相等, 则执行
下列命令
yucejieguo= sim ( net, yuce_yangben) ; yucejieguo= yucejieguo ;
表 1 BP神经网络的常用函数表
函数类型 函数名称
函数用途
创建函数
new ff new cf
创建级联前向网络 创建前向 BP网络
new ffd 创建存在输入延迟的前向网络
传递函数
log sig tan sig
S 型的对数函数 S 型的正切函数
purelin 纯线性函数
训练函数
trainb fg BFG S 准牛顿 BP算法函数 traingd 梯度下降 BP算法函数
1 BP 神经网络
1. 1 BP学习算法
BP 学习算法是 R um elhart等 在 1986 年提 出的。它 是一 种 监督式的学习算法, 通过连 续不断地 在相对 于误差 函数斜 率下
降的方向上计算网络权值和偏差的变化而逐渐逼近目标。每 一 次权值和偏差的变化都与 网络误 差的影 响成正比 , 并 以反向 传 播的方式传递到每一层。
收稿日期: 2006- 04- 25。李萍, 博士, 主 研领域: 材料技 术装备 及 计算机在材料中的应用。
1 50
计算机应用与软件
2008 年
2 BP 神经网络的工具箱函数
M ATLAB神经网络工具箱中包 含了许 多用于 BP 神经 网络 分析与设计的函数, 表 1列 出了常 用函数 的名称 及用途。 利用 这些函数可以根 据需 要设 计不同 的 BP 神 经网 络, 并能 够对 其 性能进行评价, 以图像的形式表示出来, 即直观又形象。
图 1 BP神经网络的训练过程
图 2 BP神经网络的训练结果 ( 下转第 184页 )
1 84
计算机应用与软件
2008 年
系统, 也能应用于 其他 疲劳 检测 系统 中, 例如 驾驶 员疲 劳检 测 等。
参考 文献
[ 1 ] R einL ien H su, M oh aned A bd elM ottaleb, A n ilK Jain. FaceD etect ion in Color Im age. IEEE Transact ions on Pattern A nalysis andM ach ine In tel ligence, 2002, 24( 5) .
e lse
否则
w arnd lg( 预测样本每 组个 数与输 入层 神经 元个 数不一 致, 请 重新 输
入! , 预测 样本输入警告 );
弹出警告对话框
set( hand les. ed it_yuce jieguo, S tring , ) ; 将预测结果输出文本框清空
end
结束
4 BP神经网络预测系统的设计
ed it: tex t: slide r: fram e:
popum enu:
定义 uicontro l对象的类型 按钮键: 选择时执行一个动作。 无线按钮键: 单独使 用时, 在两个 状态 之间 切换; 成组使用时, 让用户选择一个选项 检查框: 单独使用时, 在两个 状态之间切换; 成组使用时, 让用户选择一个选项 可编辑框: 显示一个字符串并可让用户改变 静态文本框: 显示一个字符串 滑标: 让用户在值域范围内选择一个值。 框架: 显 示包 围 一个 或 几个 uicontrol 的框 架, 使其形成一个逻辑群。 弹出式菜 单 : 含 有许多 互斥的 选择的 弹出 式菜单
摘 要 利用 MAT LAB 设计了 BP 神经网络预测系统。介绍了 MATLAB 的 BP 神经 网络工 具箱函 数和图 形用户 界面, 详细介 绍 了 BP 神经网络预测系统的设计, 并对所设计的 预测系 统进行 了性能 评价。系 统具 有良好 的性 能, 在很 多领域 可以 发挥较 大的 作 用。 关键词 MATLAB BP 神经网络 预测
3 MATLAB图形用户界面的实现
3. 1 图形对象的属性
本系统都采用控制框图形 对象, 让用户进行某些操作, 或设 置选项或属性。表 2列出了控制框的一些基本属 性。
表 2 控制框的一些基本属性
C allback En able
S tring
{ on}: o f:f
MA TLA B回 调串, 当 u icon trol 激活 时, 回调 串传给函数 eva;l 初始值为空矩阵。
K eywords MATLAB Back propaga tion neura l netw ork F orecast
0前 言
在系统辨识和预测中, 需要建立性能好的、稳定的模型对系 统进行准确地辨识 和预测。对 于线性 系统, 利用传 统的系 统辨 识方法, 可以得到较完美的解决。但对于非线性系统, 传统的系 统辨识方法就显得无 能为力了。
第 25卷第 4期 2008年 4月
计算机应用与软件 Com puter Applications and Softw are
Vo l 25 No. 4 Apr. 2008
基于 MATLAB的 BP神经网络预测系统的设计
李 萍 曾令可 税安泽 金雪莉 刘艳春 王 慧
(华南理工大学 广东 广州 510640)
相比之下, 对于 非线 性系 统, 神经 网络 显示 了 明显 的优 越 性。因为神经网络具有 通过学 习逼近 任意非 线性映 射的能力, 将神经网络应用于非 线性系统 的辨识 和预测, 可以 不受非 线性 模型的限制, 便于给出工程上易于实现的学习算法。
BP ( B ack P ropag ation)神经网络是 一种多 层前馈 神经网络, 名字源于网络权值的 调整规则 采用的 是后向传 播学习 算法, 即 BP 学习算法。据统计, 80% ~ 90% 的 神经 网络 模型 采用 了 BP 神经网络或者它的 变化形 式。目前, 已经有 一些比 较成熟 的神 经网络软件 包, 其 中 MAT LAB 的 神 经 网络 工 具箱 应 用 最为 广 泛。
控制框使能状态 u icon trol使能。激活 u icontro,l 将 C allback字 符串传给 eval u icntro l不使能, 标 志串 模糊 不清。激 活 u i cont rol不起作用
文本字符串
S tyle { pushbutton}: rad iobu t ton:
ch eck box:
V alue T ag
uicontro l的当前值。 文本串
3. 2 对图形对象的控制
下面以 预测 按钮为例, 说明如何实现 预测 按钮的控 制 功能。
function pu shbutton _yuce_C allback( hO bject, eventdata, hand les)
预测 按钮回调函数
相关文档
最新文档