+ All Categories
Home > Documents > 20111202 machine learning_nikolenko_lecture05

20111202 machine learning_nikolenko_lecture05

Date post: 17-Jul-2015
Category:
Upload: computer-science-club
View: 436 times
Download: 5 times
Share this document with a friend
Popular Tags:
42
Рейтинг-системы Рейтинг-система TrueSkill Байесовские рейтинг-системы Сергей Николенко Computer Science Club, Екатеринбург, 2011 Сергей Николенко Байесовские рейтинг-системы
Transcript
Page 1: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Байесовские рейтинг-системы

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

Computer Science Club, Екатеринбург, 2011

Сергей Николенко Байесовские рейтинг-системы

Page 2: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Outline

1 Рейтинг-системыРейтинг ЭлоМодели Брэдли–Терри

2 Рейтинг-система TrueSkillTrueSkillРасширения системы TrueSkill

Сергей Николенко Байесовские рейтинг-системы

Page 3: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Частичные сравнения

Рейтинг-система – это модель, которая ранжируетучастников (игроков) в единый линейный порядок поданным сравнений небольших подмножеств этих игроков(турниров).

Более того, результаты турниров зашумлены (отчастислучайны).

Соответственно, и применяются они в таких ситуациях(пример: контекстная реклама в Bing).

Сергей Николенко Байесовские рейтинг-системы

Page 4: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Рейтинг Эло

Первая известная рейтинг-система, основанная набайсеовском подходе.Суть модели:

сила игры шахматиста в одной партии – случайнаявеличина;рейтинг – это ожидание этой величины; мы пытаемсяоценить это ожидание;исходная модель Эло – нормальное распределение силыигры вокруг рейтинга.

Сергей Николенко Байесовские рейтинг-системы

Page 5: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Рейтинг Эло

Значит, сила игры в конкретной партии распределена как

p(x) = N (x ; s, β) =1

β√2π

e−1

2β2(x−s)2

.

Cила игры задаётся двумя параметрами: средним s(собственно рейтингом) и дисперсией β2.

Эло предположил, что дисперсия β2 постоянна (и даже отигрока не зависит), а среднее – это как раз рейтинг,который мы пытаемся оценить.

Сергей Николенко Байесовские рейтинг-системы

Page 6: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Рейтинг Эло

Значит, математически говоря, мы ищем

arg maxs,β2p(s, β2 | D) = arg maxs,β2

p(D | s, β2)p(s, β2)

p(D)=

= arg maxs,β2p(D | s, β2)p(s, β2).

Как мы знаем, нормальное распределение являетсясамосопряжённым, поэтому если сила игры нормальнораспределена вокруг рейтинга, то логично взятьнормальное распределение как априорное для рейтинга.

Таким образом, рейтинг игрока складывается из двухчисел: его среднего значения µ и дисперсии σ2.

Значение µ отображается в таблице рейтингов, а σ2

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

Сергей Николенко Байесовские рейтинг-системы

Page 7: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Рейтинг Эло

Предположим, что встречаются два игрока с некоторымиаприорными распределениями на рейтинги N (s1;µ1, σ

21) и

N (s2;µ2, σ22).

Тогда сила игры каждого из них в этой конкретной партииимеет распределение

p(x | µ, σ) =

∫∞−∞ p(x | s)p(s | µ, σ)ds =

=

∫∞−∞N (x ; s, β)N (s ;µ, σ)ds =

=

∫∞−∞

1β√2π

e−1

2β2(x−s)2 1

σ√2π

e−1

2σ2(s−µ)2ds = N (x ;µx , σx).

то есть мы снова приходим к нормальному распределению,но с другими параметрами.

Сергей Николенко Байесовские рейтинг-системы

Page 8: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Рейтинг Эло

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

Эло разработал специальные аппроксимации и оченьпростые алгоритмы для этого случая (через «ожидаемыеочки в турнире»), чтобы каждый шахматист мог сам накалькуляторе свой рейтинг посчитать, но они нас сейчас неочень интересуют.

Сергей Николенко Байесовские рейтинг-системы

Page 9: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Модели Брэдли–Терри

Следующий подход к рейтинг–системам – моделиБрэдли–Терри (Bradley–Terry).

Модель предполагает, что для участников 1, . . . , n можноподобрать такие рейтинги γi , i = 1..n, что вероятностьпобеды участника i над участником j равна

p(i побеждает j) =γi

γi + γj.

Основная задача заключается в том, чтобы найтиγ = (γ1, . . . , γm) максимального правдоподобия изимеющихся данных D.

Сергей Николенко Байесовские рейтинг-системы

Page 10: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Модели Брэдли–Терри

Если принять априорное распределение равномерным,можно просто максимизировать правдоподобие

p(D |γ) =

m∏i=1

m∏j=1

(γi

γi + γj

)wij

,

где wij — то, сколько раз xi обыграл xj при их попарномсравнении (wii = 0 по определению).

Взяв логарифм, будем максимизировать

l(γ) =m∑

i=1

m∑j=1

(wij logγi − wij log(γi + γj)) .

Сергей Николенко Байесовские рейтинг-системы

