2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
La machine à vecteurs de support (SVM) est un algorithme d'apprentissage supervisé efficace largement utilisé dans les problèmes de classification et de régression. Il distingue différentes catégories de points de données en trouvant un hyperplan optimal dans l'espace des fonctionnalités. L'objectif est de maximiser l'intervalle entre deux types de points de données, améliorant ainsi la capacité de généralisation du modèle. Les concepts clés de SVM incluent les hyperplans, les intervalles, les vecteurs de support et les fonctions du noyau. La fonction du noyau permet à SVM de gérer des problèmes non linéaires et de trouver des hyperplans linéairement séparables en mappant les données sur un espace de dimension supérieure. De plus, des techniques de marge souple et de régularisation sont utilisées pour gérer la séparabilité linéaire incomplète des données, tout en contrôlant la complexité du modèle et en empêchant le surajustement. La mise en œuvre de SVM implique la sélection d'une fonction de noyau appropriée, la construction et la résolution d'un problème de programmation quadratique convexe, ainsi que l'évaluation et l'application du modèle formé. Ses avantages sont que le modèle est simple, facile à mettre en œuvre et possède une bonne capacité de généralisation, mais il présente une complexité de calcul élevée, est sensible à la fonction du noyau et à la sélection des paramètres et peut rencontrer des goulots d'étranglement en termes de performances lors du traitement d'ensembles de données à grande échelle.
🏘️🏘️个人主页:Utiliser les montagnes et les rivières comme cadeau。
🎖️🎖️:Créateur étoile montante dans le domaine Python, certification CSDN Rising Star, partenaire de contenu CSDN, blogueur expert de la communauté Alibaba Cloud, mentor du programme Rising Star et analyste de données sur le terrain.
💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。
taper | Colonne |
---|---|
Les bases de Python | Introduction aux bases de Python – version détaillée |
Python avancé | Introduction aux bases de Python – Édition module |
Python Avancé | Python网络爬虫从入门到精通🔥🔥🔥 |
Développement web full-stack | Premiers pas avec les bases de Django |
Développement web full-stack | Introduction aux bases du HTML et du CSS |
Développement web full-stack | Premiers pas avec les bases de JavaScript |
Analyse des données Python | Python数据分析项目🔥🔥 |
apprentissage automatique | 机器学习算法🔥🔥 |
IA | IA |
Support Vector Machine (SVM) est un puissant algorithme d'apprentissage automatique principalement utilisé pour résoudre des problèmes de classification et de régression. Il est basé sur le principe structurel de minimisation des risques dans la théorie de l'apprentissage statistique et distingue différentes catégories de données en trouvant une limite de décision optimale, c'est-à-dire un hyperplan, dans l'espace des fonctionnalités. Le choix de cet hyperplan vise à maximiser la distance la plus courte entre les points de données et l'hyperplan, appelée marge. Plus l’intervalle est grand, meilleure est généralement la capacité de généralisation du modèle.
Le cœur de SVM est le vecteur de support, qui est un ensemble de points de données essentiels pour déterminer la position et la direction de l'hyperplan. Ce sont les points les plus proches de l'hyperplan. Si les données ne sont pas linéairement séparables, SVM mappe les données d'origine sur un espace de dimension supérieure en introduisant une fonction noyau et trouve un hyperplan linéairement séparable dans ce nouvel espace. Les fonctions de noyau couramment utilisées incluent les noyaux linéaires, les noyaux polynomiaux, les noyaux de fonction de base radiale (RBF), etc.
Afin de gérer le bruit et les valeurs aberrantes dans les données, SVM introduit le concept de marge souple, qui permet de mal classer certains points de données en échange de meilleures performances de généralisation. Dans le même temps, la complexité du modèle est contrôlée via des termes de régularisation pour éviter le surajustement. Le processus de formation de SVM implique généralement la résolution d’un problème de programmation quadratique convexe pour trouver les paramètres hyperplan optimaux.
Voir la figure ci-dessous. Dans un environnement bidimensionnel, les points R, S, G et autres points proches de la ligne noire médiane peuvent être considérés comme des vecteurs de support. Ils peuvent déterminer les paramètres spécifiques du classificateur, c'est-à-dire le noir. doubler.
Les vecteurs de support et les hyperplans sont des concepts fondamentaux de l'algorithme de machine à vecteurs de support (SVM). Ci-dessous, j'expliquerai ces deux concepts en détail :
En mathématiques, un hyperplan est un sous-espace linéaire qui a une dimension inférieure à l'espace dans lequel il réside. Par exemple, dans un espace à deux dimensions, un hyperplan est une ligne droite ; dans un espace à trois dimensions, c'est un plan ; dans un espace de dimension supérieure, il s'agit toujours d'une frontière linéaire, mais cela peut être difficile à comprendre intuitivement.
Dans SVM, l'hyperplan est utilisé pour classer les données en différentes catégories. Pour un espace bidimensionnel, vous pouvez imaginer un hyperplan comme une ligne droite divisant l'espace en deux parties, chaque partie contenant une catégorie de points de données. Pour les espaces de dimension supérieure, un hyperplan est une limite linéaire de dimension supérieure qui sépare également les points de données.
Les vecteurs de support sont les points de données situés les plus proches de l'hyperplan. Ce sont les points de données clés utilisés par SVM lors de l'entraînement pour déterminer l'emplacement de l'hyperplan. Si vous supprimez l'un de ces points, cela modifie la position et l'orientation de l'hyperplan.
Les vecteurs de support sont importants car ils définissent les limites (c'est-à-dire les intervalles) entre les points de données. Le but de SVM est de trouver un hyperplan qui maximise la distance (intervalle) entre les vecteurs de support les plus proches (c'est-à-dire les points de données les plus proches de l'hyperplan) et l'hyperplan. La taille de cet intervalle est un indicateur important de la capacité de généralisation du modèle.
Dans les applications pratiques, les données peuvent ne pas être linéairement séparables. À l'heure actuelle, SVM peut utiliser des techniques de noyau pour résoudre des problèmes non linéaires. La fonction noyau peut mapper les données d'origine vers un espace de dimension supérieure et trouver un hyperplan linéairement séparable dans le nouvel espace. Les fonctions de noyau couramment utilisées incluent les noyaux linéaires, les noyaux polynomiaux, les noyaux de fonction de base radiale (RBF), etc.
Lorsqu’il s’agit de données réelles, il n’est peut-être pas possible de trouver un hyperplan parfait qui sépare complètement tous les points de données. À cette époque, SVM a introduit le concept de marge souple, permettant une mauvaise classification de certains points de données en échange de meilleures capacités de généralisation. Dans le même temps, la complexité du modèle est contrôlée via le terme de régularisation (généralement la norme du vecteur normal) pour éviter le surajustement.
La formule de distance point à hyperplan est utilisée pour calculer la distance la plus courte entre un point et un hyperplan donné. L'hyperplan peut être exprimé par l'équation suivante dans un espace à n dimensions :
dans:
w est un vecteur normal à n dimensions, perpendiculaire à l'hyperplan.
x est un point à n dimensions situé dans l'espace.
b est le terme de biais de l'hyperplan.
La distance verticale d du point x à cet hyperplan peut être calculée par la formule suivante :
这个公式的几何意义是:从点 𝑥 向超平面作垂线,垂足到点 𝑥的距离就是𝑑这个距离也代表了点 𝑥到超平面的“间隔”。在支持向量机中,间隔的大小是非常重要的,因为它与模型的泛化能力有关。SVM的目标是找到这样一个超平面,使得间隔最大化,即所有数据点到这个超平面的距离之和最大。
Modèle d'optimisation dans le cas linéairement séparable
Lorsque les données sont linéairement séparables, c'est-à-dire qu'il existe un hyperplan qui peut parfaitement séparer différentes catégories de points de données, le but de SVM est de trouver un hyperplan tel que les deux points de données les plus proches (c'est-à-dire les vecteurs de support) se trouvent à l'hyperplan. Maximisez la distance. Cette distance est appelée marge.
L'hyperplan peut être exprimé comme suit :
Problème d'optimisation de la marge maximale
La fonction objective de SVM est de maximiser l’intervalle, qui peut être exprimé comme suit :
Présentation des multiplicateurs de Lagrange
double problème
Dans les machines à vecteurs de support (SVM), les variables Slack (Slack Variables) sont un mécanisme introduit pour traiter les situations séparables non linéaires dans les ensembles de données. Dans une situation idéale, si les données sont linéairement séparables, SVM peut trouver un hyperplan qui sépare complètement les différentes classes de points de données tout en maximisant la marge. Cependant, dans le monde réel, de nombreux ensembles de données ne sont pas complètement séparables de manière linéaire, ce qui nécessite l'utilisation de variables slack pour permettre une mauvaise classification de certains points de données, améliorant ainsi la capacité de généralisation du modèle.
这里的 𝐶是一个正的调节参数,用于控制模型对误分类的惩罚程度。𝐶的值越大,模型对误分类的惩罚越重,越倾向于找到没有误分类的解;𝐶的值越小,模型对误分类的容忍度越高,越容易找到间隔更大的解,即使这意味着更多的误分类。
Même dans le cas d'une séparabilité non linéaire, en utilisant l'astuce du noyau pour mapper les données dans un espace de grande dimension, combiné avec des variables slack, SVM peut toujours trouver l'hyperplan avec la marge maximale.
La fonction noyau est un outil important dans la machine à vecteurs de support (SVM), qui permet à SVM de gérer efficacement des problèmes non linéaires dans un espace de grande dimension. L'idée de base de la fonction noyau est de mapper les données originales d'un espace de basse dimension à un espace de haute dimension via le mappage, et de trouver la séparabilité linéaire des données dans cet espace de haute dimension.