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

LDA обычно является одной из последних тем, изучаемых на уроках машинного обучения. Может быть, это слишком близко к праздникам, обычно эта тема обсуждается как ветер. На самом деле это важно, но включает в себя так много концепций, что их трудно охватить за короткое время. В этой статье мы углубимся в те теории и математику.

Ни в одном из твитов не будет явным образом указана их тема. Фактически, один твит может относиться к нескольким темам, а одно слово может подразумевать разные темы. Наша цель - сгруппировать слова в твитах по K темам (скажем, 4) и оценить вероятность каждого слова для каждой темы. Но помните, что слово может относиться к нескольким темам. С точки зрения машинного обучения мы группируем слова на основе критериев, по которым они должны часто появляться в одном твите. После группировки мы просматриваем слова, принадлежащие к одной группе. Оттуда мы сможем понять, о чем идет речь.

Эту обученную модель можно использовать в качестве генеративной модели, которая сама генерирует документ. Скажем, у нас есть совместная вероятностная модель для тематических пропорций документа. Например, p (T₁ = 0,7 , T₂ = 0,3 , T₃ = 0 , T₄ = 0) указывает на вероятность того, что в документе 70% слов относятся к теме T₁, а 30% слов относятся к теме T₂.

И для каждой темы у нас есть список слов с вероятностью их появления. Однако мы не будем включать в список неважные слова, такие как стоп-слова «а», «то», «и» и т. Д.

Чтобы создать новый документ, мы берем образец из p, чтобы получить T₁ ’, T₂’, T₃ ’, T₄’. Эти значения составляют единицу и представляют собой соотношение тем, которые должен охватывать новый документ. Для каждого слова в документе мы выбираем тему Tc, используя значение вероятности из T₁ ’, T₂’, T₃ ’, T₄’. Затем мы выбираем слово в соответствии с вероятностью появления в выбранной теме Tc.

Созданный документ вряд ли грамматически верен. Но если добавить языковую модель и более сложные модели при выборе слов на основе предыдущего выбора, мы, возможно, не так уж далеки от замены человека, пишущего политику, с машины. Действительно, современные технологии в генеративной модели позволяют создавать очень реалистичные изделия.

Давайте рассмотрим еще несколько примеров. Вот визуализация возможных тем для страницы Википедии «Звездных войн». К моему удивлению, «Звездные войны» - это не только развлечение, но и политика.

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

Второй пример ниже моделирует темы статей NY Times. Ниже приведены 10 тем, которые он обнаружил с помощью 10 самых популярных слов. Если мы внимательно их рассмотрим, не составит труда выяснить, что это за темы.

Тематическое моделирование - это в основном обучение без учителя, которое классифицирует, организует, маркирует и генерирует информацию. Итак, имея корпус, мы хотим найти распределение слов по каждой теме. Но мы имеем дело с проблемой курицы и яйца. Мы не знаем, какие темы могут быть затронуты в документе. Но мы ожидаем, что они охватят небольшой набор тем, и каждая тема должна содержать как можно меньший набор слов. Но эти цели могут быть противоречивыми. При анализе всех документов мы можем найти группу слов в наборе документов, чтобы определить потенциальную тему. Но как идентифицировать этот набор документов? Слишком много движущихся частей. Изменение одного изменит другое. Нам нужен алгоритм, который может решить эту дилемму. Давайте сформулируем эту тему моделированием технически.

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

Скрытое распределение Дирихле (LDA)

Давайте представим, как генеративная модель создает статью, о которой говорилось ранее. Но сначала поговорим о распределении Дирихле. Нам не нужно слишком углубляться в математику, но было бы неплохо узнать, что она делает. Распределение Дирихле определяется как:

где Τ - гамма-функция. Для совместной вероятности с m переменными выход Дирихле имеет m -мерный и принимает m параметров для его моделирования. Например, модель p (x₁, x₂, x₃, x₄) будет иметь параметры модели α₁, α₂, α₃, и α₄. В LDA мы моделируем как распределение слов для каждой темы, так и соотношение тем для каждого документа, используя распределения Дирихле. Например, изучая αᵢ, мы узнаем долю тем, которые может охватывать документ. Чем выше значение αᵢ по сравнению с другими, тем больше вероятность, что будет выбрана тема i.

В распределении Дирихле значение выборки из p представляет собой распределение вероятностей (например, x₁ = 0,7 , x₂ = 0,2 , x₃ = 0,1 и x₄ = 0), что всегда дает в сумме до единицы. Вот почему мы называем распределение Дирихле распределением распределений. В распределении Дирихле есть особый случай, называемый симметричным распределением Дирихле. Все αᵢ будут равны, поэтому мы используем один скаляр α при представлении модели. По мере уменьшения значения α разреженность увеличивается, т. Е. Большинство значений в выборке данных будут равны нулю или близки к нулю (например, x₁ = 0,9 , x₂ = 0 , x₃ = 0,1 и x₄ = 0).

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

