Боровиков В.П. - Нейронные сети (778916), страница 38
Текст из файла (страница 38)
Для этого нажимаем кнопку Предсказанные. Скопируем эти данные из таблицы Предсказанные в исходный файл данных, заменив ими первоначальные входные, но оставив исходные выходные переменные. Таким образом, будет построено обучающее множество для понижения размерности. 6. Построить другую (обрабатывакнцую) сеть и обучить ее на построенном на предыдущем шаге обучающем множестве.
7. С помощью Инструмента Редактор наборов добавляем обрабатывающую сеть к препроцессирующей сети. При этом будет построена единая сеть, которая одновременно препроцессирует и обрабатывает данные. 180 Гпаеа Х Практические исаевы пс решению задач ВЫБОР АРХИТЕКТУРЫ СЕТИ В пакете ЮТ Уеига! !Уетнрогкз возможны два варианта выбора архитектуры сети: метод проб и ошибок и использование автоматического конструктора сети. При выборе архитектуры методом проб и ошибок стоит придерживаться определенных описанных ниже эвристических правил.
Кроме того, в пакете о Т Меига! !Уепиог!Ге имеется возможность использовать установки по умолчанию, которые в некоторых случаях дадут неплохой результат. Пока вы экспериментируете, программа будет автоматически хранить лучшую из сетей, полученных к данному моменту. После окончания поиска ее можно будет снова вызвать и работать с ней. Метод проб и ошибок описан в следующих разделах. Мастер решений позволяет «автоматическн» проделать все эти эксперименты. При этом он пробует сети самых разных архитектур, с помощью весьма сложных алгоритмов оптимизации и поиска выделяет наиболее перспективные варианты и, наконец, выдает наилучшую из опробованных сетей.
Такой процесс может оказаться весьма долгим, поскольку при этом требуется обучить и протестировать сотни тысяч различных нейросетевых моделей. Типы сетей Если вы располагаете только входными переменными, необходимо использовать сеть Кохонена. Для всех остальных случаев мы дадим несколько общих советов (таблица).
Первьй шаг Высокая скорость обучения делает байесовы сети хорошей начальной точкой в решении задачи: если такая сеть совсем не может решить задачу, то, вероятно, что этого не сможет сделать и сеть другой архитектуры. Сравнение ее с линейной моделью поможет вам представить, насколько в задаче сильны нелинейные эффекты. 181 Неоронные сеген. ЗТАТ!ЗТГСА перга! НегаогКе Предостережение. Хотя байесова сеть обычно находит примерный путь решения задачи, она, вообще говоря, не выдает результаты такого качества, как сети других архитектур. Второй шаа Теперь можно попробовать другие архитектуры сетей.
Иногда МЕР-сети дают гораздо лучшие результаты, чем байесовы (благодаря нерадиальным элементам), в то время как радиальные базисные функции аналогичны по своей структуре байесовым сетям и дают похожие результаты. Поэтому хорошим вторым шагом будет попробовать МЕР и посмотреть, есть ли существенная разница.
Если М1.Р-сети диог результаты хуже, чем байесовы, имеет смысл обратиться к РБФ: в них используется тот же радиальный подход, что и в байесовых сетях, но они компактнее. Во всех случаях следует помнить, что на результат обучения сети могут сильно влиять параметры алгоритма обучения, поэтому не стоит отвергать какую-либо архитектуру, не проделав с ней серию экспериментов. Окончательный выбор зависит и от того, какая требуется скорость выполнения. Как правило, чем меньше сеть, тем дольше она обучается и тем быстрее работает.
Самое трудное — выбрать число промежуточных слоев и число элементов в них. Вот несколько советов, которые могут в этом помочь. ° При использовании многослойного персептрона для большинства задач достаточно одного промежуточного слоя. Если даже при большом числе скрытых элементов не удается уменьшить ошибку до приемлемого уровня, можно попробовать сеть с двумя промежуточными слоями.
° Чем больше число скрытых элементов в сети, тем более сложную задачу она может моделировать, но при этом потребуется более длительное обучение и возникнет опасность переобучения. При экспериментировании следите за тем, как меняются обучающая и контрольная ошибки, Если при добавлении новых элементов уменьшаются обе ошибки, то, по-видимому, сеть пока слишком мала. Если же контрольная ошибка стала намного больше, чем ошибка обучения (и, в частности, если она увеличивается при дальнейшем обучении), то, вероятно, что данная сеть слишком большая. ° Общее число весов и пороговых коэффициентов в сети должно быть меньше, а лучше — намного меньше, чем число обучающих наблюдений.
В идеале нужно иметь количество наблюдений в 10 или 20 раз больше, чем имеется весов. Если обучающих наблюдений недостаточно, следует ограничиться сетями небольших размеров, поскольку для моделирования сложной функции попросту недостает данных. Если число наблюдений меньше, чем число входов, умноженное на число 182 Гпава 7. Практические советы по решению задач выходов, следует использовать только линейные модели, Недостаток данных — одна из возможных причин для удаления некоторых входных переменных.
Даже если эти переменные содержали какую-то информацию, их удаление и последующее уменьшение размера сети может улучшить результат. Автоматический конструктор сети Одна из наиболее трудных задач при построении нейронной сети — выбор архитектуры, а после того, как архитектура выбрана, — задание ее свободных параметров (количества скрытых элементов и управляющих параметров алгоритма обучения). Правильный выбор свободных параметров в большой степени зависит от сложности задачи, которую нужно решить, и поскольку заранее неизвестно, насколько задача сложна, необходим ряд экспериментов. Мастер решений пакета ЯТ №ига1 №гвог1гз подходит к этому как к задаче оптимизации, и с помощью довольно сложных методов осуществляет автоматический поиск подходящего устройства сети.
Этот метод не может. уменьшить сложность исходной задачи или присутствующий в ней уровень помех, поэтому нет гарантии, что будет найдено абсолютно лучшее решение. Кроме того, метод требует большого времени счета, потому что при этом выполняется очень большое число экспериментов. В то же время проведение большого числа экспериментов вручную требует еще большего времени и участия пользователя, тогда как автоматический конструктор сети можно, например, оставить работать в автономном режиме на длительное время, в течение которого он успеет перепробовать сотни тысяч вариантов даже для весьма сложной задачи. Следовательно, этот алгоритм имеет больше шансов построить хорошую сеть, чем даже очень опытный исследователь. Пользователь может указать, какие типы сетей нужно пробовать и сколько итераций каждого теста проводить. В общем случае автоматический конструктор сети тестирует каждый тип архитектуры в два этапа.
Сначала путем выявления минимумов ищется «удовлетворительное» решение задачи. На это уходит обычно 10 — 20 итераций. На этом этапе могут попадатьея локальные минимумы в пространстве поиска, вызванные помехами в данных. Затем для более тщательного поиска применяется один из вариантов метода «отжига». Здесь последовательно пробуются различные варианты архитектур, и при этом поиск концентрируется на наиболее перспективных участках. Этот алгоритм ужс вполне может справиться с локальными минимумами и не подвержен влиянию помех. При тестировании многослойных персептронов (этот тип сетей сложнее всего для построения) для большей эффективности автоматический конст- 183 Недоенные сеген.
ВТАТ18Т!СА Неога! 'гге[егогне руктор сети использует метод спуска по сопряженным градиентам с ранней остановкой (сразу же после начала переобучение). ПОПЬЗОВАТЕПЬСКИЕ АРХИТЕКТУРЫ СЕТЕЙ Те готовые архитектуры сетей, которые создаются программой БТ Иеига1 №1геогКз, относятся к числу наиболее широко используемых. Однако построенные таким образом сети не обязательно будут лучшими из всех возможных. В особенности это относится к многослойным персептронам. В этом разделе даются некоторые советы относительно того, как путем настройки можно улучшить качество работы сети. Сети дпя задач классификации Задачи классификации в пакете БТ №ига1 №пеогкз подразделяются на две категории: задачи с двумя классами, где используется один выходной элемент, и задачи со многими классами, где сеть содержит три или более выходных элементов.
Задачи с двумя кпассамц В задаче с двумя классами целевое выходное значение равно либо 1 (что означает принадлежность одному из классов), либо О (принадлежность другому классу). Задачи со мнсаимц кпассамц В задаче со многими классами целевое выходное значение у элемента, соответствующего правильному классу, равно 1, а у остальных элементов — О. Полезно представлять себе выходные значения как вероятности, 1.
В задаче с двумя классами единственное выходное значение можно считать оценкой, которую сеть дает для вероятности того, что данное наблюдение принадлежит «положительному» классу (1). 2. В задаче со многими классами выходные значения можно считать оценкой вероятности принадлежности отдельным классам, при условии, что их сумма по всем классам пронормирована на единицу. В пакете БТ 1Чеита! №ггеоЖз имеются средства поддержки обоих вариантов интерпретации.
Сети цпя зацач с цвумя кпассами Сеть для двух классов реализуется стандартной логистической функцией активации в выходном элементе, поскольку выходное значение всегда лежит в интервале (О; 1). 184 Гвава 7. Пракюоческке советы гю решению задач Однако характеристики такой сети иногда удается улучшить, выбрав для параметра Функция ошибок — Еггог7ипсбоп значение Энтропия (простая)— Епггору (в!пя!е). Стандартная среднеквадратичная функция ошибок (Бит-йуиагес!) теоретически больше подходит для задач регрессии. Сети 9пя за9ач со многими кпассами Выходные значения сети в задаче со многими классами можно интерпретировать как вероятности, если их пронормировать на единичную сумму.
Чтобы сделать это в пакете БТ Мента! Мепеог7гв выберите для выходного слоя функцию активации Софтмакс — Юо!)тах (с помощью Редактора сети— Ме~ог7с Ес!йог), а для параметра Функция ошибок — Еттог !и псг!оп — тип Энтропия (множествепная) — ЕпГГору (ти!бр!е). В функции Софтмакс используется взвешенная и нормированная на единицу сумма экспонент, и эта функция по свойствам близка к логистической. Можно показать, что если входные данные представляют собой выборку из какого-то экспоненциального распределения (самым известным примером экспоненциального распределения является нормальное), то выходы софтмакс-элементов можно трактовать как вероятности. Вероятности принадлежности наблюдения разным классам (а не только сами классы, которые им назначила программа ЗТ Меига! №7вог!Гв) можно посмотреть в диалоге результатов.
Побавпение матрицы потерь Если сеть обучена с таким расчетом, чтобы выходные значения были оценками вероятностей, программу ЮТ Меига! Мегиог!Гв можно настроить так, чтобы учитывать матрицу потерь (В1апор, 1995). В самом простом варианте оценки вероятности используются непосредственно — наблюдение относится к наиболее вероятному классу. Разумеется, при этом сеть иногда может ошибаться (и будет ошибаться, если в данных содержатся помехи). Однако бывает так, что одни ошибки обходятся дороже других. Например, при диагностике серьезного заболевания назначение лечения человеку, который на самом деле здоров, можно считать менее серьезной ошибкой, чем отсутствие лечения для действительно больного.















