resubMargin

Найдите поля классификации для классификатора машины вектора поддержки (SVM) перезаменой

Синтаксис

m = resubMargin(SVMModel)

Описание

пример

m = resubMargin(SVMModel) возвращает поля классификации перезамены (m) для классификатора машины вектора поддержки (SVM) SVMModel с помощью данных тренировки, хранимых в SVMModel.X и соответствующих метках класса, сохраненных в SVMModel.Y.

m возвращен как числовой вектор с той же длиной как Y. Программное обеспечение оценивает каждую запись m с помощью обученного классификатора SVM SVMModel, соответствующая строка X и истинная метка Y класса.

Примеры

свернуть все

Загрузите набор данных ionosphere.

load ionosphere

Обучите классификатор SVM. Стандартизируйте данные и укажите, что 'g' является положительным классом.

SVMModel = fitcsvm(X,Y,'ClassNames',{'b','g'},'Standardize',true);

SVMModel является классификатором ClassificationSVM.

Оцените поля классификации в выборке.

m = resubMargin(SVMModel);
m(10:20)
ans = 11×1

    5.5622
    4.2918
    1.9993
    4.5520
   -1.4897
    3.2816
    4.0260
    4.5419
   16.4449
    2.0006
      ⋮

Поле наблюдения является наблюдаемым (TRUE) счетом класса минус максимальный ложный счет класса среди всех очков в соответствующем классе. Предпочтены классификаторы, которые приводят к относительно большим полям.

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

Загрузите набор данных ionosphere. Задайте два набора данных:

  • fullX содержит все предикторы (кроме удаленного столбца 0s).

  • partX содержит последние 20 предикторов.

load ionosphere
fullX = X;
partX = X(:,end-20:end);

Обучите классификаторы SVM каждому набору предиктора.

FullSVMModel = fitcsvm(fullX,Y);
PartSVMModel = fitcsvm(partX,Y);

Оцените поля в выборке для каждого классификатора.

fullMargins = resubMargin(FullSVMModel);
partMargins = resubMargin(PartSVMModel);
n = size(X,1);
p = sum(fullMargins < partMargins)/n
p = 0.2222

Приблизительно 22% полей из полной модели являются меньше, чем те из модели с меньшим количеством предикторов. Это предполагает, что модель, обученная со всеми предикторами, лучше.

Входные параметры

свернуть все

Полный, обученный классификатор SVM, заданный как модель ClassificationSVM, обученная с fitcsvm.

Больше о

свернуть все

Ребро классификации

edge является взвешенным средним classification margins.

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

Один способ выбрать среди нескольких классификаторов, например, выполнить выбор функции, состоит в том, чтобы выбрать классификатор, который приводит к самому высокому ребру.

Поле классификации

classification margin для бинарной классификации, для каждого наблюдения, различия между счетом классификации к истинному классу и счетом классификации к ложному классу.

Программное обеспечение задает поле классификации для бинарной классификации как

m=2yf(x).

x является наблюдением. Если истинная метка x является положительным классом, то y равняется 1, и –1 в противном случае. f (x) является счетом классификации положительных классов к наблюдению x. Поле классификации обычно задается как m = y f (x).

Если поля находятся в той же шкале, то они служат мерой по уверенности классификации. Среди нескольких классификаторов те, которые приводят к большим полям, лучше.

Счет классификации

classification score SVM для классификации наблюдения x является расстоянием со знаком от x до контура решения в пределах от - ∞ к + ∞. Положительный счет к классу указывает, что x предсказан, чтобы быть в том классе. Отрицательный счет указывает в противном случае.

Положительный счет классификации классов f(x) обученная функция классификации SVM. f(x) также числовой, предсказанный ответ для x или счет к предсказанию x в положительный класс.

f(x)=j=1nαjyjG(xj,x)+b,

где (α1,...,αn,b) предполагаемые параметры SVM, G(xj,x) скалярное произведение на пробеле предиктора между x и векторами поддержки, и сумма включает наблюдения набора обучающих данных. Отрицательный счет классификации классов к x или счет к предсказанию x в отрицательный класс, является –f (x).

Если G (xj, x) = xjx (линейное ядро), то функция счета уменьшает до

f(x)=(x/s)β+b.

s является шкалой ядра, и β является вектором подходящих линейных коэффициентов.

Для получения дополнительной информации смотрите Машины Вектора Поддержки Понимания.

Алгоритмы

Для бинарной классификации программное обеспечение задает поле для наблюдения j, mj, как

mj=2yjf(xj),

где yj ∊ {-1,1}, и f (xj) является предсказанным счетом наблюдения j для положительного класса. Однако mj = yj f (xj) обычно используется, чтобы задать поле.

Ссылки

[1] Christianini, N. и Дж. К. Шейв-Тейлор. Введение, чтобы поддержать векторные машины и другое основанное на ядре изучение методов. Кембридж, Великобритания: Издательство Кембриджского университета, 2000.

Введенный в R2014a

Для просмотра документации необходимо авторизоваться на сайте