Круглов В.В., Борисов В.В. - Искусственные нейронные сети (ИНС) Теория и практика (778918), страница 29
Текст из файла (страница 29)
Завершить/Готово — кнопка принудительного завершения или подтверждения прекращения процесса обучения, ипи упрощения сети. 6.2.6. Тестирование нейронной сети После обучения нейронной сети можно провести тестирование ее прогностических возможностей. Для этого нужно выбрать пункт меню Нейросеть/Тестирование Результат тестирования сети выводится в Окно тестирования сети (рис. 5.17) и представ- 179 ляет собой выходные данные для нейронной сети, а также значе ния прогноза этих полей нейронной сетью Если для какой-либо строки в файле неизвестно значение выходного поля, то для этой записи будет выведен только прогноз сети Если у строки отсутствует хотя бы одно входное поле, прогноз сети будет отсутствовать Рис 517 Окнотестирования нейронной сети 6.2.7.
Вычисление показателей значимости входных сигналов сети Для вычисления показателей значимости входных сигналов нейронной сети необходимо выбрать пункт меню Нейросеть/Значимость входов Вычисленные показатели значимости выводятся в Окно значимости входов (рис б 18) Данное окно отображает текущую значимость входных сигналов для принятия сетью правильного решения Значимость (в относительных единицах) отображается в виде гистограммы, где наиболее значимому входу соответствует наиболее длинный столбец гистограммы Для отконтрастированных входных сигналов значимость равна О Если отмеченное окно отображено на экране, и для данной нейронной сети запускается процесс упрощения, то зто окно динамически изменяет отображаемые данные после каждого пересчета показателей значимости входных сигналов (на каждом шаге упрощения, т е при исключении входного сигнала или контрастировании/бинаризации синапса) 180 Рис 5 18 Окно значимости входов нейронной сети 8.2.8.
Упрощение нейронной сети Не все входные сигналы сети и синапсы нейронов необходимы для правильного решения сетью задачи Часто можно достаточно существенно упростить сеть без ухудшения точности решения задачи Основными результатами проведения процесса упрощения сети являются следующие ° сокращается число входных сигналов сети Если правильно решить задачу можно на основе меньшего набора входных данных, то зто может в дальнейшем сократить временные и материальные затраты на сбор информации, ° нейронную сеть более просто можно будет реализовать на аппаратной платформе, ° сеть может приобрести логически прозрачную структуру Известно, что почти невозможно понять, как обученная нейронная сеть решает задачу После упрощения нейронная сеть становится достаточно обозримой, и можно попытаться построить алгоритм решения сетью задачи на основе графического представления или вербального описания структуры сети Для упрощения нейронной сети имеются следующие операции в меню Нейросеть ° Сокращение числа входных сигналов — удаление наименее значимых входных сигналов ° Сокращение числа синапсов — удаление наименее значимых синапсов сети 181 ° Сокращение числа неоднородных входов — удаление наименее значимых неоднородных входов нейронов сети.
° равномерное упрощение сети — сокращение числа приходящих на нейроны сети сигналов до задаваемого пользователем. ° Бинаризация синапсов сети — приведение значений весов синапсов и неоднородных входов нейронов к значениям -1 и 1. Упрощение нейронной сети проводится до тех пор, пока возможно обучение нейронной сети до нулевой средней оценки. Текущая информация выводится в Окно обучения и упрощения сети. Упрощение может прекратиться, когда уже все синапсы, подлежащие контрастированию или бинаризации, соответственно отконтрастированы или бинаризованы. Нейрон сети считается отконтрастированным, когда у него нет ни одного входного сигнала или сигнал данного нейрона не используется нейронами следующего слоя.
Поэтому нейроны сети можно контрастировать, не вводя специальной операции, а пользуясь только контрастированием сигналов и синапсов. Если пользователя не удовлетворяет число отконтрастированных входов/синапсов, то можно попробовать дообучить сеть с более сильными требованиями к точности решения задачи и, вернувшись к прежней точности, запустить процесс упрощения вновь. Часто это помогает отконтрастировать большее число нейронов. Как показывает опыт, простое сокращение числа синапсов может удалять как наименее значимые входы, так и «лишние» нейроны сети.
Однако для более простого понимания решения задачи часто бывает необходимо упрощать сеть по более сложным правилам, в первую очередь, равномерно прореживая структуру синапсов сети, а толью потом удалять наименее значимые входы и нейроны сети. Диалог равномерного упрощения сети содержит следующие элементы: ° Максимальное число сигналов на нейрон — максимальное число сигналов, приходящих на нейрон. У каждого нейрона сети последовательно будут контрастироваться наименее значимые синапсы до тех пор, пока число оставшихся у нейрона синапсов не будет превышать заданного числа.
По умолчанию максимальное число сигналов на нейрон принимается равным 3. ° Упрощение — запускает процесс равномерного упрощения сети с заданным максимальным числом сигналов. ° Отменить — отменяет запуск процесса упрощения. 182 8.2.Э. Вербализация нейронной сети Дпя получения вербального описания текущей нейронной сети необходимо выбрать пункт меню Нейросеть!Вербализация. Вербальное описание сети выводится в Окно вербального описания сети (рис. 5.19). На основе вербального описания можно попытаться восстановить набор правил, используемых сетью дпя правильного решения задачи. !Син«доомы 1-го уровня Синдром1 1.Сигмоида1(0.01448745*Гол выборов+0.0 Синлрам1 2-Сигмоида1(-0,09861302*Год выборов-0 0 Синдром1 3 Сигмоила1(0 01 647758"Год выборов-0 0: Син«ц«ом! 4=Сигмоида1 (-0,07! 11945*Год выборов+ОЛ синдром1 5.сигмоида!(-0.01864167*Год выборов-0.0 $ Синдром\ 6-Сигмоила1(0.01496047"Год выборов-0.1' Д Синдром! 7*сигмоида!(-0,04553512'Год выборов-0.0 Синдрои1 8"Сигмоида1(-001509749 Голвыборов+ОЛ Синдром1 9-Сигмоила! (-О 099927"Год выборов-0,118 Синдром1 ! 0-Сигмоидац 0,01744646'Год выборов-ОГ «[, Рнс.
5.19. Окно вербального описания нейронной сети Окно вербального описания сети содержит текст, описывающий нейронную сеть. Отконтрастированные входные сигналы, синапсы и нейроны сети в тексте не описываются. В текст включены следующие разделы; ° поля базы данных БД (исходные симптомы) — имена попей файла данных, которые используются сетью в качестве входных; ° поля базы данных (конечные синдромы) — имена полей БД, значения которых прогнозирует нейронная сеть; ° предобработка входных полей БД для подачи сети — правила нормирования входных сигналов в диапазон [ — 1, 1) дпя подачи нейронной сети; ° функциональные преобразователи — описания используемых на каждом слое сети функциональных преобразователей нейронов; ° синдромы первого уровня — описание преобразования входных сигналов сети нейронами первого слоя сети; 183 ° синдромы второго уровня — описание преобразования входных сигналов сети нейронами второго слоя сети (если у сети два и более слоев нейронов), в конечные синдромы — описание вычисления значений прогнозируемых полей файла данных, ° постобработка конечных синдромов — правила нормирования выходных сигналов сети из диапазона [-1, 1] в диапазон истинных значений Данное вербальное описание нейронной сети может быть сохранено на диске в текстовом файле 5.2.10.
Правила работы с нейропакетом Рассмотрим теперь правила работы с нейропакетом на примере задачи «Исключающее ИЛИ» Последовательность действий при этом такова 1) Подготовка исходных данных (обучающей выборки, задачника) Ранее отмечалось, что пакет )чеигоРго использует данные, представленные в виде электронных таблиц форматов * г)Ь( (СУБД г)Вазе, ЕохРго, Сйррег) и *оЬ (СУБД Рагаоох) А что делать, если отмеченные СУБД на компьютере пользователя не установленыт Срочно устанавливатьо Необходимости в этом нет при наличии Ехсе( Подготовим исходные данные в Ехсе), снабдив все столбцы соответствующими именами (рис 5 20) оЩ~и1 и1Шу~ кЩв кк ° ииы си '(Тл Я )ж)к~ ч Рис б 20 Таблица с данными обучающей выборки Теперь выделим все ячейки, укажем их формат как числовой, например, с двумя знаками после запятой и после этого со- 184 храним таблицу, используя опцию меню Файл!Сохранить как, в формате оВаве, например, под именем Хог бЫ 2) Создание проекта Запустим нейропакет В появившемся окне программы с помощью опции меню ФайлгСоздать перейдем к окну вида рис 5 21 Рис 5 21 Окно создание новой нейронной сети Нажмем кнопку Открыть файл данных и выберем файлы с ~асширением * ОЫ и среди них — файл Хог бЫ Откроем его, при том открытые окна приобретают вид рис 5 22 Рис 5 22 Вид окон нейропакета при подключении файла данных 185 Нажмем кнопку Новая сеть, подтвердим, что Х1 и Х2 — входы, а У вЂ” выход сети, выберем МНК для оценивания поля, присвоим новой сети имя Хог и нажмем кнопку Структура сети В появившемся окне укажем число слоев нейронов — 1, число нейронов в слое — 2, после чего нажмем кнопку Создать Окно программы примет вид рис 523 3) Обучение нейронной сети Теперь с помощью опции меню Нейросеть/Обучение или путем нажатия клавиши Р9 запустим режим обучения нейронной сети По его окончании увидим окно, аналогичное показанному на рис 5 15 Нажмем кнопку Готово 4) Тестирование нейронной сети Через пункты меню Нейросеть/Тестирование запустим режим тестирования Результаты в появляющемся окне (рис 5 24) говорят о достаточно приемлемом качестве работы нейронной сети Можно теперь делать что угодно выяснять значимость входов, пытаться упростить сеть, сохранить ее и т и Но можно перейти и к режиму ее использования, все же вначале сохранив обученную сеть (например, под именем Хог прр) 5) Использование обученной сети Подготовим какой-либо набор входных данных, также используя Ехсе!, столбец для выходных данных снабдим только названием, но заполнять не будем (рис 5 25) Сохраним файл под именем Хог(ез( в формате оЫ к/ ~к~ Ы /з1~ г/ Рис 5 23 Вид окна программы после создания структуры нейронной сети 186 Рис 5 24 Результатьг тестировании обученной нейронной сети оЩит еййл~ ~ха и гг ) Рть 2Р За~а~й Сугиза ! — г Рис 5 25 Данные длл опроса обученной нейронной сети Запустим, далее, нейропакет и откроем (как описано выше) сохраненный нейропроект В появившемся окне нажмем кнопку Открыть файл данных и далее откроем файл Хот(е51 с)Ы Перейдем в окно Нейронные сети и в меню выберем пункт Нейросеть)Тестирование Полученный результат приведен на рис 5 26 с)н) ).Ы () ° т) Рис 5 25 Результаты опроса нейронной сети 187 Как видно, данные результаты также можно считать удовлетворительными по точности 6.2.11.