Ой! Что мы, если не шаблоны?

Удивительно, как мы легко выполняем так много сложных задач и вместе с тем стремимся научить машины, как их решать. Уметь различать яблоки и апельсины для нас довольно тривиально, но научить этому кого-то, кто понимает только «0» и «1», затруднительно. Теперь то, что казалось бы утомительной задачей, можно облегчить (или, по крайней мере, выполнить) с помощью очень знакомой математической формулы. Но возникает вопрос: Насколько интуитивно понятна формула?

Теорема Байеса похожа на E = mc² теории вероятностей. Все это видели, но мало кто понимает. Если бы мне пришлось выбрать для него одно прилагательное, это было бы революционным! Это изменило ход работы многих приложений, с которыми мы раньше работали. Но прежде чем погрузиться в мельчайшие детали алгоритма, нам нужно внести ясность в наши основы.

P.S .: Для объяснения концепций я взял пример бинарной классификации для простоты, но без потери общности.

Маргинальные, условные и совместные вероятности

Предельная вероятность

Когда мы обычно говорим о вероятности события, нас интересует предельная вероятность. Другими словами, это вероятность события независимо от любого другого фактора / события / обстоятельства. По сути, вы «маргинализируете» другие события, отсюда и название. Он обозначается P (A) и читается как «вероятность A».

Условная возможность

Условная вероятность - это когда на возникновение события полностью или частично влияет другое событие (я). Иначе говоря, это вероятность наступления события A, когда другое событие B уже произошло. Он обозначается P (A | B) и читается как «вероятность того, что A при данном B».

Совместная вероятность

Совместная вероятность рассчитывается, когда нас интересует одновременное наступление двух разных событий. Его также часто называют вероятностью пересечения двух событий. Он обозначается P (A, B) и читается как «вероятность A и B».

Вероятность и правдоподобие

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

Чтобы понять разницу между ними, нам сначала нужно понять, что такое модель, а точнее статистическая модель.

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

Рассмотрим график ниже:

Это может быть модель, поскольку она дает нам «описание» того, как выглядят наши данные. Мы можем видеть взаимосвязь между функциями (x и y) на приведенном выше графике, то есть вариацию функций относительно друг друга.

Теперь, если я попытаюсь аппроксимировать это математическим уравнением, я получу:

y = 1.3055 * x - 5.703

который при построении дает:

Это уравнение также является моделью, поскольку оно дает более конкретное описание данных (в частности, взаимосвязь между функциями).

Много статистики посвящено определению того, является ли модель хорошим или плохим приближением данных.

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

Всякий раз, когда мы вычисляем вероятность события в случайном процессе, это зависит от параметров модели, которую мы используем для описания нашего процесса. Скажем, O - наблюдаемый результат процесса, а θ - параметр, описывающий базовую модель. Тогда вероятность, которую мы хотим вычислить, обозначается как P (O | θ), т. Е. «Вероятность конкретного результата заданного параметра модели, используемой для описания процесса ».

Но редко бывает, что мы заранее знаем значение θ. Мы просто наблюдаем O, и затем цель состоит в том, чтобы получить оценку для θ, которая была бы вероятным выбором. учитывая наблюдаемый результат O. Наилучшая оценка параметра - это значение, которое дает максимальную вероятность наступления результата O. Затем мы можем определить вероятность функцию как L (θ | O) , т. е. это функция θ для данного набора результатов, а затем использовать его для поиска оптимального значения параметра θ.

Графическое объяснение:

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

Probability of the random variable equals x given the underlying model is Gaussian:
P(X = x | N(μ, σ)) = 0 # For continous random variable, but can be closely approximated to the dark pink area
Probability of the random variable to be greater than x given the underlying model is Gaussian::
P(X > x | N(μ, σ)) = (Pink + Dark Pink) area
Likelihood of the random variable at x:
L(N(μ, σ) | X = x) = y

Проще говоря, вероятность - это то, насколько хорошо параметры (в данном случае μ и σ) модели (в данном случае распределение Гаусса) описывают результаты (в в данном случае X). Модель с оптимальными параметрами максимизирует вероятность. С другой стороны, вероятность - это насколько вероятно событие или наблюдение для данных параметров используемой модели.

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

Байесовская теория принятия решений

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

Предполагается, что проблема принятия решения сформулирована в вероятностных терминах и что все соответствующие значения вероятности известны.

Теорема Байеса

Вывод теоремы Байеса:

We know from the conditional probability:
P(A|B) = P(A, B) / P(B)
=> P(A, B) = P(A|B) * P(B) ... (i)
Similarly,
P(A, B) = P(B|A) * P(A) ... (ii)
From equation (i) and (ii):
P(A|B) * P(B) = P(B|A) * P(A)
=> P(A|B) = [P(B|A) * P(A)] / P(B)

