Поддержка векторной машины (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 | Значения Шапли |
testckfold | Сравнение точности двух классификационных моделей с помощью повторной перекрестной проверки |
Математическую формулировку алгоритма двоичной классификации SVM см. в разделе Поддержка векторных машин для двоичной классификации и понимание поддержки векторных машин.
NaN, <undefined>, пустой символьный вектор (''), пустая строка (""), и <missing> значения указывают на отсутствие значений. fitcsvm удаляет целые строки данных, соответствующие отсутствующему ответу. При вычислении общих весов (см. следующие маркеры), fitcsvm игнорирует любой вес, соответствующий наблюдению, по меньшей мере, с одним отсутствующим предиктором. Это действие может привести к несбалансированности предыдущих вероятностей в проблемах сбалансированного класса. Следовательно, ограничения поля наблюдения могут не совпадать BoxConstraint.
fitcsvm удаляет наблюдения, которые имеют нулевой вес или предшествующую вероятность.
Для двухклассного обучения, если указать матрицу затрат (см. Cost), то программное обеспечение обновляет класс предыдущих вероятностей p (см. Prior) к pc путем включения штрафов, описанных в .
В частности, fitcsvm выполняет следующие действия:
Вычислить
Нормализуйте pc * так, чтобы обновленные предыдущие вероятности были равны 1.
K - количество классов.
Сброс матрицы затрат до значения по умолчанию
].
Удалите наблюдения из учебных данных, соответствующих классам с нулевой предварительной вероятностью.
Для двухклассного обучения, fitcsvm нормализует все веса наблюдения (см. Weights) для суммирования в 1. Затем функция перенормирует нормализованные веса для суммирования обновленной предшествующей вероятности класса, к которому относится наблюдение. То есть общий вес для наблюдения j в классе k равен
.
wj - нормализованный вес для наблюдения j; pc, k - обновленная предшествующая вероятность класса k (см. предыдущий маркер).
Для двухклассного обучения, fitcsvm назначает ограничение поля для каждого наблюдения в данных обучения. Формула ограничения поля для наблюдения j
n - размер обучающей выборки, C0 является начальным ограничением поля (см. 'BoxConstraint' аргумент пары имя-значение), и - общий вес наблюдения j (см. предыдущий маркер).
Если установить 'Standardize',true и 'Cost', 'Prior', или 'Weights' аргумент пары имя-значение, затем fitcsvm стандартизирует предикторы, используя их соответствующие взвешенные средства и взвешенные стандартные отклонения. То есть fitcsvm стандартизирует предиктор j (xj) с использованием
xjk - наблюдение k (строка) предиктора j (столбец).
2.
2.
Предположим, что p - доля отклонений, которые ожидаются в данных обучения и которые устанавливаются 'OutlierFraction',p.
Для одноклассного обучения программное обеспечение обучает термин смещения таким образом, что 100p% наблюдений в данных обучения имеют отрицательные оценки.
Программное обеспечение реализует надежное обучение для двухклассного обучения. Другими словами, программное обеспечение пытается удалить 100p% наблюдений, когда алгоритм оптимизации сходится. Удаленные наблюдения соответствуют градиентам, которые являются большими по величине.
Если данные предиктора содержат категориальные переменные, то программное обеспечение обычно использует полную фиктивную кодировку для этих переменных. Программа создает одну фиктивную переменную для каждого уровня каждой категориальной переменной.
PredictorNames свойство сохраняет один элемент для каждого из исходных имен переменных предиктора. Например, предположим, что существует три предиктора, один из которых является категориальной переменной с тремя уровнями. Тогда PredictorNames является массивом ячеек 1 на 3 символьных векторов, содержащих исходные имена переменных предиктора.
ExpandedPredictorNames свойство сохраняет один элемент для каждой из переменных предиктора, включая фиктивные переменные. Например, предположим, что существует три предиктора, один из которых является категориальной переменной с тремя уровнями. Тогда ExpandedPredictorNames - клеточный массив символьных векторов, содержащий имена переменных предиктора и новых фиктивных переменных.
Аналогично, Beta свойство хранит один бета-коэффициент для каждого предиктора, включая фиктивные переменные.
SupportVectors свойство сохраняет предикторные значения для векторов поддержки, включая фиктивные переменные. Например, предположим, что существуют m векторов поддержки и три предиктора, один из которых является категориальной переменной с тремя уровнями. Тогда SupportVectors является матрицей n-by-5.
X свойство сохраняет данные обучения в качестве исходных данных и не включает фиктивные переменные. Если вводом является таблица, X содержит только столбцы, используемые в качестве предикторов.
Для предикторов, указанных в таблице, если какая-либо из переменных содержит упорядоченные (порядковые) категории, программное обеспечение использует кодировку порядковых номеров для этих переменных.
Для переменной с k упорядоченными уровнями программа создает k-1 фиктивных переменных. j-я фиктивная переменная равна -1 для уровней до j и + 1 для уровней j + 1-k.
Имена фиктивных переменных, сохраненных в ExpandedPredictorNames свойство указывает первый уровень со значением + 1. Программа сохраняет k-1 дополнительных предикторных имен для фиктивных переменных, включая имена уровней 2, 3,..., k.
Все решатели реализуют L1 минимизацию мягких полей.
Для одноклассного обучения программное обеспечение оценивает множители Лагранжа, α1,..., αn, такие, что
[1] Хасти, Т., Р. Тибширани и Дж. Фридман. Элементы статистического обучения, второе издание. Нью-Йорк: Спрингер, 2008.
[2] Шолкопф, Б., Дж. С. Платт, Дж. С. Шаве-Тейлор, А. Дж. Смола и Р. К. Уильямсон. «Оценка поддержки высокоразмерного распределения». Нейронный компут., т. 13, номер 7, 2001, стр. 1443-1471.
[3] Кристианини, Н. и Дж. К. Шаве-Тейлор. Введение в поддержку векторных машин и других методов обучения на основе ядра. Кембридж, Великобритания: Cambridge University Press, 2000.
[4] Шолкопф, Б. и А. Смола. Обучение с ядрами: поддержка векторных машин, регуляризация, оптимизация и далее, адаптивные вычисления и машинное обучение. Кембридж, Массачусетс: MIT Press, 2002.