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

81
Кластеризация и 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 года не было выдано ни одной новой лицензии на строительство АЭС

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

Page 1: Кластеризация и EM-алгоритм-.4cm

Кластеризация и 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 года не было выдано ни одной новой лицензии на строительство АЭС

Page 2: Кластеризация и EM-алгоритм-.4cm

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

Page 3: Кластеризация и EM-алгоритм-.4cm

Суть лекции

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

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

1

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

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

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

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

2

Page 5: Кластеризация и EM-алгоритм-.4cm

Идея

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

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

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

3

Page 6: Кластеризация и EM-алгоритм-.4cm

Алгоритм

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

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

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

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

• Выдаём G.

4

Page 7: Кластеризация и EM-алгоритм-.4cm

Результат

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

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

5

Page 8: Кластеризация и EM-алгоритм-.4cm

Результат

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

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

5

Page 9: Кластеризация и EM-алгоритм-.4cm

Single-link vs. complete-link

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

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

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

6

Page 10: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

7

Page 11: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

8

Page 12: Кластеризация и EM-алгоритм-.4cm

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

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

9

Page 13: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

9

Page 14: Кластеризация и EM-алгоритм-.4cm

DBSCAN

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

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

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

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

10

Page 15: Кластеризация и EM-алгоритм-.4cm

Birch

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

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

∑x∈CFi

xi (linear sum), SSi =∑

x∈CFix2i (sum of squares).

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

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

11

Page 16: Кластеризация и EM-алгоритм-.4cm

Birch

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

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

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

11

Page 17: Кластеризация и EM-алгоритм-.4cm

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

Page 18: Кластеризация и EM-алгоритм-.4cm

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

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

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

12

Page 19: Кластеризация и EM-алгоритм-.4cm

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

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

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

E[lnp(D|h)].

13

Page 20: Кластеризация и EM-алгоритм-.4cm

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

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

14

Page 21: Кластеризация и EM-алгоритм-.4cm

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

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

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

15

Page 22: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

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

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

16

Page 23: Кластеризация и EM-алгоритм-.4cm

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

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

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

Page 24: Кластеризация и EM-алгоритм-.4cm

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

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

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

p(xi | θ)

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

18

Page 25: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

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

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

18

Page 26: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

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

18

Page 27: Кластеризация и EM-алгоритм-.4cm

Обоснование алгоритма 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

Page 28: Кластеризация и EM-алгоритм-.4cm

Обоснование алгоритма 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

Page 29: Кластеризация и EM-алгоритм-.4cm

Обоснование алгоритма 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

Page 30: Кластеризация и EM-алгоритм-.4cm

Обоснование алгоритма 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

Page 31: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

18

Page 32: Кластеризация и EM-алгоритм-.4cm

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

19

Page 33: Кластеризация и EM-алгоритм-.4cm

Обоснование алгоритма 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

Page 34: Кластеризация и EM-алгоритм-.4cm

Мысли?

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

21

Page 35: Кластеризация и EM-алгоритм-.4cm

Гипотезы

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

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

p(x) =∑c∈C

wcpc(x),∑c∈C

wc = 1,

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

22

Page 36: Кластеризация и EM-алгоритм-.4cm

Гипотезы cont’d

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

23

Page 37: Кластеризация и EM-алгоритм-.4cm

Гипотезы cont’d

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

23

Page 38: Кластеризация и EM-алгоритм-.4cm

Гипотезы cont’d

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

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

23

Page 39: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

24

Page 40: Кластеризация и EM-алгоритм-.4cm

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

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

25

Page 41: Кластеризация и EM-алгоритм-.4cm

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

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

gic =wcpc(xi)∑

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

25

Page 42: Кластеризация и EM-алгоритм-.4cm

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

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

gic =wcpc(xi)∑

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

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

25

Page 43: Кластеризация и EM-алгоритм-.4cm

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

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

gic =wcpc(xi)∑

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

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

wc =1n

n∑i=1

gic,

25

Page 44: Кластеризация и EM-алгоритм-.4cm

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

• 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

Page 45: Кластеризация и EM-алгоритм-.4cm

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

• 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

Page 46: Кластеризация и EM-алгоритм-.4cm

Алгоритм

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

Page 47: Кластеризация и EM-алгоритм-.4cm

Упражнение

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

27

Page 48: Кластеризация и EM-алгоритм-.4cm

Пример

28

Page 49: Кластеризация и EM-алгоритм-.4cm

Пример

28

Page 50: Кластеризация и EM-алгоритм-.4cm

Пример

28

Page 51: Кластеризация и EM-алгоритм-.4cm

Проблема

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

29

Page 52: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

30

Page 53: Кластеризация и EM-алгоритм-.4cm

Цель

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

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

||xi − µi||2,

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

31

Page 54: Кластеризация и EM-алгоритм-.4cm

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

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

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

32

Page 55: Кластеризация и EM-алгоритм-.4cm

Алгоритм

kMeans(X, |C|):

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

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

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

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

µc :=

∑clusti=c

fj(xi)∑clusti=c

1 .

33

Page 56: Кластеризация и EM-алгоритм-.4cm

Semi–supervised clustering

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

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

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

34

Page 57: Кластеризация и EM-алгоритм-.4cm

Semi–supervised clustering

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

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

35

Page 58: Кластеризация и EM-алгоритм-.4cm

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

Page 59: Кластеризация и EM-алгоритм-.4cm

Presence-only data

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

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

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

36

Page 60: Кластеризация и EM-алгоритм-.4cm

Presence-only data

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

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

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

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

36

Page 61: Кластеризация и EM-алгоритм-.4cm

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

Page 62: Кластеризация и EM-алгоритм-.4cm

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

Page 63: Кластеризация и EM-алгоритм-.4cm

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

Page 64: Кластеризация и EM-алгоритм-.4cm

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

Page 65: Кластеризация и EM-алгоритм-.4cm

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

Page 66: Кластеризация и EM-алгоритм-.4cm

Presence-only data

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

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

]=

eη(k)+ 1

1+ eη(k) + 1.

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

36

Page 67: Кластеризация и EM-алгоритм-.4cm

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

Page 68: Кластеризация и EM-алгоритм-.4cm

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

Page 69: Кластеризация и EM-алгоритм-.4cm

Presence-only data

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

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

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

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

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

36

Page 70: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

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

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

37

Page 71: Кластеризация и EM-алгоритм-.4cm

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

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

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

• Но...

37

Page 72: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

37

Page 73: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

37

Page 74: Кластеризация и EM-алгоритм-.4cm

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

Page 75: Кластеризация и EM-алгоритм-.4cm

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

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

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

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

39

Page 76: Кластеризация и EM-алгоритм-.4cm

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

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

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

39

Page 77: Кластеризация и EM-алгоритм-.4cm

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

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

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

Page 78: Кластеризация и EM-алгоритм-.4cm

Результаты

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

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

Page 79: Кластеризация и EM-алгоритм-.4cm

Пример

41

Page 80: Кластеризация и EM-алгоритм-.4cm

Пример

42

Page 81: Кластеризация и EM-алгоритм-.4cm

Спасибо!

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

43