Как количество итераций выборки Гиббса влияет на скрытое распределение Дирихле?

#lda #hyperparameters #mallet

Вопрос:

В документации МАЛЛЕТА упоминается следующее:

 --num-iterations [NUMBER]
 

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

Кроме того, МАЛЛЕТ приводит пример:

 // Run the model for 50 iterations and stop (this is for testing only, 
//  for real applications, use 1000 to 2000 iterations)
model.setNumIterations(50);
 

Очевидно, что слишком малое количество итераций приводит к плохим тематическим моделям.

Однако обязательно ли увеличение числа итераций выборки Гиббса улучшает качество тематической модели (измеряется сложностью, согласованностью темы или в последующей задаче)? Или возможно, что качество модели снижается с --num-iterations установлением слишком высокого значения?

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

Я использую симметричный априор для альфа-и бета-версий без оптимизации гиперпараметров и распараллеленной реализации LDA, предоставленной MALLET.

Ответ №1:

Настройка 1000 итераций предназначена для безопасного числа для большинства размеров коллекций, а также для передачи «это большое круглое число, поэтому не думайте, что оно очень точное». Вполне вероятно, что меньшие числа будут в порядке вещей. Однажды я запустил модель на 1000000 итераций, и полностью половина назначений токенов никогда не менялась по сравнению с моделью на 1000 итераций.

Не могли бы вы более подробно рассказать о результатах перекрестной проверки? Было ли так, что у разных складок были разные MRR, которые были индивидуально стабильны в течение количества итераций? Или что отдельные показатели MRR складок варьировались в зависимости от количества итераций, но они уравновешивались в общем среднем значении? Нет ничего необычного в том, что разные складки имеют разную «сложность». Исправление случайного начального значения также не будет иметь значения, если данные будут другими.

Комментарии:

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