SVEM AGREGAR PARA MÁQUINA DE VECTORES DE SOPORTETengo resultados DOE que me gustaría modelar con Support Vector Machine (hay fuertes efectos no lineales que no se pueden estimar con un modelo polinómico) ¿Cómo instalo el complemento SVEM?
Modelado estadístico avanzadoDiseño de experimentosModelado predictivo y aprendizaje automáticoRe: SVEM AGREGAR PARA SOPORTE DE MÁQUINA DE VECTORESSí, el árbol potenciado puede ser más preciso que los bosques aleatorios "por diseño", debido a su corrección iterativa de errores de predicción con entrenamiento de árboles secuenciales. Pero las divisiones complejas realizadas durante el aprendizaje de los árboles secuenciales para mejorar el rendimiento pueden ser sólo válidas en el conjunto de entrenamiento y pueden no reflejar lo que podría suceder en nuevos puntos de datos.
Random Forest es un algoritmo robusto con respecto a los hiperparámetros, por lo que aumentar la cantidad de árboles por encima de un cierto valor puede no cambiar la evaluación del desempeño, consulte mi publicación en LinkedIn y/o el artículo " Tunability: Importancia de los hiperparámetros de los algoritmos de aprendizaje automático ": 1802.09596 (arxiv.org)
Re: SVEM AGREGAR PARA SOPORTE DE MÁQUINA DE VECTORESCon árbol potenciado R² = 0,85
Re: SVEM AGREGAR PARA SOPORTE DE MÁQUINA DE VECTORESPor bosque aleatorio obtengo un R² pobre = 0,63 incluso con 2000 árboles
Re: SVEM AGREGAR PARA SOPORTE DE MÁQUINA DE VECTORESNo estoy totalmente de acuerdo, hay más matices entre los modelos basados en árboles:
- Los métodos de árbol impulsado , como XGBoost y otros, utilizan árboles entrenados secuencialmente para refinar y corregir las predicciones de forma progresiva. Están más influenciados por las características del conjunto de entrenamiento, el tamaño, la calidad de los datos, la repartición de los puntos de datos, la representatividad, ... ya que intentan iterativamente tener las mejores predicciones (cada árbol "corrige" los mayores errores de predicción del árbol anterior) en el conjunto de datos en el que están entrenados.
Por lo general, es un algoritmo que se describe como sesgo bajo, varianza alta: las predicciones pueden ser muy precisas, pero muy sensibles o influenciadas por el conjunto de datos de entrenamiento utilizado.
- Los bosques aleatorios utilizan árboles entrenados en paralelo en conjuntos de datos ligeramente diferentes (conjuntos de arranque). El buen rendimiento predictivo de este algoritmo proviene del promedio de las predicciones de los árboles individuales. Puedes pensar en ello como " La sabiduría de la multitud ": si le preguntas a alguien el peso de una ballena, puede que sea muy inexacto y poco preciso, pero si recopilas las respuestas de cientos o miles de personas y promedias los resultados , el resultado medio puede estar muy cerca del valor real.
Por lo general, es un algoritmo descrito como sesgo medio/bajo - varianza baja: las predicciones pueden ser precisas (dependiendo del promedio de los resultados individuales y la complejidad/número de árboles individuales) y son bastante robustas para el conjunto de datos de entrenamiento gracias al arranque. proceso y el entrenamiento individual de los árboles (con diferentes características).
Aquí hay una breve imagen entre los diferentes modelos basados en árboles (no me gusta cómo los árboles individuales en Random Forest tienen la misma estructura, pero es un esquema simplista):

