В документации мы обучаем 10 различным нейронным сетям, каждая из которых инициализируется с различными весами и уклонами. net
- это переменная для построения нейронных сетей, x1
- это обучающий набор данных, t1
- известные метки, используемые в обучении, x2
- это тестовый набор данных, а t2
- это тестовая метка. Каждая нейронная сеть хранится в переменной ячейки NN{}
.
После обучения оценка выполняется с использованием набора тестов t2
и x2
. Однако вычисление mse выполняется с использованием mse(net, t2, y2)
Я думаю, что правильное утверждение должно было быть mse(NN{i}, t2, y2)
, поскольку NN{}
является обученная модель, а не net
, которая является просто структурой. Ниже приведен код, указанный в ссылке.
Должен ли вызов функции быть mse(NN{i}, t2, y2)
вместо mse(net, t2, y2)
?
net = feedforwardnet(10);
numNN = 10;
NN = cell(1, numNN);
perfs = zeros(1, numNN);
for i = 1:numNN
fprintf('Training %d/%d\n', i, numNN);
NN{i} = train(net, x1, t1);
y2 = NN{i}(x2);
perfs(i) = mse(net, t2, y2);
end