Машина опорных векторов (SVM) для одноклассовой и двоичной классификации
ClassificationSVM
- классификатор машины опорных векторов (SVM) для одноклассного и двухклассного обучения. Обученные ClassificationSVM
классификаторы сохраняют обучающие данные, значения параметров, предыдущие вероятности, векторы поддержки и информацию алгоритмической реализации. Используйте эти классификаторы для выполнения задач, таких как подбор кривой функции счета-к-апостериорно-вероятностному преобразованию ( см.fitPosterior
) и прогнозирование меток для новых данных (см. predict
).
Создайте ClassificationSVM
объект при помощи fitcsvm
.
compact | Уменьшите размер модели машинного обучения |
compareHoldout | Сравните точности двух классификационных моделей с помощью новых данных |
crossval | Перекрестная валидация модели машинного обучения |
discardSupportVectors | Сбросьте поддерживающие векторы для классификатора линейной машины опорных векторов (SVM) |
edge | Найдите ребро классификации для классификатора машины опорных векторов (SVM) |
fitPosterior | Подгонка апостериорных вероятностей для классификатора машины опорных векторов (SVM) |
incrementalLearner | Преобразуйте модель машины опорных векторов двоичной классификации (SVM) в инкрементальную обучающуюся |
loss | Найдите ошибку классификации для классификатора машины опорных векторов (SVM) |
margin | Найдите классификационные поля для классификатора машины опорных векторов (SVM) |
partialDependence | Вычисление частичной зависимости |
plotPartialDependence | Создайте график частичной зависимости (PDP) и отдельные графики условного ожидания (ICE) |
predict | Классификация наблюдений с помощью машины опорных векторов (SVM) классификатора |
resubEdge | Ребро классификации реституции |
lime | Локальные интерпретируемые модели-агностические объяснения (LIME) |
resubLoss | Потери по классификации реституции |
resubMargin | Классификационный запас для реституции |
resubPredict | Классификация обучающих данных с помощью обученного классификатора |
resume | Возобновите обучение машины опорных векторов (SVM) |
shapley | Значения Shapley |
testckfold | Сравните точности двух классификационных моделей путем повторной перекрестной валидации |
Для математической формулировки алгоритма двоичной классификации SVM, смотрите Машины опорных векторов для двоичной классификации и Машин опорных векторов понимания.
NaN
, <undefined>
, пустой символьный вектор (''
), пустая строка (""
), и <missing>
значения указывают на отсутствующие значения. fitcsvm
удаляет целые строки данных, соответствующих отсутствующему ответу. При вычислении общих весов (см. следующие пули) fitcsvm
игнорирует любой вес, относящийся к наблюдению, по крайней мере, с одним отсутствующим предиктором. Это действие может привести к несбалансированным предшествующим вероятностям в задачах сбалансированного класса. Следовательно, ограничения ящика наблюдений могут не равняться BoxConstraint
.
fitcsvm
удаляет наблюдения, которые имеют нулевой вес или предшествующую вероятность.
Для двухклассного обучения, если вы задаете матрицу затрат (см. Cost
), затем программное обеспечение обновляет класс априорных вероятностей p (см Prior
) для pc путем включения штрафов, описанных в .
В частности, fitcsvm
завершает следующие шаги:
Вычислить
Нормализуйте pc* так что обновленные предыдущие вероятности равны 1.
K - количество классов.
Обнулите матрицу затрат по умолчанию
Удалите наблюдения из обучающих данных, соответствующих классам с нулевой предшествующей вероятностью.
Для двухклассного обучения, fitcsvm
нормализует все веса наблюдений (см Weights
) в сумме до 1. Затем функция перенормирует нормированные веса, чтобы суммировать до обновленной предыдущей вероятности класса, к которому принадлежит наблюдение. То есть, общий вес для j наблюдений в классе k,
wj - нормированный вес для j наблюдений; p c k является обновленной предыдущей вероятностью k класса (см. Предыдущий буллит).
Для двухклассного обучения, fitcsvm
присваивает прямоугольное ограничение каждому наблюдению в обучающих данных. Формула для прямоугольного ограничения j наблюдений
n - размер обучающей выборки, C 0 - начальное прямоугольное ограничение (см. 'BoxConstraint'
аргумент пары "имя-значение"), и - общий вес j наблюдения (см. предыдущую пулю).
Если вы задаете 'Standardize',true
и 'Cost'
, 'Prior'
, или 'Weights'
аргумент пары "имя-значение", затем fitcsvm
стандартизирует предикторы с помощью их соответствующих взвешенных средств и взвешенных стандартных отклонений. То есть fitcsvm
стандартизирует предиктор j (xj), используя
xjk - k наблюдения (строка) предиктора j (столбец).
Предположим, что p
- это доля выбросов, которые вы ожидаете в обучающих данных и которые вы задаете 'OutlierFraction',p
.
Для одноклассного обучения программное обеспечение обучает термин смещения таким образом, чтобы 100 p
% наблюдений в обучающих данных имеют отрицательные счета.
Программное обеспечение реализует robust learning для двухклассного обучения. Другими словами, программное обеспечение пытается удалить 100 p
% наблюдений, когда алгоритм оптимизации сходится. Удаленные наблюдения соответствуют градиентам, которые являются большими по величине.
Если ваши данные предиктора содержат категориальные переменные, то программное обеспечение обычно использует полную фиктивную кодировку для этих переменных. Программа создает по одной фиктивной переменной для каждого уровня каждой категориальной переменной.
The PredictorNames
свойство сохраняет по одному элементу для каждого из исходных имен переменных предиктора. Например, предположим, что существует три предиктора, один из которых является категориальной переменной с тремя уровнями. Затем PredictorNames
- массив ячеек 1 на 3 из векторов символов, содержащий исходные имена переменных.
The ExpandedPredictorNames
свойство сохраняет по одному элементу для каждой из переменных предиктора, включая фиктивные переменные. Например, предположим, что существует три предиктора, один из которых является категориальной переменной с тремя уровнями. Затем ExpandedPredictorNames
- массив ячеек 1 на 5 из векторов символов, содержащий имена переменных-предикторов и новых фиктивных переменных.
Точно так же Beta
свойство сохраняет один бета-коэффициент для каждого предиктора, включая фиктивные переменные.
The SupportVectors
свойство сохраняет значения предиктора для поддерживающих векторов, включая фиктивные переменные. Например, предположим, что существует m векторов поддержки и три предиктора, один из которых является категориальной переменной с тремя уровнями. Затем SupportVectors
является матрицей n -by-5.
The X
свойство сохраняет обучающие данные как исходные входные и не включает фиктивные переменные. Когда вход является таблицей, X
содержит только столбцы, используемые в качестве предикторов.
Для предикторов, заданных в таблице, если любая из переменных содержит упорядоченные (порядковые) категории, программа использует порядковую кодировку для этих переменных.
Для переменной с k упорядоченными уровнями программное обеспечение создает k - 1 фиктивные переменные. Переменная j-го манекена является -1 для уровней до j и + 1 для уровней j + 1 до k.
Имена фиктивных переменных, хранящихся в ExpandedPredictorNames
свойство указывает на первый уровень со значением + 1. Программное обеспечение хранит k - 1 дополнительные имена предикторов для фиктивных переменных, включая имена уровней 2, 3,..., k.
Все решатели реализуют L 1 минимизации мягких полей.
Для одноклассного обучения программное обеспечение оценивает множители Лагранжа, α 1,..., αn, такие, что
[1] Хасти, Т., Р. Тибширани и Дж. Фридман. Элементы статистического обучения, второе издание. Нью-Йорк: Спрингер, 2008.
[2] Scholkopf, B., J. C. Platt, J. C. Shawe-Taylor, A. J. Smola, and R. C. Williamson. Оценка поддержки высокомерного распределения. Нейронный компут., Vol. 13, Number 7, 2001, pp. 1443-1471.
[3] Christianini, N., and J. C. Shawe-Taylor. Введение в машины опорных векторов и других основанных на ядре методов обучения. Кембридж, Великобритания: Cambridge University Press, 2000.
[4] Scholkopf, B., and A. Smola. Обучение с ядерными ядрами: Машины опорных векторов, регуляризация, оптимизация и далее, адаптивные расчеты и машинное обучение. Cambridge, MA: The MIT Press, 2002.