Процедура настройки

В отличие от многих других сетей настройка линейной сети для заданного обучающего множества может быть выполнена посредством прямого расчета с использованием
М-функции newlind.

Предположим, что заданы следующие векторы, принадлежащие обучающему множеству:

P = [1 –1.2];

T = [0.5 1];

Построим линейную сеть и промоделируем ее:

net = newlind(P,T);

Y = sim(net, P);

Y = 0.5 1

net.IW{1,1}

ans = –0.22727

net.b

ns = [0.72727]

Выход сети соответствует целевому вектору.

Зададим следующий диапазон весов и смещений, рассчитаем критерий качества
обучения и построим его линии уровня (рис. 5.4):

w_range=–1:0.1: 0; b_range=0.5:0.1:1;

ES = errsurf(P,T, w_range, b_range, 'purelin');

contour(w_range, b_range,ES,20)

hold on

plot(–2.2727e–001,7.2727e–001, 'x') % Рис.5.4.

hold off

Рис. 5.4

На графике знаком x отмечены оптимальные значения веса и смещения для данной сети.

Демонстрационный пример demolin1 поясняет структуру линейной сети, построение поверхности ошибок и выбор оптимальных настроек.

Обучающее правило наименьших квадратов. Для линейной нейронной сети используется рекуррентное обучающее правило наименьших квадратов (LMS), которое является намного более мощным, чем обучающее правило персептрона. Правило наименьших квадратов, или правило обучения WH(Уидроу – Хоффа), минимизирует среднее значение суммы квадратов ошибок обучения [18].

Процесс обучения нейронной сети состоит в следующем. Авторы алгоритма предположили, что можно оценивать полную среднюю квадратичную погрешность, используя среднюю квадратичную погрешность на каждой итерации. Сформируем частную производную по весам и смещению от квадрата погрешности на k -й итерации:

(5.3)

Подставляя выражение для ошибки в форме

, (5.4)

получим

(5.5)

Здесь p j (k) – j -й элемент вектора входа на k -й итерации. Эти соотношения лежат в основе обучающего алгоритма WH

(5.6)

Результат может быть обобщен на случай многих нейронов и представлен в следующей матричной форме:

(5.7)

Здесь ошибка e и смещение b – векторы и a – параметр скорости обучения. При больших значениях a обучение происходит быстро, однако при очень больших значениях может приводить к неустойчивости. Чтобы гарантировать устойчивость процесса обучения, параметр скорости обучения не должен превышать величины 1/max(|l|), где l – собственное значение матрицы корреляций p * p T векторов входа. Используя правило обучения WH и метод наискорейшего спуска, всегда можно обучить сеть так, чтобы ее погрешность была минимальной.

М-функция learnwh предназначена для настройки параметров линейной сети и реализует следующее обучающее правило:

(5.8 )

где lr – параметр скорости обучения. Максимальное значение параметра скорости обучения, которое гарантирует устойчивость процедуры настройки, вычисляется с помощью М-функции maxlinlr.

С помощью демонстрационной программы demolin7 можно исследовать устойчивость процедуры настройки в зависимости от параметра скорости обучения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: