资源简介
模糊神经网络的一个源代码,供初学者学习使用。程序比较详细
代码片段和文件信息
function results = classify(data net labels debug);
% CLASSIFY Classifies the given data using the given trained SFAM.
% RESULTS = CLASSIFY(DATA NET LABELS DEBUG)
% DATA is an M-by-D matrix where M is the number of samples and D is the size of the feature
% space. NET is a previously trained SFAM network. LABELS is a M-vector containing the correct
% labels for the data. If you don‘t have them give it as an empty-vector [].
% DEBUG is a scalar to control the verbosity of the program during training. If 0 nothing will
% be printed otherwise every DEBUG iterations an informatory line will be printed.
%
% Emre Akbas May 2006
%
results = [];
hits=0;
tic;
for s=1:size(data1)
input = data(s:);
% Complement code input
input = [input 1-input];
% Compute the activation values for each prototype.
activation = ones(1length(net.weights));
for i=1:length(net.weights)
activation(i) = sum(min(inputnet.weights{i}))/...
(net.alpha + sum(net.weights{i}));
end
% Sort activation values
[sortedActivations sortedIndices] = sort(activation‘descend‘);
% Iterate over the prototypes with decreasing activation-value
results(s)=-1;
for p=sortedIndices
% Compute match of the current candidate prototype
match = sum(min(inputnet.weights{p}))/net.D;
% Check resonance
if match>=net.vigilance
results(s) = net.labels(p);
if ~isempty(labels)
if labels(s)==results(s) hits = hits + 1; end;
end
break;
end
end
if mod(sdebug)==0
elapsed = toc;
fprintf(1‘Tested %4dth sample. Hits so far: %3d which is %.3f%%.\tElapsed %.2f seconds.\n‘shits100*hits/selapsed);
tic;
end
end % samples loop
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2957 2006-07-18 14:58 train.m
文件 1707 2006-07-18 14:59 classify.m
文件 17307 2006-07-18 15:07 demodata.mat
文件 428 2006-07-18 15:08 sfam_demo.m
文件 948 2006-07-18 14:52 create_network.m
评论
共有 条评论