Вычисление эффективности сети
perform(net,t,y,ew)
perform(net,t,y,ew)
принимает эти аргументы,
net | Нейронная сеть |
t | Целевые данные |
y | Выходные данные |
ew | Веса ошибок (по умолчанию = |
и возвращает эффективность сети, рассчитанную согласно net.performFcn
и net.performParam
значения свойств.
Целевые и выходные данные должны иметь одинаковые размерности. Веса ошибок могут быть такими же размерностями, как и у целей, в самом общем случае, но могут также иметь любую из его размерностей 1. Это дает гибкость определения весов ошибок для любой требуемой размерности.
Веса ошибок могут быть определены выборкой, выходным элементом, временным шагом или выходом сети:
ew = [1.0 0.5 0.7 0.2]; % Across 4 samples ew = [0.1; 0.5; 1.0]; % Across 3 elements ew = {0.1 0.2 0.3 0.5 1.0}; % Across 5 timesteps ew = {1.0; 0.5}; % Across 2 outputs
Веса ошибок также могут быть определены для любой комбинации, например, для двух timeseries (то есть двух выборок) в четырех временных шагах.
ew = {[0.5 0.4],[0.3 0.5],[1.0 1.0],[0.7 0.5]};
В общем случае веса ошибок могут иметь точно такие же размерности, как и целевые объекты, в этом случае каждое целевое значение будет иметь связанный вес ошибки.
Вес ошибки по умолчанию обрабатывает все ошибки одинаково.
ew = {1}
Здесь простая задача подгонки решается с помощью сети прямого распространения и вычисляется ее эффективность.
[x,t] = simplefit_dataset; net = feedforwardnet(20); net = train(net,x,t); y = net(x); perf = perform(net,t,y)
perf = 2.3654e-06