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

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

Embed Size (px)

Citation preview

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

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

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

Яндекс

СПб, 2015

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

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

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

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

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

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

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

Пример

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

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

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

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

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

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

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

maxTM(arg max

FT (F , L)

)(T )

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

M≡ arg maxTM(arg max

FT (F , L)

)(T )

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

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

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

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

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

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

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

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

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

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

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

Про вахтера в новых обозначениях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

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

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

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

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

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

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

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

maxTM(arg max

FT (F , L)

)(T )

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

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

Как можно подойти к построению 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

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

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

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

F0 = arg maxF

1n

∑i

m(F (xi), yi)

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

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

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

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

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

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

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

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

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

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

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

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

i1xi

;

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

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

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

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

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

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

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

F0 = arg minF

∑i

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

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

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

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

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

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

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

(∑i

|xi − bi |q) 1

q

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

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

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

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

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

l0(x , b) =∑

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

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

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

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

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

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

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

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

maxsM(arg max

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

)(T )

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

arg maxF

p(F |X )

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

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

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

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

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

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

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

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

maxTM(arg max

FT (F , L)

)(T )

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

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

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

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

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

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

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

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

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

p(X |f ) =∏i

p(xi |f )

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

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

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

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

Байесовские методы (пример)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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

получим maximum a posteriori.

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

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

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

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

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

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

Лень придумывать 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

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

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

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

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

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

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

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

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

|lnF (x)| < D(x)

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

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

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

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

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

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

F = F (x , β)

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

)

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

√n(βmle − β0)

d→ N (0, I−1)

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

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

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

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

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

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

Принцип максимальной энтропии 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

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

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

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

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

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

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

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

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

C (F )

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

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

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

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

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

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

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

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

F0 = arg maxF

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

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

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

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

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

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

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

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

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

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

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

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

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