Байесовский классификатор — широкий класс алгоритмов классификации, основанный на принципе максимума апостериорной вероятности. Для классифицируемого объекта вычисляются функции правдоподобия каждого из классов, по ним вычисляются апостериорные вероятности классов. Объект относится к тому классу, для которого апостериорная вероятность максимальна.
Вероятность p{x|y} = p_y(x) называют апостериорной вероятностью. Значение P{y|x} = P_y p_y(x) интерпретируется как апостериорная вероятность того, что объект x принадлежит классу y.
Задача классификации - получить алгоритм , способный классифицировать произвольный объект .
В основе наивного байесовского классификатора лежит теорема Байеса.
где,
P(c|d) — вероятность что объект
P(d|c) — вероятность встретить объект
P(c) — безусловная вероятность встретить объект класса
P(d) — безусловная вероятность объекта
Теорема позволяет расчитать вероятность того, что именно определенная причина привела к наблюдаемому событию. Цель классификации состоит в том чтобы понять к какому классу принадлежит объект, поэтому нам нужна не сама вероятность, а наиболее вероятный класс. Байесовский классификатор использует оценку апостериорного максимума для определения наиболее вероятного класса.
KNN - алгоритм в котором задана обучающая выборка и множество классов. Требуется найти к какому классу относится выбранный объект. В случае использования тода для классификации объект присваивается тому классу, который является наиболее распространённым среди k соседей данного элемента, классы которых уже известны.
При таком способе во внимание принимается не только количество попавших в область определенных классов, но и их удаленность от нового значения.
Для каждого класса j определяется оценка близости:
где d(x, a) — дистанция от нового значения x до объекта а.
У какого класса выше значение близости, тот класс и присваивается новому объекту.
Недостатки:
-
Приходится хранить обучающие выборку целиком.
-
Трудоемкость поиска ближайших соседей.
Является частным случаем полного скользящего контроля при k=1, соотвественно, N=L. Это, пожалуй, самый распространённый вариант скользящего контроля.
Преимущества LOO в том, что каждый объект ровно один раз участвует в контроле, а длина обучающих подвыборок лишь на единицу меньше длины полной выборки.
Недостатком LOO является большая ресурсоёмкость, так как обучаться приходится L раз.
Указываем интервал между числами и выборку чисел
arr <- c(seq(1,150))
while (k <= 150){
while (i <= 150){
Метод парзеновского окна — метод байесовской классификации, основанный на непараметрическом восстановлении плотности по имеющейся выборке.
В основе подхода лежит идея о том, что плотность выше в тех точках, рядом с которыми находится большое количество объектов выборки.
Парзеновская оценка плотности имеет вид:
Дано: 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)])