BP神经网络及其app设计
bp神经网络的基本原理和组成
bp神经网络的基本原理和组成:
神经网络的基本代码如下:具体的过程也比较简单为此在这里也就不多多赘述
%% 此程序matlab编程实现的BP神经网络
% 清空环境变量
clear all
clc
%%第一步 读取数据
input=randi([1 20],2,200); %载入输入数据是1-20的2行200列数据,随机数
output=input(1,:)'+input(2,:)'; %载入输出数据,输出的数据是200行1列的数据,其结果是1行1列的的数据加上
% 第2行1列的输出的叠加,为两输入一输出
%% 第二步 设置训练数据和预测数据
input_train = input(:,1:190);%输入的数据是2行190列的数据
output_train =output(1:190,:)';%输出的数据是190行1列的数据
input_test = input(:,191:200);%测试的数据为2行191-200列的数据
output_test =output(191:200,:)';%输出的数据为191-200列的数据
%节点个数
%inputnum=2;%输入的节点个数
hiddennum=5;%隐含层节点数量经验公式p=sqrt(m+n)+a ,故分别取2~13进行试验
%outputnum=1;%输出的节点个数
%% 第三步 训练样本数据归一化
[inputn,inputps]=mapminmax(input_train);%归一化到[-1,1]之间,inputps用来作下一次同样的归一化
%归一化的原因是减少计算量和预测误差,由于在计算时,将输入是、输出的数据归一化了
%为此在结束时,需要将预测结果反归一化
[outputn,outputps]=mapminmax(output_train);
%% 第四步 构建BP神经网络
net=newff(inputn,outputn,hiddennum,{
'tansig','purelin'},'trainlm');
% 建立模型,传递函数使用purelin,采用梯度下降法训练
%W1= net. iw