Эта статья является основной записью «Wu Enda Machine Learning».
Метод опорных векторов (SVM)
Поддержка векторных машин или SVM для краткости. Он обеспечивает более четкий и мощный способ изучения сложных нелинейных уравнений, чем логистическая регрессия и нейронные сети. Его гипотетическая функция:
Для логистической регрессии
->
->
Если у вас положительный образец (y = 1), то нам требуется только, выборку можно правильно классифицировать, потому что еслиЕсли , значение функции стоимости нашей модели равно 0. Точно так же, если у вас отрицательный образец, вам нужно толькобудет правильно отделить негативы.
Однако к машинам опорных векторов предъявляются более высокие требования не только к правильному разделению входных отсчетов, то есть не только к, нам нужно гораздо большее значение, чем 0, например, больше или равно 1, я также хочу, чтобы оно было намного меньше 0, например, я хочу, чтобы оно было меньше или равно -1, что эквивалентно включению дополнительного фактора безопасности в машину опорных векторов или фактора безопасного расстояния. Как тренировать этот запас прочности?
Понимание классификаторов с большими интервалами
В SVM мы можем поместитьпараметр Спонимается как,следовательно:
больше, эквивалентноНебольшой, может привести к переоснащению, высокая дисперсия.
меньше, эквивалентноБольше, может привести к низкой посадке и высокой смещении.
Например, мы используем черную границу решения и розовую границу решения выше.SVMПосле тренировки, если вы установите C больше, вы получите эту розовую линию, а если вы установите меньше, вы получите черную линию. Вот почему SVM также называетсяКлассификатор с большим интерваломинтуитивное понимание.
Математические принципы больших границ
Давайте посмотрим на границу решения SVM:
Вышеэто
- Предположим, SVM выбирает зеленую линию слева от рисунка выше в качестве границы решения. (На самом деле SVM его не выберет, этот круг принятия решения очень близок к обучающей выборке)
Используя знания линейной алгебры, можно показать, что эта граница зеленого решения имеет перпендикулярный к ней вектор.. На рисунке выше видно, что образец дляпроекцияотносительно невелики, что приводит к окончательной минимизациибольше
- Предположим, SVM выбирает зеленую линию справа на рисунке выше в качестве границы решения.
На этом этапе вы найдете образец дляпроекциябольше, чем на рисунке слева, поэтому соответствующиебудет намного меньше, а именно:
То есть SVM попытается максимизироватьЭти нормы (они представляют собой расстояния от обучающих выборок до границы решения), поэтому SVM в конечном итоге находят классификаторы с большими запасами.
Использование SVM
Основная идея функции ядра Kernel Function
Например, если мы хотим сегментировать положительные и отрицательные образцы на изображении выше, мы можем использовать функцию ядра для создания новых функций:
Выше приведены некоторые из случайно выбранных ориентиров., мы используем их с обучающими выборкамиприближение к выбору новых функций, Например :
в, НапримерВсе особенности и достопримечательности врасстояние между и.
является функцией ядра (это функция ядра Гаусса). Роль этих ориентиров такова: если обучающая выборкас достопримечательностямиРасстояние между примерно 0, новая функцияпримерно, если обучающая выборкас достопримечательностямиРасстояние между ними тем больше, чемпримерно.
В дополнение к этой функции ядра существует множество функций ядра на выбор.
разныеиВлияние на функцию ядра
Координаты горизонтальной плоскости на рисунке равны, а вертикальная ось представляет. Видно, что только когдаиОн имеет максимальное значение только тогда, когда он совпадает. вместе сизменятьНа скорость изменения значения влияетконтроль.
Например:
На изображении выше, когда образец находится в пурпурной точке, потому что он далек отближе, но далекоидальше, такблизко к 1, аблизко к 0. следовательно, так предсказать. А вот для сине-зеленой точки, так как она находится далеко не от всех трех ориентиров, прогнозируют.
При использовании функции ядра для прогнозирования функции, которые мы используем, являются не функциями самих обучающих выборок, а новыми функциями, вычисленными функцией ядра..
Применение функций ядра и машин опорных векторов
-_-,Если честно, я просто понимаю принцип работы ядра, но не знаю, что это такое. . . . . Для простого понимания функций ядра обратитесь к этой статье:Начало работы с SVM — зачем нужны функции ядра
готовые к использованиюФункция ядра отображает линейно неразделимую задачу в многомерное пространство, после чего задача становится линейно разделимой.(наверное так)
Выше мы можемSVM
Функции отображаются функцией ядра. еслиSVM
Неиспользование функции ядра также известно как линейная функция ядра.Когда мы не используем очень сложные функции или когда наш обучающий набор имеет очень много функций и очень мало образцов, можно использовать этот тип машины опорных векторов без функции ядра.
Функция ядра должна удовлетворять теореме Мерсера, чтобы ее правильно обрабатывала программа оптимизации машины опорных векторов.
Вот эффект суммы двух параметров SVM:
больше, эквивалентноНебольшой, может привести к переоснащению, высокая дисперсия;
меньше, эквивалентноБольше, может привести к низкой подгонке и высокому смещению;
Когда он больше, это может привести к низкой дисперсии и высокому смещению;
Когда он мал, это может привести к низкому смещению и высокой дисперсии.
Как выбрать между SVM и логистической регрессией?
Часто используемые рекомендации:
n — количество признаков, а m — количество обучающих выборок.
(1) Если n намного больше, чем m, то есть количества данных в обучающей выборке недостаточно, чтобы помочь нам обучить сложную нелинейную модель, мы выбираем модель логистической регрессии или машину опорных векторов без функции ядра .
(2) Если n мало, а m среднего размера, например, n находится в диапазоне от 1 до 1000, а m находится в диапазоне от 10 до 10000, используйте метод опорных векторов с функцией ядра Гаусса.
(3) Если n мало, а m велико, например, n находится в диапазоне от 1 до 1000, а m больше 50 000, то шансы использования опорного вектора очень медленны, решение состоит в том, чтобы создать, добавить больше функций, а затем использовать логистику. регрессия или SVM без функции ядра.
Нейронные сети могут работать лучше во всех трех случаях. Основная причина выбора машины опорных векторов заключается в том, что ее функция стоимости является выпуклой функцией и не имеет локального минимума.