Кластеризация и em-алгоритм-.4cm

Post on 01-Jun-2022

12 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Кластеризация и EM-алгоритм

Сергей Николенко

НИУ ВШЭ − Санкт-Петербург28 марта 2020 г.

Random facts:

• 28 марта — День освобождения тибетцев от крепостного рабства; 28 марта 1959 г. властиКНР объявили о роспуске тибетского правительства и провели военную операцию, врезультате которой Далай-лама XIV и десятки тысяч других тибетцев бежали в Индию

• 28 марта 193 г. закончилось трёхмесячное правление императора Пертинакса; оннедоплатил преторианцам, те его убили и выставили должность императора нааукцион; сенатор Дидий Юлиан победил в аукционе и правил ещё месяца два

• 28 марта 519 г. закончилась акакианская схизма — в 482 г. у константинопольскогопатриарха Акакия возникли разногласия с александрийским патриархом Иоанном, в484 его низложили на соборе в Риме, но через 35 лет удалось (пока) помириться

• 28 марта 1939 г. войска генерала Франко заняли Мадрид после трёхлетней осады

• 28 марта 1979 г. произошла авария на станции Three Mile Island в Пенсильвании; 50%активной зоны реактора расплавились, но люди и окружающая среда не пострадали;тем не менее, на этом атомная энергетика в США фактически закончилась: с 1979 до2012 года не было выдано ни одной новой лицензии на строительство АЭС

Кластеризация

Суть лекции

• Кластеризация — типичная задача обучения без учителя:задача классификации объектов одной природы в несколькогрупп так, чтобы объекты в одной группе обладали одним итем же свойством.

• Под свойством обычно понимается близость друг к другуотносительно выбранной метрики.

1

Чуть более формально

• Есть набор тестовых примеров X = {x1, . . . , xn} и функциярасстояния между примерами ρ.

• Требуется разбить X на непересекающиеся подмножества(кластеры) так, чтобы каждое подмножество состояло изпохожих объектов, а объекты разных подмножествсущественно различались.

2

Идея

• Есть точки x1, x2, . . . , xn в пространстве. Нужнокластеризовать.

• Считаем каждую точку кластером. Затем ближайшие точкиобъединяем, далее считаем единым кластером. Затемповторяем.

• Получается дерево.

3

Алгоритм

HierarchyCluster(X = {x1, . . . , xn})

• Инициализируем C = X, G = X.• Пока в C больше одного элемента:

• Выбираем два элемента C c1 и c2, расстояние между которымиминимально.

• Добавляем в G вершину c1c2, соединяем её с вершинами c1 и c2.• C := C ∪ {c1c2} \ {c1, c2}.

• Выдаём G.

4

Результат

• В итоге получается дерево кластеров, из которого потомможно выбрать кластеризацию с требуемой степеньюдетализации (обрезать на том или ином максимальномрасстоянии).

• Всё ли понятно?

5

Результат

• В итоге получается дерево кластеров, из которого потомможно выбрать кластеризацию с требуемой степеньюдетализации (обрезать на том или ином максимальномрасстоянии).

• Всё ли понятно?• Остаётся вопрос: как подсчитывать расстояние междукластерами?

5

Single-link vs. complete-link

• Single-link алгоритмы считают минимум из возможныхрасстояний между парами объектов, находящихся в кластере.

• Complete-link алгоритмы считают максимум из этихрасстояний

• Какие особенности будут у single-link и complete-linkалгоритмов? Чем они будут отличаться?

6

Очевидный алгоритм

• Нарисуем полный граф с весами, равными расстояниюмежду объектами.

• Выберем некий предопределённый порог расстояния r ивыбросим все рёбра длиннее r.

• Компоненты связности полученного графа — это нашикластеры.

7

Минимальное остовное дерево

• Минимальное остовное дерево — дерево, содержащее всевершины (связного) графа и имеющее минимальныйсуммарный вес своих рёбер.

• Алгоритм Краскала (Kruskal): выбираем на каждом шагеребро с минимальным весом, если оно соединяет двадерева, добавляем, если нет, пропускаем.

• Алгоритм Борувки (Boruvka).

8

Кластеризация

