Ассоциация шаблонов, отображающая поверхность ошибки

Линейный нейрон предназначен для ответа на конкретные входы с целевыми выходами.

X задает два шаблона входа с 1 элементом (векторами-столбцами). T определяет соответствующие 1-элементные цели ( векторы-столбцы).

X = [1.0 -1.2];
T = [0.5 1.0];

ERRSURF вычисляет ошибки для нейрона y с областью значений y возможных значений веса и смещения. PLOTES строит график этой поверхности ошибки с графиком y контура под. Лучшими значениями веса и смещения являются те, которые приводят к самой низкой точке на поверхности ошибки.

w_range = -1:0.1:1;
b_range = -1:0.1:1;
ES = errsurf(X,T,w_range,b_range,'purelin');
plotes(w_range,b_range,ES);

Figure contains 2 axes. Axes 1 with title Error Surface contains 2 objects of type surface. Axes 2 with title Error Contour contains 2 objects of type surface, contour.

Функция NEWLIND спроектирует сеть y, которая выполняет с минимальной ошибкой.

net = newlind(X,T);

SIM используется для моделирования сети для входов X. Затем мы можем вычислить ошибки нейронов. SUMSQR добавляет квадратичных невязок.

A = net(X)
A = 1×2

    0.5000    1.0000

E = T - A
E = 1×2

     0     0

SSE = sumsqr(E)
SSE = 0

PLOTES воспроизводит поверхность ошибки. PLOTEP строит графики «положения» сети с помощью значений веса и смещения, возвращаемых SOLVELIN. Как видно из графика, SOLVELIN нашел решение минимальной ошибки.

plotes(w_range,b_range,ES);
plotep(net.IW{1,1},net.b{1},SSE);

Figure contains 2 axes. Axes 1 with title Error Surface contains 6 objects of type surface, line. Axes 2 with title Error Contour contains 3 objects of type surface, contour, line.

Теперь мы можем протестировать ассоциатор с одним из исходных входов, -1.2, и увидеть, вернёт ли он цель, 1.0.

x = -1.2;
y = net(x)
y = 1
Для просмотра документации необходимо авторизоваться на сайте