BP神经网络拟合效果不好,怎么解决?附源程序

问题描述

BP神经网络拟合效果不好,怎么解决?附源程序

主函数,需调用fx2函数

%fun为进行拟合的非线性函数
%node为隐含层的节点数
%k为最大迭代次数,缺省时,默认为100
%eps为目标值,缺省时,默认为0.0001

%随机产生2000组输入数据x、输出数据y
input=10*rand(1,2000)-5;
output=zeros(1,2000);
for i=1:2000
output(i)=fsin(input(i));
end

%随机选择1000组训练数据和1000组预测数据
input_train=input(1:1000)';
output_train=output(1:1000)';
input_test=input(1001:2000)';
output_test=output(1001:2000)';

%训练数据归一化
[inputn,mininput,maxinput]=premnmx(input_train);
[outputn,minoutput,maxoutput]=premnmx(output_train);

%构建BP神经网络
net=newff([-5 5;-5 5],[5,1],{'tansig' 'purelin'}, 'trainlm' );

%配置网络参数(迭代次数、学习率、目标)
net.trainParam.epochs=3;
net.trainParam.lr=0.1;
net.trainParam.goal=eps;

%BP神经网络训练
net=train(net,inputn',outputn');

%预测数据归一化
inputn_test=tramnmx(input_test,mininput,maxinput);