В случае классификации пусть:

  • A ≡ ω (состояние характера или класса статьи)
  • B ≡ x (входной вектор признаков)

После подстановки получаем:

P(ω|x) = [P(x|ω) * P(ω)] / P(x)
which becomes:
P(ω|x) = [p(x|ω) * P(ω)] / p(x)
because,
* P(ω|x) ≡ called the posterior, it is the probability of the predicted class to be ω for a given entry of feature (x). Analogous to P(O|θ), because the class is the desired outcome to be predicted according to the data distribution (model). Capital 'P' because ω is a discrete random variable.
* p(x|ω) ≡ class-conditional probability density function for the feature. We call it likelihood of ω with respect to x, a term chosen to indicate that, other things being equal, the category (or class) for which it is large is more "likely" to be the true category. It is a function of parameters within the parameteric space that describes the probability of obtaining the observed data (x). Small 'P' because x is a continous random variable. We usually assume it to be following Gaussian Distribution.
* P(ω) ≡ a priori probability (or simply prior) of class ω. It is usually pre-determined and depends on the external factors. It means how probable the occurence of class ω out of all the classes.
* p(x) ≡ called the evidence, it is merely a scaling factor that guarantees that the posterior probabilities sum to one. p(x) = sum(p(x|ω)*P(ω)) over all the classes.

Итак, наконец, мы получаем следующее уравнение для формирования нашего решающего правила:

Правило принятия решения

Приведенное выше уравнение является основной формулой нашей теории принятия решений. Правило таково:

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

Математически это можно записать как:

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

Согласно теореме Байеса, ни одна теория не идеальна. Скорее, это незавершенная работа, всегда требующая доработки и тестирования.

Давайте попробуем понять, почему классификатор Байеса лучший классификатор! **

** (при условии, что все предположения, требуемые теорией принятия решений Байеса, верны)

Функция потерь

Пусть {ω 1, ω 2, ω 3,…, ω c} - конечный набор категорий c и {α 1, α 2, α 3,…, α a} - конечный набор a возможных действий. Под действием я ссылаюсь на конкретное решение из всех возможных решений, например, действие может назначать входной вектор признаков категории (далее класс) 3, а другое может назначать входные данные классу 7 .

Мы можем обобщить нашу функцию потерь (λ) следующим образом:

что можно понять так:

λ - это потери, понесенные при присвоении вектора признаков классу ω i, когда его истинный класс равен ω j . Другими словами, это потеря, понесенная при выполнении действия α по назначению входа классу ω i, когда он должен был быть в классе. ω j.

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

Если i = j, то мы получаем меньшее значение потерь по сравнению с альтернативными случаями, поскольку соответствует правильному решению.

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

Будет ли потеря независима от того, насколько вероятен класс для входного вектора признаков?

Если вы думаете, что ответ «да», позвольте мне объяснить, почему ответ «нет»!

Say the posterior probability of class 2 is more than that of class 1 for a given feature vector, i.e.,

and let's consider an action of assigning x to class 1.
Since λ is the loss associated with one particular action (here, assigning x to class 1) we get its two values:

Равны ли эти два значения потерь?

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

Это объясняет, почему это называется условной потерей.

λ может быть любой подходящей функцией. Это может быть, например, симметричная функция или ноль-один.

Ожидаемый убыток для решения:

Теперь мы находимся в удобном положении, чтобы определить наши ожидаемые убытки для конкретного решения (или действия) по всем классам. Другими словами, убыток, который я понесу после выполнения определенного действия, и то, как на него повлияет «присутствие» всех классов, а не только настоящего класса.

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

Наша задача - найти правило принятия решения, которое минимизирует общий риск. Общее правило принятия решения - это функция α (x), которая сообщает нам, какое действие следует предпринять для каждого возможного наблюдения (x). Чтобы быть более конкретным, для каждого x решающая функция α (x) принимает одно из значений a α 1, α 2, α 3,…, α a. Поскольку условный риск связан с действием α i и поскольку правило принятия решения определяет действие, общий риск определяется следующим образом:

Если α (x) выбран таким образом, чтобы минимизировать условный риск для каждого действия, то общий риск также будет минимизирован. Это оправдывает правило принятия решений Байеса.

Возможно, лучше было бы привести пример ...

Let λ be symmetrical or zero-one loss function,

Тогда условный риск становится:

Само решающее правило классификатора Байеса автоматически минимизирует условный риск, связанный с действием.

И это теория принятия решений Байеса!

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

Если у вас есть какая-то тема и вы хотели бы увидеть ее здесь, оставьте ее в разделе комментариев. Мне было бы приятно!

Удачи!

(Все изображения, кроме миниатюры, созданы автором.)