• Как использовать минимальное остовное дерево длякластеризации?

9

Кластеризация

• Как использовать минимальное остовное дерево длякластеризации?

• Построить минимальное остовное дерево, а потомвыкидывать из него рёбра максимального веса.

• Сколько рёбер выбросим, столько кластеров получим.

9

DBSCAN

• Идея: кластер – это зона высокой плотности точек,отделённая от других кластеров зонами низкой плотности.

• Алгоритм: выделяем core samples, которые сэмплируются взонах высокой плотности (т.е. есть по крайней мере nсоседей, других точек на расстоянии ≤ ϵ).

• Затем последовательно объединяем core samples, которыеоказываются соседями друг друга.

• Точки, которые не являются ничьими соседями, — этовыбросы.

10

Birch

• Идея: строим дерево (CF-tree, от clustering feature), котороесодержит краткие описания кластеров и поддерживаетапдейты.

• CFi = {Ni,LSi,SSi}: число точек в кластере CFi,LSi =

∑x∈CFi

xi (linear sum), SSi =∑

x∈CFix2i (sum of squares).

• Этого достаточно для того, чтобы подсчитать разумныерасстояния между кластерами.

• А также для того, чтобы слить два кластера: CFi аддитивны.

11

Birch

• CF-дерево состоит из CFi; оно похоже на B-дерево,сбалансировано по высоте. Кластеры – листья дерева, надними “суперкластеры”.

• Добавляем новый кластер, рекурсивно вставляя его вдерево; если от этого число элементов в листе становитсяслишком большим (параметр), лист разбивается на два.

• А когда дерево построено, можно запустить ещё однукластеризацию (любым другим методом) на полученных“мини-кластерах”.

11

Алгоритм EM и кластеризация

Постановка задачи

• Часто возникает ситуация, когда в имеющихся данныхнекоторые переменные присутствуют, а некоторые —отсутствуют.

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

12

Постановка задачи

• Эти неизвестные параметры тоже расцениваются какслучайные величины.

• Задача — найти наиболее вероятную гипотезу, то есть тугипотезу h, которая максимизирует

E[lnp(D|h)].

13

Частный случай

Построим один из простейших примеров применения алгоритмаEM. Пусть случайная переменная x сэмплируется из суммы двухнормальных распределений. Дисперсии даны (одинаковые),нужно найти только средние µ1, µ2.

14

Два распределения

• Теперь нельзя понять, какие xi были порождены какимраспределением — классический пример скрытыхпеременных.

• Один тестовый пример полностью описывается как тройка⟨xi, zi1, zi2⟩, где zij = 1 iff xi был сгенерирован j-мраспределением.

15

Суть алгоритма EM

• Сгенерировать какую-нибудь гипотезу h = (µ1, µ2).• Пока не дойдем до локального максимума:

• Вычислить ожидание E(zij) в предположении текущей гипотезы(E–шаг).

• Вычислить новую гипотезу h′ = (µ′1, µ

′2), предполагая, что zij

принимают значения E(zij) (M–шаг).

16

В примере с гауссианами

В примере с гауссианами:

E(zij) =p(x = xi|µ = µj)

p(x = xi|µ = µ1) + p(x = xi|µ = µ2)=

=e−

12σ2

(xi−µj)2

e−1

2σ2(xi−µ1)2 + e−

12σ2

(xi−µ2)2.

Мы подсчитываем эти ожидания, а потом подправляем гипотезу:

µj ←1m

m∑i=1

E(zij)xi.

17

Обоснование алгоритма EM

• Дадим формальное обоснование алгоритма EM.• Мы решаем задачу максимизации правдоподобия по даннымX = {x1, . . . , xN}.

L(θ | X ) = p(X | θ) =∏

p(xi | θ)

или, что то же самое, максимизации ℓ(θ | X ) = log L(θ | X ).• EM может помочь, если этот максимум трудно найтианалитически.

18

Обоснование алгоритма EM

• Давайте предположим, что в данных есть скрытыекомпоненты, такие, что если бы мы их знали, задача былабы проще.

• Замечание: совершенно не обязательно эти компонентыдолжны иметь какой-то физический смысл. :) Может быть,так просто удобнее.

