Принятие управленческих решений в маркетинге с помощью компьютерных средств, страница 89

Рис. 49. Структура нейронной сети для решения примера.

Существует большое количество программных средств, позволяющих создавать и настраивать нейронные сети, от простейших программ до сложнейших программных комплексов. При выборе средства для решения рассматриваемого примера был применен способ поиска таких средств, начиная с простейших. Многие программы такого класса свободно или условно-бесплатно (на ограниченный срок для оценки возможностей программы) распространяются через Интернет. Было рассмотрено около десяти программных средств. Они имеют много общего, поэтому будут упомянуты:

○  Pythia 1.02, разработка Runtime Software, 2000;

○  Panalyzer 4, созданный Д.А. и А.А Россиевыми, 2004;

○  Statistica Neural Network 4.0 фирм Trajan Software и StatSoft Inc, 1999.

Работа с программой Pythia. Введя таблицу обучающих ситуация и задав структуру сети в соответствии с рис. Рис. 49, можно начать обучение, задав ряд его параметров. К их числу относятся:

○  скорость обучения (шаг изменения весов и порогов при корректировке сети);

○  случайное перемешивание предъявляемых для обучения случаев;

○  случайное задание весов перед каждым набором эпох;

○  условия завершения тренировки (было выбрано значение квадрата максимальной ошибки предсказания, равное 0,2, что соответствует области распознавания нулевого решения в пределах от 0 до 0,4 и единичного в пределах от 0,6 до 1).

Пробные пуски (их было проведено порядка 100) дали следующие типовые варианты.

1.  Полное отсутствие обучения, единичная средняя ошибка. Эта ситуация связана с неудачными начальными параметрами сети;

2.  Распознавание обучающих ситуаций, как показано на рис. Рис. 50:

Количество ошибочных классификаций составило 13 случаев из 70.

Параметры нейронов обученной сети даны в табл. Таблица 8.

Таблица 8

Параметры нейронов обученной сети

Нейрон

Вес входа 1

Вес входа 2

Активационный порог

N1

-2,51

5,55

1,35

N2

-1,12

-1,13

-1,00

N3

+0,90

56,22

1,04

Качество обучения немного различалось от одного эксперимента к другому: квадрат средней ошибки был в пределах от 0,12 до 0,14, а максимальной – от 0,53 до 0,85.

3.  Расположение весов нейронов и порогов оказывалось симметричным случаю 2.

Длительность обучения, которая доходила до 2 млн. эпох, что занимало порядка 3 часов работы компьютера, практически не влияла на результаты.

Рис. 50. Результат работы нейронной сети.

Из экспериментов с программой Pythia можно сделать вывод о том, что для данной программы важно начальное значение параметров сети[83].

Программа Panalyzer позволяет задать большее число параметров обучения сети, в частности – параметр логистической функции (сигмоиды), заменяющей пороговую активационную функцию. Но главным достоинством Panalyzer является возможность задания стратегии обучения. Например, при неудаче можно увеличить количество нейронов. Для данного примера сеть имела вид рис. Рис. 49, то есть число ее нейронов не изменялось, а в качестве стратегии при неудаче был выбран режим дестабилизации сети, при котором веса входов и порогов переназначаются случайным образом. Тем самым устранялась проблема, с которой столкнулась предыдущая программа. Не вдаваясь в тонкости настройки, можно сказать, что условие остановки было аналогичным первому случаю. Всего за процесс обучения прошло порядка 5 млн. эпох, но результат оказался схож с предыдущим случаем.