![Page 1: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/1.jpg)
Категоризация текстовМодели поведения пользователей
LDA и CCM
Сергей Николенко
Computer Science Club, Екатеринбург, 2011
Сергей Николенко LDA и CCM
![Page 2: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/2.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Outline
1 Категоризация текстовNaive BayesLatent Dirichlet allocation
2 Модели поведения пользователейClick chain modelTask-centric click model
Сергей Николенко LDA и CCM
![Page 3: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/3.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Категоризация текстов
Классическая задача машинного обучения и informationretrieval – категоризация текстов.
Дан набор текстов, разделённый на категории. Нужнообучить модель и потом уметь категоризовать новыетексты.
Атрибуты a1, a2, . . . , an – это слова, v – тема текста (илиатрибут вроде «спам / не спам»).
Bag-of-words model: забываем про порядок слов,составляем словарь. Теперь документ – это вектор,показывающий, сколько раз каждое слово из словаря внём встречается.
Сергей Николенко LDA и CCM
![Page 4: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/4.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Naive Bayes
Заметим, что даже это – сильно упрощённый взгляд: дляслов ещё довольно-таки важен порядок, в котором ониидут...
Но и это ещё не всё: получается, чтоp(a1, a2, . . . , an|x = v) – это вероятность в точности такогонабора слов в сообщениях на разные темы. Очевидно,такой статистики взять неоткуда.
Значит, надо дальше делать упрощающие предположения.
Наивный байесовский классификатор – самая простаятакая модель: давайте предположим, что все слова всловаре условно независимы при условии даннойкатегории.
Сергей Николенко LDA и CCM
![Page 5: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/5.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Naive Bayes
Иначе говоря:
p(a1, a2, . . . , an|x = v) = p(a1|x = v)p(a2|x = v) . . . p(an|x = v).
Итак, наивный байесовский классификатор выбирает v как
vNB(a1, a2, . . . , an) = arg maxv∈V p(x = v)n∏
i=1
p(ai |x = v).
В парадигме классификации текстов мы предполагаем, чторазные слова в тексте на одну и ту же тему появляютсянезависимо друг от друга. Однако, несмотря на такиебредовые предположения, naive Bayes на практике работаеточень даже неплохо (и этому есть разумные объяснения).
Сергей Николенко LDA и CCM
![Page 6: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/6.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Многомерная модель
В деталях реализации наивного байесовскогоклассификатора прячется небольшой дьяволёнок.
Сейчас мы рассмотрим два разных подхода к naive Bayes,которые дают разные результаты: мультиномиальный(multinomial) и многомерный (multivariate).
Сергей Николенко LDA и CCM
![Page 7: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/7.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Многомерная модель
В многомерной модели документ – это вектор бинарныхатрибутов, показывающих, встретилось ли в документе тоили иное слово.
Когда мы подсчитываем правдоподобие документа, мыперемножаем вероятности того, что встретилось каждоеслово из документа и вероятности того, что не встретилоськаждое (словарное) слово, которое не встретилось.
Получается модель многомерных испытаний Бернулли.Наивное предположение в том, что события «встретилосьли слово» предполагаются независимыми.
Сергей Николенко LDA и CCM
![Page 8: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/8.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Многомерная модель
Математически: пусть V = {wt }|V |t=1 – словарь. Тогда
документ di – это вектор длины |V |, состоящий из битовBit ; Bit = 1 iff слово wt встречается в документе di .
Правдоподобие принадлежности di классу cj :
p(di | cj) =
|V |∏t=1
(Bitp(wt | cj) + (1− Bit)(1− p(wt | cj))) .
Для обучения такого классификатора нужно обучитьвероятности p(wt | cj).
Сергей Николенко LDA и CCM
![Page 9: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/9.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Многомерная модель
Обучение – дело нехитрое: пусть дан набор документовD = {di }
|D |i=1, которые уже распределены по классам cj
(возможно, даже вероятностно распределены), дан словарьV = {wt }
|V |t=1, и мы знаем биты Bit (знаем документы).
Тогда можно подсчитать оптимальные оценкивероятностей того, что то или иное слово встречается втом или ином классе (при помощи лапласовой оценки):
p(wt | cj) =1+
∑|D |i=1 Bitp(cj | di )
2+∑|D |
i=1 p(cj | di ).
Сергей Николенко LDA и CCM
![Page 10: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/10.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Многомерная модель
Априорные вероятности классов можно подсчитать какp(cj) =
1|D |
∑|D |i=1 p(cj | di ).
Тогда классификация будет происходить как
c = arg maxjp(cj )p(di | cj ) =
= arg maxj
1|D |
|D|∑i=1
p(cj | di )
|V |∏t=1
(Bitp(wt | cj ) + (1 − Bit)(1 − p(wt | cj ))) =
= arg maxj
log(|D|∑i=1
p(cj | di )) +
|V |∑t=1
log (Bitp(wt | cj ) + (1 − Bit)(1 − p(wt | cj )))
.
Сергей Николенко LDA и CCM
![Page 11: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/11.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Мультиномиальная модель
В мультиномиальной модели документ – этопоследовательность событий. Каждое событие – этослучайный выбор одного слова из того самого «bag ofwords».
Когда мы подсчитываем правдоподобие документа, мыперемножаем вероятности того, что мы достали из мешкате самые слова, которые встретились в документе.Наивное предположение в том, что мы достаём из мешкаразные слова независимо друг от друга.
Получается мультиномиальная генеративная модель,которая учитывает количество повторений каждого слова,но не учитывает, каких слов нет в документе.
Сергей Николенко LDA и CCM
![Page 12: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/12.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Мультиномиальная модель
Математически: пусть V = {wt }|V |t=1 – словарь. Тогда
документ di – это вектор длины |di |, состоящий из слов,каждое из которых «вынуто» из словаря с вероятностьюp(wt | cj).
Правдоподобие принадлежности di классу cj :
p(di | cj) = p(|di |)|di |!
|V |∏t=1
1Nit !
p(wt | cj)Nit ,
где Nit – количество вхождений wt в di .
Для обучения такого классификатора тоже нужно обучитьвероятности p(wt | cj).
Сергей Николенко LDA и CCM
![Page 13: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/13.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Мультиномиальная модель
Обучение: пусть дан набор документов D = {di }|D |i=1,
которые уже распределены по классам cj (возможно, дажевероятностно распределены), дан словарь V = {wt }
|V |t=1, и
мы знаем вхождения Nit .
Тогда можно подсчитать апостериорные оценкивероятностей того, что то или иное слово встречается втом или ином классе (не забываем сглаживание – правилоЛапласа):
p(wt | cj) =1+
∑|D |i=1 Nitp(cj | di )
|V |+∑|V |
s=1∑|D |
i=1 Nisp(cj | di ).
Сергей Николенко LDA и CCM
![Page 14: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/14.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Мультиномиальная модель
Априорные вероятности классов можно подсчитать какp(cj) =
1|D |
∑|D |i=1 p(cj | di ).
Тогда классификация будет происходить как
c = arg maxjp(cj )p(di | cj ) =
= arg maxj
1|D |
|D|∑i=1
p(cj | di )
p(|di |)|di |!
|V |∏t=1
1Nit !
p(wt | cj )Nit =
= arg maxj
log
|D|∑i=1
p(cj | di )
+
|V |∑t=1
Nit log p(wt | cj )
.
Сергей Николенко LDA и CCM
![Page 15: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/15.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
LDA
Более сложная модель – LDA (Latent Dirichlet Allocation).
Задача: смоделировать большую коллекцию текстов(например, для information retrieval или классификации).
Мы знаем наивный подход: скрытая переменная – тема,слова получаются из темы независимо по дискретномураспределению.
Аналогично работают и подходы, основанные накластеризации.
Давайте чуть усложним.
Сергей Николенко LDA и CCM
![Page 16: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/16.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
LDA
Очевидно, что у одного документа может быть несколькотем; подходы, которые кластеризуют документы по темам,никак этого не учитывают.Давайте построим иерархическую байесовскую модель:
на первом уровне – смесь, компоненты которойсоответствуют «темам»;на втором уровне – мультиномиальная переменная саприорным распределением Дирихле, которое задаёт«распределение тем» в документе.
Сергей Николенко LDA и CCM
![Page 17: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/17.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
LDA
Если формально: слова берутся из словаря {1, . . . ,V };слово – это вектор w , wi ∈ {0, 1}, где ровно однакомпонента равна 1.
Документ – последовательность из N слов w. Нам данкорпус из M документов D = {wd | d = 1..M}.Генеративная модель LDA выглядит так.
1 Выбрать N ∼ p(N | ξ).2 Выбрать θ ∼ Di(α).3 Для каждого из N слов wn:
1 выбрать тему zn ∼ Mult(θ);2 выбрать слово wn ∼ p(wn | zn, β) по мультиномиальному
распределению.
Сергей Николенко LDA и CCM
![Page 18: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/18.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
LDA
Мы пока для простоты фиксируем число тем k , считаем,что β – это просто набор параметровβij = p(w j = 1 | z i = 1), которые нужно оценить, и небеспокоимся о распределении на N.
Совместное распределение тогда выглядит так:
p(θ, z,w,N | α,β) = p(N | ξ)p(θ | α)
N∏n=1
p(zn | θ)p(wn | zn, β).
В отличие от обычной кластеризации с априорнымраспределением Дирихле, мы тут не выбираем кластеродин раз, а затем накидываем слова из этого кластера, адля каждого слова выбираем по распределению θ, покакой теме оно будет набросано.
Сергей Николенко LDA и CCM
![Page 19: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/19.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
LDA: графическая модель
Сергей Николенко LDA и CCM
![Page 20: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/20.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Вывод в LDA
Рассмотрим задачу байесовского вывода, т.е. оценкиапостериорного распределения θ и z после новогодокумента:
p(θ, z | w, α, β) =p(θ, z,w | α,β)
p(w | α,β).
Правдоподобие набора слов w оценивается как
p(w | α,β) =Γ(∑
i αi )∏i Γ(αi )
∫ [ k∏i=1
θαi−1i
] N∏n=1
k∑i=1
V∏j=1
(θiβij)w j
n
dθ,
и это трудно посчитать, потому что θ и β путаются друг сдругом.
Сергей Николенко LDA и CCM
![Page 21: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/21.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
Вывод в LDA
Вариационное приближение – рассмотрим семействораспределений
q(θ, z | w, γ, φ) = p(θ | w, γ)
N∏n=1
p(zn | w, φn).
Тут всё расщепляется, и мы добавили вариационныепараметры γ (Дирихле) и φ (мультиномиальный).
Заметим, что параметры для каждого документа могутбыть свои – всё условно по w.
Сергей Николенко LDA и CCM
![Page 22: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/22.jpg)
Категоризация текстовМодели поведения пользователей
Naive BayesLatent Dirichlet allocation
LDA: вариационное приближение
Сергей Николенко LDA и CCM
![Page 23: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/23.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Outline
1 Категоризация текстовNaive BayesLatent Dirichlet allocation
2 Модели поведения пользователейClick chain modelTask-centric click model
Сергей Николенко LDA и CCM
![Page 24: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/24.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Постановка задачи
Предположим, что мы – Google или Яндекс, и мы хотимулучшить качество поиска.
Мы показываем пользователю документы по запросу ихотим показывать релевантные документы.
Конечно, для этого полезно знать содержание документа,иначе никак не начать выдачу.
Но когда мы уже накопили много терабайт логов, мыможем попробовать оценить качество выдачи по тому, какпользователи на неё реагировали.
Сергей Николенко LDA и CCM
![Page 25: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/25.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Модель поведения пользователя
Модель поведения из [Guo et al., 2009].
Сергей Николенко LDA и CCM
![Page 26: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/26.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Особенности
То есть, по-русски если:1 пользователь читает сверху вниз;2 иногда кликает, когда кликнул, может вернуться обратно и
читать дальше;3 по идее, самый хороший документ – это тот, на который
пользователь кликнул последним.
Сергей Николенко LDA и CCM
![Page 27: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/27.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Структура модели
Для каждого документа выдачи (1..10 обычно) введёмпеременные Ei (посмотрел ли; E1 = 1 всегда) и Ci
(кликнул ли).В CCM релевантность Ri – это вероятность клика, еслипосмотрел:
p(Ci = 1 | Ei = 0) = 0, p(Ci = 1 | Ei = 1,Ri ) = Ri .
Каскадная модель просмотра:смотрим сверху вниз: p(Ei+1 = 1 | Ei = 0) = 0,p(E1 = 1) = 1;если не кликнул, то вероятность посмотреть следующий –константа: p(Ei+1 = 1 | Ei = 1,Ci = 0) = α1;если кликнул, то вероятность посмотреть следующийзависит от релевантности линейно в каком-то интервале:p(Ei+1 = 1 | Ei = 1,Ci = 1) = α2(1− Ri ) + α3Ri .
Сергей Николенко LDA и CCM
![Page 28: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/28.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Графическая модель
Сергей Николенко LDA и CCM
![Page 29: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/29.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Суть идеи
На самом деле разные клики в истории не независимы.
Если пользователю не нравится выдача, он никуда кликатьне будет, а переформулирует запрос.
Если пользователь уже видел документ, то кликать на негов последующих выдачах он будет с меньшей вероятностью.
Можно идентифицировать сессии, в течение которыхпользователь что-то делал, задавал запросы, куда-токликал, куда-то нет.
Сергей Николенко LDA и CCM
![Page 30: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/30.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
TCM
TCM (task-centric click model) – это модель с двумялогическими «уровнями» [Zhang et al., 2011].
На макроуровне пользователь переходит от запроса кзапросу внутри сессии.
Микроуровень, внутри запроса, похож на CCM, только ещёдополнительно обрабатываются повторы.
Сергей Николенко LDA и CCM
![Page 31: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/31.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Макроуровень
Сергей Николенко LDA и CCM
![Page 32: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/32.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Микроуровень
Сергей Николенко LDA и CCM
![Page 33: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/33.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Переменные TCM
Вот какие переменные участвуют в TCM:Mi – подходит ли i-й запрос для того, чего хотелпользователь;Ni – будет ли пользователь ещё запрос подавать после i-го;Ei,j – просмотрит ли j-й документ в i-й выдаче;Hi,j – просматривал ли уже;Fi,j – «свежий» ли документ (Hi,j = 0 ⇒ Fi,j = 1, носвежим может быть и повтор);Ci,j – кликнет ли;(i ′, j ′) – последнее вхождение того же самого документа вдругой сессии.
Сергей Николенко LDA и CCM
![Page 34: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/34.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Графическая модель
Сергей Николенко LDA и CCM
![Page 35: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/35.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Что дальше?
Это довольно свежая работа; что дальше?Дальше, в частности, можно учитывать, наверное, время,прошедшее между кликами (сколько временипотребовалось человеку, чтобы понять, что документнерелевантен).Ещё важный момент: релевантность (где нашёл искомое) ипривлекательность (куда хочется кликнуть) – разные вещи!Можно пробовать их явно моделировать (попытки ужебыли).И так далее. Сейчас идёт конкурс «Интернет-математика»от Яндекса, посвящённый click models:http://imat-relpred.yandex.ru. Там в данных как разесть timestamp’ы кликов.Посмотрим, что получится в результате...
Сергей Николенко LDA и CCM
![Page 36: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/36.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
Thank you!
Спасибо за внимание!
Сергей Николенко LDA и CCM
![Page 37: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/37.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
LDA: вариационный вывод
Теперь можно искать минимум KL-расстояния:
(γ∗, φ∗) = arg min(γ,φ)
KL(q(θ, z | w, γφ)‖p(θ, z | w, α, β)).
Для этого сначала воспользуемся уже известной оценкойиз неравенства Йенсена:
log p(w | α,β) = log∫θ
∑z
p(θ, z,w | α,β)dθ =
= log∫θ
∑z
p(θ, z,w | α,β)q(θ, z)q(θ, z)
dθ ≥
≥ Eq [log p(θ, z,w | α,β)]−Eq [log q(θ, z)] =: L(γ,φ;α,β).
Сергей Николенко LDA и CCM
![Page 38: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/38.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
LDA: вариационный вывод
Распишем произведения:
L(γ,φ;α,β) = Eq [p(θ | α)]+Eq [p(z | θ)]+Eq [p(w | z, β)] −
− Eq [log q(θ)] − Eq [log q(z)] .
Свойство распределения Дирихле: если X ∼ Di(α), то
E [log(Xi )] = Ψ(αi ) − Ψ(∑
i
αi ),
где Ψ(x) = Γ ′(x)Γ(x) – дигамма-функция.
Теперь можно выписать каждый из пяти членов.
Сергей Николенко LDA и CCM
![Page 39: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/39.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
LDA: вариационный вывод
L(γ,φ;α, β) = log Γ(k∑
i=1
αi ) −
k∑i=1
log Γ(αi ) +
k∑i=1
(αi − 1)
Ψ(γi ) − Ψ
k∑j=1
γj
+
+
N∑n=1
k∑i=1
φni
Ψ(γi ) − Ψ
k∑j=1
γj
+
+
N∑n=1
k∑i=1
V∑j=1
w jnφni logβij−
− log Γ(k∑
i=1
γi ) +
k∑i=1
log Γ(γi ) −
k∑i=1
(γi − 1)
Ψ(γi ) − Ψ
k∑j=1
γj
−
−
N∑n=1
k∑i=1
φni logφni .
Сергей Николенко LDA и CCM
![Page 40: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/40.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
LDA: вариационный вывод
Теперь осталось только брать частные производные этоговыражения.
Сначала максимизируем его по φni (вероятность того, чтоn-е слово было порождено темой i); надо добавитьλ-множители Лагранжа, т.к.
∑kj=1φnj = 1.
В итоге получится:
φni ∝ βiveΨ(γi )−Ψ(∑k
j=1 γj),
где v – номер того самого слова, т.е. единственнаякомпонента w v
n = 1.
Сергей Николенко LDA и CCM
![Page 41: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/41.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
LDA: вариационный вывод
Потом максимизируем по γi , i-й компонентеапостериорного Дирихле-параметра.
Получится
γi = αi +
N∑n=1
φni .
Соответственно, для вывода нужно просто пересчитыватьφni и γi друг через друга, пока оценка не сойдётся.
Сергей Николенко LDA и CCM
![Page 42: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/42.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
LDA: оценка параметров
Теперь давайте попробуем оценить параметры α и β покорпусу документов D.Мы хотим найти α и β, которые максимизируют
`(α,β) =
M∑d=1
log p(wd | α,β).
Подсчитать p(wd | α,β) мы не можем, но у нас естьнижняя оценка L(γ,φ;α,β), т.к.
p(wd | α,β) =
= L(γ,φ;α,β) + KL(q(θ, z | wd , γφ)‖p(θ, z | wd , α, β)).
Сергей Николенко LDA и CCM
![Page 43: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/43.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
LDA: оценка параметров
EM-алгоритм:1 найти параметры {γd , φd | d ∈ D}, которые оптимизируют
оценку (как выше);2 зафиксировать их и оптимизировать оценку по α и β.
Сергей Николенко LDA и CCM
![Page 44: 20111202 machine learning_nikolenko_lecture06](https://reader034.vdocuments.mx/reader034/viewer/2022042821/55d23eb7bb61eb7a768b4686/html5/thumbnails/44.jpg)
Категоризация текстовМодели поведения пользователей
Click chain modelTask-centric click model
LDA: оценка параметров
Для β это тоже делается нехитро:
βij ∝M∑
d=1
Nd∑n=1
φdniw jn.
Для αi получается система уравнений, которую можнорешить методом Ньютона.
Сергей Николенко LDA и CCM