2013 10 18_machine_learning_lecture_06

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

description

 

Transcript of 2013 10 18_machine_learning_lecture_06

Page 1: 2013 10 18_machine_learning_lecture_06

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

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

Яндекс

СПб, 2013

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

Page 2: 2013 10 18_machine_learning_lecture_06

Содержание

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

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

Page 3: 2013 10 18_machine_learning_lecture_06

Идея

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

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

Page 4: 2013 10 18_machine_learning_lecture_06

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

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

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

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

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

Page 5: 2013 10 18_machine_learning_lecture_06

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

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

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

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

Page 6: 2013 10 18_machine_learning_lecture_06

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

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

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

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

Page 7: 2013 10 18_machine_learning_lecture_06

Скрещивание

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

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

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

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

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

Page 8: 2013 10 18_machine_learning_lecture_06

Мутация

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

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

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

Page 9: 2013 10 18_machine_learning_lecture_06

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

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

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

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

Page 10: 2013 10 18_machine_learning_lecture_06

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

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

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

Page 11: 2013 10 18_machine_learning_lecture_06

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

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

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

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

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

Плохо:

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

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

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

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

Page 12: 2013 10 18_machine_learning_lecture_06

Алгоритм 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 Выбрать лучшего представителя получившейся

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

Page 13: 2013 10 18_machine_learning_lecture_06

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

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

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

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

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

Page 14: 2013 10 18_machine_learning_lecture_06

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)

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

Page 15: 2013 10 18_machine_learning_lecture_06

NFL: следствия

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

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

Page 16: 2013 10 18_machine_learning_lecture_06

Домашнее задание

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

Фитим ln(x)Датасет старыйПолином ищем генетикой

Кто не согласен:ДоводыПримеры

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