matlab怎么利用神经网络做预测

2024-05-18 21:56

1. matlab怎么利用神经网络做预测

利用matlab做神经网络预测,可按下列步骤进行:
1、提供原始数据
2、训练数据预测数据提取及归一化
3、BP网络训练
4、BP网络预测
5、结果分析



matlab怎么利用神经网络做预测

2. 用Matlab编程BP神经网络进行预测

原理就是:建立网络-数据归一化-训练-预测-数据反归一化。附件是电力负荷预测的例子,可以参考。

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

3. MATLAB中BP神经网络的训练算法具体是怎么样的

BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的学习次数为止。

1)正向传播:输入样本->输入层->各隐层(处理)->输出层
注1:若输出层实际输出与期望输出(教师信号)不符,则转入2)(误差反向传播过程)
2)误差反向传播:输出误差(某种形式)->隐层(逐层)->输入层
其主要目的是通过将输出误差反传,将误差分摊给各层所有单元,从而获得各层单元的误差信号,进而修正各单元的权值(其过程,是一个权值调整的过程)。
注2:权值调整的过程,也就是网络的学习训练过程(学习也就是这么的由来,权值调整)。

具体的公式和推导请参阅相关教材,这里很难表述公式。

MATLAB中BP神经网络的训练算法具体是怎么样的

4. 在线等matlab的BP神经网络预测问题?

关于神经网络(matlab)归一化的整理
由于采集的各数据单位不一致,因而须对数据进行[-1,1]归一化处理,归一化方法主要有如下几种,供大家参考:(by james)
1、线性函数转换,表达式如下:
y=(x-MinValue)/(MaxValue-MinValue)
说明:x、y分别为转换前、后的值,MaxValue、MinValue分别为样本的最大值和最小值。
2、对数函数转换,表达式如下:
y=log10(x)
说明:以10为底的对数函数转换。
3、反余切函数转换,表达式如下:
y=atan(x)*2/PI
归一化是为了加快训练网络的收敛性,可以不进行归一化处理
归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在-1--+1之间是统计的坐标分布。归一化有同一、统一和合一的意思。无论是为了建模还是为了计算,首先基本度量单位要同一,神经网络是以样本在事件中的统计分别几率来进行训练(概率计算)和预测的,归一化是同一在0-1之间的统计概率分布;
当所有样本的输入信号都为正值时,与第一隐含层神经元相连的权值只能同时增加或减小,从而导致学习速度很慢。为了避免出现这种情况,加快网络学习速度,可以对输入信号进行归一化,使得所有样本的输入信号其均值接近于0或与其均方差相比很小。
归一化是因为sigmoid函数的取值是0到1之间的,网络最后一个节点的输出也是如此,所以经常要对样本的输出归一化处理。所以这样做分类的问题时用[0.9 0.1 0.1]就要比用[1 0 0]要好。
但是归一化处理并不总是合适的,根据输出值的分布情况,标准化等其它统计变换方法有时可能更好。
关于用premnmx语句进行归一化:
premnmx语句的语法格式是:[Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T)
其中P,T分别为原始输入和输出数据,minp和maxp分别为P中的最小值和最大值。mint和maxt分别为T的最小值和最大值。
premnmx函数用于将网络的输入数据或输出数据进行归一化,归一化后的数据将分布在[-1,1]区间内。
我们在训练网络时如果所用的是经过归一化的样本数据,那么以后使用网络时所用的新数据也应该和样本数据接受相同的预处理,这就要用到tramnmx。
下面介绍tramnmx函数:
[Pn]=tramnmx(P,minp,maxp)
其中P和Pn分别为变换前、后的输入数据,maxp和minp分别为premnmx函数找到的最大值和最小值。
(by terry2008)
matlab中的归一化处理有三种方法
1. premnmx、postmnmx、tramnmx
2. restd、poststd、trastd
3. 自己编程
具体用那种方法就和你的具体问题有关了
(by happy)
pm=max(abs(p(i,:))); p(i,:)=p(i,:)/pm;
和
for i=1:27
p(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));
end 可以归一到0 1 之间
0.1+(x-min)/(max-min)*(0.9-0.1)其中max和min分别表示样本最大值和最小值。
这个可以归一到0.1-0.9

5. matlab的遗传算法 如何调用已经训练好的神经网络输出

遗传算法优化的BP神经网络建模借鉴别人的程序做出的仿真,最近才有时间整理。
目标:
    对y=x1^2+x2^2非线性系统进行建模,用1500组数据对网络进行构建网络,500组数据测试网络。由于BP神经网络初始神经元之间的权值和阈值一般随机选择,因此容易陷入局部最小值。本方法使用遗传算法优化初始神经元之间的权值和阈值,并对比使用遗传算法前后的效果。