• В любом случае, получается набор данных Z = (X ,Y) ссовместной плотностью

p(z | θ) = p(x, y | θ) = p(y | x, θ)p(x | θ).

• Получается полное правдоподобие L(θ | Z) = p(X ,Y | θ). Этослучайная величина (т.к. Y неизвестно).

18

Обоснование алгоритма EM

• Заметим, что настоящее правдоподобиеL(θ) = EY [p(X ,Y | θ) | X , θ].

• E-шаг алгоритма EM вычисляет условное ожидание(логарифма) полного правдоподобия при условии X итекущих оценок параметров θn:

Q(θ, θn) = E [log p(X ,Y | θ) | X , θn] .

• Здесь θn – текущие оценки, а θ – неизвестные значения(которые мы хотим получить в конечном счёте); т.е. Q(θ, θn) –это функция от θ.

18

Обоснование алгоритма EM

• E-шаг алгоритма EM вычисляет условное ожидание(логарифма) полного правдоподобия при условии X итекущих оценок параметров θ:

Q(θ, θn) = E [log p(X ,Y | θ) | X , θn] .

• Условное ожидание – это

E [log p(X ,Y | θ) | X , θn] =∫ylog p(X , y | θ)p(y | X , θn)dy,

где p(y | X , θn) – маргинальное распределение скрытыхкомпонентов данных.

• EM лучше всего применять, когда это выражение легкоподсчитать, может быть, даже аналитически.

• Вместо p(y | X , θn) можно подставитьp(y,X | θn) = p(y | X , θn)p(X | θn), от этого ничего неизменится. 18

Обоснование алгоритма EM

• В итоге после E-шага алгоритма EM мы получаем функциюQ(θ, θn).

• На M-шаге мы максимизируем

θn+1 = arg maxθQ(θ, θn).

• Затем повторяем процедуру до сходимости.• В принципе, достаточно просто находить θn+1, для которогоQ(θn+1, θn) > Q(θn, θn) – Generalized EM.

• Осталось понять, что значит Q(θ, θn) и почему всё этоработает.

18

Обоснование алгоритма EM

• Мы хотели перейти от θn к θ, для которого ℓ(θ) > ℓ(θn).

ℓ(θ)− ℓ(θn) =

= log

(∫yp(X | y, θ)p(y | θ)dy

)− log p(X | θn) =

= log

(∫yp(y | X , θn)

p(X | y, θ)p(y | θ)p(y | X , θn)

dy)− log p(X | θn) ≥

≥∫yp(y | X , θn) log

(p(X | y, θ)p(y | θ)

p(y | X , θn)

)dy− log p(X | θn) =

=

∫yp(y | X , θn) log

(p(X | y, θ)p(y | θ)p(X | θn)p(y | X , θn)

)dy.

18

Обоснование алгоритма EM

• Получили

ℓ(θ) ≥ l(θ, θn) =

= ℓ(θn) +

∫yp(y | X , θn) log

(p(X | y, θ)p(y | θ)p(X | θn)p(y | X , θn)

)dy.

Упражнение. Докажите, что l(θn, θn) = ℓ(θn).

18

Обоснование алгоритма EM

• Иначе говоря, мы нашли нижнюю оценку на ℓ(θ) везде,касание происходит в точке θn.

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

• Такая общая схема называется MM-алгоритм(minorization-maximization). Мы к ним, возможно, ещёвернёмся.

18

Обоснование алгоритма EM

19

Обоснование алгоритма EM

• Осталось только понять, что максимизировать можно Q.

θn+1 = arg maxθl(θ, θn) = arg maxθ {ℓ(θn)+

+

∫yf(y | X , θn) log

(p(X | y, θ)f(y | θ)p(X | θn)f(y | X , θn)

)dy

}=

= arg maxθ

{∫yp(y | X , θn) log (p(X | y, θ)p(y | θ))dy

}=

= arg maxθ

{∫yp(y | X , θn) log p(X , y | θ)dy

}=

= arg maxθ {Q(θ, θn)} ,

а остальное от θ не зависит. Вот и получился EM.

20

Мысли?

• Какие есть мысли о применении алгоритма EM к задачамкластеризации?

21

