Машина опорных векторов (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