Машинное обучение 1, осень 2015: Обзор целевых функций I

Preview:

Citation preview

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

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

Яндекс

СПб, 2015

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

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

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

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

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

Пример

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

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

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

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

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

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

maxTM(arg max

FT (F , L)

)(T )

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

M≡ arg maxTM(arg max

FT (F , L)

)(T )

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

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

F : способы проверки входящих (F : X → {0, 1});M: M(X ,F0) = t0 −

∑(x ,ya,yb)(yaF0(x) + yb(1− F0(x))

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

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

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

F : способы проверки входящих (F : X → {0, 1});M: M(X ,F0) = t0 −

∑(x ,ya,yb)(yaF0(x) + yb(1− F0(x))

время сна;T : способы оценить проверку входящих:Вариант 1Преобразуем таргет:

M(X ,F0) = t0 −∑

(x,ya,yb)(yaF0(x) + yb(1− F0(x))

= t0 −∑

ybyb −

∑(x,ya,yb)(ya − yb)F0(x)

= C −∑

(x,ya,yb)(δy)F0(x)

.

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

Про вахтера в новых обозначенияхF : способы проверки входящих (F : X → {0, 1});M: M(X ,F0) = t0 −

∑(x ,ya,yb)(yaF0(x) + yb(1− F0(x))

время сна;T : способы оценить проверку входящих:Вариант 2Предположим, что посетителей много, и нету таких, которыедоставляют особенно сильно. Тогда задача сводится копределению “жалобщиков”:

M(X ,F0) = t0 − ¯|δy |∑

(x ,y) sign(δy)(−1)F0(x)

T (X , p) =∑

I{δy ≤ 0} log p(x) + I{δy > 0} log (1− p(x))

F0 =

[0, p(x) ≤ 0.51, p(x) > 0.5

В этом случае, можно рассматривать I{δy ≤ 0} как новую цель,и решать задачу классификации.

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

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

F : способы проверки входящих (F : X → {0, 1});M: M(X ,F0) = t0 −

∑(x ,ya,yb)(yaF0(x) + yb(1− F0(x))

время сна;T : способы оценить проверку входящих:Вариант 3На практике делать опрос типа: “а вы бы жаловаться пошли?” — не удобно,поэтому можно иначе:

T (Xa,F′) =

∑(x,ya) (ya − F ′(x))2

T (Xb,F′′) =

∑(x,yb) (yb − F ′′(x))

2

F (x) =

{0 F ′(x) > F ′′(x)1 F ′(x) ≤ F ′′(x)

.

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

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

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

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

maxTM(arg max

FT (F , L)

)(T )

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

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

Можно исходить из трех соображений:1 T ≡M: усреднениеM по всему доступному

опыту;2 maxT M (arg maxF T (F , L)) (T ): вероятностное

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

3 arg maxF T (F , L) = arg maxFM(F , L):регрессия по “очкам”: введем для каждогонаблюдения стоимость, и будем ее приближать по T ;принцип максимальной энтропии;принцип минимального описания;

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

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

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

F0 = arg maxF

1n

∑i

m(F (xi), yi)

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

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

Параметры невязки

В зависимости от постановки задачи нам могут бытьважны разные аспекты:

Устойчивость к выбросам ⇒ преобразования yiВклад каждого наблюдения ⇒ способыусреднения по наблюдениям ⇒ lq

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

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

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

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

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

i1xi

;

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

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

A({xi}) = f −1

(1n

∑i

f (xi)

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

геометрическое : f (x) = log x ;

гармоническое : f (x) = 1x ;

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

max∑i

f (xi )

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

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

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

F0 = arg minF

∑i

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

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

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

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

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

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

(∑i

|xi − bi |q) 1

q

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

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

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

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

l0(x , b) =∑

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

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

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

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

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

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

maxsM(arg max

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

)(T )

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

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

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

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

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

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

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

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

Местные проблемные только если выпьют;

Не местные бывают:

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

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

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

P(Trouble|x) = P(Local|x)P(Drunk|x) + (1− P(Local|x))(1− (1− P(Drunk|x))(1− P(Idiot|x))

Исходя из принципа, который нам нравится больше всего,найдем опримальные выражения для P(∗|x).

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

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

arg maxF

p(F |X )

В вероятностях проще рассуждать о жизни2

Интересно найти параметры, которые наиболее вероятныпри наблюдаемых данных

Обычно непонятно как это распределение построитьнапрямую

2Заметим, что это восем не та вероятность, что была на предыдущемслайде!

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

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

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

maxTM(arg max

FT (F , L)

)(T )

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

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

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

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

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

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

1 Задаем априорное распределение параметров решающейфункции (β)

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

p(X |f ) =∏i

p(xi |f )

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

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

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

Байесовские методы (пример)P(Trouble|x) = P(Local|x)P(Drunk|x) + (1− P(Local|x))(1− (1− P(Drunk|x))(1− P(Idiot|x))

1 Положим, что люди приходят одни и те же (чтобы не вводитьобобщения в решающей функции).

2 Будем моделировать P(∗|x) через разные Be(a, b), будем считатьβ = {ai , bi}, для всех посетителей.

3 Возьмем уже известную нам статистику по появлению посетителей вразных состояниях ∗ и сформируем по ним β̄.

4 Для каждого нового посетителя узнаем истинное значениепроблемности и поймем с какой вероятностью его предсказываетмодель при фиксированных параметрах P(∗|x). Если посетителеймного, перемножим вероятности, считая, что прецедентынезависимы.

5 Решающая функция будет такая:∫P(∗|x)∼Be(β̄)

P(Trouble|x, P(∗|x))dP(∗|x)

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

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

+ По сути нету никакой оптимизации, напрямуюконструируем решающую функцию

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

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

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

— Все сильно зависит от выбора prior

— Сложная решающая функция

— Необходимо эффективное сэмплированиепространства решений

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

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

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

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

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

получим maximum a posteriori.

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

Максимум апостериори (пример)

P(Trouble|x) = P(Local|x)P(Drunk|x) + (1− P(Local|x))(1− (1− P(Drunk|x))(1− P(Idiot|x))

1 Положим, что люди приходят одни и те же (чтобы не вводитьобобщения в решающей функции).

2 Будем моделировать P(∗|x) через разные Be(a, b), будем считатьβ = {ai , bi}, для всех посетителей.

3 Возьмем уже известную нам статистику по появлению посетителей вразных состояниях ∗ и сформируем по ним β̄.

4 Для каждого нового посетителя узнаем истинное значениепроблемности и поймем какой набор P̂(∗|x), который наилучшимобразом объясняет происходящее с учетом вероятности этогозначения из Be(β)

5 В качестве решающей функции возьмем набор P̂(∗|x)

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

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

Лень придумывать 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 | =∞.И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2015 Стр. 27 из 39

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

P(Trouble|x) = P(Local|x)P(Drunk|x) + (1− P(Local|x))(1− (1− P(Drunk|x))(1− P(Idiot|x))

1 Положим, что люди приходят одни и те же (чтобы не вводитьобобщения в решающей функции).

2 Будем моделировать P(∗|x) через разные Be(a, b), будем считатьβ = {ai , bi}, для всех посетителей.

3 Возьмем уже известную нам статистику по появлению посетителей вразных состояниях ∗ и сформируем по ним β̄.

4 Для каждого нового посетителя узнаем истинное значениепроблемности и поймем какой набор P̂(∗|x), который наилучшимобразом объясняет происходящее.

5 В качестве решающей функции возьмем набор P̂(∗|x)

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

Веса при 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 )

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

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

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

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

|lnF (x)| < D(x)

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

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

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

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

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

F = F (x , β)

ij ,k = µX ( ∂2L∂βj∂βk

)

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

√n(βmle − β0)

d→ N (0, I−1)

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

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

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

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

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

Выразим априорные свойства (наш X ,Y ) в видеограничений;Из всех решений, соответствующих свойствам,найдем обладающее максимальной энтропией;

Например ограничения такие:∑i p(xi |I )fk(xi) = f 0

k , k = 1, . . . ,m :p(x |I ) = 1Ze∑m

1 βk fk (x)

Z =∑

i exp∑

k βk fk (x)

f 0k = ∂

∂βklogZ

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

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

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

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

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

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

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

C (F )

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

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

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

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

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

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

F0 = arg maxF

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

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

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

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

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

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

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

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

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

Придумать таргеты для некоторых задач;

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

Recommended