Оценка максимального правдоподобия для наивного Байеса

машинное обучение

Наивная байесовская модель — одна из наиболее часто используемых моделей в области анализа текста, а также самая классическая модель. Текст в основном объясняет наивную байесовскую модель и математические принципы с точки зрения обучения. Чтобы документация была полной, в статью также включены необходимые предварительные знания. Здесь мы предполагаем, что входной вектор для Наивного Байеса — это количество вхождений каждого слова. Если представление вектора представляет собой действительное число, такое как tf-idf, нам нужно использовать гауссовую наивную байесовскую модель (не в центре внимания этой статьи).

Эта статья взята из «Учебного лагеря по обработке естественного языка», в основном для учебных целей, чтобы учащиеся понимали максимальную вероятность и как использовать простые методы оптимизации, чтобы найти максимальную вероятность Наивного Байеса. Это автономный проект, в который включено все.
Автор: Ли Вэньчжэ

Предварительные математические знания:

  1. проблема экстремального значения

Основное математическое звено в искусственном интеллекте — найти минимальное/максимальное значение целевой функции. Есть много способов найти минимальное/максимальное значение функции, здесь мы представляем один из самых классических методов: непосредственное нахождение экстремума. Общим признаком этих крайних точек является то, что градиент в этих точках равен 0, как показано на следующем рисунке. На этом рисунке 8 крайних точек, и в этих крайних точках должно быть минимальное или максимальное значение (исключая левый и правый крайние точки функции). Таким образом, мы обычно сначала находим производную функции x, а затем присваиваем ей значение 0. Затем из найденных экстремумов выбрать ту экстремум, которая делает результат минимальным/максимальным значением.

A. Неограниченная оптимизация

Пример 1: Поиск[公式]минимальное значение

Для такого вопроса, на самом деле, мы все знаем, что ответ на этот вопрос[公式], что можно увидеть в принципе без расчета. Далее находим минимальное значение по дифференцированию. первым[公式]Возьмите производную и установите производную на 0.

[公式]

тем самым получая[公式], получается единственная крайняя точка, поэтому минимальное значение конечной функции равно[公式]

[公式]минимальное значение

после вывода[公式]

что можно получить[公式]. Внесите эти три значения в[公式]что можно получить[公式]. так,[公式]Обе точки могут быть использованы как точки минимума функции, а значение функции равно[公式].

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

B. Ограниченная оптимизация — множитель Лагранжа

Для некоторых экстремальных задач функции обычно поставляются с некоторыми условиями. Например, следующий пример:

Пример 3: Поиск[公式]максимальное значение при условии, что[公式]. Как тогда найти максимальное значение?

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

[公式]

В остальном процесс аналогичен описанному выше. Установив производную в 0, вы можете получить следующие три уравнения:

[公式]

[公式]

[公式]

После решения можно получить[公式]. Для каждого $\lambda$ мы получаем решение в виде[公式]. Оптимальное решение можно определить, приведя два решения к исходной функции и сравнив их.

2. Оценка максимального правдоподобия

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

Предположим, есть монета, она не четная, то есть вероятность выпадения орла и решки различна. Предположим, мы установили вероятность того, что эта монета выпадет орлом, как[公式], здесь[公式]Относится к передней части (голова), аналогично задней (хвост). Предположим, мы получили следующий результат после 6 бросков, и мы предполагаем, что каждый бросок является независимым событием:

[公式]

где D представляет все наблюдаемые образцы. По этому результату любой может легко сказать[公式], то есть вероятность выпадения орла равна 4/6, на самом деле методом оценки максимального правдоподобия мы пользуемся неосознанно. Далее мы определяем целевую функцию при максимальном правдоподобии с более строгой точки зрения.

На основе метода оценки максимального правдоподобия нам нужно максимизировать вероятность наблюдения выборки, то есть p(D). Далее можно записать так:

[公式]

Наша цель — максимизировать значение вероятности[公式]. Эта часть оптимизации может использовать метод, упомянутый выше.

[公式]

Закончив эту формулу, мы можем получить[公式], результат согласуется с тем, что мы рассчитали в начале.

Оценка максимального правдоподобия для наивного Байеса

Предположим, вам дан пакет обучающих данных[公式][公式]относится к[公式]образцы (статьи), и этот образец (статьи) содержит[公式]слова, чтобы вы могли[公式]Выражается как[公式]. Предположим, что полный текст $x^i$ гласит: «С удовольствием посетил сегодня тренировочный лагерь НЛП», тогда[公式]"сегодня",[公式]="очень",[公式]="счастливый",[公式]"приходить"[公式]="присутствовать",[公式]="Обработка естественного языка",[公式]"Тренировочный лагерь". так вот[公式]. Кроме того,[公式]Представляет метку $x^i$. Например, в спам-приложениях это означает «спам», «обычная почта». Мы используем K для представления количества категорий. Например, K=2 для спам-приложений. Но здесь мы рассматриваем общий случай, очень вероятно, что K>2, что также называется проблемой мультиклассификации. Наконец, мы определяем V как размер базы словаря.

