matlab里performance,关于神经网络performance图的问题
请问,在epoch2 的地方为什么折线上升,这样的结果对应的网络是不是很烂。
程序如下:
{/
%run plethora of tests
clear;
clc;
close all
%load the twonorm dataset
inputs=xlsread('4s_acceleration_input.xlsx','mean');
outputs=xlsread('4s_output.xlsx');
%modify so that training data is NxD and labels are Nx1, where N=#of
%examples, D=# of features
X = inputs';
Y = outputs';
All_error=[];%所有误差存储
%---------------------------------------------------
%原始数据
%---------------------------------------------------
%time=1;2;%数据是从以2s为间隔的30s内的数据
p=X;%输入数据,共15组,每组3个输入
t=Y;%输出数据,共15组,每组1个输出
%---------------------------------------------------
%数据归一化处理
%mapminmax函数默认将数据归一化到[-1,1],调用形式如下
%[y,ps] =%mapminmax(x,ymin,ymax)
%x需归化的数据输入
%ymin,ymax为需归化到的范围,不填默认为归化到[-1,1]
%y归一化后的样本数据
%ps处理设置,ps主要在结果反归一化中需要调用,或者使用同样的settings归一化另外一组数据
%---------------------------------------------------
[normInput,ps] = mapminmax(p);
[normTarget,ts] = mapminmax(t);
%---------------------------------------------------
%数据乱序,及分类处理
%将输入的15组数据的20%,即3组,用来作为测试数据;
% 样本的20%,即3组,用来作为变化数据;
%另外9组用来正常输入,用来训练;
%dividevec()用来重新随机抽取上述三种分类的数据,原来的顺序被打乱
%函数调用的语法
%[trainV,valV,testV] = dividevec(p,t,valPercent,testPercent)
%输入p为输入数据,t为输出数据
%valPercent为训练用的变化数据在总输入中的百分比
%testPercent为训练用的测试数据在总输入中的百分比
%输出trainV,valV,testV分别为按乱序及相应百分比,抽取得到的数据
%另外,打乱后的数据,p和t都是对应的,请放心使用
%---------------------------------------------------
testPercent = 0.20; % Adjust as desired
validatePercent = 0.20; % Adust as desired
[trainSamples,validateSamples,testSamples] = dividevec(normInput,normTarget,validatePercent,testPercent);
for j=1:200
%---------------------------------------------------
% 设置网络参数
%---------------------------------------------------
NodeNum1 = 20;% 隐层第一层节点数
NodeNum2=35; % 隐层第二层节点数
TypeNum = 1; % 输出维数
TF1 = 'purelin';
TF2 = 'purelin';
TF3 = 'tansig';
%各层传输函数,TF3为输出层传输函数
%如果训练结果不理想,可以尝试更改传输函数,以下这些是各类传输函数
%TF1 = 'tansig';TF2 = 'logsig';
%TF1 = 'logsig';TF2 = 'purelin';
%TF1 = 'tansig';TF2 = 'tansig';
%TF1 = 'logsig';TF2 = 'logsig';
%TF1 = 'purelin';TF2 = 'purelin';
net=newff(minmax(normInput),[NodeNum1,TypeNum],{TF1 TF2 TF3},'traingdx');%网络创建
%---------------------------------------------------
% 设置训练参数
%---------------------------------------------------
net.trainParam.epochs=10000;%训练次数设置
net.trainParam.goal=1e-25;%训练目标设置
net.trainParam.lr=0.01;%学习率设置,应设置为较少值,太大虽然会在开始加快收敛速度,但临近最佳点时,会产生动荡,而致使无法收敛
%---------------------------------------------------
% 指定训练参数
%---------------------------------------------------
% net.trainFcn = 'traingd'; % 梯度下降算法
% net.trainFcn = 'traingdm'; % 动量梯度下降算法
%
% net.trainFcn = 'traingda'; % 变学习率梯度下降算法
% net.trainFcn = 'traingdx'; % 变学习率动量梯度下降算法
%
% (大型网络的首选算法)
% net.trainFcn = 'trainrp'; % RPROP(弹性BP)算法,内存需求最小
%
% (共轭梯度算法)
% net.trainFcn = 'traincgf'; % Fletcher-Reeves修正算法
% net.trainFcn = 'traincgp'; % Polak-Ribiere修正算法,内存需求比Fletcher-Reeves修正算法略大
% net.trainFcn = 'traincgb'; % Powell-Beal复位算法,内存需求比Polak-Ribiere修正算法略大
%
% (大型网络的首选算法)
%net.trainFcn = 'trainscg'; % Scaled Conjugate Gradient算法,内存需求与Fletcher-Reeves修正算法相同,计算量比上面三种算法都小很多
% net.trainFcn = 'trainbfg'; % Quasi-Newton Algorithms - BFGS Algorithm,计算量和内存需求均比共轭梯度算法大,但收敛比较快
% net.trainFcn = 'trainoss'; % One Step Secant Algorithm,计算量和内存需求均比BFGS算法小,比共轭梯度算法略大
%
% (中型网络的首选算法)
%net.trainFcn = 'trainlm'; % Levenberg-Marquardt算法,内存需求最大,收敛速度最快
% net.trainFcn = 'trainbr'; % 贝叶斯正则化算法
%
% 有代表性的五种算法为:'traingdx','trainrp','trainscg','trainoss', 'trainlm'
net.trainfcn='traingdm';
[net,tr] = train(net,trainSamples.P,trainSamples.T,[],[],validateSamples,testSamples);
%---------------------------------------------------
% 训练完成后,就可以调用sim()函数,进行仿真了
%---------------------------------------------------
[normTrainOutput,Pf,Af,E,trainPerf] = sim(net,trainSamples.P,[],[],trainSamples.T);%正常输入的9组p数据,BP得到的结果t
[normValidateOutput,Pf,Af,E,validatePerf] = sim(net,validateSamples.P,[],[],validateSamples.T);%用作变量3的数据p,BP得到的结果t
[normTestOutput,Pf,Af,E,testPerf] = sim(net,testSamples.P,[],[],testSamples.T);%用作测试的3组数据p,BP得到的结果t
%---------------------------------------------------
% 仿真后结果数据反归一化,如果需要预测,只需将预测的数据P填入
% 将获得预测结果t
%---------------------------------------------------
trainOutput = mapminmax('reverse',normTrainOutput,ts);%正常输入的9组p数据,BP得到的归一化后的结果t
trainInsect = mapminmax('reverse',trainSamples.T,ts);%正常输入的9组数据t
validateOutput = mapminmax('reverse',normValidateOutput,ts);%用作变量3的数据p,BP得到的归一化的结果t
validateInsect = mapminmax('reverse',validateSamples.T,ts);%用作变量3的数据t
testOutput = mapminmax('reverse',normTestOutput,ts);%用作变量3组数据p,BP得到的归一化的结果t
testInsect = mapminmax('reverse',testSamples.T,ts);%用作变量3组数据t
%绝对误差计算
absTrainError = trainOutput-trainInsect;
absTestError = testOutput-testInsect;
error_sum=sqrt(absTestError(1).^2+absTestError(2).^2+absTestError(3).^2);
All_error=[All_error error_sum];
eps=0.3;%其为3组测试数据的标准差,或者每个数据偏差在一定范围内而判别
if ((abs(absTestError(1))<=0.1 )&(abs(absTestError(2))<=0.1)&(abs(absTestError(3))<=0.1)|(error_sum<=eps))
save('training_net.mat','net','tr');
break
end
j
end
j
Min_error_sqrt=min(All_error)
testOutput;
testInsect;
}
数据在附件里面
11.jpg
(34.38 KB, 下载次数: 15)
2014-2-18 14:19 上传
神经网络分类的performance图
22.jpg
(25.54 KB, 下载次数: 9)
2014-2-18 14:19 上传
神经网络分类的fail图
2014-2-18 14:24 上传
点击文件名下载附件
64 KB, 下载次数: 440
2014-2-18 14:24 上传
点击文件名下载附件
9.83 KB, 下载次数: 381
matlab里performance,关于神经网络performance图的问题相关推荐
- bp神经网络performance怎么看,BP神经网络用什么软件
1.除了MATLAB能做BP神经网络,还有其他什么软件能做 除了MATLAB能做BP神经网络,还有其他什么软件能做 理论上编程语言都可以,比如VB,C语言,过程也都是建模.量化.运算及结果输出(图.表 ...
- Matlab画圆方向图,如何在matlab里画天线的立体方向图?
如何在matlab里画天线的立体方向图?有没有具体的函数? 有的,你看下一般的matlab教程里都有着方面的介绍,查一下就可以了 有数据,Matlab可以画 归根到底,画极坐标方向图是坐标变换的问题. ...
- matlab里实现AR人脸库2600张人脸图的分类处理
AR人脸库,包含50位男性和50位女性,每人26张共2600张图. 但是网上下载的AR人脸库并没有进行分类,而是2600张图在一个文件夹中,本示例在matlab里编程实现将2600张人脸图分类为编号为 ...
- 用matlab自己搭建bp神经网络,怎样在matlab里建立一个BP神经网络模型?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用以下的数据怎样在matlab里建立一个BP神经网络模型?求高手帮忙!!最好是有详细步骤以及代码 年份 WTI(美元/桶) 2007-1 54.26 20 ...
- matlab神经网络应用设计,神经网络及其matlab实现
Matlab里的神经网络是什么意思啊,我是新手,谁能简单通俗地解释下啊?谢谢了!!! . 所谓神经网络算法顾名思义是模拟生物神经网络而产生的一种算法,首先需要用一些已知的数据输入到神经网络中,使它知道 ...
- 人工神经网络可视化,图神经网络可视化
三维可视化前景如何?好找工作吗? . 你可以先去[绘学霸]网站找"3d建模"板块的[免费]视频教程-[点击进入]完整入门到精通视频教程列表:;tagid=307&zdhhr ...
- 基于Matlab平台的BP神经网络进行数据拟合
基于Matlab平台的BP神经网络进行数据拟合 上次讨论了基于Hopfield神经网络的数字识别,BP(Back Propagation)神经网络也可以进行相关的数字识别如手写数字识别等,由于BP神经 ...
- 神经网络和图神经网络,神经网络的图怎么画
神经网络(深度学习)的几个基础概念 从广义上说深度学习的网络结构也是多层神经网络的一种.传统意义上的多层神经网络是只有输入层.隐藏层.输出层.其中隐藏层的层数根据需要而定,没有明确的理论推导来说明到底 ...
- semilogx 多条曲线_怎么让两个指数在一个坐标,matlab里怎样一个坐标上显示多个曲线,而且横轴要用指数形式的?谢谢...
Q1:matlab里怎样一个坐标上显示多个曲线,而且横轴要用指数形式的?谢谢 多个纵轴数组分别是y1,y2,y3,横轴数组为x 命令为: semilogx(x,y1,x,y2,x,y3) 完了 Q2: ...
最新文章
- [导入]金山词霸2005精简版下载地址
- A Guide to Python's Magic Methods
- linux切换软件版本,Linux中dpkg工具update-alternatives实现符号链接软件版本的切换(转)...
- python 浏览器,轻量级Python Web浏览器
- 51单片机C语言led流水灯及数码管实现秒表
- html锚点反向联动,小程序菜单左右联动
- 问题 D: 最小生成树II
- python源程序文件的扩展名_python程序文件扩展名知识点详解
- 转载 SpringMVC详解(三)------基于注解的入门实例
- 如何反编译微信小程序前端,30分钟教你学会
- 单片机程序框架设计与实现
- 用时一个半个月,七月刚入职字节跳动的测试开发面试题,内附答案
- 22二叉树非递归遍历算法
- SDS之BlockChain Storage系列:3、为什说区块链存储是下一个热点 (上)
- Oracle系列之--Profile
- “苹果”在中国的血汗工厂
- Launchy - 经典实用的免费键盘快速启动工具,桌面图标神马的最无爱了!
- gem 安装oxidized-web报错:checking for -licui18n... no处理
- PBR--RTR4笔记--第八章 光与颜色
- 计算机应用基础形成性考核册答案win7,《计算机应用基础》形成性考核册答案...
热门文章
- 关于sql注入之cookie注入
- Composer PHP依赖管理
- 深入了解WM_SIZE
- VS2010中文注释带红色下划线的解决方法
- AWS之EC2搭建WordPress博客
- socket sock inet_sock 等关系
- 树莓派 linux0.12,12 个可替代树莓派的单板机
- linux 信号 core,Shell 信号发送与捕捉
- mysql union 优化_mysql 5.7.3 对union all 的优化
- 2003服务器系统屏蔽广告,电脑总是乱弹广告弹窗?教你彻底关闭