Предсказание с использованием дискриминантных моделей анализа

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

predict классифицирует так, чтобы минимизировать ожидаемые классификационные затраты:

y^=argminy=1,...,Kk=1KP^(k|x)C(y|k),

где

  • y^ - предсказанная классификация.

  • K - количество классов.

  • P^(k|x) - апостериорная вероятность k классов для x наблюдений.

  • C(y|k) - стоимость классификации наблюдения как y, когда его истинный класс k.

Пространство X значения делятся на области, где Y классификации является конкретным значением. Области разделяются прямыми линиями для линейного дискриминантного анализа и коническими сечениями (эллипсы, гиперболы или параболы) для квадратичного дискриминантного анализа. Визуализацию этих областей см. в разделе «Создание и визуализация классификатора дискриминантного анализа».

Апостериорная вероятность

Апостериорная вероятность того, что x точек принадлежит классу k, является продуктом априорной вероятности и многомерной нормальной плотности. Плотность распределения многомерного нормального с 1-by-<reservedrangesplaceholder6>, средним μk и d d ковариацией Σ <reservedrangesplaceholder2> в точке 1-by-<reservedrangesplaceholder1> x,

P(x|k)=1((2π)d|Σk|)1/2exp(12(xμk)Σk1(xμk)T),

где |Σk| является определяющим, и, k, Σk1 - обратная матрица.

Пусть P (k) представляет априорную вероятность k класса. Тогда апостериорная вероятность того, что x наблюдения имеет класс k,

P^(k|x)=P(x|k)P(k)P(x),

где P (<reservedrangesplaceholder6>) является постоянной нормализацией, а именно, сумма по k P (x | k) P (<reservedrangesplaceholder0>).

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

Предыдущая вероятность является одним из трех вариантов:

  • 'uniform' - априорная вероятность k классов Это 1 по сравнению с общим количеством классов.

  • 'empirical' - априорная вероятность k классов количество обучающих выборок класса k разделенный на общее количество обучающих выборок.

  • Числовой вектор - априорная вероятность k классов является jпервый элемент Prior вектор. Посмотрите fitcdiscr.

После создания классификатора obj, можно задать предшествующее с помощью записи через точку:

obj.Prior = v;

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

Стоимость

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

Истинные затраты на неправильную классификацию по классам

Cost(i,j) - стоимость классификации наблюдений в классы j если его класс true i. По умолчанию Cost(i,j)=1 если i~=j, и Cost(i,j)=0 если i=j. Другими словами, стоимость 0 для правильной классификации и 1 для неправильной классификации.

При создании классификатора можно задать любую матрицу затрат. Передайте матрицу затрат в Cost Пара "имя-значение" в fitcdiscr.

После создания классификатора obj, можно задать пользовательскую стоимость с помощью записи через точку:

obj.Cost = B;

B - квадратная матрица размера K-by- K когда есть K классы. Вам не нужно переобучать классификатор, когда вы устанавливаете новые затраты.

Ожидаемые затраты на неправильную классификацию по наблюдениям

Предположим, у вас есть Nobs наблюдения, которые необходимо классифицировать с помощью обученного классификатора дискриминантного анализа obj. Предположим, у вас есть K классы. Наблюдения помещаются в матрицу Xnew с одним наблюдением за строкой. Команда

[label,score,cost] = predict(obj,Xnew)

возвращает, помимо других выходов, матрицу затрат размера Nobs-by- K. Каждая строка матрицы затрат содержит ожидаемые (средние) затраты на классификацию наблюдения в каждый из K классы. cost(n,k) является

i=1KP^(i|X(n))C(k|i),

где

См. также

Функции

Объекты

Похожие темы