⚾ Classificateur de lancers — Machine à vecteurs de support en direct
Regardez une véritable machine à vecteurs de support à noyau apprendre en direct la frontière à marge maximale entre des types de lancers simulés, à partir de véritables caractéristiques de vitesse de rotation et de vélocité.
À propos de cette simulation
Chaque lancer enregistré par un recruteur est accompagné d'une vélocité de libération et d'une vitesse de rotation directement issues d'un radar de suivi. Ce simulateur transforme cette paire de chiffres en un véritable problème de classification par apprentissage automatique : étant donné un fastball, un curveball et — en option — un slider, une machine à vecteurs de support peut-elle tracer une frontière qui les sépare ? Plutôt que de simuler la réponse, la page exécute un véritable solveur simplifié d'optimisation minimale séquentielle (SMO) sur les lancers actuellement présents dans le jeu d'entraînement, et le résout à nouveau depuis le début chaque fois que vous ajoutez un lancer ou changez le noyau, l'intensité de régularisation C, ou la largeur de bande du noyau γ.
🔬 Ce que ça montre
Un graphique de surface 3D où le plan horizontal est vélocité × vitesse de rotation et la hauteur est la valeur brute de la fonction de décision de la SVM f(x) = Σ αᵢyᵢK(xᵢ,x) + b. L'intersection de la surface avec le plan z = 0 est la véritable frontière de décision ; les plans z = ±1 marquent la marge réelle. Les lancers d'entraînement sont des sphères colorées selon le type de lancer, avec les vecteurs de support cerclés de blanc — la frontière comme l'ensemble des vecteurs de support sont recalculés en direct à partir des données actuelles, jamais codés en dur.
🎮 Comment l'utiliser
Choisissez un noyau (linéaire, polynomial ou RBF gaussien), puis faites glisser C pour arbitrer entre largeur de marge et précision d'entraînement, et γ / degré pour remodeler la flexibilité du noyau. Activez le slider pour transformer ceci en un problème à 3 classes, un-contre-tous. Appuyez sur « Nouveau lancer » pour diffuser un lancer fraîchement échantillonné et étiqueté et observer la frontière se réajuster instantanément, ou activez la diffusion automatique pour continuer à alimenter les données en continu. Faites glisser pour faire pivoter la vue 3D, faites défiler pour zoomer.
💡 Le saviez-vous ?
Parce que la vélocité et la rotation d'un slider chevauchent réellement à la fois celles des fastballs et des curveballs dans les vraies données Statcast, aucune ligne droite ne peut séparer parfaitement les trois types de lancers. Passer d'un noyau linéaire à un noyau RBF avec un γ suffisamment élevé permet à la frontière de se courber autour du groupe qui se chevauche — une démonstration en direct de la raison même d'être de l'astuce du noyau.
Questions fréquentes
Qu'est-ce qu'une machine à vecteurs de support (SVM) ?
Une machine à vecteurs de support est un classificateur supervisé qui trouve l'hyperplan séparant deux classes avec la plus grande marge possible — le plus large couloir vide entre les points les plus proches de chaque classe. Ces points les plus proches sont appelés vecteurs de support car ce sont eux seuls qui déterminent l'emplacement de la frontière ; tout autre point d'entraînement pourrait être supprimé sans déplacer la solution. Maximiser la marge, plutôt que simplement trouver une ligne de séparation quelconque, tend à mieux généraliser à de nouvelles données car cela laisse le plus de place possible au bruit avant qu'un point ne passe dans la mauvaise classe.
Comment l'astuce du noyau permet-elle à une SVM de tracer des frontières courbes ?
La forme duale du problème d'optimisation SVM n'a besoin que de produits scalaires entre paires de points d'entraînement, jamais des coordonnées brutes elles-mêmes. L'astuce du noyau remplace ce produit scalaire x·z par une fonction noyau K(x,z) qui calcule le produit scalaire comme si les points avaient d'abord été projetés dans un espace de caractéristiques de dimension bien plus élevée — sans jamais construire explicitement cet espace. Un noyau linéaire donne une frontière droite ; un noyau polynomial donne des frontières polynomiales courbes ; le noyau gaussien RBF K(x,z) = exp(−γ‖x−z‖²) donne des frontières lisses et flexibles pouvant envelopper des groupes qui se chevauchent.
Que contrôle le paramètre de régularisation C ?
C est le curseur de compromis dans l'objectif SVM à marge souple : minimiser ½‖w‖² + C·Σξᵢ, où ξᵢ sont des variables d'écart qui permettent à certains points de se trouver à l'intérieur de la marge ou du mauvais côté. Un C faible tolère davantage de violations de marge pour une marge plus large et plus lisse — privilégiant la généralisation. Un C élevé pénalise fortement les violations, forçant un ajustement plus étroit qui risque de surajuster les lancers spécifiques observés jusqu'ici.
Que sont les vecteurs de support et pourquoi seuls certains points comptent-ils ?
Après l'entraînement, chaque point i possède un multiplicateur de Lagrange αᵢ. Les points confortablement du bon côté de la marge se retrouvent avec αᵢ = 0 et ne contribuent en rien à la fonction de décision ; seuls les points sur ou à l'intérieur de la marge — les vecteurs de support — ont αᵢ > 0. La fonction de décision f(x) = Σ αᵢyᵢK(xᵢ,x) + b ne fait la somme que sur ces vecteurs de support, si bien qu'une SVM entraînée peut être extrêmement compacte même à partir d'un jeu de données plus grand.
Comment la SVM est-elle réellement résolue — s'agit-il d'un véritable optimiseur ?
Oui. Cette simulation implémente une routine simplifiée d'optimisation minimale séquentielle (SMO) — l'idée de montée de coordonnées duale introduite par John Platt en 1998 qui sous-tend des bibliothèques comme libsvm. Chaque passe sélectionne une paire de multiplicateurs de Lagrange en violation, résout analytiquement leur sous-problème quadratique à deux variables sous la contrainte de boîte 0 ≤ αᵢ ≤ C et Σ αᵢyᵢ = 0, met à jour le biais à partir des conditions KKT, et recommence jusqu'à ce qu'aucune violation ne subsiste dans la tolérance.
Comment fonctionne l'approche un-contre-tous pour trois types de lancers ?
Une SVM standard est intrinsèquement binaire. Pour gérer ensemble fastball, curveball et slider, la simulation entraîne trois SVM binaires distinctes, chacune traitant un type de lancer comme positif et les deux autres regroupés comme négatif. Pour un nouveau lancer, les trois fonctions de décision sont évaluées et la classe avec le score positif le plus élevé l'emporte — l'une des façons les plus simples d'étendre un classificateur binaire à plusieurs classes.
Un solveur simplifié SMO à montée de coordonnées duale ajuste une SVM à noyau et marge souple aux données en direct de vitesse de rotation et de vélocité chaque fois qu'un lancer est diffusé ou qu'un hyperparamètre change ; la surface 3D, les plans de marge et les vecteurs de support sont tous réellement recalculés, jamais scriptés.
3D · Moteur de rendu Three.js / WebGL · Cible 60 FPS · fonctionne entièrement côté client, sans installation