步骤:
未经遗传算法优化的BP神经网络建模
1、  随机生成2000组两维随机数(x1,x2),并计算对应的输出y=x1^2+x2^2,前1500组数据作为训练数据input_train,后500组数据作为测试数据input_test。并将数据存储在data中待遗传算法中使用相同的数据。
2、  数据预处理:归一化处理。
3、  构建BP神经网络的隐层数,次数,步长,目标。
4、  使用训练数据input_train训练BP神经网络net。
5、  用测试数据input_test测试神经网络,并将预测的数据反归一化处理。
6、  分析预测数据与期望数据之间的误差。
遗传算法优化的BP神经网络建模
1、  读取前面步骤中保存的数据data;
2、  对数据进行归一化处理;
3、  设置隐层数目;
4、  初始化进化次数,种群规模,交叉概率,变异概率
5、  对种群进行实数编码,并将预测数据与期望数据之间的误差作为适应度函数;
6、  循环进行选择、交叉、变异、计算适应度操作,直到达到进化次数,得到最优的初始权值和阈值;
7、  将得到最佳初始权值和阈值来构建BP神经网络;
8、  使用训练数据input_train训练BP神经网络net;
9、  用测试数据input_test测试神经网络,并将预测的数据反归一化处理;
10、              分析预测数据与期望数据之间的误差。

matlab的遗传算法 如何调用已经训练好的神经网络输出

6. matlab神经网络目前有什么具体的实际应用

  MATLAB中文论坛2010年出过一本书,北航出版社的,叫《MATLAB神经网络30个案例分析 (豆瓣)》。我觉得把它作为入门书挺好的,每一章配有视频和代码,可以依样画葫芦。刚刚顺手还看到了另一本书《MATLAB智能算法30个案例分析》,看目录貌似内容也比较接近的。

  《神经网络》包含的30个例子:
  P神经网络的数据分类——语音特征信号分类
  BP神经网络的非线性系统建模——非线性函数拟合
  遗传算法优化BP神经网络——非线性函数拟合
  神经网络遗传算法函数极值寻优——非线性函数极值寻优
  基于BP_Adaboost的强分类器设计——公司财务预警建模
  PID神经元网络解耦控制算法——多变量系统控制
  RBF网络的回归——非线性函数回归的实现
  GRNN的数据预测——基于广义回归神经网络的货运量预测
  离散Hopfield神经网络的联想记忆——数字识别
  离散Hopfield神经网络的分类——高校科研能力评价
  连续Hopfield神经网络的优化——旅行商问题优化计算
  SVM的数据分类预测——意大利葡萄酒种类识别
  SVM的参数优化——如何更好的提升分类器的性能
  SVM的回归预测分析——上证指数开盘指数预测
  SVM的信息粒化时序回归预测——上证指数开盘指数变化趋势和变化空间预测
  自组织竞争网络在模式分类中的应用——患者癌症发病预测
  SOM神经网络的数据分类——柴油机故障诊断
  Elman神经网络的数据预测——电力负荷预测模型研究
  概率神经网络的分类预测——基于PNN的变压器故障诊断
  神经网络变量筛选——基于BP的神经网络变量筛选
  LVQ神经网络的分类——乳腺肿瘤诊断
  LVQ神经网络的预测——人脸朝向识别
  小波神经网络的时间序列预测——短时交通流量预测
  模糊神经网络的预测算法——嘉陵江水质评价
  广义神经网络的聚类算法——网络入侵聚类
  粒子群优化算法的寻优算法——非线性函数极值寻优
  遗传算法优化计算——建模自变量降维
  基于灰色神经网络的预测算法研究——订单需求预测
  基于Kohonen网络的聚类算法——网络入侵聚类
  神经网络GUI的实现——基于GUI的神经网络拟合、模式识别、聚类

7. matlab神经网络目前有什么具体的实际应用

人工神经网络研究目前主要分两类:理论研究和应用研究。
理论研究方面,①利用神经生理与认知科学研究人类思维以及智能机理;②利用神经基础理论的研究成果,用数理方法探索功能更加完善、性能更加优越的神经网络模型,深入研究网络算法和性能。开发新的网络数理理论,如神经网络动力学、非线性神经场等等
应用研究方面,①神经网络的软件模拟和硬件实现的研究;②神经网络在各个领域中应用的研究。如,模式识别、信号处理、专家系统、机器人控制等等

matlab神经网络目前有什么具体的实际应用

8. 谁能教我Matlab 神经网络分析?

自学的话,从基本学起,可以看看下面这本书,看完基本的神经网络都熟悉了。

人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。