%BP神经网络预测输出
an=sim(net,inputn_test');

%输出结果反归一化
BPoutput=postmnmx (an,minoutput,maxoutput);

%计算误差
error=BPoutput-output_test';

%网络预测结果图像
figure(1)
plot(BPoutput,':og')
hold on
plot(output_test,'-*');
legend('预测输出','期望输出')
title('BP网络预测输出','fontsize',12)
ylabel('函数输出','fontsize',12)
xlabel('样本','fontsize',12)

%网络预测误差图像
figure(2)
plot(error,'-*')
title('BP网络预测误差','fontsize',12)
ylabel('误差','fontsize',12)
xlabel('样本','fontsize',12)

fx2函数:
function y=fx2(x)
y=x(1)^2+x(2)^2;

解决方案

你是要你和什么,神经网络的层数和基函数都要调的。

解决方案二:

你写得怎么样了?我现在的神经网络拟合效果几乎就是一条直线

时间: 2024-10-30 08:41:21

BP神经网络拟合效果不好,怎么解决?附源程序的相关文章

计算机视觉怎么给图像分类?KNN、SVM、BP神经网络、CNN、迁移学习供你选(附开源代码)

图像分类问题就是从固定的一组分类中,给输入图像分配标签的任务.这是计算机视觉的核心问题之一,尽管它看似简单,却在实际生活中有着各种各样的应用. 传统方式:功能描述和检测. 也许这种方法对于一些样本任务来说是比较好用的,但实际情况却要复杂得多. 因此,我们将使用机器学习来为每个类别提供许多示例,然后开发学习算法来查看这些示例,并了解每个类的视觉外观,而不是试图直接在代码中指定每一个大家感兴趣的类别是什么样的.  然而,图像分类问题就是一个非常复杂的工作,它总是借用诸如卷积神经网络(CNN)这样的深

矩阵-神经网络效果不好,请问是哪里出了问题

问题描述 神经网络效果不好,请问是哪里出了问题 我的数据输入全是0.1,0.9组成的矩阵,每一个样本输入有400个节点,隐藏层53个,输出层10个,输出数据也是0.1,0.9,谁最大就是我要的额数据,但是10个数据每次输出的内容都差别不大,怎么回事.求解救.哪位大神如果对Bp神经网络如果熟悉,请告知qq:546961136,谢谢 解决方案 造成这个的原因应该是多方面的吧,学习的问题,或者过学习的问题,我也是新手我猜测的

matlab bp 神经网络-matlab实现BP神经网络,训练结果不好,附源代码

问题描述 matlab实现BP神经网络,训练结果不好,附源代码 希望大家看看,谢谢了!自己看了一整天都不知道哪里出现了问题,编程思想按照经典的机器学习的书 lr=0.05; %lr为学习速率:err_goal=0.1; %err_goal为期望误差最小值max_epoch=15000; %max_epoch为训练的最大次数:a=0.9; %a为惯性系数Oi=0;Ok=0; %置隐含层和输出层各神经元输出初值为0%提供两组训练集和目标值(3输入神经元,2输出)%X=[1 1;-1 -1;1 1];

BP神经网络算法

今天来讲BP神经网络,神经网络在机器学习中应用比较广泛,比如函数逼近,模式识别,分类,数据压缩,数据挖掘等领域.接下来介绍BP神经网络的原理及实现. Contents 1. BP神经网络的认识 2. 隐含层的选取 3. 正向传递子过程 4. 反向传递子过程 5. BP神经网络的注意点 6. BP神经网络的C++实现 1. BP神经网络的认识 BP(Back Propagation)神经网络分为两个过程 (1)工作信号正向传递子过程 (2)误差信号反向传递子过程 在BP神经网络中,单个样本有m个输

企业网站效果不好,这4种原因影响很大!

导读:有些企业通过营销网站获得了很多订单,有些企业做了营销网站,网络营销效果依然不乐观.如今市场现在线下营销形势严峻,企业把所有的希望都放在了网络营销上,作为企业长远发展的重中之重,结果营销网站并没有达到预期效果,倍感失望,到底是哪一个环节出现问题呢?下面深度网小编给大家总结了4个方面的原因. 一.企业营销网站没规划好 很多企业对营销网站缺乏深入了解,加上选择不专业的网络公司,没有考虑网站真正需要的营销,甚至有些网络公司根本就没有策划团队,直接抄袭别人网站的内容,应付了事,表面看上去是像营销网站

中小型企业开展SEO效果不好原因分析

中介交易 SEO诊断 淘宝客 云主机 技术大厅 "做了SEO推广,效果不理想,得不到老板不认可".为什么我的SEO排名做到首页,老板还不认可呢;为什么通过我的推广,流量还不错,上级还说我做的不好呢?这是很多中小型企业SEO人员,在开展SEO时常遇到的问题.那如何解决呢? 大家要先明白一个问题,我们做SEO.做营销推广,是从自己角度出发的,只是把自己这块做好了.但老板认为推广就是要流量,要客户,要赚钱,赚钱要给员工发工资,这是老板思维.我招你来,就需要给我赚钱的,你排名在第一位,你流量多

基于MapReduce的BP神经网络遗传算法在非线性系统辨识中的研究

基于MapReduce的BP神经网络遗传算法在非线性系统辨识中的研究 陈春萍  查雅行  钱平  龚丹丹 在工程应用中经常会遇到一些复杂s的非线性系统,这些系统状态方程复杂,难以用数学方法准确建模.三层BP神经网络能以任意精度逼近连续函数.但是BP网络具有易陷入局部最优值的缺点,在此基础上加入遗传算法.传统的串行化BP神经网络的训练方法处理海量数据时存在很大问题,例如耗时过长,甚至内存不足无法训练.为了解决这些问题,使用基于MapReduce的BP神经网络训练方法. 基于MapReduce的BP

c#与BP神经网络MATLAB程序混合编程的问题。求大神指点

问题描述 正在做一个项目,需要用到c#与BP神经网络MATLAB程序混合编程.我看网上有好多种方法做.有的用deploytool做成动态链接库的,还有的用COM组件做的,还有的用什么交叉混合编程.求大神指点到底用什么方法做呢??我现在只会用deploytool做成动态链接库,连接比较简单的m文件呢. 解决方案 解决方案二:用matlib将m文件编译成C#可用的dll.编译的时候选择编译类型为.net动态库解决方案三:编译的时候总会出现newoff出错,也就是说不能调用BP神经网络的工具箱,不知道

竞价推广效果不好该怎么做

推广效果不好,各种调根本解决不了问题,如何突破这个瓶颈.大致的思路是 什么样的?您在文章中利用网址构建器来追踪关键词我着实没懂,追踪关键词是如何来 改善客户效果的呢? 小脑袋 竞价软件: &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; 1.推广效果不好怎么办;2.追踪关键词效果有什么作用.因此,我们也就比较容易理解,为什么难以解决客户效果不好的问题,帮助客户提升推广效果,甚至"各种调根本解决不了问题&q