Upload
cs-center
View
246
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Машинное обучение: обзор целевыхфункций
И. Куралёнок, Н. Поваров
Яндекс
СПб, 2014
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 1 из 36
Задача на сегодня
Строить варианты целевой функции на заданную тему.
Для этогого нам понадобится:узнать чем отличается измерение от оптимизации;понять какие существуют подходы к построениюцелевой функции;научиться строить целевые функции для заданныхпримеров (это уже ДЗ).
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 2 из 36
Пример
Вахтер хочет понять кого пускать в парадную. Он хочетминимизировать свою работу (больше спать) по:
проверке входящих;разборкам с жильцами/руководством;уборке/проветриванию.
Для этого ему надо проверять входящих (думать).Однако, минимизировать “время сна” напрямую оченьсложно. Наша задача помочь бедному вахтеру.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 3 из 36
Суть проблемы
Если мы понимаем чего хотим:M(F )(X ) (линейкапозволяющая измерить конкретное решение), тозадачу оптимизации можно переписать так:
maxTM(arg max
FT (F , L)
)(T )
Если выборка не смещена по параметрамоптимизации, то К.О. говорит нам:
M≡ arg maxTM(arg max
FT (F , L)
)(T )
Однако, все не так просто.И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 4 из 36
Про вахтера в новых обозначениях
F : способы проверки входящих (F : X → {0, 1});M: M(X , F0) = t0 −
∑(x ,ya,yb)
(yaF0(x) + yb(1− F0(x))время сна;
T : способы оценить проверку входящих:
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 5 из 36
Про вахтера в новых обозначениях
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 из 36
Про вахтера в новых обозначениях
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
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 5 из 36
Про вахтера в новых обозначениях
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 из 36
Проблема в построении
Что может быть “не так” в очевидном решении:M может быть неудобна для оптимизации(кусочно-постоянная, например);сложно гарантировать несмещенность попараметрам оптимизации;сложно собирать данные в терминахM;
Поэтому все еще актуально решать исходную задачу:
maxTM(arg max
FT (F , L)
)(T )
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 6 из 36
Как можно подойти к построению 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 из 36
Средние значения
Будем оценивать каждое наблюдение. Хотим улучшитьрезультат в среднем.
F0 = arg maxF
1n
∑i
m(F (xi), yi)
Поделили большуюM на много маленьких m.+ по наблюдениям делить естественно;— надо следить за независимостью наблюдений;— работает только для ситуаций когда нет ∞потерь/приобретений;
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 8 из 36
Средние значения бывают разные
Последнюю проблему можно решить с помощьюдругих средних:
геометрическое : n√∏
i xi ;гармоническое : n∑
i1xi
;
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 9 из 36
Разные только пространства усреднения
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 из 36
Почему это работает
Пусть задана метрикаM, хотим получить решение F ,которое ее максимизирует. Введем дополнительнуюинтерпретацию наблюдений s(yi) ∈ R. Будемпредсказывать s(yi):
F0 = arg minF
∑i
‖F (x)− s(yi)‖lq
формирование s(y) — отдельная проблема;регрессия известная задача;все гладко1, выпукло и удобно для оптимизации.
1для некоторых q :)И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 11 из 36
Виды невязки lq
Невязку можно интерпретировать по-разному и взависимости от интерпретации подбирать q:
lq(x , b) = ‖x − b‖lq =
(∑i
|xi − bi |q) 1
q
Все чуть менее гладко, чем хотелось бы, но и такиештуки оптимизируются с помощью одностороннихградиентов.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 12 из 36
Экстремальные случаи q
Особенно интересны экстремальные случаи q:
l0(x , b) =∑
i I{x = b}l∞(x , b) = max |x − b|
Очень понятный физический смысл, но с гладкостьюбеда: оптимизация l0 NP-hard.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 13 из 36
Как выглядят разные q
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 14 из 36
Подбираем “очки”
maxsM(arg max
F‖F (x)− s(y)‖lq
)(T )
Обычно первая версия “от балды”. Развиваемитеративно :).
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 15 из 36
Вспоминая вахтера
Назначим очки:Результат Очки
Ничего 0Громко тусовался 10Накурил 15Напачкал 100Это сильно проще сделать “от балды”, чем считатьстатистику.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 16 из 36
Моделирование вахтера
Попробуем объяснить происходящее, зная как онобывает:Местные проблемные только если выпьют;Не местные бывают:
Приличные не будут ничего плохого делать,пока не выпьют;
Неприличные могут нахамить, могутсоздать проблемы.
Составим из этой картины мира вероятностнуюмодель, и оптимизируем ее.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 17 из 36
Оптимизация вероятностной модели
arg maxF
p(F |X )
В вероятностях проще рассуждать о жизниИнтересно найти параметры, которые наиболеевероятны при наблюдаемых данныхОбычно непонятно как это распределениепостроить напрямую
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 18 из 36
Почему это работает
Мы строим p таким образом, что она отражает нашепонимание о структуре области. По сути мыитеративно напрямую оптимизируем
maxTM(arg max
FT (F , L)
)(T )
с использованием натурального интеллекта :).
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 19 из 36
Байесовские методы
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 из 36
Байесовские методы (практика)
1 Задаем априорное распределение параметров(например N(0,1))
2 Вычисляем вероятность X, считая что точкинезависимы и одинаково распределены
p(X |f ) =∏
i
p(xi |f )
3 Получаем распределение из которого можнопосамплить
4 Усредняем посампленное
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 21 из 36
Байесовские методы (свойства)
+ Все честно с точностью до входных данныхи построенной модели
+ Можно использовать информацию опредыдущем обучении (задавая prior)
+ Можно понять погрешность предсказания(даже если она не выводится аналитически)
— Все сильно зависит от выбора prior— Сложная решающая функция— Необходимо эффективное сэмплирование
пространства решений
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 22 из 36
Максимум апостериориБайес по простому
Хочется попрощеДля оценки ошибок есть бутстраппингАнсамбли можно сделать другими способами ивключить в решающую функцию
Чтобы не возиться со сложной F , можно просто взятьсамое вероятное решение:
F (x) = f (x) : p(f |X ) > p(g |X ),∀g ∈ F
получим maximum a posteriori.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 23 из 36
Метод максимального правдоподобия(Байес совсем по простому)
Лень придумывать 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 из 36
Веса при 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 из 36
Сходимость ММП
Идентификация (все функции разные);Множество функций компактно;Функции непрерывны с вероятностью 1;Существует мажорирующая интегрируемая D:
|lnF (x)| < D(x)
=⇒ при увеличении количества точек L сходится
sup‖LL(x , F )− LL(x , F0)‖ a.s.→ 0
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 26 из 36
Асимптотическая нормальность ММП
Первые две производные L определены:
F = F (x , λ)
ij ,k = µX ( ∂2L∂λj∂λk
)
Матрица I не ноль, непрерывная функция лямбды;Выполняется консистентность;И всё остальное хорошо:
√n(λmle − λ0)
d→ N (0, I−1)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 27 из 36
Принцип максимальной энтропии I
Много Больцмана;Кажется, что энтропия может сама толькоувеличиваться;Если оставить систему в покое, то может быть онаприйдёт к максимуму энтропии;Будем считать, что система живёт уже давно;Найдём такие параметры системы, которыеобеспечивают максимальную энтропию, сохраняяаприорно заданные параметры.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 28 из 36
Принцип максимальной энтропии 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 из 36
Почему это работает
arg maxF T (F , L) = arg maxFM(F , L)Максимизацией энтропии мы выпиливаеминформацию про выборку, оставляя лишьинформацию о генеральной совокупности. Так как мыхорошо смоделировали, надеемся, что минимум пометрике и по энтропии в одной точке.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 30 из 36
Принцип наименьшего описания
Формализация бритвы Оккама;Колмогоров/Solomonoff;Вводим сложность по Колмогорову;Находим оптимальное решение;По хорошему вероятность = 1.
F0 = arg minF :p(X |F )≥ε
C (F )
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 31 из 36
Почему это работает
Те же рассуждения, что и при ПМЭ.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 32 из 36
Сглаживание таргета
Когда целевая функция "плохая":
F0 = arg maxF
UT (X |F ) = arg maxFµx∼p(F )(UT (x))
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 33 из 36
Чему следовать выбирая таргет
Чувство прекрасного;Возможность применять математику:
Скорость вычисления;Дифференцируемость (градиентные методы).
Наличие интересных внутренних параметров;Возможность проверить осмысленностьпромежуточных результатов.
NB: Чем больше мы в области, тем больше знания мыперенесем в таргет.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 34 из 36
Результаты ДЗ второй недели
1 fdbe4e2 6f96803 68b6794 e659285 a4d7256 0bde0b7 76a53b8 bc2ae49 fbdc0010 3af84f11 ace23112 39ebe913 4b4041
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 35 из 36
Задание на дом
Придумать таргеты для некоторых задач;Точные задачи приведены в файле howto.txt;Дедлайн 10 октября.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 36 из 36