Машина вектора поддержки (SVM) для и бинарной классификации одного класса
ClassificationSVM
является классификатором машины вектора поддержки (SVM) для изучения 2D класса и одного класса. Обученные классификаторы ClassificationSVM
хранят данные тренировки, значения параметров, априорные вероятности, поддерживают векторы и алгоритмическую информацию о реализации. Используйте эти классификаторы, чтобы выполнить задачи, такие как подбор кривой счету к функции преобразования апостериорной вероятности (см. fitPosterior
), и предсказание меток для новых данных (см. predict
).
Создайте объект ClassificationSVM
при помощи fitcsvm
.
compact | Уменьшайте размер классификатора машины вектора поддержки (SVM) |
compareHoldout | Сравните точность двух моделей классификации с помощью новых данных |
crossval | Перекрестный подтвердите классификатор машины вектора поддержки (SVM) |
discardSupportVectors | Отбросьте векторы поддержки для линейного классификатора машины вектора поддержки (SVM) |
edge | Найдите ребро классификации для классификатора машины вектора поддержки (SVM) |
fitPosterior | Подходящие апостериорные вероятности для классификатора машины вектора поддержки (SVM) |
loss | Найдите ошибку классификации для классификатора машины вектора поддержки (SVM) |
margin | Найдите поля классификации для классификатора машины вектора поддержки (SVM) |
predict | Классифицируйте наблюдения с помощью классификатора машины вектора поддержки (SVM) |
resubEdge | Найдите ребро классификации для классификатора машины вектора поддержки (SVM) перезаменой |
resubLoss | Найдите потерю классификации для классификатора машины вектора поддержки (SVM) перезаменой |
resubMargin | Найдите поля классификации для классификатора машины вектора поддержки (SVM) перезаменой |
resubPredict | Классифицируйте наблюдения на классификатор машины вектора поддержки (SVM) |
resume | Возобновите учебный классификатор машины вектора поддержки (SVM) |
Для математической формулировки бинарного алгоритма классификации SVM смотрите Машины Вектора Поддержки для Бинарной Классификации и Понимающий Машины Вектора Поддержки.
NaN
, <undefined>
, пустой символьный вектор (''
), пустая строка (""
) и значения <missing>
указывают на отсутствующие значения. fitcsvm
удаляет целые строки данных, соответствующих недостающему ответу. При вычислении общих масс (см. следующие маркеры), fitcsvm
игнорирует любой вес, соответствующий наблюдению по крайней мере с одним недостающим предиктором. Это действие может привести к несбалансированным априорным вероятностям в проблемах сбалансированного класса. Следовательно, ограничения поля наблюдения не могут равняться BoxConstraint
.
fitcsvm
удаляет наблюдения, которые имеют нулевой вес или априорную вероятность.
Для изучения 2D класса, если вы задаете матрицу стоимости (см. Cost
), затем обновления программного обеспечения априорные вероятности класса p (см. Prior
) к pc путем слияния штрафов, описанных в .
А именно, fitcsvm
завершает эти шаги:
Вычислить
Нормируйте pc* так, чтобы обновленные априорные вероятности суммировали к 1.
K является количеством классов.
Сбросьте матрицу стоимости к значению по умолчанию
Удалите наблюдения из данных тренировки, соответствующих классам с нулевой априорной вероятностью.
Для изучения 2D класса fitcsvm
нормирует все веса наблюдения (см. Weights
) суммировать к 1. Функция затем повторно нормирует нормированные веса, чтобы суммировать до обновленной априорной вероятности класса, которому принадлежит наблюдение. Таким образом, общая масса для наблюдения j в классе k
wj является нормированным весом для наблюдения j; p c, k является обновленной априорной вероятностью класса k (см. предыдущий маркер).
Для изучения 2D класса fitcsvm
присваивает ограничение поля каждому наблюдению в данных тренировки. Формула для ограничения поля наблюдения j
n является учебным объемом выборки, C 0 является начальным ограничением поля (см. аргумент пары "имя-значение" 'BoxConstraint'
), и общая масса наблюдения j (см. предыдущий маркер).
Если вы устанавливаете 'Standardize',true
и 'Cost'
, 'Prior'
или аргумент пары "имя-значение" 'Weights'
, то fitcsvm
стандартизирует предикторы с помощью их соответствующих взвешенных средних и взвешенных стандартных отклонений. Таким образом, fitcsvm
стандартизирует предиктор j (xj) использование
xjk является наблюдением k (строка) предиктора j (столбец).
Примите, что p
является пропорцией выбросов, которые вы ожидаете в данных тренировки, и что вы устанавливаете 'OutlierFraction',p
.
Для изучения одного класса программное обеспечение обучает срок смещения, таким образом, что 100p
% наблюдений в данных тренировки имеют отрицательные очки.
Программное обеспечение реализует robust learning для изучения 2D класса. Другими словами, программное обеспечение пытается удалить 100p
% наблюдений, когда алгоритм оптимизации сходится. Удаленные наблюдения соответствуют градиентам, которые являются большими в значении.
Если ваши данные о предикторе содержат категориальные переменные, то программное обеспечение обычно использует полное фиктивное кодирование для этих переменных. Программное обеспечение создает одну фиктивную переменную для каждого уровня каждой категориальной переменной.
Свойство PredictorNames
хранит один элемент для каждого из исходных имен переменной прогноза. Например, примите, что существует три предиктора, один из которых является категориальной переменной с тремя уровнями. Затем PredictorNames
1 3 массив ячеек из символьных векторов, содержащий настоящие имена переменных прогноза.
Свойство ExpandedPredictorNames
хранит один элемент для каждой из переменных прогноза, включая фиктивные переменные. Например, примите, что существует три предиктора, один из которых является категориальной переменной с тремя уровнями. Затем ExpandedPredictorNames
является массивом ячеек из символьных векторов 1 на 5, содержащим имена переменных прогноза и новых фиктивных переменных.
Точно так же свойство Beta
хранит один бета коэффициент для каждого предиктора, включая фиктивные переменные.
Свойство SupportVectors
хранит значения предиктора для векторов поддержки, включая фиктивные переменные. Например, примите, что существуют векторы поддержки m и три предиктора, один из которых является категориальной переменной с тремя уровнями. Затем SupportVectors
является n-by-5 матрица.
Свойство X
хранит данные тренировки, как первоначально введено и не включает фиктивные переменные. Когда вход является таблицей, X
содержит только столбцы, используемые в качестве предикторов.
Для предикторов, заданных в таблице, если какая-либо из переменных содержит упорядоченные (порядковые) категории, программное обеспечение использует порядковое кодирование для этих переменных.
Поскольку переменная с k заказала уровни, программное обеспечение создает k – 1 фиктивная переменная. j th фиктивная переменная –1 для уровней до j, и +1 для уровней j + 1 через k.
Имена фиктивных переменных, сохраненных в свойстве ExpandedPredictorNames
, указывают на первый уровень со значением +1. Программное обеспечение хранит k – 1 дополнительное имя предиктора для фиктивных переменных, включая имена уровней 2, 3..., k.
Все решатели реализуют L 1 мягко-граничная минимизация.
Для изучения одного класса программное обеспечение оценивает множители Лагранжа, α 1..., αn, такой что
[1] Hastie, T., Р. Тибширэни и Дж. Фридман. Элементы статистического изучения, второго выпуска. Нью-Йорк: Спрингер, 2008.
[2] Scholkopf, B., Дж. К. Платт, Дж. К. Шейв-Тейлор, А. Дж. Смола и Р. К. Уильямсон. “Оценивая Поддержку Высоко-размерного Распределения”. Нейронный Comput., Издание 13, Номер 7, 2001, стр 1443–1471.
[3] Christianini, N. и Дж. К. Шейв-Тейлор. Введение, чтобы поддержать векторные машины и другое основанное на ядре изучение методов. Кембридж, Великобритания: Издательство Кембриджского университета, 2000.
[4] Scholkopf, B. и A. Смола. Изучение с ядрами: поддержите векторные машины, регуляризацию, оптимизацию и вне, адаптивное вычисление и машинное обучение. Кембридж, MA: нажатие MIT, 2002.
ClassificationPartitionedModel
| CompactClassificationSVM
| fitcsvm