Наивная байесовская модель — это порождающая модель, целью которой является максимизация вероятности p(D), равной p(x,y). Напишем вывод первых нескольких шагов:

[公式]

Вот краткое объяснение: образец[公式]состоит из множества слов, каждое из которых[公式]рассматривается как слово. Последний использует предположение Наивного Байеса о том, что каждое слово не зависит друг от друга. Например, для предложения «Сегодня мы тренируемся» с меткой y вероятность может быть записана как[公式].

Мы видим, что в формуле есть члены умножения, а множественные члены умножения могут легко вызвать переполнение или недостаточную значимость данных (здесь — потерю значимости). Таким образом, мы обычно не максимизируем p(D) напрямую, а максимизируем[公式], на самом деле они эквивалентны. так как[公式]Функции являются строго возрастающими функциями. плюс[公式], вносим некоторые изменения в приведенную выше формулу:

[公式]

Здесь мы используем некоторые приемы. Например, предположим, что содержание статьи[公式], согласно предыдущей логике, вероятность этого предложения равна[公式][公式]. Но, с другой стороны, мы также можем использовать все слова в словарной базе для представления этой вероятности.[公式] .

Они эквивалентны, за исключением того, что мы учитываем все слова из размера словарной базы и подсчитываем, сколько раз каждое слово появляется в документе i. Если оно не появляется, оно эквивалентно 0 раз. Итак, с этой точки зрения мы можем[公式]написано как[公式][公式]Представляет количество раз, когда слово j встречается в документе $i$. здесь[公式]Представляет j-е слово в словарной базе.

Кроме того, мы также использовали[公式]природа. Например[公式]. Другое дело, что вначале мы зацикливались от документа 1 к N, а теперь сначала берем документ категории 1, затем документ категории 2 и так далее. Итак, предыдущий[公式]разбивается на две суммы, а именно[公式]. здесь[公式]представляет все документы, относящиеся к категории k. Кроме того, мы вводим два набора переменных. То есть мы прямо задаем[公式]за[公式], что означает, что слово появляется, когда статья классифицируется как k[公式]Вероятность([公式]).

Кроме того, мы устанавливаем[公式]за[公式], то есть вероятность того, что документ относится к k-му классу, который также является априором наивной байесовской модели. Например, в приложении для идентификации спама, предполагая, что всего существует 100 спам-сообщений и 1000 обычных писем, вероятность того, что электронное письмо является спамом, составляет:[公式], вероятность нормального сообщения составляет 10/11, что является априорным значением байесовской модели, а сумма всех значений равна 1. Наконец, мы вводим новую переменную с именем[公式], то есть количество файлов, принадлежащих категории k (общее количество обучающих данных можно посчитать, оно известно). это[公式].

Кроме того, необходимо соблюдать два ограничения, а именно:

[公式]

Первое условие означает, что вероятности всех классов в сумме равны 1. Например[公式]. Второе условие означает, что для любой категории k общая вероятность появления всех слов в словаре равна 1. Следовательно, эта задача является задачей оптимизации с ограничениями. Записывая ограничения и целевую функцию вместе, мы получаем:

[公式]

[公式]

Используя термин лагранжевого умножения, мы можем записать целевую функцию как:

[公式]


А: Найдите оптимальное решение[公式]

Нам нужно установить производную равной 0, чтобы найти оптимальное решение. Теперь решение[公式], так что просто следуйте[公式]Нерелевантные термины можно игнорировать, потому что их производные равны 0.[公式]правильно[公式]Производная от:

[公式]

Решить как[公式]. Есть параметр[公式], но в то же время у нас есть ограничение, что[公式], приводим сюда предыдущее решение, можем получить:

но[公式]значение[公式]. Верните $\lambda$ обратно в[公式]Внутри мы можем получить:

[公式]

здесь[公式]— количество вхождений документов k-типа, а знаменатель — количество всех документов.

Б. Найдите оптимальное решение[公式]

Аналогично нам нужно найти L пар[公式]Производная от:

[公式]

Решить как[公式]. Здесь есть параметр[公式], но в то же время у нас есть ограничение, что[公式], приведя сюда предыдущее решение, мы можем получить:

[公式]

Пучок[公式]Внесите его в приведенное выше решение, чтобы получить:

[公式]

Числитель в этой формуле показывает, сколько раз оно встречается во всех документах класса k.[公式]То есть j слов в библиотеке словарей. Знаменатель представляет собой общее количество слов, содержащихся во всех документах категории k.

На данный момент параметры модели получены. Если есть какие-либо ошибки, пожалуйста, дайте мне знать.