Гипотезы

• Чтобы воспользоваться статистическим алгоритмом, нужносформулировать гипотезы о распределении данных.

• Гипотеза о природе данных: тестовые примеры появляютсяслучайно и независимо, согласно вероятностномураспределению, равному смеси распределений кластеров

p(x) =∑c∈C

wcpc(x),∑c∈C

wc = 1,

где wc — вероятность появления объектов из кластера c, pc —плотность распределения кластера c.

22

Гипотезы cont’d

• Остается вопрос: какими предположить распределения pc?

23

Гипотезы cont’d

• Остается вопрос: какими предположить распределения pc?• Часто берут сферические гауссианы, но это не слишкомгибкий вариант: кластер может быть вытянут в ту или инуюсторону.

23

Гипотезы cont’d

• Остается вопрос: какими предположить распределения pc?• Часто берут сферические гауссианы, но это не слишкомгибкий вариант: кластер может быть вытянут в ту или инуюсторону.

• Мы будем брать эллиптические гауссианы.• Гипотеза 2: Каждый кластер c описывается d–мернойгауссовской плотностью с центром µc = {µc1, . . . , µcd} идиагональной матрицей ковариаций Σc = diag(σ2c1, . . . , σ2c2)(т.е. по каждой координате своя дисперсия).

23

Постановка задачи и общий вид алгоритма

• В этих предположениях получается в точности задачаразделения смеси вероятностных распределений. Для этогои нужен EM–алгоритм.

• Каждый тестовый пример описывается своимикоординатами (f1(x), . . . , fn(x)).

• Скрытые переменные в данном случае — вероятности gicтого, что объект xi принадлежит кластеру c ∈ C.

24

Идея алгоритма

• E–шаг: по формуле Байеса вычисляются скрытыепеременные gic:

25

Идея алгоритма

• E–шаг: по формуле Байеса вычисляются скрытыепеременные gic:

gic =wcpc(xi)∑

c′∈C wc′pc′(xi).

25

Идея алгоритма

• E–шаг: по формуле Байеса вычисляются скрытыепеременные gic:

gic =wcpc(xi)∑

c′∈C wc′pc′(xi).

• M–шаг: с использованием gic уточняются параметрыкластеров w, µ, σ:

25

Идея алгоритма

• E–шаг: по формуле Байеса вычисляются скрытыепеременные gic:

gic =wcpc(xi)∑

c′∈C wc′pc′(xi).

• M–шаг: с использованием gic уточняются параметрыкластеров w, µ, σ:

wc =1n

n∑i=1

gic,

25

Идея алгоритма

• E–шаг: по формуле Байеса вычисляются скрытыепеременные gic:

gic =wcpc(xi)∑

c′∈C wc′pc′(xi).

• M–шаг: с использованием gic уточняются параметрыкластеров w, µ, σ:

wc =1n

n∑i=1

gic, µcj =1nwc

n∑i=1

gicfj(xi),

25

Идея алгоритма

• E–шаг: по формуле Байеса вычисляются скрытыепеременные gic:

gic =wcpc(xi)∑

c′∈C wc′pc′(xi).

• M–шаг: с использованием gic уточняются параметрыкластеров w, µ, σ:

wc =1n

n∑i=1

gic, µcj =1nwc

n∑i=1

gicfj(xi),

σ2cj =1nwc

n∑i=1

gic(fj(xi)− µcj

)2.

25

Алгоритм

EMCluster(X, |C|):

• Инициализировать |C| кластеров; начальное приближение:wc := 1/|C|, µc := случайный xi, σ2cj :=

1n|C|

∑ni=1

(fj(xi)− µcj

)2.• Пока принадлежность кластерам не перестанет изменяться:

• E–шаг: gic := wcpc(xi)∑c′∈C wc′pc′ (xi)

.

• M–шаг: wc = 1n∑n

i=1 gic, µcj =1

nwc

∑ni=1 gicfj(xi),

σ2cj =1nwc

n∑i=1

gic (fj(xi)− µcj)2 .

• Определить принадлежность xi к кластерам:

clusti := arg maxc∈Cgic.

26

Упражнение

Упражнение. Докажите, что E-шаг и M-шаг действительно в данном случае таквыглядят.