Page 11: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Модели Брэдли–Терри

Максимизировать будем классическим MM-алгоритмом(minorization–maximization), фактически вариационнымприближением.

Заметим, что1+ log

xy−

xy≤ 0.

Упражнение. Докажите это.

Сергей Николенко Байесовские рейтинг-системы

Page 12: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Модели Брэдли–Терри

Рассмотрим вспомогательную функцию

Q(γ,γ(k)) =∑i ,j

wij

logγi −γi + γj

γ(k)i + γ

(k)j

− log(γ(k)i + γ

(k)j

)+ 1

.Упражнение. Используя предыдущее неравенство, докажите,что Q(γ,γ(k)) ≤ l(γ).

Сергей Николенко Байесовские рейтинг-системы

Page 13: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Модели Брэдли–Терри

Чтобы найти maxγ Q(γ,γ(k)), можно просто взять

производные ∂Q∂γl

:

∂Q∂γl

=∑i ,j

wij

δilγi

−δil + δjl

γ(k)i + γ

(k)j

=

=1γl

∑j

wlj −∑

j

wlj

γ(k)i + γ

(k)j

−∑

i

wi l

γ(k)i + γ

(k)j

.

Сергей Николенко Байесовские рейтинг-системы

Page 14: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Модели Брэдли–Терри

Если wl – общее количество побед игрока l (wl =∑

j wlj),и Nij — количество встреч между игроками i и j(Nij = wij + wji ), получаем

wl

γl−∑

j

Nlj

γ(k)i + γ

(k)j

= 0.

В результате правило пересчёта на одной итерациивыглядит так:

γ(k+1)l := wl

∑j

Nlj

γ(k)i + γ

(k)j

−1

.

Сергей Николенко Байесовские рейтинг-системы

Page 15: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Модели Брэдли–Терри

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

Но даже в шахматах бывают ничьи. Как их учесть?

Сергей Николенко Байесовские рейтинг-системы

Page 16: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Модели Брэдли–Терри

Если возможны ничьи, их вероятность можно описатьдополнительным параметром θ > 1, и это приводит кмодели, в которой

p(i побеждает j) =γi

γi + θγj,

p(j побеждает i) =γj

θγi + γj,

p(i и j играют вничью) =(θ2 − 1)γiγj

(γi + θγj) (θγi + γj).

Сергей Николенко Байесовские рейтинг-системы

Page 17: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Модели Брэдли–Терри

Аналогично можно вводить другие обобщения.

Например, если результат может зависеть от порядкаэлементов в паре (скажем, команды проводят«домашние» матчи и «гостевые»), можно ввестидополнительный параметр θ, характеризующий, насколькобольшое преимущество дают «родные стены», ирассмотреть модель с

p(i побеждает j) =

θγi

θγi+γj, если i играет дома,

γjθγi+γj

, если j играет дома.

Сергей Николенко Байесовские рейтинг-системы

Page 18: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Модели Брэдли–Терри

Можно даже обобщить на случай, когда в одном турниревстречаются несколько игроков: пусть перестановка πподмножества игроков A = {1, . . . , k} (результат турнира)имеет вероятность

pA(π) =

k∏i=1

γπ(i)

γπ(i) + γπ(i+1) + . . .+ γπ(k).

Сергей Николенко Байесовские рейтинг-системы

Page 19: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

Рейтинг ЭлоМодели Брэдли–Терри

Модели Брэдли–Терри

Можно показать, что такая модель эквивалентна весьмаестественной «аксиоме Люса»: для любой модели, вкоторой вероятности игроков обыграть друг друга в любойпаре не равны нулю, для любых подмножеств игроковA ⊂ B и любого игрока i ∈ A

pB(i побеждает) =

= pA(i побеждает)pB(побеждает кто-то из множества A).

Но для крупных турниров это перестаёт работать; и совсемтрудно что-то осмысленное сделать, если игрокисоревнуются не поодиночке, а в командах.

Сергей Николенко Байесовские рейтинг-системы

Page 20: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Outline

1 Рейтинг-системыРейтинг ЭлоМодели Брэдли–Терри

2 Рейтинг-система TrueSkillTrueSkillРасширения системы TrueSkill

Сергей Николенко Байесовские рейтинг-системы

Page 21: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Рейтинг-система TrueSkill

Была разработана в Microsoft Research для игровыхсерверов Xbox 360.

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

Системf TrueSkill вычисляет рейтинги игроков, которыеобъединяются в команды разного размера и участвуют вматчах (турнирах) с несколькими участниками.

Задача — после каждого из таких турниров пересчитатьапостериорные рейтинги.

Сергей Николенко Байесовские рейтинг-системы

Page 22: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Рейтинг-система TrueSkill

Начнём понемногу «разворачивать» то, что происходит вкаждом из этих турниров.

Во-первых, мы не знаем достоверных априорных значенийрейтингов, у нас есть только некоторое априорноераспределение (мы считаем его нормальным)

f (si ) = N (s ;µi , σi ).

Здесь µi — это собственно рейтинг игрока, а σi —«показатель достоверности» рейтинга, дисперсия.

