bp神经网络中的重要函数解释

BP神经网络是反向传播神经网络
1.归一化 : 将数据映射到0,1或者-1,1缩小数据范围。防止数据淹没(一个数据很大一个很小,小的可能会忽略不计)
2. Y,PS = mapminmax(X,YMIN,YMAX)%x输入,y输出,YMIN,YMAX输出的范围,PS为结构体的信息。YMIN,YMAX默认是-1,1 ,正常设置为0,1

Y = mapminmax('apply',X,PS);%采用同X一样的归一化

X = mapminmax('reverse',Y,PS);%反归一化

eg:当x = 1,2,3,4;

经过归一化后是0-1之间的四个数,反归一化就是重新变成x=1,2,3,4;
3.创建网络 net=newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)

参数:P 输入参数矩阵
T 目标参数矩阵
S N-1个隐含层数目(s(1)到s(N-1)),默认为空矩阵【】
TF 相关层的传递函数,默认隐含层为tansig函数,输出层为purlin函数。

tansig:正切S型传递函数 purelin:线性传递函数 logsig:对数S型传递函数
隐含层和输出层函数选择对BP神经网络预测精度有较大影响,一般隐含层节点转移函数选用tansig函数或者logsig函数,输出层节点转移函数选用tansig函数或者purelin函数。

BTF:BP神经网络学习训练函数,默认为taringlm函数,

BLF :权重学习函数,默认值为learngdm。traingd:最速下降BP算法。 traingdm:动量BP算法 trainda:学习率可变的最快下降BP算法。 traindx:学习率可变的动量BP算法。 trainrp : 弹性算法。

PF:性能函数,默认值为mse,可选择的还有sse,sae,mae,crossentropy 。mse:均方差。sse:和方差。mae: 平方损失。 crossentropy:交叉熵。

IPF/OPF/DDF均设置为默认值即可。
4.训练函数 :(训练所有神经网络)

net,tr,Y,E,Pf,Af = train(net,P,T,Pi,Ai)
net :需要训练的神经网络
p :网络输入
T :网络期望输出
Pi/Ai:初始输入/层延迟,默认为0
net
:训练好的神经网络
tr:训练记录,包括训练的步数epoch和性能perf 对于没有输入延迟或层延迟的网络,Pi、Ai、Pf和Af参数是不需要的。

仿真函数:Y,Pf,Af,E,perf = sim(net,P,Pi,Ai,T)

pf:最终输入延时

Af:最终层延迟

E:网络误差

Y:拟合或预测值

perf:网络性能

net:BP神经网络

P:拟合或预测值

T:拟合或预测期望

基本步骤:1。导入数据,分为训练输入数据和训练输出数据,测试输入数据和测试输出数据,各个层的节点数量,

2.训练样本归一化(包括训练输入和训练输出)

3.构建神经网络

4.网络参数配置

5.训练神经网络net

6.测试样本归一化

7.利用训练后的net进行预测测试集

8.得到预测结果

9.再进行反归一化得到原数值

10.计算误差

参考大佬视频:添加链接描述

相关推荐
头发够用的程序员27 分钟前
Nsight Systems 零基础入门:Trace采集与基础操作
人工智能·深度学习·神经网络·计算机视觉·边缘计算·分析工具
XLYcmy13 小时前
京东 算法实习一面 上
rnn·神经网络·llm·微调·transformer·训练·对齐
就是一顿骚操作20 小时前
VGG:用小卷积块把 CNN 做深的经典解读
人工智能·深度学习·神经网络·cnn·论文解读
民乐团扒谱机21 小时前
【超详解】量子克拉美罗下界QCRB:时延估计精度极限推导+MATLAB多场景绘图实战
开发语言·机器学习·matlab·量子力学·qcrb
DogDaoDao1 天前
NNVC-17.1 深度解析:神经网络视频编码的最新进展与性能全景
神经网络·音视频·视频编解码·h266·vvc·vtm·nnvc
OpenApi.cc1 天前
MoCode — AI Agent Server (Docker) + macOS Desktop Client(开源项目)
数据结构·人工智能·深度学习·神经网络
水桶学习吧_2 天前
MTMD人致振动MATLAB-SAP2000协同优化
matlab·mtmd·sap2000
ι:2 天前
MATLAB 与 Python 搭建无人机地面站:优势、劣势与选型逻辑
python·matlab·无人机
努力的小Qin2 天前
梯度下降如何实现参数优化:从线性回归到 Sigmoid 分类
人工智能·python·神经网络
福大大架构师每日一题2 天前
2026年8月TIOBE编程语言排行榜,Go语言排名第14,Rust语言排名10。MATLAB 的日子似乎屈指可数了。
开发语言·matlab·rust