27

Пример

28

Пример

28

Пример

28

Проблема

• Остается проблема: нужно задавать количество кластеров.

29

Суть алгоритма k–средних

• Один из самых известных алгоритмов кластеризации –алгоритм k-средних – это фактически упрощение алгоритмаEM.

• Разница в том, что мы не считаем вероятностипринадлежности кластерам, а жестко приписываем каждыйобъект одному кластеру.

• Кроме того, в алгоритме k–средних форма кластеров ненастраивается (но это не так важно).

30

Цель

• Цель алгоритма k–средних — минимизировать меру ошибки

E(X, C) =n∑i=1

||xi − µi||2,

где µi — ближайший к xi центр кластера.• Т.е. мы не относим точки к кластерам, а двигаем центры, апринадлежность точек определяется автоматически.

31

Алгоритм неформально

• Идея та же, что в EM:• Проинициализировать.• Классифицировать точки по ближайшему к ним центрукластера.

• Перевычислить каждый из центров.• Если ничего не изменилось, остановиться, если изменилось —повторить.

32

Алгоритм

kMeans(X, |C|):

• Инициализировать центры |C| кластеров µ1, . . . , µ|C|.• Пока принадлежность кластерам не перестанет изменяться:

• Определить принадлежность xi к кластерам:

clusti := arg minc∈Cρ(xi, µc).

• Определить новое положение центров кластеров:

µc :=

∑clusti=c

fj(xi)∑clusti=c

1 .

33

Semi–supervised clustering

• И EM, и k–means хорошо обобщаются на случай частичнообученных кластеров.

• То есть про часть точек уже известно, какому кластеру онипринадлежат.

• Как это учесть?

34

Semi–supervised clustering

• Чтобы учесть информацию о точке xi, достаточно для EMположить скрытую переменную gic равной тому кластеру,которому нужно, с вероятностью 1, а остальным — свероятностью 0, и не пересчитывать.

• Для k–means то же самое, но для clusti.

35

Пример EM: presence-only data

Presence-only data

• Пример из экологии: пусть мы хотим оценить, где водятся теили иные животные.

• Как определить, что суслики тут водятся, понятно: видишьсуслика — значит, он есть.

• Но как определить, что суслика нет? Может быть, ты невидишь суслика, и я не вижу, а он есть?..

36

Presence-only data

• Формально говоря, есть переменные x, определяющиенекий регион (квадрат на карте), и мы моделируемвероятность того, что нужный вид тут есть, p(y = 1 | x), припомощи логит-функции:

p(y = 1 | x) = σ(η(x)) = 11+ e−η(x) ,

где η(x) может быть линейной (тогда получитсялогистическая регрессия), но может, в принципе, и не быть.

• Заметим, что даже если бы мы знали настоящие y, это былобы ещё не всё: сэмплирование положительных иотрицательных примеров неравномерно, перекошено впользу положительных.

36

Presence-only data

• Это значит, что ещё есть пропорции сэмплирования(sampling rates)

γ0 = p(s = 1 | y = 0), γ1 = p(s = 1 | y = 1),

т.е. вероятности взять в выборкуположительный/отрицательный пример.

• Их можно оценить как

γ0 =n0

(1− π)N , γ1 =n1πN ,

где π — истинная доля положительных примеров(встречаемость, occurrence).

• Кстати, эту π было бы очень неплохо оценить в итоге.

36

Presence-only data

• Тогда, если знать истинные значения всех y, то в принципеможно обучить:

p(y = 1 | s = 1, x) =

=p(s = 1 | y = 1, x)p(y = 1 | x)

p(s = 1 | y = 0, x)p(y = 0 | x) + p(s = 1 | y = 1, x)p(y = 1 | x) =

=γ1eη(x)

γ0 + γ1eη(x)=

eη∗(x)

1+ eη∗(x) ,

где η∗(x) = η(x) + log(γ1/γ0), т.е.

η∗(x) = η(x) + log

(n1n0

)− log

1− π

).

36

Presence-only data

• Таким образом, если π неизвестно, то η(x) можно найти сточностью до константы.

• А у нас не n0 и n1, а naive presence np и background nu, т.е.

