22
Генетические алгоритмы И. Куралёнок, Н. Поваров Яндекс СПб, 2015 И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 1 из 22

Машинное обучение 1, осень 2015: Генетические алгоритмы

Embed Size (px)

Citation preview

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

И. Куралёнок, Н. Поваров

Яндекс

СПб, 2015

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 1 из 22

Содержание

1 Генетические алгоритмы2 Свойства генетических алгоритмов3 Differential evolution4 No free lunch theorem

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 2 из 22

Формальная постановка

F0 = arg maxF

p(F |X )

+ если известны вероятности можнопопробовать посэмплировать решения;

— не определено пространство F;— неясно как устроить обход.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 3 из 22

Томский Нефтьрыб

dream team;размер фиксирован;состав надо выбрать.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 4 из 22

Идея

Кажется природа решает ту же задачу.⇒ Можно подсмотреть механизмы⇒ Популяция позволяет говорить о "производных"⇒ Внутри популяции можно исследовать зависимостии использовать их⇒ Просто объяснять, но нужен специальный"масонский"языкОтсебятена: генетические алгоритмы скорее языкописания перебора.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 5 из 22

Этапы генетического алгоритма

1 Выбрать начальную популяцию2 Измерить "приспособленность"особей3 Повторить до сходимости

1 Выбрать представителей популяции для размножения2 Породить новых особей с помощью скрещивания и

мутаций3 Измерить приспособленность "детей"4 Заменить наименее приспособленных "детьми"

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 6 из 22

Расшифровка

Особь - пробное решениеПопуляция/поколение - текущий набор особейПриспособленность - целевая функцияСкрещивание - порождение "детей"от "родителей"Мутация - случайное изменение "гена"Ген - компонент решения

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 7 из 22

Этапы генетического алгоритма

1 Выбрать начальную популяцию2 Измерить "приспособленность"особей3 Повторить до сходимости

1 Выбрать представителей популяции для размножения2 Породить новых особей с помощью скрещивания и

мутаций3 Измерить приспособленность "детей"4 Заменить наименее приспособленных "детьми"

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 8 из 22

Выбор начальной позиции

Как любые переборные методы генетика существеннозависима от начальных позиций.Можно так:

Сводят пространство решений в [0, 1]n и берутравномерно рандомные точкиСводят к {0, 1}k с помощью бинаризации и берутортыДелают предварительное сэмплирование

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 9 из 22

Выбор особей для размножения

Выбор особей - ключевой момент!Можно так:

Выбирать с вероятностью, пропорциональной"приспособленности"Предварительно делать shuffle"приспособленности"От "приспособленности"зависит очередностьМожно выбирать равномерно из популяции (поклассике нельзя)Любые комбинации :)

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 10 из 22

Скрещивание

Хочется сохранить лучшие черты, однако какиелучшие не ясно. Значит устроим случайный процесс!

Потомок имеет связанные "куски"ДНК родителей:

n-point crossover;cut’n’splice;равномерное скрещивание.

Родители влияют на направление развитияМного родителей

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 11 из 22

Сrossover

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 12 из 22

Cut and splice

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 13 из 22

Мутация

Использование только скрещивания может привести квырождению популяции (genetic drift) ⇒ мутация.Мутация очень похожа на фазу выбора новой точки вMCMC/случайном блуждании.

Элементарные строковые преобразованияИнвертирование битаСлучайная мутация компонента

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 14 из 22

Мутация vs Скрещивание

Мутация - способ "вылезти"из локальныхэкстремумов, скрещивание - глубину "влезания"вэкстремумы. Есть несколько лагерей:

Скрещивание круче, так как быстро бежит.Мутация нужна только, чтобы убедиться, чтодругих хороших направлений нет.Мутация круче, так как обходит всё. Скрещиваниетолько немного ускоряет процесс.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 15 из 22

Замещение элементов популяциипотомками

Меняем % "худших"стариковВводим "penalty"за старость и меняем толькоесли потомок лучшеСтарикам здесь не место

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 16 из 22

Основные pros и consГенетику легко сделать, но сложно понять как она работает.Хорошо:

очень много вариантов отобразить наше понимание область (любойуспех легко объяснить :));

легко понять непрофессионалу;

легко программируется;

в отличии от сэмплирования можно применять методы первогопорядка, применяя в качестве градиента разности элементовпопуляции.

Плохо:

когда не работает непонятно за что хвататься;

результаты зачастую не повторяются на другом множестве(так какнельзя понять сложность модели);

большое поле для псевдонауки.

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 17 из 22

Не единственность культа

Муравьиный алгоритмПчелиный алгоритмГолодные волки

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 18 из 22

Алгоритм Differential Evolution

arg maxβ∈Rn

F (β)

1 Выбрать начальную популяцию рандомом2 До сходимости, для каждого элемента популяции

x ∈ P :1 выбрать a, b, c ∈ P чтобы все отличались;2 k ∼ U(1..n);3 y = (yi) для каждого i

1 r ∼ U((0, 1))

2 yi =

{ai + F (bi − ci ), i = k |r < Cyi = xi

4 Заменить старый элемент новым, если новые лучше.3 Выбрать лучшего представителя получившейся

популяции.И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 19 из 22

Постановка вопроса

Целых 2 занятия мы обходим пространство решений.Может быть есть лучший из всех методов обхода? Вкачестве аналогии:Ресторан: способ обхода пространства решенийБлюдо: конкретная задача, требующая оптимизацииЦена: значение целевой функции на обойденной

части пространства

Theorem (No free lunch theorem)Все рестораны в среднем одинаково дороги

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 20 из 22

NFL: формальная формулировка

dm = {(d xm(1), d

ym(1)), . . . , (d

xm(m), d y

m(m))}f : X → YF = YX

p(f ) = 1F

Theorem (David Wolpert and William G.Macready (1997))Для любых двух способов обхода a1 и a2:∑

f p(dym|f ,m, a1) =

∑f p(d

ym|f ,m, a2)∑

f p(dym|f0,M ,m, a1) =

∑f p(d

ym|f0,M ,m, a2)

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 21 из 22

NFL: следствия

Нам всем хватит работы :)Полоса белая, полоса чернаяНужно искать близкие задачи

И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 22 из 22