フィルターのクリア

problems with training function LVQ (example from help does not work)

2 ビュー (過去 30 日間)
Alexander
Alexander 2011 年 9 月 14 日
Hi all, please I need your help !
example (LVQ) from help does not work
P = [-3 -2 -2 0 0 0 0 2 2 3; 0 1 -1 2 1 -1 -2 1 -1 0];
Tc = [1 1 1 2 2 2 2 1 1 1];
T = ind2vec(Tc);
targets = full(T);
net = newlvq(P,4,[.6 .4]);
Y = sim(net,P);
Yc = vec2ind(Y);
net.trainParam.epochs = 150;
net = train(net,P,T);
In training process after 2 interactions training was stop. (My system 2011a,a check on 2009b - the same thing).
Maybe I'm doing something wrong?

採用された回答

Greg Heath
Greg Heath 2011 年 10 月 2 日
Nothing is wrong...it is a simple problem that only requires 2 or 3 epochs to obtain 0 error. You just didn't follow through.
close all, clear all, clc
% NOTE: Remove end semicolons to monitor outputs
P = [-3 -2 -2 0 0 0 0 2 2 3; 0 1 -1 2 1 -1 -2 1 -1 0]
Tc = [1 1 1 2 2 2 2 1 1 1]
T = ind2vec(Tc)
targets = full(T)
net = newlvq(minmax(P),4,[.6 .4]); % Old Version
% With no training
IW = net.IW{1,1}
LW = net.LW{2,1}
b = net.b(1,:)
Y = sim(net,P)
Yc = vec2ind(Y)
% ... Yc = [ 1 1 1 1 1 1 1 1 1 1 ]
% resulting in a classification error of 40%
%Training with defaults
net = train(net,P,T);
% Converges in 3 epochs
IW = net.IW{1,1}
LW = net.LW{2,1}
b = net.b(1,:)
Y = sim(net,P)
Yc = vec2ind(Y)
% ... Yc = [ 1 1 1 2 2 2 2 1 1 1 ]
% resulting in a classification error of 0% !!!
Hope this helps.
Greg

その他の回答 (1 件)

Greg Heath
Greg Heath 2011 年 10 月 2 日
Sorry for the formatting. This text editor sucks.
Greg
  1 件のコメント
Walter Roberson
Walter Roberson 2011 年 10 月 2 日
Put a newline before the code to be formatted. Highlight the code to be formatted. Click on the "{} Code" button. Code will now be formatted in the preview.

サインインしてコメントする。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by