p(y = 1 | s = 1) = np+πnunp+nu , p(y = 1 | s = 0) = (1−π)nu

np+nu ,

γ1 =p(y=1|s=1)p(s=1)

p(y=1) =np+πnuπ(np+nu)p(s = 1),

γ0 =p(y=0|s=1)p(s=1)

p(y=0) = nunp+nup(s = 1),

и в нашей модели log n1n0 = log

np+πnuπnu , т.е. всё как раньше, но

n1 = np + πnu, n0 = (1− π)nu.• Обучать по y можно так: обучить модель, а потом вычесть изη(x) константу log np+πnu

πnu .

36

Presence-only data

• Но у нас нет настоящих данных y, чтобы обучить регрессию, аесть только presence-only z: если z = 1, то y = 1, но если z = 0,то неизвестно, чему равен y.

• (Ward et al., 2009): давайте использовать EM. Правдоподобие:

L(η | y, z,X ) =∏i

p(yi, zi | si = 1, xi) =

=∏i

p(yi | si = 1, xi)p(zi | yi, si = 1, xi).

• В нашем случае при np положительных примеров и nuфоновых (неизвестных)

p(zi = 0 | yi = 0, si = 1, xi) = 1,p(zi = 1 | yi = 1, si = 1, xi) =

npnp+πnu ,

p(zi = 0 | yi = 1, si = 1, xi) = πnunp+πnu .

36

Presence-only data

• А максимизировать нам надо сложное правдоподобие, вкотором значения y неизвестны:

L(η | z,X ) =∏i

p(zi | si = 1, x) =

=∏i

npπnu e

η(xi)

1+(1+ np

πnu

)eη(xi)

zi 1+ eη(xi)

1+(1+ np

πnu

)eη(xi)

1−zi

.

• Для этого и нужен EM.

36

Presence-only data

• E-шаг здесь в том, чтобы заменить yi на его оценку

y(k)i = E[yi | η(k)

]=

eη(k)+ 1

1+ eη(k) + 1.

• M-шаг мы уже видели, это обучение параметровлогистической модели с целевой переменной y(k) на данныхX .

36

Presence-only data

• У Ward et al. получалось хорошо, но тут вышел любопытныйспор.

• Ward et al. писали так: хотелось бы, чтобы можно былооценить π, но “π is identifiable only if we make unrealisticassumptions about the structure of η(x) such as in logisticregression where η(x) is linear in x: η(x) = x⊤β”.

• Через пару лет вышла статья Royle et al. (2012), тоже оченьцитируемая, в которой говорилось: “logistic regression... ishardly unrealistic... such models are the most commonapproach to modeling binary variables in ecology (and probablyall of statistics)... the logistic functions... is customarily adoptedand widely used, and even books have been written about it”.

36

Presence-only data

• Они предложили процедуру для оценки встречаемости π:• для признаков x у нас p(y = 1 | x) = p(y=1)π1(x)

p(y=1)π1(x)+(1−p(y=1))π0(x) ;• данные – это выборка из π1(x) и отдельно выборка из π(x);• как видно, даже если знать π и π1 полностью, остаётся свобода:надо оценить p(y = 1 | x), а π0(x) мы не знаем;

• Royle et al. вводят предположения для p(y = 1 | x) в виделогистической регрессии: p(y = 1 | x) = σ(β⊤x);

• тогда действительно можно записатьp(y = 1)π1(x) = p(y = 1 | x)π(x) = p(y = 1, x), и если π(x)равномерно (это логично), то

π1(xi) =p(yi = 1 | xi)∑x p(y = 1 | x) ;

если подставить сюда логистическую регрессию, то можнооценить β максимального правдоподобия, и не надо знатьp(y = 1)!

• Что тут не так?36

Presence-only data

• Всё так, но предположение о логистической регрессии здесьвыполняет слишком много работы.

• Если рассмотреть две кривые, у которыхp∗(y = 1 | x,β) = 1

2p(y = 1 | x,β), то у них будетp∗(y = 1) = 1

2p(y = 1), но общее правдоподобие π1(xi) будет вточности одинаковое, 12 сократится.

