6
1.Создание нейропроекта (см. рис.1: «Файл» – «Создать»).
2.Подключение к нейропроекту файла (базы) данных (см. рис.1: «Открыть файл данных»).
В качестве файлов данных (содержащих обучающую выборку для нейронных сетей) используются файлы форматов DBF (форматы пакетов Dbase, FoxBase, FoxPro, Clipper) и DB (Paradox). Возможно чтение и редактирование этих файлов и сохранение измененных файлов на диске. Программа не накладывает ограничений на число записей (строк) в файле данных.
3.Редактирование файла данных и создание нейронной сети.
Встроенные возможности нейроимиатора по редактированию файлов данных достаточно ограничены. Для внесения изменений в файл данных целесообразно воспользоваться табличным процессором MS Excel с последующим сохранением файла в формате DBF 4, который читается программой Neuropro 0.25 (см. таблицу данных на рис.1).
Добавление в нейропроект нейронной сети слоистой архитектуры с числом слоев нейронов от 1 до 10, числом нейронов в слое – до 100 (число нейронов для каждого слоя сети может задаваться отдельно). Для создания новой сети необходимо щелкнуть по кнопке «Новая сеть», которая находится за таблицей данных и становится активной после открытия файла данных (рис.2).
Рис. 2. Создание нейронной сети
7
4.Выбор алгоритма обучения, назначение требуемой точности прогноза, настройка параметров нейронной сети.
Обучение нейронной сети на некотором задачнике производится градиентными методами оптимизации, градиент вычисляется по принципу двойственности. В программе реализованы четыре алгоритма оптимизации:
- градиентный спуск;
- модифицированный ParTan;
- метод сопряженных градиентов; - квазиньютоновский BFGS-метод.
При создании нейропроекта в качестве алгоритма по умолчанию принимается ParTan. Изменение алгоритма осуществляется через пункты меню «Настройка» – «Метод оптимизации».
Примеру задачника соответствует запись (строка) файла данных. Для включения записи файла данных в задачник в записи должны присутствовать данные для всех полей, используемых нейронной сетью в качестве входных и выходных. Обучение прекращается при достижении заданной точности решения задачи либо при невозможности дальнейшей оптимизации.
Нейросеть может решать одновременно несколько задач как прогнозирования (предсказания значений нескольких количественных признаков), так и задачи классификации (предсказания состояний нескольких качественных признаков), так и задачи прогнозирования и классификации одновременно для каждой из задач могут быть установлены свои требования к точности.
Для прогнозируемого качественного признака точность означает максимально допустимое отклонение прогноза сети от истинного значения признака. Желательно задавать как можно менее жесткие требования к точности. Это ускорит как процесс обучения, так и процесс упрощения сети. Также задачу можно будет решить на основе нейронной сети с меньшим числом слоев или нейронов и обычно на основании меньшего числа входных сигналов. Требуемая точность ни
вкоем случае не должна превосходить погрешностей получения сигнала (погрешностей измерительных приборов, погрешностей огрубления значений при вводе их в компьютер). Так если значение признака изменяется в диапазоне [0,10] и измерительный прибор имеет собственную точность ±0,1, то нельзя требовать от сети предсказания с точностью ±0,01.
Для качественного признака точность (надежность) означает уверенность в принадлежности качественного признака тому или иному дискретному состоянию. Чем больше уровень требуемой уверенности, тем более надежно должна сеть диагностировать отличия каждого дискретного состояния от других.
5.Обучение НС решению задачи предсказания или классификации.
Число входных и выходных сигналов сети ограничено максимальным числом полей в файле данных и не может в сумме превышать 255 или 511 (в зависимости от файла данных) сигналов. Каждому входному и выходному сигналу соответствует поле в файле данных. Однако при обработке качественных признаков, каждому входному или выходному полю могут соответствовать не-
8
сколько входных или выходных сигналов сети. Процедура задания входных и выходных сигналов новой сети изображена на рис. 3.
Нейронная сеть может обрабатывать только поля в файле данных, содержащие числовые значения. Из всего набора полей в файле данных можно выбрать отдельные поля для обработки нейросетью.
Обрабатываемые поля могут быть непрерывными (количественными) и дискретнозначными (качественными).
Каждое количественное поле в файле данных будет соответствовать одному входному или выходному сигналу сети. Перед подачей количественных входных полей нейронной сети происходит их нормировка в диапазон значений [-1,1] по каждому полю. Выходные сигналы сети нормируются в диапазон истинных значений.
Рис. 3. Задание входных и выходных сигналов новой сети
После описания всех входных и выходных сигналов сети необходимо задать ее структуру (число слоев нейронов, число нейронов в каждом слое и характеристику – коэффициент преобразователя нейрона). Задание структуры новой сети изображено на рис. 4.
9
На настоящий момент имеется возможность работы только со слоистыми и слоистыми монотонными нейронными сетями с числом слоев нейронов от 1 до 10, числом нейронов в слое – до 100. Число нейронов в слое не зависит от числа входных сигналов и числа выходных сигналов. После последнего слоя нейронов сеть имеет слой адаптивных сумматоров с числом сумматоров, равным числу выходных сигналов, с которых и снимаются выходные сигналы сети.
Веса синапсов при обучении могут изменяться в диапазоне [-1,1], при создании сети инициируются случайными числами.
Нелинейная функция нейрона имеет вид f(A)=A/(c+|A|), где c – параметр крутизны переходного участка сигмоидной функции, который задается при создании сети в диапазоне от 0,0001 до 1 и не изменяется при обучении. Параметр крутизны (характеристика) может задаваться отдельно для каждого слоя сети.
Рис. 4. Задание структуры новой сети
После задания структуры сети необходимо щелкнуть по кнопке «Создать» и в главном меню выбрать пункты «Нейросеть» – «Обучение». Окончание процесса обучения изображено на рис. 5. Скорость обучения зависит как от сложности обучающей выборки, так и от заданной для выходного поля точности обучения
10
(рис. 3). Необходимо обращать внимание на то, чтобы сеть правильно решала все примеры обучающей выборки.
Рис. 5. Результат обучения сети
6. Тестирование нейронной сети на файле данных («Нейросеть» – «Тестирование»).
Результаты тестирования нейронной сети изображены на рис. 6. Для каждого выходного поля сети нейроимитатор указывает прогнозное значение и ошибку, а в нижней части таблицы – количество правильных и неправильных ответов, среднюю и максимальную ошибку.
Рис. 6. Результаты тестирования нейронной сети