Гиперплоскость — это геометрический объект, который обобщает понятия прямой на плоскости и обычной плоскости в трёхмерном пространстве на случай произвольной размерности. В n-мерном пространстве гиперплоскость имеет размерность n−1 и представляет собой «плоский срез», делящий всё пространство на две половины. В контексте машинного обучения гиперплоскость чаще всего выступает в роли границы, по одну сторону от которой модель относит объект к одному классу, а по другую — к другому.
Как это работает
Гиперплоскость задаётся линейным уравнением вида w · x + b = 0, где w — вектор весов (нормальный вектор, перпендикулярный гиперплоскости), x — вектор признаков объекта, а b — смещение. Знак выражения w · x + b определяет, по какую сторону от границы находится точка: положительный — один класс, отрицательный — другой. Именно поэтому гиперплоскость называют линейным решающим правилом.
Если данные линейно разделимы, существует бесконечное множество гиперплоскостей, которые справятся с задачей. Метод опорных векторов (SVM) выбирает среди них оптимальную — ту, которая максимизирует зазор (margin) между классами, то есть расстояние от границы до ближайших точек каждого класса. Эти ближайшие точки называются опорными векторами, и именно они определяют положение границы. Чем шире зазор, тем устойчивее классификатор к небольшим вариациям в данных.
Зачем это нужно
Гиперплоскость — базовый строительный блок для целого класса моделей машинного обучения. Линейная регрессия, логистическая регрессия, перцептрон и SVM — все они так или иначе строят гиперплоскость или её обобщение. Понимание геометрии гиперплоскости помогает интерпретировать веса модели: каждый коэффициент wi показывает, насколько сильно соответствующий признак влияет на решение, а его знак — в какую сторону.
В прикладных задачах гиперплоскости используются для классификации текстов, изображений, медицинских данных и финансовых транзакций. Например, в кредитном скоринге гиперплоскость может разделять заёмщиков на «надёжных» и «рискованных» по набору признаков: доход, возраст, кредитная история.
Примеры
- Двумерное пространство: два признака — рост и вес. Гиперплоскость здесь — обычная прямая, которая делит точки на две группы. Уравнение: 0.5 · рост − 0.3 · вес + 10 = 0.
- Трёхмерное пространство: три признака — длина, ширина и высота детали. Гиперплоскость — плоскость, разделяющая бракованные и годные детали на конвейере.
- SVM для текстов: каждый документ представлен вектором из тысяч признаков (частоты слов). Гиперплоскость в этом многомерном пространстве отделяет спам от нормальных писем. Оптимальная граница строится так, чтобы зазор между классами был максимальным.
- Нелинейный случай: если данные нельзя разделить прямой, применяют ядерный трюк — данные отображаются в пространство более высокой размерности, где гиперплоскость уже существует.
Формула или метрика
Уравнение гиперплоскости: w · x + b = 0. Расстояние от точки x до гиперплоскости вычисляется как |w · x + b| / ||w||. Ширина зазора в SVM равна 2 / ||w||, поэтому задача максимизации зазора сводится к минимизации ||w|| при ограничениях yi(w · xi + b) ≥ 1 для всех обучающих примеров.
Типичные ошибки
- Игнорирование масштаба признаков. Если один признак измеряется в тысячах, а другой — в десятых, гиперплоскость будет смещена в сторону «крупного» признака. Перед обучением линейных моделей признаки нужно стандартизировать.
- Слишком жёсткая граница. При большом значении параметра регуляризации C SVM пытается идеально разделить все обучающие точки, что приводит к переобучению и плохой обобщающей способности.
- Попытка разделить линейно неразделимые данные прямой. Если классы перекрываются, линейная гиперплоскость даст много ошибок. Нужен либо мягкий зазор, либо ядерный переход в пространство большей размерности.
- Неверная интерпретация коэффициентов. Веса w показывают направление нормали, а не «важность» признака в абсолютном смысле. Важность зависит от масштаба признака и корреляций между признаками.
Как улучшить
- Стандартизируйте или нормализуйте признаки перед обучением — это делает гиперплоскость симметричной относительно всех измерений.
- Подбирайте параметр C с помощью кросс-валидации: меньшие значения дают более широкий зазор и лучшую обобщающую способность, большие — более точное разделение обучающей выборки.
- Используйте ядерные функции (RBF, полиномиальные) для нелинейных границ, но следите за размерностью: слишком высокое пространство признаков ведёт к переобучению.
- Отбирайте признаки: удаление шумовых или сильно коррелированных признаков упрощает геометрию задачи и снижает риск переобучения.
- Визуализируйте границу в двумерных проекциях (например, через PCA или t-SNE), чтобы убедиться, что гиперплоскость действительно разделяет классы осмысленно.