Ниже приведены шаги по созданию документа. На шаге 1 у нас есть V -мерное распределение Дирихле для распределения слов для каждой темы (β k). V - это размер словарного запаса, и у нас K тем. На шаге 2 (а) мы рисуем пропорции темы для каждого документа. На шаге 2 (b) мы выбираем тематическое задание для каждого слова и извлекаем слово из распределения слов для соответствующей темы.

Как и другие модели машинного обучения, мы хотим вывести совместную вероятность, исходя из наших наблюдений,

Мы делаем вывод о скрытых переменных или скрытых факторах θ, z, β, наблюдая за трупом документов, т.е. находя p ( θ, z, β | w ).

Но прежде чем погрузиться в уравнения и модели, давайте составим общую картину того, что мы делаем. Для каждого документа мы отслеживаем пропорции темы θ и наиболее вероятное назначение темы z для каждого слова документа. На шагах 3–8 мы фиксируем распределение слов β для каждой темы. Мы находим наиболее вероятное соотношение тем θ и z для каждого слова в документе.

Затем на шаге 9 мы переворачиваем таблицу и объединяем результаты из всех документов, чтобы обновить распределение слов β для каждой темы. Поскольку θ, β и z взаимозависимы, мы не можем оптимизировать их все сразу. Поэтому мы оптимизируем одну переменную за раз, сохраняя при этом другие переменные фиксированными. Это чередующиеся шаги оптимизации, указанные выше 5, 6 и 9. Даже это может привести к локальному оптимальному или субоптимальному решению, сгенерированные решения часто бывают высокого качества.

Однако в LDA θ, β и z будут моделироваться с помощью вероятностных моделей вместо точечной оценки, которая содержит только наиболее вероятную оценку. Эти модели отслеживают всю вероятность и ее достоверность. Таким образом, мы сохраняем более обширную информацию на каждой итерации. Мы можем визуализировать LDA как 64-битные операции с плавающей запятой двойной точности, в то время как точечная оценка усекает все значения в целые числа для каждой итерации. Технически вероятностная модель делает обучение более простым и стабильным. Но это очень усложняет математику.

Давайте воспользуемся графической моделью, чтобы продемонстрировать зависимость переменной. Например, мы связываем Z (выбор темы) и β (распределение слов в теме) с W (выбор темы слова ) для отображения W зависит от Z и β.

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

Совместная вероятность, смоделированная с помощью графической модели, равна:

  • βk - распределение слов для темы k.
  • θ - пропорции темы документа (например, 70% климат, 30% экономика).
  • z - тематическое назначение слова в документе.

Параметр темы η и параметр пропорций α обрабатываются как некоторые предварительные знания о распределении слов и пропорциональном распределении тем, соответственно. Существуют разные подходы к моделированию или выбору η и α. Но в нашем обсуждении мы придерживаемся общего подхода, рассматривая их как гиперпараметры, которые можно выбрать эвристически. Обсуждаемый здесь параметр темы η является скалярным параметром для распределения Дирихле, который влияет на разреженность распределения Дирихле. Для параметра пропорций α мы будем использовать вектор. С некоторой точки зрения эти параметры позволяют человеку-эксперту влиять на распределение Дирихле (используя экспертные знания или эмпирический эксперимент), а не изучать его исключительно на основе данных. Эти параметры действуют как до апостериорного расчета.

Используя эту совместную вероятность, мы делаем вывод о распределении скрытых переменных (β, θ, z) с учетом свидетельства w.

Однако в целом сделать вывод о заднем отделе сложно. Интегрирование по переменным β, θ неразрешимо. Они зависят друг от друга, и это NP-сложно.

Итак, мы собираемся аппроксимировать апостериорную p (β, θ, z | w) распределением q (β, θ, z) с помощью вывода дисперсии. Ключевой концепцией вывода дисперсии является приблизительное p с q с использованием некоторых известных семейств распределения, которые легко моделировать и анализировать.

Затем мы обучаем параметры модели, чтобы минимизировать KL-расхождение между q и p.

Вариационный вывод среднего поля

Однако по-прежнему чрезвычайно сложно смоделировать q для многомерного распределения. Чтобы еще больше снизить сложность, мы делаем смелые предположения о независимости, аналогичные графической модели, и разбиваем совместную вероятность на независимые подкомпоненты.

Вот более подробное описание каждого подкомпонента.

