Skip to content

0erty/SMPR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Байесовские алгоритмы классификации

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

Вероятность p{x|y} = p_y(x) называют апостериорной вероятностью. Значение P{y|x} = P_y p_y(x) интерпретируется как апостериорная вероятность того, что объект x принадлежит классу y.

Задача классификации - получить алгоритм alt text , способный классифицировать произвольный объект alt text .

Наивный байесовский классификатор

В основе наивного байесовского классификатора лежит теорема Байеса.

alt text

где,

P(c|d) — вероятность что объект $d$ принадлежит классу $c$;

P(d|c) — вероятность встретить объект $d$ среди всех объектов класса $c$;

P(c) — безусловная вероятность встретить объект класса $c$ в корпусе объектов;

P(d) — безусловная вероятность объекта $d$ в корпусе объектов.

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

Вывод:

alt text

KNN

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

Определение класса

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

Для каждого класса j определяется оценка близости:

alt text где d(x, a) — дистанция от нового значения x до объекта а.

У какого класса выше значение близости, тот класс и присваивается новому объекту.

Недостатки:

  • Приходится хранить обучающие выборку целиком.

  • Трудоемкость поиска ближайших соседей.

Вывод:

alt text

LOO

Является частным случаем полного скользящего контроля при k=1, соотвественно, N=L. Это, пожалуй, самый распространённый вариант скользящего контроля.

Преимущества LOO в том, что каждый объект ровно один раз участвует в контроле, а длина обучающих подвыборок лишь на единицу меньше длины полной выборки.

Недостатком LOO является большая ресурсоёмкость, так как обучаться приходится L раз.

Указываем интервал между числами и выборку чисел

arr <- c(seq(1,150))
  while (k <= 150){ 
    while (i <= 150){ 

Вывод:

alt text

Метод парзеновского окна

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

В основе подхода лежит идея о том, что плотность выше в тех точках, рядом с которыми находится большое количество объектов выборки.

Парзеновская оценка плотности имеет вид: alt text

Дано: xl - обучающая выборка, z - классифицируемый объект и параметр h (ширина окна).

Вычисляем сумму весов объектов, относящихся к одному и тому же классу:

for (i in 1:l)
  {
    counts[which(xl[i,n+1]==list)] =
      counts[which(xl[i,n+1]==list)] + kernel(euclideanDistance(z,xl[i,1:n])/h)
  }

Класс с максимальным весом и является классом заданного классифицируемого объекта:

return (list[which.max(counts)])

Вывод:

alt text

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages