35
Машинное обучение: обзор целевых функций И. Куралёнок, Н. Поваров Яндекс СПб, 2013 И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 1 из 35

2013 10 4_machine_learning_lecture_04

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 2013 10 4_machine_learning_lecture_04

Машинное обучение: обзор целевыхфункций

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

Яндекс

СПб, 2013

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

Page 2: 2013 10 4_machine_learning_lecture_04

Задача на сегодня

Строить варианты целевой функции на заданную тему.

Для этогого нам понадобится:узнать чем отличается измерение от оптимизации;понять какие существуют подходы к построениюцелевой функции;научиться строить целевые функции для заданныхпримеров (это уже ДЗ).

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

Page 3: 2013 10 4_machine_learning_lecture_04

Пример

Вахтер хочет понять кого пускать в парадную. Он хочетминимизировать свою работу (больше спать) по:

проверке входящих;разборкам с жильцами/руководством;уборке/проветриванию.

Для этого ему надо проверять входящих (думать).Однако, минимизировать “время сна” напрямую оченьсложно. Наша задача помочь бедному вахтеру.

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

Page 4: 2013 10 4_machine_learning_lecture_04

Суть проблемы

Если мы понимаем чего хотим:M(F0)(X ) (линейкапозволяющая измерить конкретное решение), тозадачу оптимизации можно переписать так:

maxTM(arg max

FT (F , L)

)(T )

Если выборка не смещена по параметрамоптимизации, то К.О. говорит нам:

M≡ arg maxTM(arg max

FT (F , L)

)(T )

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

Page 5: 2013 10 4_machine_learning_lecture_04

Про вахтера в новых обозначениях

M — время сна;F — способы проверки входящих;T — способы оценить проверку входящих.

Например в качестве F может выступать оценкавероятности того, что “клиент” — проблемный. ТогдаT может быть как собственно время сна, так исредняя ошибка предсказания по результату работыфункции F .

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

Page 6: 2013 10 4_machine_learning_lecture_04

Проблема в построении

Что может быть “не так” в очевидном решении:M может быть неудобна для оптимизации(кусочно-постоянная, например);сложно гарантировать несмещенность попараметрам оптимизации;сложно собирать данные в терминахM;

Поэтому все еще актуально решать исходную задачу:

maxTM(arg max

FT (F , L)

)(T )

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

Page 7: 2013 10 4_machine_learning_lecture_04

Как можно подойти к построению T

Можно исходить из трех соображений:T ≡M: усреднениеM по всему доступному опыту;argmaxF T (F , L) = argmaxFM(F , L):

регрессия по “очкам”: введем для каждого наблюдениястоимость, и будем ее приближать по T ;принцип максимальной энтропии;принцип минимального описания;

maxT M (argmaxF T (F , L)) (T ): вероятностное моделированиепроисходящего: как можно получитьM из удобного T .

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

Page 8: 2013 10 4_machine_learning_lecture_04

Средние значения

Будем оценивать каждое наблюдение. Хотим улучшитьрезультат в среднем.

F0 = arg maxF

1n

∑i

m(F (xi), yi)

Поделили большуюM на много маленьких m.+ по наблюдениям делить естественно;— надо следить за независимостью наблюдений;— работает только для ситуаций когда нет ∞потерь/приобретений;

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

Page 9: 2013 10 4_machine_learning_lecture_04

Средние значения бывают разные

Последнюю проблему можно решить с помощьюдругих средних:

геометрическое : n√∏

i xi ;гармоническое : n∑

i1xi

;

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

Page 10: 2013 10 4_machine_learning_lecture_04

Разные только пространства усреднения

A({xi}) = f −1

(1n

∑i

f (xi)

)В этих терминах все средние отличаются лишьотображением f ;арифметическое : f (x) = x ;геометрическое : f (x) = log x ;гармоническое : f (x) = 1

x ;C точки зрения оптимизации, если функция fмонотонная, то мы все можем отбросить иоптимизировать только

max∑i

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

Page 11: 2013 10 4_machine_learning_lecture_04

Почему это работает

Пусть задана метрикаM, хотим получить решение F ,которое ее максимизирует. Введем дополнительнуюинтерпретацию наблюдений s(yi) ∈ R. Будемпредсказывать s(yi):

F0 = arg minF

∑i

‖F (x)− s(yi)‖lq)

формирование s(y) — отдельная проблема;регрессия известная задача;все гладко1, выпукло и удобно для оптимизации.

1для некоторых q :)И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 11 из 35

Page 12: 2013 10 4_machine_learning_lecture_04

Виды невязки lq

Невязку можно интерпретировать по-разному и взависимости от интерпретации подбирать q:

lq(x , b) = ‖x − b‖lq =

(∑i

‖xi − bi‖q) 1

q

Все чуть менее гладко, чем хотелось бы, но и такиештуки оптимизируются с помощью одностороннихградиентов.

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

Page 13: 2013 10 4_machine_learning_lecture_04

Экстремальные случаи q

Особенно интересны экстремальные случаи q:

l0(x , b) =∑

i I{x = b}l∞(x , b) = max |x − b|

Очень понятный физический смысл, но с гладкостьюбеда: оптимизация l0 NP-hard.

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

Page 14: 2013 10 4_machine_learning_lecture_04

Как выглядят разные q

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

Page 15: 2013 10 4_machine_learning_lecture_04

Подбираем “очки”

maxsM(arg max

F‖F (x)− s(y)‖lq

)(T )

Обычно первая версия “от балды”. Развиваемитеративно :).

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

Page 16: 2013 10 4_machine_learning_lecture_04

Вспоминая вахтера

Назначим очки:Результат Очки

Ничего 0Громко тусовался 10Накурил 15Напачкал 100Это сильно проще сделать “от балды”, чем считатьстатистику.

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

Page 17: 2013 10 4_machine_learning_lecture_04

Моделирование вахтера

Попробуем объяснить происходящее, зная как онобывает:Местные проблемные только если выпьют;Не местные бывают:

Приличные не будут ничего плохого делать,пока не выпьют;

Неприличные могут нахамить, могутсоздать проблемы.

Составим из этой картины мира вероятностнуюмодель, и оптимизируем ее.

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

Page 18: 2013 10 4_machine_learning_lecture_04

Оптимизация вероятностной модели

arg maxF

p(F |X )

В вероятностях проще рассуждать о жизниИнтересно найти параметры, которые наиболеевероятны при наблюдаемых данныхОбычно непонятно как это распределениепостроить напрямую

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

Page 19: 2013 10 4_machine_learning_lecture_04

Почему это работает

Мы строим p таким образом, что она отражает нашепонимание о структуре области. По сути мыитеративно напрямую оптимизируем

maxTM(arg max

FT (F , L)

)(T )

с использованием натурального интеллекта :).

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

Page 20: 2013 10 4_machine_learning_lecture_04

Байесовские методы

p(f |X ) =p(X |f )p(f )

p(X )∼ p(X |f )p(f )

Да, внизу интеграл, мы надеемся, что его можно взятьи он не 0

p(X|f) правдоподобиеp(f) априорное знание о семействе

F (x) =

∫f

p(x |f )p(f |X )df

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

Page 21: 2013 10 4_machine_learning_lecture_04

Байесовские методы (практика)

1 Задаем априорное распределение параметров(например N(0,1))

2 Вычисляем вероятность X, считая что точкинезависимы и одинаково распределены

p(X |f ) =∏i

p(xi |f )

3 Получаем распределение из которого можнопосамплить

4 Усредняем посампленное

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

Page 22: 2013 10 4_machine_learning_lecture_04

Байесовские методы (свойства)

+ Все честно с точностью до входных данныхи построенной модели

+ Можно использовать информацию опредыдущем обучении (задавая prior)

+ Можно понять погрешность предсказания(даже если она не выводится аналитически)

— Все сильно зависит от выбора prior— Сложная решающая функция— Необходимо эффективное сэмплирование

пространства решений

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

Page 23: 2013 10 4_machine_learning_lecture_04

Максимум апостериориБайес по простому

Хочется попрощеДля оценки ошибок есть бутстраппингАнсамбли можно сделать другими способами ивключить в решающую функцию

Чтобы не возиться со сложной F , можно просто взятьсамое вероятное решение:

F (x) = f (x) : p(f |X ) > p(g |X ),∀g ∈ F

получим maximum a posteriori.

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

Page 24: 2013 10 4_machine_learning_lecture_04

Метод максимального правдоподобия(Байес совсем по простому)