• Дело в том, что модель p∗ не будет логистическойрегрессией, с β произойдёт что-то нелинейное; но откуда унас настолько сильное предположение? Как отличить синююкривую справа от пунктирной прямой?

36

Рейтинг спортивного ЧГК

• Пример из практики: в какой-то момент я хотел сделатьрейтинг спортивного «Что? Где? Когда?»:

• участвуют команды по ≤ 6 человек, причём часто встречаютсянеполные команды;

• игроки постоянно переходят между командами (поэтомуTrueSkill);

• в одном турнире могут участвовать до тысячи команд(синхронные турниры);

• командам задаётся фиксированное число вопросов (36, 60, 90),т.е. в крупных турнирах очень много команд делят одно и то жеместо.

37

Рейтинг спортивного ЧГК

• Первое решение — система TrueSkill• Расскажу о ней потом, когда будем говорить об ExpectationPropagation

• У неё есть проблемы в постановке спортивного ЧГК, мыкогда-то их отчасти решили, была сложная и интереснаямодель, она работала лучше базового TrueSkill

• Но...

37

Рейтинг спортивного ЧГК

• В какой-то момент база турниров ЧГК стала собиратьповопросные результаты.

• Мы теперь знаем, на какие именно вопросы ответила та илииная команда.

• Так что когда я вернулся к задаче построения рейтинга ЧГК,задача стала существенно проще.

37

Рейтинг спортивного ЧГК

• Пример аналогичного приложения:• есть набор вопросов для теста из большого числа вопросов(например, IQ-тест или экзамен по какому-то предмету);

• участники отвечают на случайное подмножество вопросов;• надо оценить участников, но уровень сложности вопросовнельзя заранее точно сбалансировать.

• «Что? Где? Когда?» — это оно и есть, только теперь участникиобъединяются в команды.

37

Baseline: логистическая регрессия

• Baseline — логистическая регрессия:• каждый игрок i моделируется скиллом si,• каждый вопрос q моделируется сложностью («лёгкостью») cq,• добавим глобальное среднее µ,• обучим логистическую модель

p(xtq | si, cq) ∼ σ(µ+ si + cq)

для каждого игрока i ∈ t команды-участницы t ∈ T (d) и каждоговопроса q ∈ Q(d), где σ(x) = 1/(1+ ex) — логистическийсигмоид, xtq — ответила ли команда t на вопрос q.

38

Модель со скрытыми переменными

• Логистическая модель предполагает фактически, что каждыйигрок ответил на каждый вопрос, который взяла команда.

• Это неправда, мы не знаем, кто ответил, только знаем, чтокто-то это сделал; а если команда не ответила, то никто.

• Это по идее похоже на presence-only data models (Ward et al.,2009; Royle et al., 2012).

39

Модель со скрытыми переменными

• Поэтому давайте сделаем модель со скрытыми переменными.• Для каждой пары игрок-вопрос, добавим переменную ziq,которая означает, что «игрок i ответил на вопрос q».

• На эти переменные есть такие ограничения:• если xtq = 0, то ziq = 0 для каждого игрока i ∈ t;• если xtq = 1, то ziq = 1 для по крайней мере одного игрока i ∈ t.

39

Модель со скрытыми переменными

• Параметры модели те же — скилл и сложность вопросов:

p(ziq | si, cq) ∼ σ(µ+ si + cq).

• Обучаем EM-алгоритмом:• E-шаг: зафиксируем все si и cq, вычислим ожидания скрытыхпеременных ziq как

E[ziq

]=

0, если xtq = 0,p(ziq = 1 | ∃j ∈ t zjq = 1) = σ(µ+si+cq)

1−∏j∈t(1−σ(µ+sj+cq))

, если xtq = 1;

• M-шаг: зафиксируем E [ziq], обучим логистическую модель

E [ziq] ∼ σ(µ+ si + cq).

39

Результаты

• Ну и, конечно, работает хорошо.

MAP

0.6

0.7

0.8

AUC

04.2012

07.2012

10.2012

01.2013

05.2013

08.2013

11.2013

03.2014

06.2014

09.2014

0.7

0.8

0.9

40

Пример

41

Пример

42

Спасибо!

Спасибо за внимание!

43

top related