Боровиков В.П. - Нейронные сети (778916), страница 28
Текст из файла (страница 28)
В пакете ЮТ Феига! Фе!гвог!гз предусмотрены различные форматы вывода Различные опции находятся на вкладке Дополнительно. Прогон гсего набора данных Для тестирования сети на всем наборе данных служит инструмент Запустить модель, доступ к которому осуществляется через стартовое окно Нейронных сетей. Если требуется прогнать наблюдения из активной таблицы, то можно непосредственно запускать указанный инструмент. Если нужно запустить сеть на новых данных, то сначала необходимо указать новый источник данных и входные переменные. В результате работы инструмента мы переходим к стандартному окну Результаты.
При этом статистики для сетей имеют значения, которые они принимали для обучающего набора данных. Все остальные результаты относятся уже к новым данным. Тесгпырованые на опздепьном набпизденци Иногда необходимо протестировать сеть на отдельном наблюдении, не принадлежащсм никакому набору данных. Причины для этого могут быть такис: ° обученная сеть используется для построения прогнозов на новых данных с нсизвестными выходными значениями; ° вы хотите поэкспериментировать с сетью, например, проверить чувствительность результата к малым изменениям в данных. Тестирование заданных пользователем наблюдений проводится из окна Прогноз для иаблгодения пользователя (см. рис. 5.7), доступ к которому осу- 132 Гпава 5.
Первые шаар в ЗТАТ!ЯТ!СА Неага! НеГ»гог«а ществляется через вкладку Дополнительно — Наблюдение пользователя меню Результаты. Для этого нужно нажать кнопку Значение пользователя и ввести в появившуюся таблицу требуемые значения входных переменных грис. 5.8). Рас. 5,8 Нажимаем ОК, а в окне Прогноз для наблюдения пользователя— Прогнать текущее. Попробуйте, например, немного поменять значения исходных данных задачи «исключающего или», например, задать в какой-нибудь строке числа 0,1 и 0,9. Как правило, нейронные сети неплохо работают при наличии помех.
При малых возмущениях исходных значений результаты будут близки к ожидаемым. ПРОВЕььЕНИЕ КПАССИФИКАИИИ Введение Решение задач классификации — одна из наиболее важных областей применения нейронных сетей. В таких задачах входные данные представляют собой рсзультаты измерений некоторых характеристик объекта. Цель состоит в том, чтобы определить, к какому из нескольких заданных классов принадлежит этот объект. Обычно классов бывает ровно два (или один, и наблюдение может либо принадлежать, либо не принадлежать ему). Задача «исключающего илн» вЂ” пример задачи классификации с двумя классами.
Наблюдение может принадлежать или нс принадлежать классу Хоп В пакете БТ )г!еига! йГегиог!гз можно работать с так называемыми номинальными переменными (или атрибутами), т.е. с переменными, которые мо- 133 Неаронные сете. ВТАТ!8Т!СА Иеоге! Не!веже гут принимать конечное число значений, представленных в виде строк текста. Простейший пример — переменная Пол = (Муж, Жен), это номинальная переменная с двумя возможными значениями (состояниями). В задаче «исключающего или» выходная переменная как раз должна быть номинальной переменной с двумя состояниями: Хог = (Га!зе, Тгие). В описываемой программе номинальными могут быть как входные, так и выходные переменные, и имеется много способов преобразования содержащейся в них нечисловой информации к виду, понятному нейронной сети, и наоборот, способов интерпретировать числовой выход сети как номинальную переменную.
Поддержка номинальных переменных — органическая часть системы пре- и постпроцессирования пакета БТ Меига! )Уе!ног!гд Проиллюстрируем сказанное, видоизменив пример Хог таким образом, чтобы выходом была номинальная переменная. Задача Хог с номонапьно0 выходноо переменной Начнем с того, что заново определим набор данных. Используем команду Создать — Таблица. Указываем число переменных равным 3, число наблюдений -4. В открывшейся таблице зададим имена переменных Р!ге!, Яесоги! и Хог (дважды щелкая на заголовках столбцов).
Переменная Хог — номинальная, она принимает два значения: Га!зе (Ложь) и Тгие (Истина), Ряс. 5.9 Теперь можно внести данные наблюдений, чтобы набор данных выглядел, как на рис. 5.9. Вводить значения номинальной переменной можно разными способами: напрямую напечатать слова (Тгие или Га!зе), ввести некоторые кодовые значения, а затем в Редакторе текстовых меток задать соответствующие тскстовые значения. После того, как таблица данных будет создана, создайте ссть с помощью модуля Нейрою!ые сети. Выберем тип задачи — Классификация, зададим 134 Гпава о. Первые шаги в ЗТАТ!ЗТ!СА Неига! Не!аогьв переменные и выберем инструмент Конструктор сетей.
На следующем окне выберем тип сети — Многослойный Персептрон. Задайте число скрытых элементов равным двум, Обучите сеть с помощью алгоритма обратного распространения (при этом все имеющиеся наблюдения будем использовать в качестве обучающей выборки). Замечание. Функция преобразования для выходной переменной будеп! изменена с Минимакс на Биполярная: программа БТ №ига! №зиюгйв автомапшчески определила, что это двузначная номинальпая выходная переменная, и сооп!ветс!нвуюгцим образом изменила режим препроцессирования.
Такой способ — обычный при решении на нейронной стпи задачи двузначнои «ласс!!фикации !!п.е. с двумя «лассами): двузначной неременнои соответсп!вует одии выходнои элеменп!, копюрый буден! выдавать значение! для одного из классов и 0 — для другого. Все промежуп!очные значения выражают ту или индю степень уверенности в том, что наблюдение принадлезкит данному классу.
На практике стандартный многослойный персептрон на выходе никогда не выдаст точно 0 или 1, а лишь, быть может, близкие к ним значения. Таким образом, естественно будет установить доверительные уровни или пределы. Например, доверительные уровни можно задать так, чтобы точки выше 0,95 объявлялись принадлежащими к одному классу, а точки ниже 0,05 — к другому. Установка доверытепьных уровне0 Доверительныс пределы для классификации устанавливаются в пакете 3Т денга( Иепвогкз в Редакторе сети на вкладке Пороги, которое открывается командой Правка.
Другой способ доступа к этому параметру — в диалоге Обучение на вкладке Классификация. В поле Принять задается минимальное значение выхода, при котором наблюдение будет считаться принадлежащим к «положительному» классу; поле Отвергнуть содержит максимальное значение выхода, при котором наблюдение будет отнесено к «отрицательному» классу. Интерпретацця резупьгпатов кпассцфцкаццц При прогоне сети из окна Прогноз для наблюдения пользователя или инструментом Запустить модель программа ЯТ Иеига1 Уе1и огкз производит постпроцсссирование выходных значений с учетом довсритепьных пределов и присваивает значения выходной переменной по следующим правилам.
° Если выход превысил порог принятия, то наблюдение классифицируется положительно и выдается второе из двух номинальных значений (в нашем примсре Тгие). 135 Нваронкые репа. 8ТАТ!ЗТ!СА Неыа! Метой» ° Если выход был нижс порога отвержения, наблюдение классифицируется отрицательно и выдается первое из двух номинальных значений (в нашем примере Га1зе).
° Если выход лежит между двумя порогами, классификация объявляется неопределенной и выходная переменная приобретает «пропущенное» значение (отображается пробелом в таблице предсказанных значений). По умолчанию в пакете оТ Хеига! №Гпогяз выдаются именно эти номинальные значения выходных переменных. Однако, вполне вероятно, что вы захотите узнать истинные уровни доверия, которые сеть присвоила наблюдениям до постпроцессирования (т.е. уровни активации выходного элемента). Установите флажок у опции Уровни доверил в окне Результаты— Предсказанные и в таблице будут показаны уровни активации выходного элемента сети.
Сптагписгпики классификации Таблица со статистиками, отражающими результаты и качество классификации, выводится нажатием кнопки Описательные статистики в окне Результаты — Быстрый или Результаты — Описательные. Рис. 5.10 Описательные статистики разбиты на две части: суммарные статистики и статистики присваивания. Они выводятся в отдельные таблицы (рис. 5.10). 136 Глава 5.
Первые шаги в ЗТА'ПЗТЮА Неига! Неачегав Итоговые статистики Всего. Общее чиспо набпюдениб в атом наборе данных 1. Правильно. Количество наблюдений из этого класса, которые сеть классифицировала правильно. 2. Ошибочно. Количество наблюдений из этого класса, которые сеть неправильно классифицировала как относящиеся к другому классу. 3.
Неизвестно. Количество наблюдений из этого класса, которые сеть не смогла классифицировать. Матрица ошибок Здесь показано, сколько наблюдений из каждого класса было отнесено к каждому из возможных классов, включая правильный. Неясные наблюдения ие отражены. Эта информация позволяет более подробно выяснить причины неправильных классификаций. Замечание. Стапгислгики классификации аепюматически обноел»- ются после запуска сепги и для их пересчета не требуется никаких специальных действии Закпючение Из материала этой главы вы узнали, как создать и обучить стандартный многослойный персептрон в системе ЯТ Уеига1 Уегзиогкз, как запустить его и проанализировать полученные результаты. В следующей главе описано, как создавать сети других типов и решать с помощью пакета БТ Иеига1 №гиогкк более сложные задачи регрессии и классификации. Глава 6 0АПЬНЕЙШИЕ ВОЗМОЖНОСТИ НЕЙРОННЫХ СЕТЕЙ В этой главе подробно рассмотрены различные варианты конструирования сетей и дополнительные возможности, реализованные в пакете БТ №ига! №п«огкэ: 1) решение задач классификации с несколькими классами; 2) кросс-проверка; 3) различныс архитектуры сетей; 4) применение нейронных сетей к задачам регрессии; 5) вероятностныс и обобщенно-регрессионные сети; б) автоматический конструктор сетей; 7) генетический алгоритм отбора входных данных (крепе!!с А!дог!!7пп 1при! Юе!ес!!оп); 8) применение нейронных сетей к задачам прогнозирования временных рядов.















