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

Выполнение алгоритма

Читайте также:
  1. II. Сведения о работах, на выполнение которых осуществляется закупка,
  2. III. ВЫПОЛНЕНИЕ
  3. Анализ реализации алгоритма Эль-Гамаля
  4. Выполнение авторской творческой работы.
  5. Выполнение веб-теста для проверки правильности его работы
  6. Выполнение внеаудиторных работ по учебным дисциплинам

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

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

Переместите указатель мыши на линию, разделяющую заголовки столб­цов переменных SLENGTH и SWIDTH. Указатель превратится в двусто­роннюю стрелку. Щелкните мышью - при этом появится голубая полоса вставки, затем нажмите три раза клавишу ENTER - в файл будут добавле­ны три новые переменные. Так как они очевидным образом не несут в себе никакой информации, следует ожидать, что Генетический алгоритм отбора входных данных - GA Input Selection удалит их.

Откроем диалоговое окно Генетический отбор входов - Genetic Input Selection с помощью команды Генетический отбор входов - GA Input Selection... меню Обучение-Дополнительно - Train-Auxiliary.

Это окно содержит много управ­ляющих параметров. Среди них - Популяция - Population и Поколе­ния - Generations, Скорость мутаций - Mutation Rate и Скорость скрещивания - Crossover Rate. Если вы не знакомы с генетическими алгоритмами, то не стоит менять два послед­них параметра (рекомендуется взять значения по умолчанию). Параметры Популяция - Population и Поколения - Generations определяют, как много усилий алгоритм затрачивает на поиск.

Схема работы генетического алгоритма такова. Берется случайный набор, популяция, битовых строк (в нашем случае отдельный бит, соответст­вующий каждому входу, показывает, учитывать или нет соответствую­щую входную переменную) и оценивается степень их пригодности (т.е. качество получаемых решений). Затем плохие строки исключаются из рассмотрения, а из оставшихся порождаются новые строки с помощью искусственных генетических операций мутации и скрещивания. Таким образом, возникает новая популяция, и весь процесс повторяется, порож­дая все новые поколения, а в конце его отбирается наилучший экземпляр. Параметр Популяция - Population задает объем популяции индивидуумов, а параметр Поколения - Generations определяет, сколько раз будет повто­рен цикл отбора-порождения-оценки. Произведение этих двух чисел рав­но общему числу операций оценивания, которые алгоритм должен будет выполнить, и каждое оценивание включает построение PNN или GRNN сети и ее тестирование на контрольном множестве.

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

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

Нажмите кнопку Запуск - Run. При выполнении генетического алгоритма с параметрами по умолчанию он проделает 10000 оцениваний (популяция объемом 100 и 100 поколений). Однако в нашей задаче имеется всего семь кандидатов во входные переменные (четыре настоящих и три добавлен­ные), поэтому число всевозможных комбинаций равно всего 128 (два в седьмой степени). Программа ST Neural Networks сама обнаружит это обстоятельство и вместо описанных действий выполнит оценивание полным перебором вариантов (соответствующая информация будет выдана в строке сообщений).

По окончании работы алгоритма откроется окно с таблицей, в которой будет указано, какие переменные были признаны полезными, а какие нет (соответственно Да - Yes или Нет - No). Переменные, которые не рас­сматривались как кандидаты во входной набор (в данной задаче - выход­ная переменная) будут помечены как неучитываемые. Если вы все сдела­ли правильно, алгоритм отберет настоящие переменные задачи и отбросит вновь добавленные.

Нажмите кнопку Применить - Apply. Программа ST Neural Networks при­менит найденный шаблон к исходным данным, и у тех переменных, кото­рые были отвергнуты алгоритмом, изменит тип на Неучитываемая -Ignore.

Теперь сделаем параметр Штраф за элемент - Unit Penalty равным 0,01 и снова нажмем кнопку Запуск - Run. На этот раз мы побуждаем алгоритм уменьшать число входов, даже ценой некоторого увеличения ошибки. Конкретный результат будет зависеть от того, какие наблюдения были взяты в обучающее и контрольное множества. Скорее всего, однако, ока­жется, что переменные PLENGTH и PW1DTH будут отобраны, а перемен­ные SLENGTH и SWIDTH - отвергнуты. Экспериментируя с различными значениями штрафа за элемент, вы сможете приблизительно упорядочить входные переменные по степени важности.

 


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



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