Здесь вместо моделирования совместной вероятности для нескольких переменных мы моделируем каждую переменную независимо, т.е. каждая переменная vᵢ будет моделироваться как qᵢ (vᵢ | ρᵢ) с определенным семейством дистрибутивов, которое сочтено подходящим, например использование полиномиального распределения для задания темы.

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

В реальной жизни многие предположения о независимости могут быть ложными. Но мы должны рассматривать это скорее как несовершенное, чем неправильное. Действительно, эмпирические результаты часто демонстрируют результаты хорошего качества.

Как упоминалось ранее, для оптимизации взаимозависимых переменных мы разделяем их на группы с независимыми друг от друга переменными в каждой группе. В LDA у нас есть параметры, моделирующие назначение темы, и пропорции темы разделены.

Самые сложные шаги - это шаги 5, 6 и 9. Итак, давайте посмотрим, как мы моделируем p с помощью q, минимизируя их KL-расхождение. Как было показано в предыдущей статье, напрямую оптимизировать KL-дивергенцию непросто. Итак, давайте представим нижнюю границу доказательств (ELBO) ниже:

Давайте оценим взаимосвязь между KL-дивергенцией и ELBO.

Поскольку KL-дивергенция всегда положительна, log Z всегда больше или равен ELBO. ELBO - это нижняя граница свидетельства журнала (log Z) для любого q. Однако, когда q равно p, log Z и ELBO имеют одинаковое значение, т.е. за счет максимизации ELBO мы минимизируем KL-дивергенцию.

При сворачивании ELBO нам не нужен Z. Нормализация не требуется. Напротив, расчет KL требует, чтобы вычисляемая сущность была распределением вероятностей. Следовательно, нам нужно вычислить коэффициент нормализации Z, если он не равен единице. Вычислить Z сложно. Вот почему мы вычисляем ELBO вместо KL-дивергенции.

Соответствующий ELBO, который мы хотим максимизировать в LDA:

где математическое ожидание рассчитывается относительно q.

Графическая модель

Давайте упростим графическую модель, чтобы можно было пошагово объяснить LDA.

где xᵢ - наблюдение, зависящее от β и zᵢ. Мы хотим смоделировать апостериор, подчеркнутый красным, путем разложения p на подкомпоненты. Мы будем моделировать эти условные вероятности как

R.H.S. - экспоненциальное семейство распределения.

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

Поэтому вместо моделирования распределения Дирихле с помощью α оно обобщается на экспоненциальное семейство, моделируемое с помощью η. Для каждого типа распределения у нас будет конкретное определение для T (θᵢ) и h (x). . В распределении Дирихле T (θᵢ) = log θᵢ и h (x ) = 1. Таким образом, если распределение Дирихле имеет α = (2, 2, 2), новый параметр модели для экспоненциального семейства распределений будет η = (1, 1, 1 ).

Вот подробности выражения распределения Дирихле и полиномиального распределения в экспоненциальном семействе. Это выглядит устрашающе, но должно быть управляемым. Но опять же, нам не нужно слишком беспокоиться об этой детали.

ELBO и вариационный вывод среднего поля

Затем мы применяем вывод вариации среднего поля для аппроксимации p с помощью q. Чтобы минимизировать KL-дивергенцию, мы максимизируем ELBO L при нахождении распределения вариаций q (β, z ), которые аппроксимируют апостериорную p (β, z | x).

q будет приблизительно соответствовать выводу вариации среднего поля.

Соответствующая модель будет

с β и z , смоделированными как

Наша цель - приблизить p к q путем оптимизации ELBO ниже (R.H.S.) w.r.t. λ и 𝜙 ᵢ.

Возьмем производную от L w.r.t. λ и установите его на 0, оптимальное λ * будет

И оптимальным 𝜙 ᵢ * будет

(Не беспокойтесь о доказательстве и уравнениях. Некоторые детали будут рассмотрены в следующем разделе.)

Обычно математическое ожидание E [f (x, y)] определяется как:

Но в нашем контексте мы вычисляем математическое ожидание по всем переменным, кроме той, которую мы хотим оптимизировать (скажем, 𝜙, λ в LDA или x ниже).

Опять же, мы оптимизируем их попеременно.

Теперь давайте расширим графическую модель, чтобы она напоминала проблему LDA, которую мы обсуждали ранее.

Пропорции темы θ будут моделироваться распределением Дирихле с параметром γ. Назначение темы Z, скажем, [торговля], будет смоделировано полиномиальным распределением с 𝜙.

Для каждого документа оптимальные 𝜙 и γ на каждой итерации будут.

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

где суммирование указывает на ожидание того, что слово w будет присвоено теме k. В распределении Дирихле по мере увеличения λ_ kw вероятность выбора слова w в теме k также увеличивается.

