Astuce du noyau : RBF, polynomial et sigmoïde
Pourquoi les noyaux fonctionnent, paramètre gamma du noyau RBF, choix des noyaux selon la forme des données.
Astuce du noyau : RBF, polynomial et sigmoïde est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Quand les droites ne suffisent plus
Un SVM linéaire ne trace que des frontières droites. De nombreux jeux de données ne sont pas séparables linéairement : un cercle d’une classe entouré par une autre ne peut pas être séparé par une droite. L’astuce du noyau résout ce problème.
Projeter dans des dimensions supérieures
Si les données ne sont pas séparables dans leur espace d’origine, les projeter dans un espace de dimension supérieure peut les rendre séparables. Une courbe en 2D peut devenir un plan plat en 3D.
L’astuce du noyau
L’astuce du noyau calcule la similarité K(x, z) entre des points comme s’ils étaient projetés dans des dimensions élevées, sans effectuer réellement cette projection coûteuse. Les SVM non linéaires deviennent ainsi efficaces.
Qu’est-ce qu’une fonction noyau
Un noyau K(x, z) est une fonction qui renvoie le produit scalaire de x et z dans un espace de caractéristiques de grande dimension. Les différents noyaux impliquent des projections de caractéristiques et des formes de frontière différentes.
Le noyau RBF
Le noyau RBF (gaussien) est le choix par défaut le plus courant : K(x, z) = exp(-gamma * ||x - z||^2). Il mesure une similarité qui décroît avec la distance, ce qui permet d’obtenir des frontières courbes et flexibles.
from sklearn.svm import SVC
model = SVC(kernel="rbf", gamma="scale", C=1.0)
model.fit(X, y)Le paramètre gamma
gamma contrôle la largeur du noyau RBF. Une valeur élevée de gamma signifie que chaque point exerce une influence étroite, ce qui produit une frontière sinueuse susceptible de surapprendre. Une valeur faible de gamma signifie une influence plus étendue et une frontière plus lisse.
from sklearn.svm import SVC
wiggly = SVC(kernel="rbf", gamma=10) # tight, can overfit
smooth = SVC(kernel="rbf", gamma=0.01) # broad, may underfitgamma et C ensemble
Les SVM RBF dépendent à la fois de gamma (souplesse de la frontière) et de C (tolérance aux erreurs). Ces paramètres interagissent ; vous les réglez donc généralement ensemble à l’aide d’une recherche sur grille.
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
param = {"C": [0.1, 1, 10], "gamma": [0.01, 0.1, 1]}
gs = GridSearchCV(SVC(kernel="rbf"), param, cv=5)
gs.fit(X, y)Le noyau polynomial
Le noyau polynomial K(x, z) = (gamma * x . z + r)^degree modélise les interactions jusqu’à un degré choisi. Utilisez-le lorsque vous prévoyez des interactions entre caractéristiques d’un ordre connu.
from sklearn.svm import SVC
model = SVC(kernel="poly", degree=3, coef0=1, gamma="scale")
model.fit(X, y)Le noyau sigmoïde
Le noyau sigmoïde K(x, z) = tanh(gamma * x . z + r) se comporte comme la fonction d’activation d’un réseau neuronal. Il est moins courant et n’est pas toujours un noyau valide ; il est donc rarement le premier choix.
from sklearn.svm import SVC
model = SVC(kernel="sigmoid", gamma="scale", coef0=0)Choisir un noyau
Conseils :
- Linéaire pour les données de grande dimension ou textuelles
- RBF comme choix général solide pour les données non linéaires
- Polynomial lorsque les interactions d’un degré connu sont importantes
- Sigmoïde dans de rares cas particuliers
Toujours mettre les caractéristiques à l’échelle
Les noyaux comme RBF reposent sur les distances : l’échelle des caractéristiques est donc extrêmement importante. Standardisez toujours les caractéristiques avant d’utiliser un SVM à noyau, sinon les caractéristiques ayant les plus grandes valeurs domineront la similarité.
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
pipe = make_pipeline(StandardScaler(), SVC(kernel="rbf"))
pipe.fit(X, y)Vérification rapide
Évaluez vos connaissances sur les noyaux.
Récapitulatif
Récapitulatif : l’astuce du noyau calcule K(x, z) comme un produit scalaire dans un espace de grande dimension, sans le coût de la projection, ce qui permet d’obtenir des frontières non linéaires. RBF utilise exp(-gamma * ||x-z||^2) ; une valeur élevée de gamma entraîne un surapprentissage. Polynomial capture les interactions de degré d. Mettez toujours les caractéristiques à l’échelle avant d’utiliser des SVM à noyau.
Questions Fréquemment Posées
La leçon « Astuce du noyau : RBF, polynomial et sigmoïde » est-elle gratuite ?
Oui — le texte complet de « Astuce du noyau : RBF, polynomial et sigmoïde » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Astuce du noyau : RBF, polynomial et sigmoïde » ?
Pourquoi les noyaux fonctionnent, paramètre gamma du noyau RBF, choix des noyaux selon la forme des données. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Astuce du noyau : RBF, polynomial et sigmoïde » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Théorie des SVM : marges et vecteurs de support
- Astuce du noyau : RBF, polynomial et sigmoïde
- SVM pour la classification avec sklearn
- SVM pour la régression (SVR)