Para responder a su pregunta, probaría los métodos de bosques aleatorios en lugar de árbol impulsado en conjuntos de datos de bajo tamaño como DoE, para tener más confianza en los resultados, usar un algoritmo menos propenso al sobreajuste y tener mejores propiedades de generalización.
Re: SVEM AGREGAR PARA SOPORTE DE MÁQUINA DE VECTORESSupongo que los modelos basados en árboles, como el bosque aleatorio y XGboost, requieren un gran conjunto de datos a menos que pueda usar SVEM para conjuntos pequeños, ¿correcto?
Re: SVEM AGREGAR PARA SOPORTE DE MÁQUINA DE VECTORESHola @frankderuyck ,
Genial saber !:)
Utilizo redes neuronales como última opción de modelado posible, hay muchos modelos clásicos y algoritmos de ML más simples que funcionan igual de bien (y a veces mejor). Estas otras opciones también son más rápidas de calcular, no requieren conocimientos ampliados, pruebas y validación para ajustarlas (a diferencia de las NN, donde hay que especificar la arquitectura, con el número de capas, el tipo de funciones, el impulso o no,... o usando el complemento Neural Network Tuning ) y son más fáciles de interpretar (en términos de perfiles de respuesta e importancia relativa de los factores).
En datos tabulares, si el único modelo capaz de funcionar bien son las redes neuronales, hay muchas posibilidades de que tenga otros problemas, en términos de calidad de los datos, representatividad, valores faltantes/valores atípicos, repetibilidad/reproducibilidad, etc.
Los modelos basados en árboles proporcionan un buen punto de referencia de rendimiento y, a menudo, son una opción segura y confiable; consulte el artículo " ¿Por qué los modelos basados en árboles aún superan al aprendizaje profundo en datos tabulares ?" (2022) https://arxiv.org/abs/2207.08815
En su captura de pantalla, parece que el modelo SVM óptimo encontrado con el diseño Tuning es bastante interesante:
- Utiliza 10 vectores de soporte, por lo que menos de la mitad de los puntos se utilizan para construir los "límites"/vectores utilizados en el modelo SVM, lo que puede ser una buena señal de baja complejidad y buenas propiedades de generalización.
- El valor de curvatura (gamma) es bastante bajo, por lo que el perfil de respuesta y los límites pueden no ser demasiado complejos ni muy curvados (de nuevo, baja complejidad y buenas propiedades de generalización).
- La penalización (valor de costo) parece bastante alta, pero con un conjunto de datos de bajo tamaño este suele ser el caso en la práctica, ya que cualquier punto mal clasificado/mal predicho aumentará en gran medida la tasa de clasificación errónea/RMSE: 1 punto mal clasificado de 25 = 4% de clasificación errónea tasa, en comparación con un tamaño de conjunto de datos más alto donde un punto mal clasificado representaría menos del 1% de tasa de clasificación errónea. En algunas situaciones, puede ser interesante elegir un modelo con un error ligeramente mayor (RMSE/tasa de clasificación errónea), pero con muchos menos vectores de soporte: degradas tu rendimiento predictivo en el conjunto de entrenamiento en favor de un modelo menos complejo que podría ser capaz de generalizar mejor sobre nuevos datos.
Puede utilizar la tabla generada por el diseño de Tuning, con las métricas de rendimiento, para evaluar mejor la importancia relativa y la contribución de los dos hiperparámetros en las métricas de rendimiento (tasa de clasificación errónea para la clasificación, o RASE y R² para la regresión).
Como siempre, se recomienda validar su modelo con nuevos puntos de validación, para asegurarse de que su modelo no se ajuste demasiado.
Re: SVEM AGREGAR PARA SOPORTE DE MÁQUINA DE VECTORESHola Víctor, este diseño de ajuste funciona muy bien. Quiero modelar una respuesta de calidad Y en función de tres Y FPCA de espectros NIR (FDA). Probé la red neuronal, pero incluso con 3 nodos TanH, el perfilador muestra, en mi opinión, una ncurvatura demasiado alta e irregular. SVE después del ajuste hace un buen trabajo, ¡apoyo el aprendizaje automático vectorial!


