моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Машина опорных векторов (SVM) — это эффективный алгоритм обучения с учителем, широко используемый в задачах классификации и регрессии. Он различает различные категории точек данных, находя оптимальную гиперплоскость в пространстве признаков. Цель состоит в том, чтобы максимизировать интервал между двумя типами точек данных, тем самым улучшая способность модели к обобщению. Ключевые понятия SVM включают гиперплоскости, интервалы, опорные векторы и функции ядра. Функция ядра позволяет SVM решать нелинейные задачи и находить линейно разделимые гиперплоскости путем отображения данных в многомерное пространство. Кроме того, методы мягкой маржи и регуляризации используются для решения проблемы неполной линейной разделимости данных, одновременно контролируя сложность модели и предотвращая переобучение. Реализация SVM включает выбор подходящей функции ядра, построение и решение задачи выпуклого квадратичного программирования, а также оценку и применение обученной модели. Ее преимущества заключаются в том, что модель проста, легко реализуется и обладает хорошей способностью к обобщению, но имеет высокую вычислительную сложность, чувствительна к функции ядра и выбору параметров и может столкнуться с узкими местами в производительности при обработке крупномасштабных наборов данных.
🏘️🏘️个人主页:Использование гор и рек в подарок。
🎖️🎖️:Создатель «Восходящей звезды» в области Python, сертификация «Восходящая звезда CSDN», партнер по контенту CSDN, блоггер-эксперт сообщества Alibaba Cloud, наставник программы «Восходящая звезда» и аналитик данных на рабочем месте.
💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。
тип | Столбец |
---|---|
Основы Python | Введение в основы Python — подробная версия |
Python продвинутый | Введение в основы Python — версия модуля |
Python продвинутый | Python网络爬虫从入门到精通🔥🔥🔥 |
Полноценная веб-разработка | Начало работы с основами Django |
Полноценная веб-разработка | Введение в основы HTML и CSS |
Полноценная веб-разработка | Начало работы с основами JavaScript |
Анализ данных Python | Python数据分析项目🔥🔥 |
машинное обучение | 机器学习算法🔥🔥 |
ИИ | ИИ |
Машина опорных векторов (SVM) — это мощный алгоритм машинного обучения, который в основном используется для решения задач классификации и регрессии. Он основан на принципе минимизации структурного риска в статистической теории обучения и различает различные категории данных, находя границу оптимального решения, то есть гиперплоскость, в пространстве признаков. Выбор этой гиперплоскости направлен на максимизацию кратчайшего расстояния от точек данных до гиперплоскости, которое называется границей. Чем больше интервал, тем лучше способность модели к обобщению.
Ядром SVM является опорный вектор, который представляет собой набор точек данных, которые имеют решающее значение для определения положения и направления гиперплоскости. Это ближайшие точки к гиперплоскости. Если данные не являются линейно разделимыми, SVM отображает исходные данные в многомерное пространство, вводя функцию ядра, и находит в этом новом пространстве линейно отделимую гиперплоскость. Обычно используемые функции ядра включают линейные ядра, полиномиальные ядра, ядра радиальной базисной функции (RBF) и т. д.
Чтобы справиться с шумом и выбросами в данных, SVM вводит концепцию мягкой маржи, которая позволяет неправильно классифицировать некоторые точки данных в обмен на лучшую производительность обобщения. В то же время сложность модели контролируется с помощью условий регуляризации, чтобы избежать переобучения. Процесс обучения SVM обычно включает решение задачи выпуклого квадратичного программирования для поиска оптимальных параметров гиперплоскости.
См. рисунок ниже. В двумерной среде точки R, S, G и другие точки, близкие к средней черной линии, можно рассматривать как опорные векторы. Они могут определять конкретные параметры классификатора, то есть черного цвета. линия.
Опорные векторы и гиперплоскости являются основными понятиями алгоритма машины опорных векторов (SVM). Ниже я подробно объясню эти две концепции:
В математике гиперплоскость — это линейное подпространство, имеющее на одно измерение меньше, чем пространство, в котором оно находится. Например, в двумерном пространстве гиперплоскость — это прямая линия; в трехмерном пространстве — это плоскость; в многомерном пространстве это все еще линейная граница, но ее может быть сложно понять интуитивно.
В SVM гиперплоскость используется для классификации данных по различным категориям. Для двумерного пространства вы можете представить гиперплоскость как прямую линию, делящую пространство на две части, каждая часть содержит одну категорию точек данных. Для пространств более высокой размерности гиперплоскость представляет собой линейную границу более высокой размерности, которая также разделяет точки данных.
Опорные векторы — это точки данных, расположенные ближе всего к гиперплоскости. Это ключевые точки данных, используемые SVM во время обучения для определения местоположения гиперплоскости. Если вы удалите любую из этих точек, это изменит положение и ориентацию гиперплоскости.
Опорные векторы важны, поскольку они определяют границы (т. е. интервалы) между точками данных. Цель SVM — найти гиперплоскость, которая максимизирует расстояние (интервал) между ближайшими опорными векторами (то есть точками данных, ближайшими к гиперплоскости) и гиперплоскостью. Размер этого интервала является важным показателем способности модели к обобщению.
В реальных приложениях данные не могут быть линейно разделены. В настоящее время SVM может использовать методы ядра для решения нелинейных задач. Функция ядра может отображать исходные данные в многомерное пространство и находить в новом пространстве линейно отделимую гиперплоскость. Обычно используемые функции ядра включают линейные ядра, полиномиальные ядра, ядра радиальной базисной функции (RBF) и т. д.
При работе с реальными данными может оказаться невозможным найти идеальную гиперплоскость, которая полностью разделяет все точки данных. В это время SVM представила концепцию мягкой маржи, позволяющую неправильно классифицировать некоторые точки данных в обмен на лучшие возможности обобщения. В то же время сложность модели контролируется с помощью члена регуляризации (обычно нормы вектора нормали), чтобы избежать переобучения.
Формула расстояния от точки до гиперплоскости используется для расчета кратчайшего расстояния от точки до заданной гиперплоскости. Гиперплоскость можно выразить следующим уравнением в n-мерном пространстве:
в:
w — n-мерный вектор нормали, перпендикулярный гиперплоскости.
x — n-мерная точка, расположенная в пространстве.
b — член смещения гиперплоскости.
Вертикальное расстояние d от точки x до этой гиперплоскости можно рассчитать по следующей формуле:
这个公式的几何意义是:从点 𝑥 向超平面作垂线,垂足到点 𝑥的距离就是𝑑这个距离也代表了点 𝑥到超平面的“间隔”。在支持向量机中,间隔的大小是非常重要的,因为它与模型的泛化能力有关。SVM的目标是找到这样一个超平面,使得间隔最大化,即所有数据点到这个超平面的距离之和最大。
Модель оптимизации в линейно разделимом случае
Когда данные линейно разделимы, то есть существует гиперплоскость, которая может идеально разделять различные категории точек данных, цель SVM состоит в том, чтобы найти гиперплоскость, такую, что две ближайшие точки данных (т. е. опорные векторы) находятся к гиперплоскости. Максимизируйте расстояние. Это расстояние называется запасом.
Гиперплоскость можно выразить как:
Задача оптимизации максимальной маржи
Целевой функцией SVM является максимизация интервала, которую можно выразить как:
Введение множителей Лагранжа
двойная проблема
В машинах опорных векторов (SVM) резервные переменные (Slack Variables) представляют собой механизм, введенный для работы с нелинейными разделимыми ситуациями в наборах данных. В идеальной ситуации, если данные линейно разделимы, SVM может найти гиперплоскость, которая полностью разделяет разные классы точек данных, максимизируя при этом запас. Однако в реальном мире многие наборы данных не являются полностью линейно разделимыми, что требует использования слабых переменных, позволяющих ошибочно классифицировать некоторые точки данных, тем самым улучшая способность модели к обобщению.
这里的 𝐶是一个正的调节参数,用于控制模型对误分类的惩罚程度。𝐶的值越大,模型对误分类的惩罚越重,越倾向于找到没有误分类的解;𝐶的值越小,模型对误分类的容忍度越高,越容易找到间隔更大的解,即使这意味着更多的误分类。
Даже в случае нелинейной разделимости, используя прием ядра для отображения данных в многомерное пространство в сочетании со слабыми переменными, SVM все равно может найти гиперплоскость с максимальным запасом.
Функция ядра — важный инструмент в машине опорных векторов (SVM), который позволяет SVM эффективно решать нелинейные задачи в многомерном пространстве. Основная идея функции ядра состоит в том, чтобы посредством отображения отобразить исходные данные из низкомерного пространства в многомерное пространство и найти линейную разделимость данных в этом многомерном пространстве.