Контрольная работа: Самообучающиеся системы

Полный алгоритм обучения нейросети складывается из следующих шагов:

1) подать на вход НС один из обучающих образов и определить значения выходов нейронов;

2) рассчитать функцию ошибки Е. Если значение ошибки не превышает допустимое, то выбрать следующий обучающий образец и перейти на шаг 1. Целесообразно организовать случайный выбор образцов из обучающей последовательности. Иначе – к следующему пункту;

3) рассчитать для выходного слоя нейронной сети по формуле (12) и рассчитать изменения весов выходного слоя n по формуле (13);

4) рассчитать по формулам (11) и (13) соответственно и для остальных слоев, n = N-1..1;

5) скорректировать все веса нейронной сети:

6) перейти на шаг 1.

9 Повышение эффективности обучения

Простейший метод градиентного спуска, рассмотренный выше, очень неэффективен в случае, когда производные по различным весам сильно отличаются. Это соответствует ситуации, когда значение функции S для некоторых нейронов близка по модулю к 1 или когда модуль некоторых весов много больше 1. В этом случае для плавного уменьшения ошибки надо выбирать очень маленькую скорость обучения, но при этом обучение может занять непозволительно много времени.

Простейшим методом усовершенствования градиентного спуска является введение момента µ, когда влияние градиента на изменение весов изменяется со временем. Тогда формула (13) примет вид

Дополнительным преимуществом от введения момента является способность алгоритма преодолевать мелкие локальные минимумы.

10 Подготовка входных и выходных данных

Данные, подаваемые на вход сети и снимаемые с выхода, должны быть правильно подготовлены.

Один из распространенных способов — масштабирование:

x = ( x’ – m)*c ,

где

x’ - исходный вектор,

x - масштабированный;

m – вектор усредненных значений совокупности входных данных;

с - масштабный коэффициент.

Масштабирование желательно, чтобы привести данные в допустимый диапазон. Если этого не сделать, то возможно несколько проблем:

1) нейроны входного слоя или окажутся в постоянном насыщении (|m| велик, дисперсия входных данных мала) или будут все время заторможены (|m| мал, дисперсия мала);

2) весовые коэффициенты примут очень большие или очень малые значения при обучении (в зависимости от дисперсии), и, как следствие, растянется процесс обучения и снизится точность.

Рассмотрим набор входных данных для сети с одним входом:

{x’} = {10 10.5 10.2 10.3 10.1 10.4}.

Если функция активации — гиперболический тангенс с множеством значений, то при весовых коэффициентах около единицы нейроны входного слоя окажутся в насыщении для всех x′. Применим масштабирование с m =10,2 и c =4. Это даст значения в допустимом диапазоне (-1; 1).

Выходы сети масштабируются так же. Т.к. пользователь сам выбирает смысл выходного вектора при создании сети, то данные подготавливаются так, чтобы диапазон изменения выходных сигналов лежал на рабочем участке функции активации.

Основное отличие НС в том, что в них все входные и выходные параметры представлены в виде чисел с плавающей точкой обычно в диапазоне [0..1]. В то же время данные предметной области часто имеют другое кодирование. Это могут быть числа в произвольном диапазоне, даты, символьные строки. Таким образом, данные о проблеме могут быть как количественными, так и качественными.

Качественные данные можно разделить на две группы: упорядоченные (ординальные) и неупорядоченные. Способы кодирования этих данных рассматриваются на примере задачи о прогнозировании успешности лечения какого-либо заболевания. Например, примером упорядоченных данных могут быть данные о дополнительных факторах риска при каком - либо заболевании.

нет ожирение алкоголь курение гипертония

К-во Просмотров: 420
Бесплатно скачать Контрольная работа: Самообучающиеся системы