Re: SVEM AGREGAR PARA SOPORTE DE MÁQUINA DE VECTORESHola @frankderuyck ,
Algunas preguntas antes de responder la tuya:
- ¿Por qué le gustaría utilizar SVEM para SVM? Support Vector Machines es un algoritmo de aprendizaje automático robusto que se puede utilizar para conjuntos de datos de tamaño pequeño como DoE. Más información sobre la solidez del algoritmo en LinkedIn.
También hay muchas formas de evaluar el sobreajuste para SVM sin usar el conjunto de validación, verificando la cantidad de vectores de soporte y los valores de penalización (costo) y curvatura (gamma) si ha ajustado sus hiperparámetros SVM con un diseño de ajuste . .. Estoy pensando en escribir una publicación de blog sobre la evaluación y prevención del sobreajuste de algoritmos robustos (SVM, Random Forest) en ausencia de validación (en conjuntos de datos DoE, por ejemplo).
- ¿Consideró también otros algoritmos? SVM es un algoritmo robusto para el análisis de conjuntos de datos de pequeño tamaño, pero Random Forest también puede proporcionar buenos resultados y puede ser un buen punto de referencia para evaluar y comparar el rendimiento. Más información sobre Random Forests en LinkedIn.
- ¿Cuántos niveles tienes para tus factores? Los algoritmos de ML solo pueden ser útiles si tiene suficientes niveles para cada uno de sus factores para permitir una interpolación fluida. Más de 3 niveles pueden ser un buen punto de partida.
En cuanto al uso de SVEM, puedes acceder a él de diferentes maneras:
- En la plataforma "Crear columna de validación", tiene la posibilidad de crear una tabla de validación automática: inicie la plataforma Crear columna de validación (jmp.com). Esto duplicará las filas y creará una columna de pesos anticorrelacionados (entre entrenamiento y validación) que se puede utilizar como "Frecuencia" en el lanzamiento de la plataforma. Luego puede simular los resultados de la predicción variando las ponderaciones entre el entrenamiento y la validación (haga clic con el botón derecho en un panel con resultados de validación, haga clic en Simular y especifique la columna de ponderaciones como la columna para activar y desactivar).
- También puede descargar el complemento SVEM, que hará lo mismo que la tabla de autovalidación: ¿Repensar el diseño y análisis de experimentos? (2021-EU-30MP-776) - Comunidad de usuarios de JMP
Luego puede reproducir los mismos pasos que antes y simular resultados para evaluar la solidez del modelo.
Sin embargo, me gustaría enfatizar que la validación cruzada (K-folds o SVEM) no es propiamente un método de validación, sino más bien un método de "depuración" para evaluar la solidez del desempeño del algoritmo en varios conjuntos de entrenamiento y validación. La principal dificultad después de utilizar una técnica de validación cruzada es cómo dar sentido a los resultados y cómo proceder a continuación:
¿Promediar los modelos individuales entrenados en varios pliegues? ¿Crear un conjunto con estos modelos? ¿Mantener el mejor modelo entrenado en un pliegue (no recomendaría esta opción)? ¿Entrenar el modelo en todo el conjunto de datos una vez que se haya verificado la solidez con la validación cruzada? ... No hay una respuesta definitiva a esta pregunta y esto está relacionado con el conjunto de datos, la complejidad de la modelización, la mejora del rendimiento, las prácticas del usuario, ...
Más información aquí con algunos episodios de Cassie Kozyrkov sobre el tema de la validación cruzada: https://youtu.be/zqD0lQy_w40?si=41jfBs83Q0TIlusr
https://youtu.be/by59hsYO0Lg?si=XeZ33j2e4jKQPaRA
Espero que esta respuesta te ayude,
Re: SVEM AGREGAR PARA SOPORTE DE MÁQUINA DE VECTORESHola Víctor, con algo de retraso... ¿por qué elegirías Random Forest en lugar de SVEM para modelar datos del DOE?
Re: SVEM AGREGAR PARA SOPORTE DE MÁQUINA DE VECTORESHola @frankderuyck ,
Se trata de dos consideraciones diferentes:
- SVEM es una estrategia de validación que podría aplicarse a cualquier modelo, desde regresión lineal hasta redes neuronales.
- Random Forest es un modelo de aprendizaje automático.
Ambos tienen en común una forma de evitar el sobreajuste al modelar:
- Random Forest utiliza muestras de arranque y muestras " fuera de bolsa " como validación del modelo "interno". La muestra "fuera de bolsa" es una parte de los datos que no se utilizan en el entrenamiento: las muestras de entrenamiento son muestras de arranque muestreadas con reemplazo en el conjunto de datos original. Teóricamente, puede calcular que al muestrear con reemplazo sus datos originales, alrededor de 1/3 de sus datos no se muestrearán: aprendizaje automático - Tamaño de muestra listo para usar de Random Forests - Validación cruzada (stackexchange.com)
Esta muestra constituye la muestra "lista para usar" que no se utiliza en el entrenamiento del Random Forest y permite evaluar/validar la relevancia y precisión del modelo.
- SVEM utiliza pesos anticorrelacionados para entrenamiento y validación, lo que significa que un experimento con un peso alto para entrenamiento tendrá un peso bajo para validación. Al ajustar un modelo con esta configuración de validación, y luego cambiar los pesos y reajustar el modelo con nuevos pesos para entrenamiento y validación una gran cantidad de veces, tendrá modelos ligeramente diferentes que puede ensamblar/combinar para reducir la varianza (y evitar el sobreajuste).
Ahora, mi opinión y elección personal :
- Lo que veo con frecuencia es gente que usa SVEM para su DoE con modelos altamente complejos sin más consideraciones ni análisis/modelado previo. A menudo se puede ver, por ejemplo, SVEM aplicado con redes neuronales para obtener diseños y resultados relativamente simples. A mí me suena como " usar una bazuca para matar una mosca ": tiendo a elegir las opciones/modelos más simples antes de aumentar la complejidad (si es necesario): la navaja de Ockham . También debes considerar cuántos niveles tienes para tus factores y otras consideraciones (como la dimensionalidad), ya que los modelos de aprendizaje automático son modelos de interpolación, muy eficientes para encontrar un patrón entre puntos. Entonces, si solo tiene 2 o 3 niveles para sus factores, es posible que eso no sea suficiente para obtener realmente un beneficio al utilizar el aprendizaje automático.
- Si tiene suficientes niveles y el modelado lineal tradicional no parece apropiado debido a las relaciones no lineales, entonces podría interesarle probar los modelos de aprendizaje automático.
- Dado que tiene un conjunto de datos de entrenamiento de bajo tamaño pero de alta calidad con su DoE, debe elegir un modelo de ML que sea simple (ninguno o pocos y fácil ajuste de hiperparámetros), robusto (menos sensible a la configuración de valores de hiperparámetros) y menos propenso al sobreajuste, ya que no puede dividir sus datos DoE en conjuntos de entrenamiento y validación. Aquí es donde son interesantes los bosques aleatorios (con su validación de muestra interna "lista para usar") y SVM (puede evaluar la posibilidad de sobreajuste con la elección de hiperparámetros y la cantidad de vectores de soporte).
Además, el uso de un algoritmo ML robusto en lugar de uno complejo con una estrategia SVEM tiene otros beneficios, como un menor tiempo de cálculo y una interpretabilidad más sencilla.
Espero que esta respuesta te ayude y tenga sentido para ti.
Re: COMPLEMENTO SVEM PARA MÁQUINA VECTORIAL DE SOPORTEHola Víctor, intenté usar esto para obtener resultados mixtos, obtuve un buen modelo pero la optimización con el generador de perfiles no funcionó porque el componente su no sumaba 1, era casi 3. Lo mismo sucede en otros modelos ML, PLS e incluso Gen Reg.
Re: COMPLEMENTO SVEM PARA MÁQUINA VECTORIAL DE SOPORTEHola Franck,
¿Has comprobado que tus factores de mezcla tienen las propiedades de columna correctas?
- "Mezcla" con valores de factores individuales bajos y altos
- "Rol de diseño" con rol establecido como Mezcla
- "Cambios de factor" configurado en Fácil (u otro tipo si tiene un escenario de parcela dividida/aleatorización restringida)
A continuación se muestra un ejemplo de datos de mezcla Donev con factor CuSO4:

Al iniciar el generador de perfiles desde el proceso gaussiano (o cualquier otro modelo ML), se respeta y aplica la restricción de mezcla (los factores de mezcla siempre suman 1):
Espero que esta respuesta pueda resolver tu problema.
Re: COMPLEMENTO SVEM PARA MÁQUINA VECTORIAL DE SOPORTEOk Víctor, ¡gracias!