Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Запуск автоматического конструктора сети

Читайте также:
  1. Задание 2. Создание таблицы с помощью конструктора
  2. Запуск и остановка воспроизведения
  3. Запуск и управление модулем
  4. Запуск і початок роботи
  5. Запуск навигационных функций
  6. Запуск программы, основной экран

Поскольку автоматический конструктор сети требует много времени для работы, мы возьмем сокращенный вариант задачи про ирисы всего с два­дцатью обучающими и двадцатью контрольными наблюдениями.

В разделе Формирование уменьшенного набора данных описано, как соз­дать уменьшенный вариант файла данных про ирисы.

В одном из диалоговых окон для автоматического создания сети можно выбрать типы сетей, которые будут анализироваться. Они упорядочены в порядке возрастания сложности обучения. Линейные (Linear) сети почти не требуют обучения и включены сюда потому, что дают хорошую точку отсчета для сравнения эффективности различных методов. Сети PNN и GRNN также довольно просты, радиальные базисные функции

(Radial Basis Functions) устроены несколько сложнее, а трех- и четырех-слойные многослойные персептроны (Multilayer Perceptrons) - это очень сложные конструкции. Выберите в этом окне те типы сетей, которые вы хотели бы попробовать.

Автоматический конструктор сети использует немного разные алгоритмы для построения сетей PNN, GRNN, радиальных базисных функций и MLP различных типов. Однако в любом случае алгоритм будет итеративным и состоящим из двух этапов: сначала грубо выбирается подходящая конфи­гурация, затем она точно «настраивается».

Для трехслойного MLP поиск сводится к выбору числа элементов в скры­том слое. По существу, это линейный поиск для функции, содержащей помехи (при разных прогонах обучения сети, даже с одним и тем же чис­лом элементов, могут получаться немного различные результаты). На первом этапе применяется тактика «захвата в вилку»: предполагается, что сеть должна содержать не менее одного и не более чем заданное число скрытых элементов, которое определяется эвристически по числу имею­щихся обучающих наблюдений; затем применяется деление пополам для поиска оптимального числа в этом диапазоне. Поскольку поиск происхо­дит при наличии шума, на этом этапе не обязательно будет найден абсо­лютный минимум, и поэтому на втором этапе алгоритм переключается на один из вариантов метода «отжига», в котором последовательно пробует­ся различное число скрытых элементов и поиск концентрируется на наи­более перспективных участках. Обычно первый этап завершается самое большее после десяти - пятнадцати итераций, а второй этап может про­должаться неограниченное время.

Алгоритмы, применяемые для PNN и GRNN сетей очень схожи, при этом для определения подходящего коэффициента сглаживания применяется алгоритм одномерного поиска. Алгоритмы для сетей RBF и четырехслойных MLP устроены несколько сложнее, поскольку поиск здесь происхо­дит не на отрезке прямой, а на двумерной сетке (в случае сетей RBF в ре­зультате поиска определяется как число элементов, так и коэффициент сглаживания).

Одна из трудностей, связанных с таким алгоритмом поиска, заключается в том, что, вообще говоря, сеть большого размера может давать такое же качество результата, как и небольшая и, следовательно, более предпочти­тельная сеть. Как мы уже знаем, слишком большие по размеру сети страдают от переобучения, и если в задаче есть контрольное множество, то алгоритм имеет возможность это определить. Однако, по естественным соображениям эффективности, алгоритм обучения MLP (спуск по сопря­женным градиентам) используется здесь в варианте с ранней остановкой (т.е. он останавливается, как только контрольная ошибка начинает расти), и тем самым в момент остановки обучение находится в наилучшем со­стоянии из достигнутых к тому времени. Вследствие этого применяемый алгоритм оказывается менее чувствительным к переобучению, чем это можно было ожидать.

Чтобы учесть эти обстоятельства, можно задать специальный коэффици­ент Штраф за элемент - Unit Penalty. Он определяет величину штрафа, которая умножается на число элементов в сети и прибавляется к ее ошиб­ке перед решением вопроса о том, какая сеть лучше. Тем самым сеть с большим числом элементов должна оправдать свой размер, т.е. давать существенно меньшую ошибку. Даже очень маленький коэффициент (на­пример, 0,001) будет оказывать серьезное влияние на то, чтобы при про­чих равных предпочтение отдавалось сетям, чьи размеры меньше.

На нашей небольшой учебной задаче этот алгоритм можно прогнать в интерактивном режиме. Задайте значение параметра Штраф за элемент -Unit Penalty равным 0,001 и выберите типы сетей Линейные - Linear, Ра­диальные базисные функции - Radial Basis Functions и Трехслойные много­слойные персептроны - Three Layer Multilayer Perceptrons.

По завершении работы алгоритма вновь созданная наилучшая сеть будет загружена вместо текущей сети (если таковая была).

 


Дата добавления: 2015-11-30; просмотров: 27 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.005 сек.)