Лень придумывать priorНет информации о предыдущих экспериментахБыстро меняющиеся условия

А можно совсем обнаглеть и убрать еще prior, сказав,что все решения одинаково вероятны:

p(f ) = p(g)∀f , g

F = arg maxF p(X |f ) = arg maxF∏

i p(xi |f )= arg maxF

∑i log(p(xi |f )) = arg maxF LL(X , f )

Заметим, что prior не корректен, в случае |F | =∞.И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 24 из 35

Page 25: 2013 10 4_machine_learning_lecture_04

Веса при LL

F = arg maxF∏

i (p(xi |F ))n(

wiZ N)

= arg maxF∏

i (p(xi |F ))wi

= arg maxF∑

i wi log p(xi |F )

Важность точек может быть разнойВведем «вес» для каждой точкиБудем выбирать точки случайно, с вероятностьюпропорциональной весу

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

Page 26: 2013 10 4_machine_learning_lecture_04

Сходимость ММП

Идентификация (все функции разные);Множество функций компактно;Функции непрерывны с вероятностью 1;Существует мажорирующая интегрируемая D:

|lnF (x)| < D(x)

=⇒ при увеличении количества точек L сходится

sup‖LL(x ,F )− LL(x ,F0)‖a.s.→ 0

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

Page 27: 2013 10 4_machine_learning_lecture_04

Асимптотическая нормальность ММП

Первые две производные L определены:

F = F (x , λ)

ij ,k = µX (∂2L

∂λj∂λk)

Матрица I не ноль, непрерывная функция лямбды;Выполняется консистентность;И всё остальное хорошо:

√n(λmle − λ0)

d→ N (0, I−1)

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

Page 28: 2013 10 4_machine_learning_lecture_04

Принцип максимальной энтропии I

Много Больцмана;Кажется, что энтропия может сама толькоувеличиваться;Если оставить систему в покое, то может быть онаприйдёт к максимуму энтропии;Будем считать, что система живёт уже давно;Найдём такие параметры системы, которыеобеспечивают максимальную энтропию, сохраняяаприорно заданные параметры.

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

Page 29: 2013 10 4_machine_learning_lecture_04

Принцип максимальной энтропии II

Выразим априорные свойства в виде ограничений;Найдём распределение обладающее максимальнойэнтропией;Когда хочется своего p(x |I ) решение будет другое.∑

i p(xi |I )fk(xi) = f 0k , k = 1, . . . ,m

p(x |I ) = 1Z e∑

k λk fk(x)

Z =∑

i exp∑

k λk fk(x)

f 0k = ∂

∂λklogZ

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

Page 30: 2013 10 4_machine_learning_lecture_04

Почему это работает

arg maxF T (F , L) = arg maxFM(F , L)Максимизацией энтропии мы выпиливаеминформацию про выборку, оставляя лишьинформацию о генеральной совокупности. Так как мыхорошо смоделировали, надеемся, что минимум пометрике и по энтропии в одной точке.

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

Page 31: 2013 10 4_machine_learning_lecture_04

Принцип наименьшего описания

Формализация бритвы Оккама;Колмогоров/Solomonoff;Вводим сложность по Колмогорову;Находим оптимальное решение;По хорошему вероятность = 1.

F0 = arg minF :p(X |F )≥ε

C (F )

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

Page 32: 2013 10 4_machine_learning_lecture_04

Почему это работает

Те же рассуждения, что и при ПМЭ.

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

Page 33: 2013 10 4_machine_learning_lecture_04

Сглаживание таргета

Когда целевая функция "плохая":

F0 = arg maxF

UT (X |F ) = arg maxFµx∼p(F )(UT (x))

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

Page 34: 2013 10 4_machine_learning_lecture_04

Чему следовать выбирая таргет

Чувство прекрасного;Возможность применять математику:

Скорость вычисления;Дифференцируемость (градиентные методы).

Наличие интересных внутренних параметров;Возможность проверить осмысленностьпромежуточных результатов.

NB: Чем больше мы в области, тем больше знания мыперенесем в таргет.

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

Page 35: 2013 10 4_machine_learning_lecture_04

Задание на дом

Придумать таргеты для некоторых задач;Точные задачи приведены в файле howto.txt;Дедлайн 18 октября.

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