Классическое машинное обучение

SVM

Метод опорных векторов

классикаСилён на малых выборках; на больших данных проиграл градиентному бустингу.

Направления: Машинное обучение · Классический ML

Ищет гиперплоскость с максимальным зазором между классами; ядровой трюк добавляет нелинейность без явного перехода в новое пространство.

Что означает каждый компонент
  • минимизация нормы весов равносильна максимизации ширины зазора (она равна 2/‖w‖)
  • штраф за нарушения зазора. Большое C — почти не прощаем ошибок, малое — широкий зазор ценой ошибок

Ключевые тезисы

  • Решение определяется только опорными на границе зазора.
  • Ядра: линейное, полиномиальное, RBF; C и γ управляют компромиссом зазора и ошибок.
  • Отлично работает на малых выборках высокой размерности, плохо масштабируется по числу объектов.

Какую задачу решает

Разделяющих гиперплоскостей между двумя классами бесконечно много. выбирает не любую, а ту, что проходит максимально далеко от ближайших объектов обеих сторон. Идея простая и содержательная: широкий зазор означает, что небольшой сдвиг данных не изменит решение — то есть модель устойчива.

Второе, что делает особенным, — ядровой трюк. Скалярное произведение в формуле можно заменить функцией ядра, и модель начинает строить линейную границу в пространстве огромной (иногда бесконечной) размерности, никогда в него не переходя. Так линейный по сути метод получает произвольно сложную границу в исходных координатах.

Что делает ядровой трюк

Точки внутри круга — класс A, снаружи — класс B. Прямой их не разделить. Добавим третью координату : теперь внутренние точки лежат низко, внешние высоко, и обычная плоскость их разделяет. Ядровой трюк делает ровно это, но не вычисляя : полиномиальное ядро даёт то же самое скалярное произведение, что и явный переход в пространство всех квадратов и попарных произведений. При RBF-ядре подразумеваемое пространство бесконечномерно — а вычисляется всё равно одна экспонента.

Подробный разбор

3 подтемы — объяснения, формулы, примеры и интерактивные графики.

Разделяющих прямых бесконечно много. выбирает ту, что проходит максимально далеко от обоих классов: чем шире полоса, тем устойчивее классификатор к новым данным.

Обозначения
  • истинное значение целевой переменной
  • объект: вектор признаков
  • веса модели — то, что подбирается при обучении
  • транспонирование: строка вместо столбца
Отступ объекта: положительный — классифицирован верно, отрицательный — ошибка, близкий к нулю — объект у самой границы
Обозначения
  • истинное значение целевой переменной
  • объект: вектор признаков
  • веса модели — то, что подбирается при обучении
  • норма — длина вектора
  • транспонирование: строка вместо столбца
Ширина зазора равна , поэтому максимизация зазора = минимизация весов
ширина зазора0.184
опорных векторов1
ошибокнет
Крутите наклон и сдвиг: ширина зазора меняется, а опорными оказываются только объекты на его границе

Обозначения
  • параметр C: цена нарушения зазора. Большое C — почти не прощаем ошибок
  • переменная нарушения зазора: на сколько объект заходит внутрь полосы или за неё
  • истинное значение целевой переменной
  • объект: вектор признаков
  • веса модели — то, что подбирается при обучении
  • число объектов в выборке
  • суммирование по всем перечисленным элементам
  • Большое — почти не прощаем ошибок, узкий зазор, риск .
  • Малое — широкий зазор ценой ошибок, сильная .
  • Эквивалентная запись через hinge loss: .
-3-1130246ошибка y − ŷпотериMSEMAEHuber
MSE4.00
MAE2.00
Huber1.50
Задача
Режим «Классификация»: hinge обнуляется, как только отступ больше 1 — объекты вдали от границы перестают влиять

Если классы разделены окружностью, в исходных линейной границы нет. Но в признаках та же выборка становится линейно разделимой — граница превращается в прямую.

Обозначения
  • параметр ядра RBF: радиус влияния объекта
  • норма — длина вектора
  • скалярное произведение: мера согласованности векторов
  • экспонента
Ядро считает скалярное произведение в новом пространстве, не вычисляя само преобразование
  • задаёт «радиус влияния» объекта: большое — узкие островки вокруг точек, .
  • и подбираются вместе, по логарифмической сетке.
  • Сложность обучения — от до : на сотнях тысяч объектов уже неудобен.

Где применяется

  • Малые выборки высокой размерностиБиоинформатика, спектры, микрочипы: тысячи, наблюдений сотни — классическая зона силы .
  • Классификация текстаЛинейный на долго был стандартом и остаётся крепкой базовой линией.
  • One-class очерчивает область нормальных данных без примеров .
  • Задачи с чёткой границейТам, где классы действительно разделимы, максимальный зазор даёт хорошее обобщение.

Плюсы, минусы и альтернативы

Плюсы

  • Хорошо работает при числе , превышающем число объектов.
  • Максимальный зазор — принципиальная защита от .
  • Ядра дают произвольно сложные границы без ручного .
  • Решение определяется только опорными — модель компактна.
  • задача: глобальный оптимум гарантирован.

Минусы

  • Плохо масштабируется: обучение примерно –, на сотнях тысяч объектов непрактично.
  • Вероятностей не даёт — их приходится добирать Платта.
  • Требует и подбора и по сетке.
  • Ядровая модель непрозрачна: объяснить решение труднее, чем у дерева или линейной модели.
  • Чувствителен к дисбалансу классов без взвешивания.

Брать, если

  • Объектов немного (до десятков тысяч), а много.
  • Нужна нелинейная граница, а данных для не хватает.
  • Задача — очертить область без примеров (one-class).

Не брать, если

  • Наблюдений сотни тысяч и больше — обучение не сойдётся за разумное время.
  • Нужны калиброванные вероятности — проще.
  • Данные табличные и разнородные: обычно точнее и не требует .

Чем заменяют

Связанные темы

Метрические и ядровые методы

Следующий шагДальше по связи: k-NNЛенивый алгоритм: предсказание — это голосование k ближайших объектов обучающей выборки.Перейти →

Глава «Классическое машинное обучение» последний раз правилась . Нашли ошибку — напишите.