标题:BP对工件的识别
只看楼主
jackues
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-6-9
 问题点数:0 回复次数:2 
BP对工件的识别
我的设计是非常简单的,但我得智商也是非常简单的。

我在一组工件数据对其进行训练之后,通过程序识别出测试工件的类型。

但是,不能解决训练与识别分开的问题,老师说不能每次识别工件都要先训练一次亚!

我想是挺有道理的,要如何在训练一次之后,每次只要输入工件测试数据就能对其型号进行识别,成为我现在最困扰的问题,希望各位哥哥姐姐能帮我个忙,需要在中间加入什莫程序的,尽情指点!!在此谢谢了。

我的源程序如下:训练过程:

P = [100.000 96.167 64.500 67.882 78.000 67.882 64.500 96.167;
111.000 73.539 58.500 73.539 111.000 73.539 58.500 73.539;
152.000 94.045 66.500 94.045 152.000 94.045 66.500 94.045;
113.000 122.330 112.000 123.743 133.000 123.743 112.000 122.330;
116.000 65.053 54.500 91.923 92.000 91.923 54.500 64.053]; %数据带入
T = [0 0 1;0 1 0;0 1 1;1 0 0;1 0 1]; %工件代号
P = P'; %取P和T的转置,保证输入样本向量和目标向量之间列数相等
T = T';
net = newff(minmax(P),[17,3],{'tansig','logsig'},'trainlm'); %建立网络
net.trainParam.epochs = 1000; %设定循环次数为1000
net.trainParam.goal = 0.01; %训练误差为0.01,其余训练参数取默认值
LP.lr = 0.1; %学习速率为0.1
net = train(net,P,T);

之后我加入了一组测试数据:

P = [100.000 96.167 64.500 67.882 78.000 67.882 64.500 96.167;
111.000 73.539 58.500 73.539 111.000 73.539 58.500 73.539;
152.000 94.045 66.500 94.045 152.000 94.045 66.500 94.045;
113.000 122.330 112.000 123.743 133.000 123.743 112.000 122.330;
116.000 65.053 54.500 91.923 92.000 91.923 54.500 64.053]; %数据带入
T = [0 0 1;0 1 0;0 1 1;1 0 0;1 0 1]; %工件代号
P = P'; %取P和T的转置,保证输入样本向量和目标向量之间列数相等
T = T';
net = newff(minmax(P),[17,3],{'tansig','logsig'},'trainlm'); %建立网络
net.trainParam.epochs = 1000; %设定循环次数为1000
net.trainParam.goal = 0.01; %训练误差为0.01,其余训练参数取默认值
LP.lr = 0.1; %学习速率为0.1
net = train(net,P,T);
%测试数据,和训练数据一致
P_test = [152.000 ;94.045; 66.500; 94.045; 152.000; 94.045; 66.500; 94.045];
y = sim(net,P_test)

这样我就能得出这个工件就是三号工件,y=0 1 1,所以为三号。哈哈

但问题出现了,如何能让训练和识别分离呢??请大侠们帮忙。

在我的想象中我是这莫估计的,将训练存如一个文件,然后就load "文档名"。。。。然后就输入数据,得出结果,但我试了,不行,爱。。。怎末办好呢。是不是不是load呢 ,我就这莫想了一下,大家别见笑亚!!
搜索更多相关主题的帖子: 工件 
2006-06-09 20:01
hitzhang
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:369
专家分:52
注 册:2006-9-24
得分:0 

训练结束后保存网络!或利用 simlink仿真 只要网络还健在就可以了


2006-09-24 19:30
shirely
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-5-23
得分:0 
不好意思 能否请2楼的说的更清楚些,我也遇见这样的问题,也不知道该怎么解决,请多多帮忙,谢谢了
2007-07-31 10:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-70956-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052481 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved