what is support vector machine machine learning
Ce didacticiel explique Support Vector Machine dans ML et les concepts associés tels que Hyperplane, Support Vectors & Applications of SVM:
dans le Tutoriel précédent , nous avons découvert les algorithmes génétiques et leur rôle dans l'apprentissage automatique.
Nous avons étudié certains algorithmes supervisés et non supervisés en apprentissage automatique dans nos tutoriels précédents. La rétro-propagation est un algorithme d'apprentissage supervisé tandis que Kohenen est un algorithme d'apprentissage non supervisé.
Dans ce didacticiel sur les machines vectorielles de support, nous en apprendrons davantage sur les machines vectorielles de support. Les SVM sont des algorithmes d'apprentissage automatique supervisé mathématique robustes largement utilisés dans la classification des ensembles de données d'apprentissage.
=> Lisez la série complète de formations sur l'apprentissage automatique
Ce que vous apprendrez:
- Qu'est-ce qu'une machine vectorielle de support (SVM)
- Qu'est-ce qu'un hyperplan
- Que sont les algorithmes de classification et de régression
- Quels sont les vecteurs de support
- Comment fonctionne une machine vectorielle de support
- Comment optimiser la position de l'hyperplan
- Applications de SVM
- Conclusion
- lecture recommandée
Qu'est-ce qu'une machine vectorielle de support (SVM)
L'algorithme SVM est un algorithme d'apprentissage supervisé classé sous Techniques de classification. Il s'agit d'une technique de classification binaire qui utilise l'ensemble de données d'apprentissage pour prédire un hyperplan optimal dans un espace à n dimensions.
Cet hyperplan est utilisé pour classer de nouveaux ensembles de données. En tant que classificateur binaire, l'ensemble de données d'entraînement, l'hyperplan divise l'ensemble de données d'entraînement en deux classes.
Les algorithmes SVM sont utilisés pour classer les données dans un plan bidimensionnel ainsi que dans un hyperplan multidimensionnel. L'hyperplan multidimensionnel utilise les «noyaux» pour catégoriser les données multidimensionnelles.
Il est toujours souhaité d'avoir une distinction maximale entre les points de données classés. Cela signifie qu'ils doivent avoir une distance maximale ou que l'hyperplan doit avoir une marge maximale entre les points de données.
Qu'est-ce qu'un hyperplan
Un hyperplan est une frontière qui divise le plan. C'est une frontière de décision qui classe les points de données en 2 classes distinctes. Comme SVM est utilisé pour classer les données en multidimensionnel, un hyperplan peut être une ligne droite s'il y a 2 entrées ou un plan 2 D s'il y a plus de 2 entrées.
Les algorithmes SVM peuvent également être utilisés pour l'analyse de régression, mais ils sont principalement utilisés pour la classification. Voyons plus de détails sur chacune de ces méthodes.
Que sont les algorithmes de classification et de régression
Un algorithme de classification est celui qui analyse les données d'entraînement pour prédire le résultat. Le résultat est une classe cible, par exemple , Jour ou nuit, oui ou non, long ou court. Un exemple d'algorithme de classification serait de savoir si un client d'un supermarché achetant du pain achèterait également du beurre. La classe cible serait «Oui» ou «Non».
Un algorithme de régression découvre la relation entre les variables indépendantes et prédit un résultat. La régression linéaire trouve une relation linéaire entre l'entrée et la sortie. Par exemple: «A» comme entrée et «b» comme sortie, une fonction linéaire serait b = k * a + c.
Quels sont les vecteurs de support
Les vecteurs de support sont les points de données qui nous aident à optimiser l'hyperplan. Ces vecteurs sont les plus proches de l'hyperplan et sont les plus difficiles à classer. La position de l'hyperplan de décision dépend des vecteurs de support. Si ces vecteurs de support sont supprimés, cela modifiera également la position de l'hyperplan.
Une machine à vecteurs de support (SVM) utilise les points de données d'entrée ou les fonctionnalités appelées vecteurs de support pour maximiser les limites de décision, c'est-à-dire l'espace autour de l'hyperplan. Les entrées et sorties d'un SVM sont similaires au réseau neuronal. Il n'y a qu'une seule différence entre le SVM et le NN, comme indiqué ci-dessous.
Contributions: Le réseau SVM peut contenir n nombre d'entrées, soit xun, Xdeux, …… .., Xje,…., Xn.
Les sorties: La sortie cible t.
Poids: Comme les poids de réseau de neurones wun, dansdeux, ……, dansnsont associées à chaque entrée dont la combinaison linéaire prédit la sortie y.
Différence entre SVM et réseaux de neurones
Les poids synaptiques dans les réseaux de neurones sont éliminés pour calculer la sortie y du réseau tandis que dans SVM, les poids non nuls sont réduits ou éliminés pour calculer la limite de décision optimale.
Avec l'élimination des poids, cela réduira l'ensemble de données d'entrée à quelques caractéristiques d'entrée importantes qui aideront à décider de l'hyperplan séparable.
Comment fonctionne une machine vectorielle de support
Comme nous le savons, le but des machines vectorielles de support est de maximiser la marge entre les points de données classifiés. Cela apportera des résultats plus optimaux pour classer de nouveaux ensembles de données non formées. Ainsi, il peut être réalisé en ayant un hyperplan à une position où la marge est maximale.
Voyons un exemple de points de données séparés linéairement:
Étape 1: Trouvez le bon hyperplan parmi différentes possibilités: pour choisir le meilleur hyperplan, recherchez tous les plans possibles qui divisent les données, puis sélectionnez celui qui classe le mieux les ensembles de données d'entrée. Dans le graphique ci-dessous, il y a trois possibilités d'hyperplan. L'hyperplan 3 divise mieux les points de données.
Étape 2: Sélectionnez un hyperplan ayant une marge maximale entre les points de données les plus proches: La marge est définie comme la distance entre l'hyperplan et les points de données les plus proches. Donc, il est optimal d'avoir une marge maximale. Lorsque 2 ou plus de 2 hyperplans classent les données de manière égale, recherchez la marge.
L'hyperplan avec la marge maximale est choisi. Dans la figure ci-dessous, l'hyperplan 2.1, 2.2 et 2.3 divise les points de données mais l'hyperplan 2.2 a une marge maximale.
Étape 3: Lorsque des valeurs aberrantes sont présentes: les valeurs aberrantes sont des points de données différents d'un ensemble de points de données. Dans le cas de 2 ensembles de points de données, une valeur aberrante peut être présente. Le SVM ignore ces valeurs aberrantes dans les données et trouve ensuite un hyperplan de marge maximale.
Étape 4: Dans le cas de points de données séparés de manière non linéaire, le SVM utilise une astuce du noyau. Il convertira un plan séparable de manière non linéaire en vitre séparable en introduisant une nouvelle dimension. Les astuces du noyau sont des équations mathématiques complexes qui effectuent des transformations de données complexes pour optimiser l'hyperplan.
La figure ci-dessous montre des points de données séparables non linéairement qui sont ensuite transformés en haute dimensionnalité avec le plan z. L'hyperplan divisant les deux ensembles de données est un cercle.
Comment optimiser la position de l'hyperplan
La position de l'hyperplan est optimisée à l'aide des algorithmes d'optimisation.
Paramètre SVM: Kernel
La construction d'un hyperplan optimisé dans un problème non linéairement séparable se fait à l'aide de noyaux. Les noyaux sont des fonctions mathématiques qui convertissent le problème complexe en utilisant la forme algébrique linéaire.
Pour un noyau linéaire, l'équation se présente comme suit:
F (x) = b + somme (aje* (x, xje))
où,
x est la nouvelle donnée d'entrée
Xjeest le vecteur de soutien
b, unjesont les coefficients. Ces coefficients sont estimés lors de la phase d'apprentissage de l'algorithme.
Pour un problème complexe séparable non linéairement, l'astuce du noyau fonctionne comme la conversion du problème séparable non linéaire en un problème séparable. Il transforme les données complexes et trouve le moyen de diviser les points de données en sorties.
Les fonctions du noyau sont de nombreux types tels que linéaire, polynomiale, sigmoïde, polarisation radiale, non linéaire et bien d'autres.
Voyons les utilisations de certaines des fonctions du noyau ci-dessus:
Les fonctions du noyau calculent le produit interne des 2 entrées x, y de l'espace.
# 1) Fonction de polarisation radiale: La fonction de noyau la plus utilisée, dit que pour toutes les valeurs comprises entre x = (-1,1), la valeur de la fonction est 1 sinon 0. Pour certaines interceptions, dites xje, la valeur de la fonction Kernel est 1 pour | (xje- h), (xje+ h) | pour xjepris comme centre et 0 sinon.
# 2) Fonction sigmoïde: En tant que réseaux de neurones utilisant Sigmoid, la fonction du noyau pour les SVM est
# 3) Fonction tangente hyperbolique: Comme les réseaux de neurones l'utilisent, la fonction est
# 4) Fonction du noyau gaussien: Les états de fonction du noyau gaussien
# 5) Fonction polynomiale: k (xje, Xj) = (xje* Xj+1)deux
Applications de SVM
Les applications réelles de SVM incluent:
# 1) Classification des articles en différentes catégories: Le SVM différencie les textes écrits et les classe dans différentes catégories telles que le divertissement, la santé, les articles de fiction. Il est basé sur les valeurs de seuil prédéfinies calculées lors de l'apprentissage du SVM.
Si la valeur seuil est franchie, elle est mise dans la catégorie. Si la valeur n'est pas atteinte, de nouvelles catégories sont définies pour la classification.
meilleur logiciel pour convertir des fichiers vidéo
# 2) Reconnaissance du visage: L'image donnée est classée comme image faciale ou image non faciale en détectant les caractéristiques à l'aide de pixels. L'image est reconnue comme un visage ou un non-visage.
# 3) Informations sur la santé: Les SVM sont utilisés pour classer les patients en fonction de leurs gènes, de la reconnaissance des modèles biologiques, etc.
# 4) Détection de l'homologie des protéines: Dans les sciences médicales computationnelles, les SVM sont formés sur la façon dont les séquences de protéines sont modélisées. SVM est ensuite utilisé pour détecter l'homologie des protéines.
Conclusion
Dans ce didacticiel sur les machines vectorielles de support, nous avons découvert les machines vectorielles de support. Les algorithmes SVM sont des algorithmes d'apprentissage supervisé qui sont utilisés pour classer les données binaires et les données linéairement séparables. Il classe les points de données par un hyperplan avec une marge maximale.
Les points de données non linéaires peuvent également être classés par des machines vectorielles de support en utilisant Kernel Tricks. Il existe de nombreuses applications de SVM dans la vie réelle, l'une des applications les plus courantes étant la reconnaissance faciale et la reconnaissance de l'écriture manuscrite.
Bonne lecture!!
=> Visitez ici pour la série exclusive d'apprentissage automatique
lecture recommandée
- Tutoriel d'apprentissage automatique: Introduction au ML et à ses applications
- Un guide complet du réseau neuronal artificiel dans l'apprentissage automatique
- Exploration de données Vs Machine Learning Vs Intelligence Artificielle Vs Deep Learning
- Types d'apprentissage automatique: apprentissage supervisé ou non supervisé
- Introduction aux algorithmes génétiques dans l'apprentissage automatique
- 11 outils logiciels d'apprentissage automatique les plus populaires en 2021
- Top 13 des meilleures entreprises de machine learning (Liste 2021 mise à jour)
- Qu'est-ce que le vecteur Java | Tutoriel de classe vectorielle Java avec des exemples