Вот шаги в выполнении одной итерации вариационного вывода среднего поля. На шаге 2 (b) мы вычисляем математическое ожидание 𝔼 [log θ] и 𝔼 [log β] в функции дигаммы (подробности позже).

где дигамма-функция

Ожидание

В вариационном выводе оптимальный параметр часто выражается в некоторой форме ожидания.

Обычно мы разбиваем η на более простые компоненты и вычисляем соответствующее математическое ожидание. Одно из общих ожиданий, которое мы хотим вычислить, - это E [log θ]. Давайте посмотрим, как это вычисляется, если θ распределено Дирихле.

Сначала мы преобразуем распределение Дирихле p (θ | α) в экспоненциальное семейство распределения.

Далее мы воспользуемся хорошо известным свойством экспоненциального семейства распределения. Его первая производная от A (η) равна ожиданию достаточной статистики. Для T (θᵢ) = log θᵢ, A ' (η) = 𝔼 (журнал (θ | α)). Итак, ожидаемое значение, которое мы хотим вычислить, равно производной от A (η). Если A (η) равно

Ожидаемый журнал, 𝔼 (log (θ | α)), будет:

Мы будем использовать это в доказательстве LDA.

Подтверждение LDA

Теперь давайте докажем решение для LDA, которое мы пропустили ранее, и заполним некоторые детали в этом разделе. Доказательство здесь взято из статьи LDA с немного другими обозначениями. Итак, давайте сначала согласимся с обозначениями. Вот факторизация совместного распределения.

А графическая модель:

ELBO L:

В рамках концепции вариационного вывода среднего поля q факторизуется как:

Расширяем первый член в ELBO согласно графической модели. Для второго члена мы применяем предположение, что совокупная вероятность q может быть разбита на отдельные переменные. Вот расширенный результат.

Затем оптимизируем L w.r.t. γ и 𝜙. Расширяя все пять терминов выше в R.H.S. требуется время. Таким образом, мы продемонстрируем расширение только для первого члена L (log p (θᵢ | α)) в нашем обсуждении.

Напомним, θ - это распределение Дирихле с параметром α.

В последнем разделе, если θ распределено Дирихле, мы также устанавливаем

Итак, первый член E [log p (θ | α)] равен

ELBO можно расширить ниже, указав каждый термин в отдельной строке.

где Ψ

Затем оптимизируем L относительно вариационных параметров 𝜙 и γ.

Оптимизировать 𝜙 смоделировано как полиномиальное распределение

𝜙 ni - вероятность того, что n -ое слово в документе находится в теме i. 𝜙 имеет полиномиальное распределение. Это 𝜙 ni в сумме к одному по всем темам. Удалите термины, не связанные с 𝜙, из L. Мы оптимизируем уменьшенное L w.r.t. 𝜙. Но чтобы усилить ограничение, мы добавляем ниже множитель Лагранжа.

Установив его производную равной 0, мы получим оптимальное значение для 𝜙 ni.

Оптимизировать γ, смоделированный как распределение Дирихле

Теперь пришло время оптимизировать пропорции темы для L w.r.t γ. γ моделирует пропорции темы с помощью распределения Дирихле.

Как видно из суммирования, естественно видеть, что γ увеличивается по мере того, как в документе появляется больше слов, относящихся к теме i. Поскольку γ больше, чем другие темы, у соответствующей темы будет больше шансов быть выбранной в соответствии с распределением Дирихле, ожидаемое значение которого составляет θᵢ, рассчитанное как:

Вот окончательный алгоритм после того, как все сложится.

Распределение Дирихле и полиномиальное

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

Это часть математики, лежащая в основе LDA, которая упрощает жизнь.

Тематические модели

Как упоминалось в начале, наша модель не будет предоставлять грамматически правильную статью или генерировать слова с последовательным значением. Одна из основных проблем - наша графическая модель слишком проста. Слова отбираются независимо.

В этом разделе мы кратко рассмотрим другие возможности графической модели для расширения ее применения.

Коррелированные тематические модели

При извлечении компонентов из распределения Гаусса значение xᵢ в выборке данных будет коррелировано ковариационной матрицей Σ. Например, теперь можно соотносить темы в последовательных словах.

Модели динамических тем

Темы интересов могут со временем меняться.

Даже если мы собираем миллиарды твитов, мы можем хронически разделить их, чтобы выявить сдвиг общественных интересов. Например, β kt будет распределением слов для темы k в момент t. Затем мы можем смоделировать зависимость между последовательными периодами времени.

Больше мыслей

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

Источники и ссылки

Скрытый документ о размещении Дирихле

Тематические модели

Вероятностные тематические модели