运行BP神经网络预测误差大

2024-06-11 18:32

本文主要是介绍运行BP神经网络预测误差大,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自

数据为66个,17个指标输入,1个输出。

数据长短不一,最小的个位数,最大的9位数。运行下列代码后误差非常大,求大神们给减小误差的指导方向。
matlab代码如下:
clc
clear

%load data1 input output
load matlab3 input output
P=input(1:60,:)';
T=output(1:60,:)';
input_test=input(1:60,:)';
output_test=output(1:60,:)';

%训练数据归一化
[inputn,inputs]=mapminmax(P);
[outputn,outputs]=mapminmax(T);


%  创建一个新的前向神经网络 
net=newff(minmax(P),[17,1],{'tansig','purelin'},'trainbr');
%  当前输入层权值和阈值 
inputWeights=net.IW{1,1}; 
inputbias=net.b{1}; 
%  当前网络层权值和阈值 
layerWeights=net.LW{2,1}; 
layerbias=net.b{2}; 
%  设置训练参数 
net.trainParam.show = 100; 
net.trainParam.lr = 0.1; 
net.trainParam.mc = 0.9; 
net.trainParam.epochs = 6000; 
net.trainParam.goal = 1e-3; 
%  调用 TRAINGDM 算法训练 BP 网络 
[net,tr]=train(net,P,T); 

%BP神经网络的预测
%预测数据归一化
%inputn_test=mapminmax('apply',input_test,inputs);
%BP神经网络预测输出
an=sim(net,P);
%输出结果反归一化
BPoutput=mapminmax('reverse',an,outputs);
%输出训练后的权值和阈值
iw1=net.iw(1);
b1=net.b(1);
iw2=net.lw(2);
ba=net.b(2);

%画图
%网络预测结果图形
figure(1)
plot(BPoutput,':og')
hold on
plot(output_test,'-*')
legend('预测输出','期望输出')
title('BP神经网络预测输出')
ylabel('输出')
xlabel('样本')
%网络预测误差图形
error=output_test-BPoutput;
figure(2)
plot(error,'-*')
title('BP神经网络预测误差')
ylabel('误差 error')
xlabel('样本')
%}

这篇关于运行BP神经网络预测误差大的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1051950

相关文章

eclipse如何运行springboot项目

《eclipse如何运行springboot项目》:本文主要介绍eclipse如何运行springboot项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目js录当在eclipse启动spring boot项目时出现问题解决办法1.通过cmd命令行2.在ecl

使用nohup和--remove-source-files在后台运行rsync并记录日志方式

《使用nohup和--remove-source-files在后台运行rsync并记录日志方式》:本文主要介绍使用nohup和--remove-source-files在后台运行rsync并记录日... 目录一、什么是 --remove-source-files?二、示例命令三、命令详解1. nohup2.

Spring Boot项目打包和运行的操作方法

《SpringBoot项目打包和运行的操作方法》SpringBoot应用内嵌了Web服务器,所以基于SpringBoot开发的web应用也可以独立运行,无须部署到其他Web服务器中,下面以打包dem... 目录一、打包为JAR包并运行1.打包为可执行的 JAR 包2.运行 JAR 包二、打包为WAR包并运行

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

Java终止正在运行的线程的三种方法

《Java终止正在运行的线程的三种方法》停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作,停止一个线程可以用Thread.stop()方法,但最好不要用它,本文给大家介绍了... 目录前言1. 停止不了的线程2. 判断线程是否停止状态3. 能停止的线程–异常法4. 在沉睡中停止5

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu