线性规划与网络流24题网络中的performance goal代表什么

提取伪彩色图像的信息
由于人眼对彩色比较敏感,所以灰度图像常常使用伪彩色来显示,方便人眼对重要特征的识别,如下图
load flujet
colormap(jet)
colormap(gray)
同样一幅灰度图,伪彩色和灰度展示给人的信息是不一样的,明显从伪彩色图中能看到更多信息。
&& 而有时候需要从已得的伪彩色图中提取灰度值信息,这貌似没有专门的函数实现,需要自己根据灰度转伪彩色的过程逆向实现,但灰度转伪彩色根据不同的伪彩色类型又有不同的算法,这就麻烦了。而且即使知道了算法,伪彩色图可能受到了加亮处理或者其他,使转化规律又变了,这就更麻烦了...
想到可以用神经网络等一些智能算法来实现,如下图为一个伪彩色图,需要提取其实际灰度信息
这张图很好,右边正好有个伪彩色与灰度的对应关系图,所以根据此信息就可以推断原图中相应的彩色的灰度值。所以用神经网络的思路就很清楚了,利用右边的颜色条构造训练样本,训练神经网络后,用其对原图中的彩色值作为输入得到网络的预测输出,从而得到灰度值。
这里正好复习一下神经网络的matlab用法,使用了BP神经网络和RBF神经网络。
BP神经网络
&& 先来看BP神经网络,之前曾经对它有比较系统的研究,时间久了就忘了,这里回忆一下其在matlab中的用法,参考网址
BP神经网络属于前向网络。以下为创建BP神经网络的方法及参数意义
(1)net=newff(P,T,S)或者net =
newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)
P:输入参数矩阵。(RxQ1)
T:目标参数矩阵。(SNxQ2)
S:N-1个隐含层的数目(S(i)到S(N-1)),输出层的单元数目取决于T,默认为空矩阵。
TF:相关层的传递函数,默认隐含层为tansig函数,输出层为purelin函数。
BTF:BP神经网络学习训练函数,默认值为trainlm函数。
BLF:权重学习函数,默认值为learngdm。
PF:性能函数,默认值为mse。
IPF,OPF,DDF均为默认值即可。
(2)传递函数
purelin 线性传递函数
tansig 正切 S 型传递函数
logsig 对数 S 型传递函数
隐含层和输出层函数的选择对BP神经网络预测精度有较大影响,一般隐含层节点转移函数选用
tansig函数或logsig函数,输出层节点转移函数选用tansig函数或purelin函数。
(3)学习训练函数
神经网络的学习分为有导师学习和无导师学习。
最速下降BP算法:traingd
动量BP算法:traingdm
学习率可变的BP算法:trainda(学习率可变的最速下降BP算法);traindx(学习率可变的动量BP算法)
弹性算法:trainrp
变梯度算法:traincgf(Fletcher-Reeves修正算法)
&&&&&&&&&&&
traincgp(Polak_Ribiere修正算法)
&&&&&&&&&&&
traincgb(Powell-Beale复位算法)
&&&&&&&&&&&
trainbfg(BFGS 拟牛顿算法)
trainoss(OSS算法)
trainlm(LM算法)
参数说明:通过net.trainParam可以查看参数
Training Window Feedback&&
showWindow: true
Command Line Feedback showCommandLine: false
&&& Command
Frequency&&&&&&&&&&&
show: 两次显示之间的训练次数
&&& Maximum
Epochs&&&&&&&&&&&&&&&&&&
epochs: 训练次数
&&& Maximum
Time&&&&&&&&&&&&&
time: 最长训练时间(秒)
Performance
Goal&&&&&&&&&&&&&&&&&&&&&
goal: 网络性能目标
&&& Minimum
Gradient&&&&&&&&&&&&&&&&&
min_grad: 性能函数最小梯度
&&& Maximum
Validation
Checks&&&&&&&&
max_fail: 最大验证失败次数
&&& Learning
Rate&&&&&&&&&&&&&&&&&&&&&&&&&&
lr: 学习速率
&&& Learning
Increase&&&&&&&&&&&&&
lr_inc: 学习速率增长值
&&& Learning
Rate&&&&&&&&&&&&&&&&&&&&&&
lr_dec: 学习速率下降值
&&& Maximum
Performance Increase& max_perf_inc:
&&& Momentum
Constant&&&&&&&&&&&&&&&&&&&&&&
mc: 动量因子
(4)BP神经网络预测函数
SimOut = sim('model', Parameters)
& y=sim(net,x)
函数功能:用训练好的BP神经网络预测函数输出
net:训练好的网络
x:输入数据
y:网络预测数据
(5)训练函数
[net,tr] = train(Net,P,T,Pi,Ai)
Net& 待训练的网络
输入数据矩阵
T&&& 输出数据矩阵
(default = zeros)
Pi&& 初始化输入层条件 (default =
Ai&& 初始化输出层条件 (default =
net&& 训练好的网络
训练过程记录
注意:P&& Ni-by-TS cell
array&& Each element P{i,j,ts} is
an Ni-by-Q matrix.
T&& Nl-by-TS cell
array&& Each element T{i,ts} is a
Ui-by-Q matrix.
BP网络的常用函数表
前向网络创建函数
创建级联前向网络
创建前向BP网络
S型的对数函数
S型的正切函数
纯线性函数
基于梯度下降法的学习函数
梯度下降动量学习函数
均方误差函数
均方误差规范化函数
绘制网络的性能
绘制一个单独神经元的误差曲面
绘制权值和阈值在误差曲面上的位置
计算单个神经元的误差曲面
现给出一药品商店一年当中12个月的药品销售量(单位:箱)如下:
00 00 00 56
训练一个BP网络,用当前的所有数据预测下一个月的药品销售量。
我们用前三个月的销售量预测下一个月的销售量,也就是用1-3月的销售量预测第4个月的销售量,用2-4个月的销售量预测第5个月的销售量,如此循环下去,直到用9-11月预测12月份的销售量。这样训练BP神经网络后,就可以用10-12月的数据预测来年一月的销售量。
原文中提供了一个计算的程序,这里稍作整理,如下
% 网上例子修改
% 训练数据
P =[00; % 一行为一个样本
2046;]; % 样本量*输入层节点数
P = P'; % 网络的输入要转置一下,这样,列向量为一个样本
T = [00 00 56]; %
输出层节点数*输出样本数
% 训练数据归一化
[Pnorm, PPs] = mapminmax(P);
[Tnorm, TPs] =& mapminmax(T);
HideLayerNode = [3
7];&&&&&&&&&&&&&
% 隐藏层数及其个数
HideLayerTF = {'tansig' 'logsig' 'purelin'};& %
隐藏层及输出层传递函数
TrainFcn = 'traingdx'; % 学习训练函数
net = newff(Pnorm, Tnorm, HideLayerNode, HideLayerTF,
TrainFcn);
net.trainParam.epochs =
10000;&&&&&
% 训练次数
net.trainParam.goal =
1e-4;&&&&&&&&
% 训练目标
net.trainParam.lr =
0.01;&&&&&&&&&&
for i = 1:10
train(net,Pnorm,Tnorm);&& %
多训练几次,还可以加噪声训练
testP = [56]';
testPnorm = mapminmax('apply', testP, PPs);
testTnorm = sim(net, testPnorm);
testT = mapminmax('reverse', testTnorm, TPs)
训练过程如下
以上过程提供了一个最简单的使用BP网络的程序,参考价值很高哦!
参考上面的代码,实现伪彩色到灰度的转化程序如下
% 使用BP神经网络对数据进行预测
% 加载数据
load testdata TestInput
load traindata TrainInput TrainOutput
AllP = [TrainI TestInput]'; % 一列为一个样本
[AllPnorm, PPs] = mapminmax(AllP);
T = TrainOutput';
[Tnorm, TPs] =& mapminmax(T);
Pnorm = AllPnorm(:, 1:size(T, 2));
TestPnorm = AllPnorm(:, size(T, 2)+1:end);
HideLayerNode =
10;&&&&&&&&&&&&&&&&
% 隐藏层数及其个数
HideLayerTF = {'tansig' 'tansig'};& %
隐藏层及输出层传递函数
TrainFcn =
'traingdx';&&&&&&&&&&&&&
% 学习训练函数
net = newff(Pnorm, Tnorm, HideLayerNode, HideLayerTF,
TrainFcn);
net.trainParam.epochs =
10000;&&&&&
% 训练次数
net.trainParam.goal =
1e-6;&&&&&&&&
% 训练目标
net.trainParam.lr =
0.01;&&&&&&&&&&
% 学习速率
for i = 1:10
train(net,Pnorm,Tnorm);&& %
多训练几次,还可以加噪声训练
TestTnorm = sim(net, TestPnorm);
TestT = mapminmax('reverse', TestTnorm, TPs);
TestOutput = TestT;
save simdata TestOutput
% 计算误差
TestTnorm = sim(net, Pnorm);
plot([TestTnorm-T Tnorm]')
max(TestTnorm-Tnorm)
mean(TestTnorm-Tnorm)
训练的误差如上图,还可以接受吧!用上面的网络就可以预测原始灰度值,效果还是不错的。
RBF神经网络
RBF径向基神经网络是一个有很强非线性预测功能的网络,其本质就是将数据从一个空间映射到另一个空间。这个网络在matlab中使用也很方便。闲话少说,直接上代码
% 2.1.使用RBF神经网络对数据进行预测
% 加载数据
load testdata TestInput
load traindata TrainInput TrainOutput
AllP = [TrainI TestInput]'; % 一列为一个样本
[AllPnorm, PPs] = mapminmax(AllP);
T = TrainOutput';
[Tnorm, TPs] =& mapminmax(T);
Pnorm = AllPnorm(:, 1:size(T, 2));
TestPnorm = AllPnorm(:, size(T, 2)+1:end);
net = newrbe(Pnorm, Tnorm); % exaxt型
% net = newrb(Pnorm, Tnorm, 1e-4); % app型
% 仿真及误差
TestTnorm = sim(net, Pnorm);
plot([TestTnorm-T Tnorm]')
max(TestTnorm-Tnorm)
mean(TestTnorm-Tnorm)
% 仿真及误差
TestTnorm = sim(net, TestPnorm(:, 1:10000));
TestT = mapminmax('reverse', TestTnorm, TPs);
TestOutput = TestT;
save simdata_RBF TestOutput
计算时间短,效果还很好,赞!
听说SVM是一个更牛的智能算法,有时间尝试一下。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。人工神经网络.04.1.线性神经网络模型和LMS算法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
&&¥2.00
&&¥3.00
&&¥2.00
&&¥2.00
喜欢此文档的还喜欢
人工神经网络.04.1.线性神经网络模型和LMS算法
人​工​神​经​网​络​.4​..​线​性​神​经​网​络​模​型​和​L​M​S​算​法
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:2.01MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢当前位置: &
求翻译:Strength-based performance appraisal and goal setting是什么意思?
Strength-based performance appraisal and goal setting
问题补充:
实力为基础的绩效考核和目标设定
实力为基础的考绩与目标设置
基于力量的表现评估和目标设置
基于强度的绩效评估和目标设置
正在翻译,请等待...
我来回答:
参考资料:
* 验证码:
登录后回答可以获得积分奖励,并可以查看和管理所有的回答。 |
我要翻译和提问
请输入您需要翻译的文本! 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
毕业论文《BP神经网络的matlab实现设计》
下载积分:1000
内容提示:
文档格式:DOC|
浏览次数:265|
上传日期: 12:20:16|
文档星级:
该用户还上传了这些文档
毕业论文《BP神经网络的matlab实现设计》.DOC
官方公共微信

我要回帖

更多关于 high performance 的文章

 

随机推荐