Наивная байесовская модель — одна из наиболее часто используемых моделей в области анализа текста, а также самая классическая модель. Текст в основном объясняет наивную байесовскую модель и математические принципы с точки зрения обучения. Чтобы документация была полной, в статью также включены необходимые предварительные знания. Здесь мы предполагаем, что входной вектор для Наивного Байеса — это количество вхождений каждого слова. Если представление вектора представляет собой действительное число, такое как tf-idf, нам нужно использовать гауссовую наивную байесовскую модель (не в центре внимания этой статьи).
Эта статья взята из «Учебного лагеря по обработке естественного языка», в основном для учебных целей, чтобы учащиеся понимали максимальную вероятность и как использовать простые методы оптимизации, чтобы найти максимальную вероятность Наивного Байеса. Это автономный проект, в который включено все.
Автор: Ли Вэньчжэ
Предварительные математические знания:
- проблема экстремального значения
Основное математическое звено в искусственном интеллекте — найти минимальное/максимальное значение целевой функции. Есть много способов найти минимальное/максимальное значение функции, здесь мы представляем один из самых классических методов: непосредственное нахождение экстремума. Общим признаком этих крайних точек является то, что градиент в этих точках равен 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.
На данный момент параметры модели получены. Если есть какие-либо ошибки, пожалуйста, дайте мне знать.