Машинное обучение 1, осень 2014: Некоторые способы...

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

Upload: cs-center

Post on 13-Dec-2014

68 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

Яндекс

СПб, 2013

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

Page 2: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

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

Page 3: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

Пример

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

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

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

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

Page 4: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

maxTM(arg max

FT (F , L)

)(T )

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

M≡ arg maxTM(arg max

FT (F , L)

)(T )

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

Page 5: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

∑(x ,ya,yb)

(yaF0(x) + yb(1− F0(x))время сна;

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

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

Page 6: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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)

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

Page 7: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

В этом случае, можно рассматривать y ′ как новую цель, ирешать задачу классификации в T = p(X |F ), где p —вероятность проблемностиИ. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 5 из 1

Page 8: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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)

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

Page 9: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

maxTM(arg max

FT (F , L)

)(T )

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

Page 10: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

Как можно подойти к построению 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 ;принцип максимальной энтропии;принцип минимального описания;

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

Page 11: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

F0 = arg maxF

1n

∑i

m(F (xi), yi)

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

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

Page 12: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

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

i1xi

;

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

Page 13: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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 из 1

Page 14: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

F0 = arg minF

∑i

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

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

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

Page 15: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

(∑i

‖xi − bi‖q) 1

q

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

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

Page 16: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

l0(x , b) =∑

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

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

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

Page 17: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

Page 18: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

maxsM(arg max

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

)(T )

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

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

Page 19: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

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

Page 20: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

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

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

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

Page 21: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

arg maxF

p(F |X )

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

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

Page 22: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

maxTM(arg max

FT (F , L)

)(T )

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

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

Page 23: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

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

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

F (x) =

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

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

Page 24: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

p(X |f ) =∏

i

p(xi |f )

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

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

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

Page 25: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

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

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

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

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

Page 26: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

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

получим maximum a posteriori.

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

Page 27: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

Page 28: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

Page 29: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

|lnF (x)| < D(x)

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

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

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

Page 30: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

F = F (x , λ)

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

)

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

√n(λmle − λ0)

d→ N (0, I−1)

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

Page 31: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

Page 32: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

Page 33: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

Page 34: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

C (F )

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

Page 35: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

Page 36: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

F0 = arg maxF

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

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

Page 37: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

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

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

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

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

Page 38: Машинное обучение 1, осень 2014: Некоторые способы построения целевой функции

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

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

М.: Издательство МЦНМО, 2010

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