вычисление распределения вероятностей - PullRequest
2 голосов
/ 07 июля 2011

У меня простой (может быть, глупый) вопрос.Я хочу рассчитать расхождение Кульбака – Лейблера по двум документам.Требуется распределение вероятностей каждого документа.

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

Допустим, мы следуем двум документам:

1 - cross validated answers are good 
2 - simply validated answers are nice

(формулировка документов приведена просто для примера)

Как рассчитать вероятностиэти документы?

Допустим, мы добавим еще один документ:

3 - simply cross is not good answer

Если мы добавим еще один документ, то как это повлияет на распределение вероятностей?

Спасибо

1 Ответ

1 голос
/ 07 июля 2011

Если вы добавляете документ в набор документов, если этот документ точно не совпадает с набором документов, распределение слов или терминов в вашем распределении будет меняться с учетом вновь добавленных слов. Возникает вопрос: «Это действительно то, что вы хотите сделать с третьим документом?»

Дивергенция Кульбака-Лейблера является мерой дивергенции для двух распределений. Какие у вас две раздачи?

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

            doc 1     doc 2            doc 3   (lem)
answers      0.2       0.2              0.0     0.2
are          0.2       0.2              0.0     0.2
cross        0.2       0.0              .33     0.2
good         0.2       0.0              .33     0.2
nice         0.0       0.2              0.0     0.0
simply       0.0       0.2              .33     0.2
validated    0.2       0.2              0.0     0.0

[Это рассчитывается как частота-термин, деленная на длину документа. Обратите внимание, что в новом документе есть словоформы, которые не совпадают со словами в doc 1 и doc 2. Столбец (lem) будет содержать вероятности, если вы поставите или лемматизируете один и тот же термин пары (are / is) и (ответ / ответы).]

Введение третьего сценария в сценарий. Типичное действие, которое вы, возможно, захотите выполнить с помощью Kullback-Liebler Divergence, - это сравнение нового документа или набора документов с уже известными документами или коллекциями документов.

Вычисление расхождения Кульбака-Либлера D(P||Q) дает значение, показывающее, насколько хорошо получено истинное распределение P с использованием замещающего распределения Q. Таким образом, Q1 может быть распределением слов в документе 1, а Q2 может быть распределением слов в документе 2. Вычисление расхождения KL с P является распределением слов в новом документе (документ 3), вы можете узнать, насколько отличается новый документ от документа 1 и насколько он отличается от документа 2. Используя эту информацию, вы можете сказать, насколько новый документ похож на ваши известные документы / коллекции.

...