用matlab编BP神经网络预测程序
求用matlab编BP神经网络预测程序
求一用matlab编的程序
P=[。。。];输入T=[。。。];输出
% 创建一个新的前向神经网络
net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm')
% 当前输入层权值和阈值 inputWeights=net_1.IW{1,1} inputbias=net_1.b{1}
% 当前网络层权值和阈值 layerWeights=net_1.LW{2,1} layerbias=net_1.b{2}
% 设置训练参数
net_1.trainParam.show = 50; %显示训练迭代过程(NaN表示不显示,缺省为25) net_1.trainParam.lr = 0.05; %学习率(缺省为0.01) net_1.trainParam.mc = 0.9; % 动量因子(缺省0.9)
net_1.trainParam.epochs = 10000; %最大训练次数(缺省为10) net_1.trainParam.goal = 1e-3; % 训练要求精度(缺省为0)
% 调用 TRAINGDM 算法训练 BP 网络 [net_1,tr]=train(net_1,P,T);
% 对 BP 网络进行仿真 A = sim(net_1,P); % 计算仿真误差 E = T - A;
MSE=mse(E) %均方误差
x=[。。。]';%测试 sim(net_1,x)
对初学神经网络者的小提示 第二步:掌握如下算法:
2.最小均方误差,这个原理是下面提到的神经网络学习算法的理论核心,入门者要先看《高等数学》(高等教育出版社,同济大学版)第8章的第十节:“最小二乘法”。
3.在第2步的基础上看Hebb学习算法、SOM和K-近邻算法,上述算法都是在最小均方误差基础上的改进算法,参考书籍是《神经网络原理》(机械工业出版社,Simon Haykin著,中英文都有)、《人工神经网络与模拟进化计算》(清华大学出版社,阎平凡,张长水著)、《模式分类》(机械工业出版社, Richard O. Duda等著,中英文都有)、《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)。 4.ART(自适应谐振理论),该算法的最通俗易懂的读物就是《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)的第15和16章。若看理论分析较费劲可直接编程实现一下16.2.7节的ART1算法小节中的算法.
4.BP算法,初学者若对误差反传的分析过程理解吃力可先跳过理论分析和证明的内容,直接利用最后的学习规则编个小程序并测试,建议看《机器学习》(机械工业出版社,Tom M. Mitchell著,中英文都有)的第4章和《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)的第11章。
BP神经网络Matlab实例(1) 分类:Matlab实例
采用Matlab工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考Matlab帮助文档。
% 例1 采用动量梯度下降算法训练 BP 网络。 训练样本定义如下: % % 输入矢量为
% p =[-1 -2 3 1 -1 1 5 -3]
% 目标矢量为 t = [-1 -1 1 1] close all clear clc
% --------------------------------------------------------------- % NEWFF——生成一个新的前向神经网络,函数格式:
% net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)
elements
% (对于R维输入,PR是一个R x 2 的矩阵,每一行是相应输入的边界值)
% Si -- 第i层的维数
% TFi -- 第i层的传递函数, default = 'tansig'
% BTF -- 反向传播网络的训练函数, default = 'traingdx'
% BLF -- 反向传播网络的权值/阈值学习函数, default = 'learngdm'
% PF -- 性能函数, default = 'mse'
% --------------------------------------------------------------- % TRAIN——对 BP 神经网络进行训练,函数格式: % train(NET,P,T,Pi,Ai,VV,TV),输入参数: % net -- 所建立的网络 % P -- 网络的输入
% T -- 网络的目标值, default = zeros % Pi -- 初始输入延迟, default = zeros % Ai -- 初始网络层延迟, default = zeros % VV -- 验证向量的结构, default = [] % TV -- 测试向量的结构, default = [] % 返回值:
% net -- 训练之后的网络
% TR -- 训练记录(训练次数及每次训练的误差) % Y -- 网络输出 % E -- 网络误差
% Pf -- 最终输入延迟 % Af -- 最终网络层延迟
% --------------------------------------------------------------- % SIM——对 BP 神经网络进行仿真,函数格式: % [Y,Pf,Af,E,perf] = sim(net,P,PiAi,T) % 参数与前同。
% --------------------------------------------------------------- %
% 定义训练样本 % P 为输入矢量 echo on
P=[-1, -2, 3, 1; -1, 1, 5, -3]; % T 为目标矢量 T=[-1, -1, 1, 1];
% 创建一个新的前向神经网络
net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm') % --------------------------------------------------------------- % 训练函数:traingdm,功能:以动量BP算法修正神经网络的权值
% goal:误差性能目标值,默认:0 % lr:学习率,默认:0.01
% max_fail:确认样本进行仿真时,最大的失败次数,默认:5 % mc:动量因子,默认:0.9
% min_grad:最小梯度值,默认:1e-10 % show:显示的间隔次数,默认:25 % time:训练的最长时间,默认:inf
% --------------------------------------------------------------- % 当前输入层权值和阈值
inputWeights=net.IW{1,1} inputbias=net.b{1} % 当前网络层权值和阈值
layerWeights=net.LW{2,1} layerbias=net.b{2} % 设置网络的训练参数
net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9;
net.trainParam.epochs = 1000; net.trainParam.goal = 1e-3;
% 调用 TRAINGDM 算法训练 BP 网络 [net,tr]=train(net,P,T); % 对 BP 网络进行仿真 A = sim(net,P) % 计算仿真误差 E = T - A MSE=mse(E) echo off figure;
plot((1:4),T,'-*',(1:4),A,'-o')
1 B P神经网络的原理及算法的基本步骤
理 论上已证 明 ,一个 3层的 B P网络能够实现任意的连续映射 ,可以任意 精度逼近任何给定的连续函数 。
1. 1 B P神经网络的原理
B P (B ack P rop aga tion)神经网络通常由具有多个节点的 输入层 (
inp u t laye r) 、隐含层 ( h idden laye r) 和多个 或一个输 出节点的输出层 ( ou tp u t laye r)组成 ,其学习过程分为信息的 正向传播过程和误差的反向传播过程两个阶段 。外部输入 的信号经输入层 、隐含层为止 。的神经元逐层处理 ,向前传播到输 出层 ,给出结果 。如果在输出层得不到期望输出 ,则转入逆 向传播过程 ,将实际值与网络输出之间的误差沿原连接通路 返回 ,通过修改各层神经元的连接权
年份 人口 年份 人口 年份 人口
1981 99622 1990 114333 1999 125909
1982 101541 1991 115823 2000 缺省
表 1 1981~2005 年全国总人口(单位:万人) 1983 1984 1985 1986 1987 102495 103604 104639 106008 108000 1992 1993 1994 1995 1996 117171 118517 119850 121121 122389 2001 2002 2003 2004 2005 127627 128453 129227 129988 130756
1988 109614 1997 123626
1989 111191 1998 124810
年份 人口 年份 人口
模型二预测 2001 年~2010 年全国总人口(单位:万人) 2001 2002 2003 2004 2005 127699 128457 129220 129987 130758 200 …… 此处隐藏:4243字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