Сергей Николенко Байесовские рейтинг-системы

Page 23: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Рейтинг-система TrueSkill

Каждый «истинный» скилл является средним значением,вокруг которого распределены конкретные показателисилы игры того или иного игрока в данной конкретнойпартии (pi , performance):

f (pi | si ) = N (pi ; si , β2).

В системе TrueSkill (как в рейтинге Эло) делаетсяпредположение, что β2 – универсальная константа.

Тогда pi через исходные параметры выражается как

f (pi | µi , σi ) =

∫∞−∞N (pi ; si , β2)N (si ;µi , σi )dsi .

Сергей Николенко Байесовские рейтинг-системы

Page 24: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Рейтинг-система TrueSkill

Затем показатели силы игры игроков в конкретныхпартиях объединяются и дают оценки на силу игрыкоманд.

В системе TrueSkill предполагается, что сила командыравна сумме сил её игроков:

ti =∑

i

pi .

Сергей Николенко Байесовские рейтинг-системы

Page 25: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Рейтинг-система TrueSkill

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

Будем считать, что ничья между командами с силой t1 иt2 означает, что

|t1 − t2| < ε

для некоторого ε (тоже универсальная константа).

Сергей Николенко Байесовские рейтинг-системы

Page 26: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Рейтинг-система TrueSkill

Мы должны подсчитать апостериорные рейтинги командпосле получения данных.

Данные приходят к нам в виде перестановки команд π:упорядоченных результатов турнира (в которых могут бытьничьи между соседними командами).

Иначе говоря, нужно подсчитать

p(s | π) =p(π | s)p(s)∫p(π | s)p(s)ds

.

Сергей Николенко Байесовские рейтинг-системы

Page 27: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Рейтинг-система TrueSkill

В нашей системе присутствуют, кроме si и π, ещёпеременные pi , ti и di , причём плотность распределениявсей системы мы только что представили в видепроизведения распределений:

p(π,d , t,p, s) = p(π | d)p(d | t)p(t | p)p(p | s)p(s).

А нам нужно вычислить

p(π | s) =∫ ∫ ∫

p(π,d , t,p, s)dddtdp.

Получили обычную задачу маргинализации.

Сергей Николенко Байесовские рейтинг-системы

Page 28: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Матч двух игроков

Сергей Николенко Байесовские рейтинг-системы

Page 29: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Две команды по два игрока

Сергей Николенко Байесовские рейтинг-системы

Page 30: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Матч четырёх игроков

Сергей Николенко Байесовские рейтинг-системы

Page 31: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Приближённый вывод

Казалось бы, граф – дерево, что ещё говорить.

Но возникает проблема с выводом на нижнем уровнеграфа.

Что делает функция, которая собственно определяетпобеду или ничью?

Сергей Николенко Байесовские рейтинг-системы

Page 32: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Победа

Сергей Николенко Байесовские рейтинг-системы

Page 33: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Ничья

Сергей Николенко Байесовские рейтинг-системы

Page 34: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Общий случай

Сергей Николенко Байесовские рейтинг-системы

Page 35: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Приближённый вывод

Для вывода на нижнем уровне графа применяетсяалгоритм Expectation Propagation [Minka, 2001]:

приближаем сообщение от функции к переменной (т.е.распределение p) некоторым семейством распределенийq(λ);передаём сообщения взад-вперёд, пока оценки не сойдутся.

В качестве приближённого семейства будем рассматриватьсемейство нормальных распределений. Тогда для поискаоптимального приближения надо просто найти ожидание идисперсию (первые два момента) распределения p.

Для таких «обрезанных» распределений это можносделать явно, получатся конкретные формулы дляпередачи сообщений.

Сергей Николенко Байесовские рейтинг-системы

Page 36: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Пример

Сергей Николенко Байесовские рейтинг-системы

Page 37: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Проблемы TrueSkill

У TrueSkill есть проблемы, с которыми мы столкнулись,когда попытались применить её на практике.Мы хотели сделать рейтинг спортивного «Что? Где?Когда?»:

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

Сергей Николенко Байесовские рейтинг-системы

Page 38: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Проблемы TrueSkill

У системы TrueSkill при этом тут же начинаютсяпроблемы.

Главная проблема – большие ничьи на много команд.

Вторая проблема – сила команды как сумма сил игроков.

Сергей Николенко Байесовские рейтинг-системы

Page 39: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Пример

Сергей Николенко Байесовские рейтинг-системы

Page 40: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Проблемы TrueSkill

[Nikolenko, Sirotkin, 2011]: изменив структуру factor graph’а,получилось решить проблему с дележом мест.

Проблема с силой команд, конечно, должна решатьсяиндивидуально в каждом конкретном приложении.

Сергей Николенко Байесовские рейтинг-системы

Page 41: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Пример

Сергей Николенко Байесовские рейтинг-системы

Page 42: 20111202 machine learning_nikolenko_lecture05

Рейтинг-системыРейтинг-система TrueSkill

TrueSkillРасширения системы TrueSkill

Thank you!

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

Сергей Николенко Байесовские рейтинг-системы


Recommended