Боровиков В.П. - Нейронные сети (778916), страница 33
Текст из файла (страница 33)
Давайте откроем файл данных УпзйФЬга, Тип задачи — Классификация и убедимся, что последняя переменная задана как выходная, а остальные — как входные (за исключением ХАЕТ, содержащей код выборки). Откроем диалоговое окно Конструктор сети, выберем в поле Тип вариант Вероятностная нейронная сеть (ВНС) н нажмем ОК. Выходная переменная автоматически кодируется по методу 1-из-Ф, так что сеть будет содержать по одному выходному элементу на каждый класс; каждому обучающему наблюдению будет соответствовать один элемент в промежуточном слое.
Рассмотрим диалоговое окно Вероятностная нейронная сеть (ВНС) обучение (рис. 6.9). Здесь нужно задать несколько параметров обучения РХХ-сети: коэффициент сглаживания, а также по желанию априорные вероятности и матрицу потерь (если выбрана соответствующая опция, см далее). Ркс. 6.9 Коэффициент сглаживания (Ютоогп|щ) определяет ширину гауссовых функций с центрами в каждом обучающем наблюдении„которые будут функциями активации элементов первого скрытого слоя (рис.
6.10). Малый показатель сглаживания приведет к аппроксимирующей функции : резкими пиками, и такая сеть, возможно, будет давать хорошие результаты на обучающем множестве, но не будет способна к обобщению (и, следовательчо, будет давать плохие результаты на контрольном множестве). 157 Неаронные саво. ЗТАТ!ЗТ!СА Монга! Ме!аогМа Рве.
6.10 Наоборот, большой показатель сглаживания даст «размазанную» гладкую аппроксимацию, которая, возможно, будет не слишком хороша на обучающем множестве, но будет хорошо обобщать на наблюдениях из контрольного множества. Как правило, этот алгоритм не слишком чувствителен к точному выбору коэффициента сглаживания. Попробуйте для него несколько значений в интервале от 0,1 (обычно это разумная нижняя граница) до 10. Итоговую ошибку можно увидеть в итоговом окне результатов или на Графике обучения. Следить нужно за контрольной ошибкой (ошибку обучения всегда можно сделать сколь угодно малой, выбирая все меньший коэффициент сглаживания, пока не будет достигнута машинная точность при вычислении гауссовых кривых).
Если взять коэффициент сглаживания 0,01, то, скорее всего, ошибка обучения будет очень мала, а контрольная ошибка — очень большой. Априорные вероятности следует использовать в тех случаях, когда заранее известно, что обучающая выборка имеет смещение. Пусть, например, в задаче с двумя классами в популяции в целом имеется всего 1% положительных наблюдений, а в нашем обучающем множестве их 50е~о. Поскольку РХХ-сеть оценивает вероятность принадлежности к классу, складывая «оценки плотностей» с центрами в каждом наблюдении, результат будет иметь сильное смещение и его необходимо скорректировать так, чтобы учесть различие между популяцией и выборкой.
Чаще всего, однако, обучающие наблюдения выбираются случайно и тогда корректировать вероятности не нужно. Если мы не обладаем никакой дополнительной информацией, то в качестве рабочей гипотезы можно принять, что набор данных хорошо представляет структуру популяции. В этом случае также нет необходимости задавать значения априорных вероятностей. После того, как вы попробуете несколько разных коэффициентов сглаживания и построите РХХ-сеть с наименьшей контрольной ошибкой, ее можно будет запустить обычным способом. Пороги принятия и отвержсния уста.
навливаются в Редакторе сети или в диалоговом окне Вероятностнал 158 Гвввв 6. цапьивашчв возможносвч нваронных свтва нейронная сеть (ВНС) обучение — они задают доверительные пределы принадлежности классу. У РХХ-сетей есть такое полезное свойство, что активации выходных элементов реально являются вероятностями принадлежности классам (а не какими-то степенями уверенности, измеренными в неизвестном масштабе) и поэтому выходные значения здесь интерпретировать гораздо легче, чем в случае сетей стандартной архитектуры. Если в данных присутствуют помехи, то сеть (какая бы хорошая она ни была) неизбежно в отдельных случаях будет давать неправильную классификацию. Изначально РХХ-сеть строится так, чтобы этих ошибок было как можно меньше.
Однако в реальных приложениях бывает так, что одни ошибки классификации обходятся дороже, чем другие. Это обстоятельство можно учесть с помощью матрицы потерь. Для этого в стартовом окне Конструктора сетей необходимо на вкладке ВНС установить флажок у пункта Включить матрицу потерь в окне Вероятностная нейронная сеть (ВНС) обучение. Откроем опять диалоговое окно Конструктор сетей и включим матрицу потерь. Матрица потерь выводится на соответствующей вкладке окна Вероятностная нейронная сеть (ВНС) обучение. Ее коэффициенты выражают цену различных типов ошибок классификации, при этом столбцы соответствуют истинным, а строки — назначенным классам. На главной диагонали матрицы потерь всегда стоят нули, потому что правильный ответ не влечет никаких потерь. Коэффициенты матрицы потерь можно менять, отражая тем самым цену ошибок классификации.
Например, если мы положим элемент, стоящий во второй строке и третьем столбцс, равным 10 (а все остальные внедиагональные элементы оставим равными 1), это будет означать, что мы считаем классификацию ирисов вида Регз!со1ог как Игра!са в десять раз более дорогой ошибкой, чем любая другая ошибочная классификация. Вследствие этого сеть станет более точно классифицировать вид 1гегк!со1ог за счст несколько худшей классификации вида Р!гя!и!са. Если используется матрица потерь, мы, как правило, заинтересованы в нахождении решения с наименьшими потерями и стремимся избегать «неясных» принадлежностей и «неопределенных» решений.
Для этого на вкладке Пороги нужно установить порог Лринять равным 1, а порог Отвергнуть равным О, и тогда программа БТ аппо! Фе!и ог1гз будет всякий раз выбирать класс с наименьшей ценой ошибки. 159 нввронные сепи. ЗтАт!зт!сА нечт! не!вогез Обобщенно-регрессионные нейронные сети Обобщенно-регрессионные нейронные сети (ОКХХ) используются в задачах регрессии. Их можно применять в задачах с выходными переменными любых типов, но, как правило, с одной числовой выходной переменной (Раиегзоп, 1996; В1зЬор, 1995). Мы попробуем обучить ОКХХ-сеть предсказывать значение переменной Р$ИОТН в файле 1пз$МИзга по переменным ЯЕИСТН, БКЧОТН и Р1Е1!1СТН. Укажем тип задачи — Регрессия.
В окне Редактор данных выберем переменные ЯЕФСТН, БРЛРТНи РЛЕЖСТНнезависимыми непрерывными, а переменную Р1710ТН вЂ” выходной. Откроем диалоговое окно Конструктор сетей и зададим тип сети Обобщенная регрессионная нейронная сеть (ОРНС). БТАТ1БТ1СА ФФ автоматически предложит нам сеть с таким же числом радиальных элементов (второй слой), сколько имеется обучающих наблюдений. В отличие от РХХ-сети, в ОКХХ-сети число элементов можно задать меньшим, чем число обучающих наблюдений, а при определении местоположения центров использовать алгоритм кластеризации. Заметим, число центров не может быть сделано значительно меньше числа обучающих наблюдений без потери качества результата (допустимо брать половину или треть, но не на порядок меньше). Проще всего здесь использовать все множество обучающих наблюдений.
Чтобы создать новую сеть, просто нажмите кнопку ОК. ОКХХ-сеть обучается с помощью диалогового окна Обобщенная регрессионная сеть — обучение (рис. 6.11). Рис. 6.11 Как и в случае РХХ-сети, нужно выбрать единственный параметр обучения — коэффициент сглаживания, который здесь имеет тот же смысл, что и для РХХ-сетей: он определяет ширину «шапок» гауссовых ядерных функций. В данной задаче подходящим является коэффициент сглаживания порядка 0,1. 160 Гпава 6 папьнеашое возможноспи неаронных савва Расположение центров определяется с помощью специальных алгоритмов их размещения, имеющихся в пакете БТ А!еига! А!еп«огкз.
Если число центров берется равным числу обучающих наблюдений, то нужно нажать кнопку Выборка (при этом просто копируются координаты всех центров). В противном случае обычно рекомендуется воспользоваться алгоритмом Кластеризация методом К-средних. После того, как центры размещены, нажмите кнопку ОК для запуска алгоритма обучения ОКХХ-сети. При этом будут сформированы третий и четвертый слои сети, служащие для оценки результата посредством сглаживающих ядер. После того, как сеть обучена, можно посмотреть результаты в окне Статистики регрессии.
Нужно стремиться получить на контрольном множестве величину отношения стандартных гпклонений ~ Б.Р. Яаг!о) не хуже 0,4. Как и в случае РХХ-сетей, можно добиться сколь угодно (обманчиво) хорошего значения этой величины на обучающем множестве, просто уменьшая достаточным образом коэффициент сглаживания. КОНСТРУКТОР СЕТЕЙ Обсуж9енце Основное преимущество нейронных сетей перед другими методами моделирования — их способность «учиться на примерах» (вместо целенаправленного построения модели для конкретной задачи). Алгоритмы обучения типа «метода обратного распространения» способны эффективно строить модель по имеющимся данным.
К сожалению, такие алгоритмы все же требуют от пользователя принятия важных решений: во-первых, нужно выбрать входные переменные для сети; во-вторых, нужно выбрать размер и тип (архитектуру) сети. Первый из этих вопросов в системе КТ денга! А!етногкз решается с помощью Генетического алгоритма отбора входных данных — Сене!!с А!Ког!тйт Упри! Бе!ест!он (он будет описан в следующем разделе настоящей главы).
Автоматический конструктор сети автоматически выбирает подходящий тип сети и вариант архитектуры (т.е. число скрытых элементов). В стандартном варианте большинство пользователей просто проводят серию экспериментов с сетями различных типов и архитектур, выделяя на эвристическом уровне наиболее многообещающие, после чего именно на них и сосредотачивается все внимание. Автоматический конструктор сети действует по такой же схеме и даже более формально.
Задачу определения архитектуры сети он рассматривает как задачу оптимизации и для исследования возможных вариантов архитектур использует довольно сложные методы поиска (в том числе линейный поиск и вариант метода «отжита»). 161 Нейронные севы ЗТАТ!ЗТгСА Нее!а! Не!его!!ге Таким образом, действие автоматичоского конструктора очснь напоминаст действие человека в этой жс ситуации.















