В последней статье этого предприятия мы исследовали байесовскую линейную регрессионную модель. В этой статье мы исследуем математику, лежащую в основе байесовского наивного байеса для задачи классификации.
Прежде чем мы начнем, я хотел бы повторить наиболее важное предположение, сделанное при выводе решения Наивного Байеса, что функции независимы друг от друга.
Сначала мы поставим задачу, а затем шаг за шагом рассмотрим математику.
Цель задачи классификации - вычислить 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.
Таким образом, мы успешно прошли почти все шаги, необходимые для достижения этой точки. Я надеюсь, что это было полезно для вас хотя бы в каком-то контексте. Следующая статья будет о байесовских скрытых марковских моделях, и я также напишу небольшую статью, объясняющую вычисление математического ожидания распределения Дирихле. Спасибо.