Машинное обучение 1, осень 2015: Генетические алгоритмы
TRANSCRIPT
Генетические алгоритмы
И. Куралёнок, Н. Поваров
Яндекс
СПб, 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
Мутация
Использование только скрещивания может привести квырождению популяции (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