[БЕЗ_ЗВУКА] В
предыдущих видео мы поговорили о формальной постановке задачи тематического
моделирования и увидели, как эта задача решается с помощью итерационного процесса,
который называется EM-алгоритмом.
В этой постановке задачи у нас была большая
свобода выбора дополнительных критериев, которые называются регуляризаторами.
На самом деле, запас неединственности решения
основной задачи матричного разложения настолько большой,
что мы можем использовать одновременно много регуляризаторов.
Каждый из них должен выражать то или иное наше дополнительное
пожелание к тематической модели или учитывать какие-то дополнительные данные.
И таких ограничений на модель можно наложить одновременно несколько.
Это позволяет нам сделать подход, который называется аддитивной регуляризацией,
то есть регуляризаторы складываются,
каждый из них умножается на свой коэффициент регуляризации.
Это, с одной стороны, дает огромную свободу действий — можно использовать
сразу много регуляризаторов, но, с другой стороны, возникает техническая
проблема: а как определять вот эти самые коэффициенты регуляризации?
Ну, в общем-то, пока экспериментальным путем, добавляя регуляризаторы
по одному и у каждого регуляризатора оптимизируя этот коэффициент,
выбирая его в ходе нескольких пробных экспериментов, запусков модели.
Давайте рассмотрим пример,
когда используется несколько регуляризаторов для того,
чтобы наделить тематическую модель нужными нам свойствами.
Нам бы хотелось бы,
чтобы получаемые темы были хорошо интерпретируемы, понятны людям.
Оказывается, что хорошей интерпретируемости
тем часто мешает наличие слов общей лексики, общеупотребительных слов,
которые оказываются намешанными с довольно большими вероятностями во всех темах.
Вот хочется их выделить в какие-то отдельные темы,
и пусть они описывают вот такое вот фоновое распределение слов языка.
Будем называть такие темы фоновыми, а, соответственно, все остальные темы,
которые нас в основном и интересуют, будем называть предметными, потому что они
описывают отдельные предметные области нашей текстовой коллекции.
Так вот, нам хотелось бы, чтобы предметные темы были достаточно сильно разреженными,
то есть чтобы у каждой такой темы было свое лексическое ядро,
которое бы существенно отличало эту тему от остальных.
То есть они должны быть не только разреженными,
но и еще как можно более различными, или декоррелированными.
Вот эти требования можно выразить с помощью регуляризаторов.
Итак, мы хотели бы, чтобы предметные темы были разреженными,
причем как столбцы матрицы Φ, так и соответствующие строки матрицы θ.
То есть это предположение о том, что каждая тема состоит
из небольшого числа слов и в каждом документе небольшое число предметных тем.
А вот фоновые темы — нам бы хотелось, чтобы они были более сглаженными,
чтобы у всех слов была существенная вероятность
находиться в фоновом фоне, в фоновой теме,
а документы тоже, конечно же, на существенный процент — и даже,
скорее всего, больше половины — должны состоять из фоновых слов.
Вот с этими мыслями мы можем записать те самые регуляризаторы,
которые мы рассматривали в прошлом видео,
когда говорили о методе латентного размещения Дирихле.
Но тогда мы применяли этот регуляризатор ко всем темам, а идея здесь состоит в том,
чтобы регуляризатор сглаживания применить только к фоновым темам и сказать,
что вот фоновые распределения слов, они близки к заданному распределению,
например к распределению всех слов в языке,
которое можно заранее вычислить и здесь использовать.
Но и распределение θ тем в документах тоже в тех местах, где у нас темы фоновые,
вот, значит, это распределение должно быть сглаженным,
то есть надо увеличивать значение θtd для этих тем.
Интересно, что если мы просто в этой формуле поменяем
множество фоновых тем на множество предметных и поменяем плюсы на минус,
то мы тут же получим разреживающий регуляризатор для предметных тем.
То есть это вот та самая свобода действий, которую нам дал отказ
от априорных распределений Дирихле и взгляд на вот эти регуляризаторы
просто как на максимизаторы или минимизаторы KL-дивергенции между
столбцами матриц Φ и θ и вот заданными распределениями β и α.
Но возникает, конечно, вопрос: откуда брать эти β и α?
Их должен задавать эксперт — специалист,
который занимается построением тематической модели.
Как я уже сказал, β — это может быть распределение всех слов в документах,
а α очень часто выбирают просто равномерным распределением,
потому что мы не можем априори сказать,
какие темы чаще или реже встречаются по документам коллекции.
Но вот интересное обобщение этих двух регуляризаторов — сглаживающего и
разреживающего — возникает в том случае, если мы скажем,
что вот эти вот векторы β и α могут быть вообще свои для каждого столбца.
Ну, казалось бы, это какое-то слишком большое...
слишком большая свобода выбора параметров,
управляющих построением модели, однако все становится ясно,
когда мы разберемся в интерпретации и в цели введения такого регуляризатора.
Вот оказывается, что если мы просто будем задавать эти распределения равномерными,
но на подмножествах.
Для каждой темы можно задать свои подмножества слов,
которые типичны для этой темы, являются ключевыми
словами для этой темы, и документов, которые являются важными в этой теме.
Вот такую информацию могут задавать эксперты,
которые занимаются построением тематической модели.
Например, они сделали эксперимент, и оказалось, что не все темы чистые
— в каких-то темах встречаются лишние слова, а нужные слова не встречаются.
Вот такую информацию, поправку к модели, можно задать с помощью вот этих самых
белых списков слов и документов в теме и черных списков — наоборот, тех слов,
которых не должно быть в данной теме, или тех документов,
которые ошибочно были отнесены моделью к данной теме.
Вот это хороший способ внесения такой вот частичной обучающей
информации — semi-supervised learning.
То есть экспертам совершенно необязательно просмотреть все слова, все темы,
все документы, но если они встречают в ходе работы с тематической моделью
какие-то огрехи, то их легко ввести в модель с помощью вот
такого регуляризатора, который учитывает эти самые белые и черные списки.
И, наконец, мы добрались еще до одного требования — мы хотели бы,
чтобы в каждой теме выделялось свое лексическое ядро и чтобы темы,
как столбцы матрицы Φ, как можно меньше коррелировали друг с другом.
Этого тоже можно добиться, если ввести вот такой вот ковариационный регуляризатор —
взять попарно все столбцы матрицы Φ и потребовать,
чтобы они были попарно далеки друг от друга.
Вот такой регуляризатор, который тоже,
как легко видеть, можно продифференцировать по Φ,
подставить в формулу M-шага, и там получаются очень несложные вычисления.
То есть вообще все рассмотренные сейчас регуляризаторы приводят к
модификациям формул M-шага очень простым — там просто добавляются
какие-то константы или добавляются какие-то очень легко вычислимые величины.
И еще один регуляризатор, который может оказаться
полезен на практике и который тоже основан на представлениях о дивергенции
Кульбака-Лейблера — это регуляризатор, который разреживает распределение P(t).
Что такое P(t)?
Это вероятность тем во всей коллекции,
то есть какая доля слов всей коллекции отнесена к теме t.
Так вот, если мы скажем, чтобы максимизировалась KL-дивергенция между
этим распределением и равномерным, это будет фактически означать, что мы хотим,
чтобы как можно больше вероятностей P(t) приняли нулевые значения,
то есть мы хотим, чтобы это распределение было как можно дальше от равномерного.
Это происходит в том случае, если у нас там образуются нулевые значения, то есть
каких-то тем вообще в коллекции нет, а это означает, что просто тема выводится,
удаляется из коллекции, и это открывает возможности определения числа тем.
Надо сначала взять число тем избыточным.
Например, мы предполагаем, что тем где-то от 100 до 200 — возьмем 300, и
начинаем темы потихонечку с помощью этого регуляризатора одна за другой уводить.
Чем сильнее коэффициент регуляризации τ, тем быстрее этот регуляризатор будет
удалять вот такие вот мелкие, ненужные темы.
Но интересным побочным эффектом этого регуляризатора оказалось то,
что он удаляет также линейнозависимые темы, расщепленные темы,
то есть если представить,
что тема образовалась путем разделения слов по двум темам и что это избыточно.
Вот если это так, то одна из этих тем будет уведена из модели,
а вторая вберет в себя слова обеих тем.
Вот это вот очень интересный эффект, который оказался нетривиальным и до сих
пор теоретического обоснования не имеет, но хорошо работает на практике.
Итак, резюмируем.
Подход, который основан на аддитивной регуляризации,
то есть на добавлении еще и еще дополнительных критериев для построения
тематической модели (они образуют такую взвешенную комбинацию критериев,
которые добавляются к логарифму правдоподобия), вот этот подход,
он очень прост, очень продуктивен и позволяет использовать все тот же
самый EM-алгоритм (можно использовать онлайновый EM-алгоритм),
в котором просто подставляются еще члены в регуляризатор.
И мы увидели, что вот такое вот комбинирование, разреживание, сглаживание
и декоррелирование способно повышать интерпретируемость тем, добиваться того,
чтобы стоп-слова и общеупотребительные слова выводились в отдельные темы,
а оставшиеся предметные темы были как можно сильнее непохожи друг на друга.