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

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

Сначала мы поставим задачу, а затем шаг за шагом рассмотрим математику.

Цель задачи классификации - вычислить p (y | x, D), где D - набор данных, x - экземпляр данных, а y - метка.

Настраивать:

Здесь xʲ - это d-мерный вектор над конечным множеством A, а yʲ может принимать значения из множества {1,2,…, m}

Для моделирования наших экземпляров данных мы выбираем случайные величины Xʲ и Yʲ.

Наше совместное распределение между x и y можно дополнительно разбить, используя:

Теперь мы определим каждое из этих распределений вероятностей на R.H.S одно за другим.

Поскольку y имеет категориальный характер, нам придется определить p (y | θ) как категориальное распределение, параметризованное θ.

где V (y) - это вектор, состоящий из вероятностей в каждом измерении вектора для каждой метки.

p (x | y, θ) также будет определено как d-мерное категориальное распределение, поскольку x имеет d измерений.

Это категориальное распределение будет представлять собой матрицу W со строками, каждая из которых соответствует различным значениям y, и столбцами, соответствующими различным характеристикам в x.

где W (Xⱼ = xⱼ, Y = y) будет представлять вероятность того, что p (Xⱼ = xⱼ | Y = y, θ).

Сумма строк матрицы равна единице, поскольку она представляет собой полное категориальное распределение вероятностей.

Чтобы перейти к байесовскому подходу, нам нужно определить априорные значения на совместной паре {V, Wⱼ), поскольку они действуют как параметр для нашего распределения.

Теперь мы определим наши параметры V и W. Разумный выбор для облегчения вычислений будет использован для сопряжения. Следовательно, мы воспользуемся распределением Дирихле, поскольку наши параметры X, Y категоричны по своей природе.

Наша конечная цель - вычислить класс, к которому принадлежит новая точка данных с учетом набора данных D. Из правила Байеса:

Поскольку мы знаем, что каждое наблюдение не зависит от другого, мы можем разделить совместное распределение между x, y, D на x, y и D с учетом θ.

Теперь мы можем использовать предположение об условной независимости алгоритма Наивного Байеса для дальнейшего разделения формулы.

Давайте заменим каждое из этих обозначений их настоящими формулами.

Мы знаем, что в будущем нам потребуется объединить это категориальное распределение с распределением Дирихле приора, чтобы получить наше апостериорное распределение Дирихле. Следовательно, мы хотели бы записать категориальное распределение в терминах распределения Дирихле, чтобы их было легко комбинировать.

Стандартное распределение Дирихле имеет вид:

где ϕ - m-мерный вектор параметров, α - другой параметр распределения, который также является вектором, β - бета-функция, которая по формуле в уравнении 1 и, наконец, s - вероятностный симплекс. Где s - это набор PMF, определенных на этих m параметрах ϕ. Вы можете изучить, что именно представляет собой вероятностный симплекс по этой ссылке.

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

Эти уравнения, кажется, работают идеально, поскольку у нас есть основы, аналогичные основам Дирихле. Если вы чувствуете себя немного напуганным этим уравнением, сохраняйте спокойствие, потому что мы скоро найдем ему хорошее применение.

А теперь давайте сделаем то же самое для нашего приора.

давайте умножим члены P (x, y, D) один на один, давайте начнем с p (θ) и p (xʲ, yⱼ | (θ)).

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

Подобные термины были объединены вместе, но мы не можем просто умножить их напрямую из-за разных индексов продукта, поэтому нам нужно будет немного их изменить.

Cⱼ - это, по сути, количество раз, когда yⱼ имеет метку j.

Теперь C становится вектором, подобным тому, который мы имеем в распределении Дирихле. Это облегчает нам объединение этих двух, и теперь все, что осталось сделать, это объединить их вместе.

Сделаем то же самое и с другой парой.

Теперь все настроено, нам просто нужно умножить эти члены вместе с P (x, y | θ)

куда

Мы видим красивые уравнения, возникающие в результате сопряжения.

В приведенном выше уравнении мы можем видеть, что первая скобка - это ожидаемое значение распределения V (y), а вторая скобка также в некоторой степени то же самое, но давайте рассмотрим ее немного глубже, так как это может сбивать с толку.

если y равно k во второй скобке, то оно становится ожидаемым для распределения W, но когда y не равно k, тогда показатель степени становится равным 1, и, как следствие, база становится равной 1, что делает его интегралом только по значениям распределения, следовательно, интегрируя это к одному.

Итак, все, что нам нужно сделать сейчас, это заменить эти термины их ожидаемыми значениями. Оказывается, это:

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

Окончательное уравнение будет таким:

Чтобы вычислить класс, нам нужно вставить значение экземпляра данных в уравнение и найти его argmax.

Таким образом, мы успешно прошли почти все шаги, необходимые для достижения этой точки. Я надеюсь, что это было полезно для вас хотя бы в каком-то контексте. Следующая статья будет о байесовских скрытых марковских моделях, и я также напишу небольшую статью, объясняющую вычисление математического ожидания распределения Дирихле. Спасибо.