Поскольку мне потребовалось некоторое время, чтобы самостоятельно обернуть голову вокруг всего этого, позвольте мне объяснить мои выводы здесь на благо человечества.
Использование отношения шансов (log) является стандартной техникой для фильтрации функцийдо текстовой классификации.Это «односторонняя метрика» [Zheng et al., 2004] в том смысле, что она обнаруживает только признаки, которые положительно коррелируют с конкретным классом.В качестве отношения log-odds для вероятности увидеть функцию 't', заданную для класса 'c', она определяется как:
LOR(t,c) = log [Pr(t|c) / (1 - Pr(t|c))] : [Pr(t|!c) / (1 - Pr(t|!c))]
= log [Pr(t|c) (1 - Pr(t|!c))] / [Pr(t|!c) (1 - Pr(t|c))]
Здесь я использую '! C' для обозначения документа, в которомкласс не c.
Но как вы на самом деле рассчитываете Pr (t | c) и Pr (t |! C)?
Одна тонкость, на которую следует обратить внимание, заключается в том, что вероятности выбора признаков, как правило, обычно определяются по модели событий документа [McCallum & Nigam 1998, Manning et al.2008], т. Е. Pr (t | c) - это вероятность увидеть термин t один или несколько раз в документе, учитывая, что класс документа равен c (другими словами, наличие t при условиикласс в).Оценка максимального правдоподобия (MLE) этой вероятности будет представлять собой долю документов класса c, которые содержат t хотя бы один раз.[Технически, это известно как многомерная модель событий Бернулли и отличается от модели событий с многочленами над словами, которая вычисляет Pr (t | c) с использованием целочисленных подсчетов слов - для получения более подробной информации см. Статью МакКаллума или учебник Мэннинга по IR.в частности, о том, как это применяется к наивному байесовскому текстовому классификатору.]
Одним из ключей к эффективному использованию LOR является сглаживание этих оценок условной вероятности, поскольку, как отметил @yura, редкие событияздесь проблематично (например, MLE Pr (t |! c) может быть нулевым, что приводит к бесконечному LOR).Но как нам сгладить?
В литературе Форман сообщает о сглаживании LOR, «добавляя единицу к любому нулевому числу в знаменателе» (Forman, 2003), в то время как Чжэн и др. (2004) используют «ELE [Ожидаемая оценка вероятности] «сглаживание», которое обычно равняется добавлению 0,5 к каждому счету.
Для сглаживания таким образом, который согласуется с теорией вероятностей, я следую стандартным методам классификации текста с использованием модели событий Бернулли с несколькими переменными.По сути, мы предполагаем, что мы видели каждый счет присутствия И каждый отсчет отсутствия B дополнительные разы.Таким образом, наша оценка Pr (t | c) может быть записана в терминах # (t, c): сколько раз мы видели t и c, а # (t,! C): сколько раз мымы видели t без c следующим образом:
Pr(t|c) = [#(t,c) + B] / [#(t,c) + #(t,!c) + 2B]
= [#(t,c) + B] / [#(c) + 2B]
Если B = 0
, мы имеем MLE.Если B = 0.5
, у нас есть ELE.Если B = 1
, у нас есть предшествующий лапласиан.Обратите внимание, что это выглядит иначе, чем сглаживание для модели событий с многочленами, где предшествующий лапласиан приводит вас к добавлению | V |в знаменателе [McCallum & Nigam, 1998]
Вы можете выбрать 0.5
или 1
в качестве значения сглаживания, в зависимости от того, какая предыдущая работа вас больше всего вдохновляет, и включить это в уравнение для LOR(t,c)
выше, и оцените все функции.
Как правило, вы затем решаете, сколько функций вы хотите использовать, скажем, N, а затем выбираете N функций с самым высоким рейтингом на основе оценки.
В условиях с несколькими классами люди часто использовали 1 против всех классификаторов и, таким образом, делали выбор функции независимо для каждого классификатора и, следовательно, каждого положительного класса с односторонними метриками (Forman, 2003).Однако, если вы хотите найти уникальный сокращенный набор функций, который работает в мультиклассовой среде, в литературе есть несколько продвинутых подходов (например, Chapelle & Keerthi, 2008).
Ссылки:
Zheng, Wu, Srihari, 2004
McCallum & Nigam 1998
Manning, Raghavan & Schütze, 2008
Forman, 2003
Chapelle& Keerthi, 2008