Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_ИСУ (2).doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
6.53 Mб
Скачать

39. Генетические алгоритмы

Проблема использования для обучения сети алгоритма обратного распространения ошибки и оптимизации по методу наименьших квадратов состоит в том, что их применение может быть причиной останова оптимизационного процесса в точках локального минимума нелинейной целевой функции (критерия качества сети). Дело в том, что упомянутые методы основаны на вычислениях производных и являются градиентными методами. Генетические алгоритмы − естественный отбор самого подходящего (выживает наиболее приспособленный!) − не требуют вычисления производных и являются стохастическими оптимизационными методами, поэтому менее склонны к останову оптимизационного процесса в локальных минимумах. Эти алгоритмы могут быть использованы для оптимизации, как структуры, так и параметров в нейронных сетях. Специальная область их применения связана с определением параметров нечетких функций принадлежности. Генетические алгоритмы имитируют естественную эволюцию популяций. Суть этих алгоритмов такова. В начале генерируют возможные различные решения, используя генератор случайных чисел. Затем происходит тестирование (оценка) этих возможных решений с точки зрения поставленной задачи оптимизации, т.е. определяется, насколько хорошее решение они обеспечивают. После чего часть лучших решений отбирается, а другие отсеваются (выживает наиболее приспособленный). Затем отобранные решения подвергаются процессам репродукции (размножения), скрещивания и мутации, чтобы создать новую генерацию (поколение, потомство) возможных решений, которая, как ожидаемо, будет более подходящей, чем предыдущая генерация. Наконец, создание и оценивание новых генераций продолжатся до тех пор, пока последующие поколения не будут давать более подходящих решений. Такой алгоритм поиска решений из широкого спектра возможных решений оказывается предпочтительнее с точки зрения окончательных результатов, чем обычно используемые алгоритмы. Платой является большой объем вычислений. Рассмотрим составные части генетического алгоритма.

  1. Кодирование. Множество параметров для задачи оптимизации кодируется в последовательность бит.

2. Вычисление функции приспособленности (соответствия). После генерации популяции хромосом вычисляется значение функции приспособленности (соответствия) для каждой из ее хромосом. Функция приспособленности определяется через целевую функцию путем ее инвертирования (целевая функция минимизируется, а функция приспособленности максимизируется). Для задач максимизации значение функции приспособленности i-го члена вычисляется как величина, обратная целевой функции в i-ой точке. Обычно применяют строго положительную целевую функцию. Другая возможная мера приспособленности использовать ранжирование (классификацию) членов популяции. В этом случае целевая функция может быть вычислена не очень точно при условии, если она обеспечивает правильное ранжирование.

3. Селекция. Алгоритм селекции выбирает из членов популяции (хромосом), какие из них должны принять участие в качестве родителей с целью создания потомства для следующего поколения. Обычно вероятность отбора хромосом для этой цели пропорциональна присущей им степени приспособленности. Основная идея отбора состоит в том, чтобы членам с степенью приспособленности выше средней позволить размножаться и тем самым заменить члены со степенью приспособленности ниже средней. Родители (хромосомы) отбираются, используя метод колеса рулетки, как показано на рис. 4. Каждому родителю может быть сопоставлен сектор колеса рулетки, величина которого устанавливается пропорциональной степени приспособленности данного родителя (данной хромосомы). Поэтому, чем больше степень приспособленности, тем больше сектор на колесе рулетки. Все колесо рулетки соответствует 1, т.е. накопленной сумме вероятностей отбора всех родителей (всех хромосом) рассматриваемой популяции . Каждому i-му родителю соответствует сектор колеса, определяемый в данном случае как ,где - степень приспособленности i-го родителя, - вероятность отбора (селекции) i-го родителя, - значение i-ой хромосомы. Отбор родителя может быть представлен как результат поворота колеса рулетки, если «выигравший», т.е. выбранный родитель относится к выпавшему сектору этого колеса. Очевидно, чем больше сектор, тем больше вероятность победы соответствующей хромосомы. Поэтому вероятность выбора данного родителя оказывается пропорциональной степени ее приспособленности. Если всю окружность колеса рулетки представить в виде цифрового интервала [0,1], то выбор родителя можно отождествить с выбором числа из интервала [a,b], где a и b обозначают соответственно начало и окончание фрагмента окружности, соответствующей этому сектору колеса; очевидно, что . В этом случае выбор с помощью колеса рулетки сводится к выбору числа из интервала [0,1], которое соответствует конкретной точке на окружности колеса. Так для примера на рис. 4 есть четыре кандидата P1, P2, P3 и P4 на выбор в качестве родителей, имеющих вероятность отбора, полученную с помощью степени приспособленности, 0.5, 0.3, 0.15 и 0.05 соответственно. Для этого примера, если колесо рулетки поворачивается последовательно четыре раза, P1 может быть выбран дважды, P2 и P3 один раз и P4 ни разу.

4 . Скрещивание. Операторы скрещивания генерируют новые хромосомы, которые, надеются, сохранят хорошие свойства от предыдущей генерации. Операция скрещивания обычно применяется к выбранной паре родителей с вероятностью, равной скорости скрещивания. При одноточечном скрещивании точка скрещивания в генетическом коде выбирается случайным образом, и две хромосомы-родители обмениваются своими последовательностями бит, расположеннымисправа от этой точки. При двухточечном скрещивании выбираются две точки скрещивания и части последовательностей хромосом, расположенные между двумя этими точками, обмениваются местами. В результате такого обмена получают двух детей от этих родителей. Фактически родители переносят фрагменты своих собственных хромосом на хромосомы своих детей. При этом такие дети, надеются, способны превосходить по степени приспособленности своих родителей, если они получили хорошие гены от обоих родителей.

6 .Мутация. Оператор мутации может создать самопроизвольно новые хромосомы. Самый распространенный метод случайным образом изменять биты в генах потомков, например с 0 на 1с весьма небольшой вероятностью, определяемой скоростью мутации. Мутация предотвращает сходимость популяции к локальному минимуму. Скорость мутации должна быть невысокой, чтобы не потерять хорошие гены. Мутация обеспечивает защиту от слишком раннего завершения алгоритма (в случае выравнивания всех хромосом и целевой функции). Процесс репродукции очередных поколений продолжается до тех пор, пока все потомки не будут иметь примерно одну ту же степень приспособленности. В ряде случаев, все потомки, в конце концов, имеют одну и ту же генетическую структуру (одни и те же степени приспособленности), которая представляет глобальный минимум. В других случаях может быть извлечено несколько решений, называемых кластерами. В последнем случае проектировщик системы должен сам принять решение, какое из них считать наилучшим решением.Заметим, что выше было дано только лишь общее описание основных черт генетического алгоритма. Конкретные его детали весьма отличаются от описанных выше.

Алгоритм. Пример простого генетического алгоритма для задачи максимизации состоит из следующих этапов (рис. 4,а):

1.Инициализировать популяцию с генерируемыми случайным образом особями (решениями) и вычислить значение функции (степень) приспособленности для каждой особи.

2.а) Отобрать из популяции два члена с вероятностью, пропорциональной их степени приспособленности.

б) Осуществить скрещивание с вероятностью, равной скорости скрещивания.

в) Осуществить мутацию с вероятностью, равной скорости мутации.

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

3. Повторять этапы 2 и 3 до тех пор, пока не будут удовлетворяться условия останова алгоритма.

Если скорость мутации высокая (выше 0,1), эффективность алгоритма будет такая же плохая, как в случае использования слепого случайного поиска.