⚾ Clasificador de Lanzamientos — Máquina de Vectores de Soporte en Vivo
Observa cómo una Máquina de Vectores de Soporte con núcleo real aprende en vivo el límite de margen máximo entre tipos de lanzamiento simulados, a partir de características genuinas de velocidad de giro y velocidad.
Acerca de esta simulación
Cada lanzamiento que un cazatalentos registra viene con una velocidad de liberación y una velocidad de giro directamente de un radar de seguimiento. Este simulador convierte ese par de números en un problema genuino de clasificación de aprendizaje automático: dado un recta, una curva y —opcionalmente— un slider, ¿puede una Máquina de Vectores de Soporte trazar un límite que los separe? En lugar de simular la respuesta, la página ejecuta un solucionador real simplificado de Optimización Mínima Secuencial (SMO) sobre los lanzamientos que existan actualmente en el conjunto de entrenamiento, y lo resuelve de nuevo desde cero cada vez que agregas un lanzamiento o cambias el núcleo, la fuerza de regularización C, o el ancho de banda del núcleo γ.
🔬 Qué muestra
Un gráfico de superficie 3D donde el plano horizontal es velocidad × velocidad de giro y la altura es el valor bruto de la función de decisión de la SVM f(x) = Σ αᵢyᵢK(xᵢ,x) + b. La intersección de la superficie con el plano z = 0 es el límite de decisión real; los planos z = ±1 marcan el margen verdadero. Los lanzamientos de entrenamiento son esferas coloreadas por tipo de lanzamiento, con los vectores de soporte marcados en blanco; tanto el límite como el conjunto de vectores de soporte se recalculan en vivo a partir de los datos actuales, nunca están codificados de antemano.
🎮 Cómo usarlo
Elige un núcleo (lineal, polinomial o RBF gaussiano), luego arrastra C para equilibrar el ancho del margen contra la precisión de entrenamiento, y γ / grado para remodelar la flexibilidad del núcleo. Activa el lanzamiento de slider para convertir esto en un problema de 3 clases, uno-contra-el-resto. Presiona "Nuevo lanzamiento" para transmitir un lanzamiento etiquetado recién muestreado y observa cómo el límite se reajusta instantáneamente, o activa la transmisión automática para seguir alimentando datos continuamente. Arrastra para rotar la vista 3D, desplázate para hacer zoom.
💡 ¿Sabías que…?
Debido a que la velocidad y el giro de un slider realmente se superponen tanto con las rectas como con las curvas en datos reales de Statcast, ninguna línea recta puede separar perfectamente los tres tipos de lanzamiento. Cambiar de un núcleo lineal a un núcleo RBF con una γ suficientemente alta permite que el límite se curve alrededor del grupo superpuesto, una demostración en vivo de exactamente por qué existe el truco del núcleo.
Preguntas frecuentes
¿Qué es una Máquina de Vectores de Soporte (SVM)?
Una Máquina de Vectores de Soporte es un clasificador supervisado que encuentra el hiperplano que separa dos clases con el mayor margen posible: el corredor vacío más ancho entre los puntos más cercanos de cada clase. Esos puntos más cercanos se llaman vectores de soporte porque son ellos quienes determinan dónde se sitúa el límite; cualquier otro punto de entrenamiento podría eliminarse sin mover la solución. Maximizar el margen, en lugar de simplemente encontrar una línea separadora, tiende a generalizar mejor con datos nuevos porque deja el mayor espacio posible para el ruido antes de que un punto cruce hacia la clase incorrecta.
¿Cómo permite el truco del núcleo que una SVM dibuje límites curvos?
La forma dual del problema de optimización de la SVM solo necesita productos punto entre pares de puntos de entrenamiento, nunca las coordenadas originales. El truco del núcleo reemplaza ese producto punto x·z por una función núcleo K(x,z) que calcula el producto punto como si los puntos se hubieran mapeado primero a un espacio de características de dimensión mucho mayor, sin construir ese espacio explícitamente. Un núcleo lineal da un límite recto; un núcleo polinomial da límites polinomiales curvos; el núcleo gaussiano RBF K(x,z) = exp(−γ‖x−z‖²) da límites suaves y flexibles que pueden envolver grupos superpuestos.
¿Qué controla el parámetro de regularización C?
C es el ajuste de compromiso en el objetivo de la SVM de margen blando: minimizar ½‖w‖² + C·Σξᵢ, donde ξᵢ son variables de holgura que permiten que puntos individuales caigan dentro del margen o del lado incorrecto. Un C pequeño tolera más violaciones del margen para lograr un margen más ancho y suave, favoreciendo la generalización. Un C grande penaliza fuertemente las violaciones, forzando un ajuste más estrecho que arriesga sobreajustar los lanzamientos específicos vistos hasta ahora.
¿Qué son los vectores de soporte y por qué solo importan algunos puntos?
Después del entrenamiento, cada punto i tiene un multiplicador de Lagrange αᵢ. Los puntos cómodamente en el lado correcto del margen terminan con αᵢ = 0 y no contribuyen en nada a la función de decisión; solo los puntos sobre el margen o dentro de él —los vectores de soporte— tienen αᵢ > 0. La función de decisión f(x) = Σ αᵢyᵢK(xᵢ,x) + b suma solo sobre esos vectores de soporte, así que una SVM entrenada puede ser extremadamente compacta incluso a partir de un conjunto de datos mayor.
¿Cómo se resuelve realmente la SVM? ¿Es un optimizador real?
Sí. Esta simulación implementa una rutina simplificada de Optimización Mínima Secuencial (SMO), la idea de ascenso de coordenadas dual que John Platt introdujo en 1998 y que sustenta bibliotecas como libsvm. Cada pasada elige un par de multiplicadores de Lagrange que violan las condiciones, resuelve analíticamente su subproblema cuadrático de dos variables bajo la restricción de caja 0 ≤ αᵢ ≤ C y Σ αᵢyᵢ = 0, actualiza el sesgo a partir de las condiciones KKT, y repite hasta que no quedan violaciones dentro de la tolerancia.
¿Cómo funciona uno-contra-el-resto para tres tipos de lanzamiento?
Una SVM estándar es inherentemente binaria. Para manejar recta, curva y slider juntos, la simulación entrena tres SVM binarias separadas, cada una tratando un tipo de lanzamiento como positivo y los otros dos combinados como negativo. Para un lanzamiento nuevo, se evalúan las tres funciones de decisión y gana la clase con la puntuación positiva más grande, una de las formas más simples de extender un clasificador binario a múltiples clases.
Un solucionador simplificado de ascenso de coordenadas dual SMO ajusta una SVM con núcleo y margen blando a datos en vivo de velocidad de giro y velocidad cada vez que se transmite un lanzamiento o cambia un hiperparámetro; la superficie 3D, los planos del margen y los vectores de soporte se recalculan genuinamente, nunca se escriben a mano.
3D · Renderizador Three.js / WebGL · Objetivo de 60 FPS · funciona completamente en el cliente, sin instalación