Plataforma JMP Support Vector Machines (SVM)Estoy tratando de recrear el modelo SVM que hice en R pero ahora uso la plataforma SVM incorporada de JMP. ¿Es posible hacer JMP SVM sin escalar ni centrar mis parámetros de entrada? Tengo componentes de mezclas químicas expresados en fracciones de peso, por lo que todos tienen las mismas unidades (fracciones de peso). También me pregunto si JMP SVM puede optimizar C y Gamma o necesito hacerlo en R. Estoy usando JMP Pro 15.0.
Re: Plataforma JMP Support Vector Machines (SVM)No puedo decir
Acabo de usar Neural porque es un interpolador flexible. Sirvió para mi propósito. No quise dar a entender que es el MEJOR interpolador en este caso o cualquier otro caso en general. Obtuve mi beneficio. No consideré ningún otro interpolador. Otro podría haberlo hecho mejor en este caso, pero este resultado fue 'gut genug'.
La elección del mejor modelo SIEMPRE DEPENDE. No es 'enchufar y tragar'.
Muchos nichos de modelado predictivo tienen su modelo favorito y nunca miran otros modelos. Tal vez fue el mejor modelo la primera vez que se entrenó a un modelo. Bueno, los datos cambian y también debería hacerlo el modelo predictivo. Las características de los datos determinan la elección del mejor tipo de modelo, pero las características de los datos cambian con el tiempo. Por lo tanto, debemos actualizar el modelo a medida que cambian los datos y probablemente también debamos volver a evaluar la elección del tipo de modelo. (No entraremos en modelos de conjunto hoy.)
Una respuesta a una pregunta en esta discusión es incapaz de explicar todos los pros y los contras de todos los tipos de modelos predictivos en diferentes situaciones. Ningún tipo de modelo es superior. Sugiero leer "Elementos del aprendizaje estadístico".
Re: Plataforma JMP Support Vector Machines (SVM)Cierto, pero usó la plataforma NN para estimar los valores óptimos de costo y gamma para lograr el mejor ajuste del modelo dadas las posibles combinaciones que usó en los bucles for, ¿verdad?
Mi pregunta es solo sobre si hay o no un beneficio de usar la plataforma NN sobre los procesos gaussianos para encontrar los valores óptimos.Re: Plataforma JMP Support Vector Machines (SVM)Las preguntas eran sobre los hiperparámetros para el proceso de ajuste neuronal. No estábamos usando un modelo Neural de resultados de hiperparámetros de otra plataforma.
Re: Plataforma JMP Support Vector Machines (SVM)Hola @Mark_Bailey ,
¿Hay algún beneficio en usar la plataforma NN para encontrar la configuración óptima para el costo y la gamma?
Hago algo similar con mis datos para encontrar la configuración óptima de hiperparámetros, pero en lugar de usar el NN para tratar de encontrar el óptimo, uso la plataforma Gaussian Process. Comparé los ajustes de cada una de las dos opciones "óptimas" y la del Proceso gaussiano tuvo una tasa de clasificación errónea de 0,25 frente a 0,275 para el método NN.

Sólo curioso.
¡Gracias!,
SD
Re: Plataforma JMP Support Vector Machines (SVM)También uso JMP Pro 15.0.Try Machines (SVM). ¡Gracias!Re: Plataforma JMP Support Vector Machines (SVM)¿Cómo puedo forzar el umbral de probabilidad para que permanezca en 0,5 todo el tiempo?
Cuando ejecuto la optimización de costo y gamma usando el método de validación ("KFold", 10), siempre calcula la clasificación errónea de validación usando el umbral ajustado, por lo que calcula la tasa de clasificación errónea de validación condicional, consulte el archivo adjunto. No puedo seleccionar el mejor Costo y Gamma porque hay un tercer parámetro Umbral que no estoy tratando de optimizar.
Re: Plataforma JMP Support Vector Machines (SVM)También lo cambié un poco. Sobre todo una cuestión de estilo personal.
Names Default to Here( 1 );
// use a small example
data = Open( "$SAMPLE_DATA/Big Class.jmp" );
// launch SVM platform
svm = data << Support Vector Machines(
Y( :age ),
X( :height, :weight )
);
// iterate over a range of hyper-parameters
For( cost = 0.5, cost <= 5, cost += 0.5,
For( gamma = 0.1, gamma <= 1, gamma += 0.1,
svm << Fit(
Kernel Function( "Radial Basis Function" ),
Gamma( gamma ),
Cost( cost ),
Validation Method( "None" )
);
);
);
// separate parameters and performance in a new table
results = Report( svm )["Model Comparison"][TableBox(1)] << Make Into Data Table;
// fit interpolator for profiling
results << Neural(
Y( :Training Misclassification Rate ),
X( :Cost, :Gamma ),
Informative Missing( 0 ),
Validation Method( "Holdback", 0.3333 ),
Fit(
NTanH( 3 ),
Profiler(
1,
Confidence Intervals( 1 ),
Term Value(
Cost( 2.75, Lock( 0 ), Show( 1 ) ),
Gamma( 1, Lock( 0 ), Show( 1 ) )
)
),
Plot Actual by Predicted( 1 ),
Plot Residual by Predicted( 1 )
)
);
Pero también agregué otro paso para comprender cómo la tasa de clasificación errónea dependía de los hiperparámetros. Guardé la tabla de Comparación de modelos y ajusté una red neuronal simple (pero adecuada). El generador de perfiles se puede utilizar para encontrar buenos valores y comprenderlos. Por ejemplo, usando un gamma alto y un costo moderado con poca mejora al aumentar el costo.
Re: Plataforma JMP Support Vector Machines (SVM)Lo cambié un poco y funciona, ¡gracias!
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gam = .1;
cos = .5;
svm = dt << Support Vector Machines(
Y( :age ),
X( :height, :weight ),
Fit( Kernel Function( "Radial Basis Function" ), Gamma( gam ), Cost( cos ), Validation Method( "None" ), )
);
For( i = 1, i <= 10, i++,
For( ii = 1, ii <= 10, ii++,
svm << Fit(
Kernel Function( "Radial Basis Function" ),
Gamma( gam ),
Cost( cos ),
Validation Method( "None" )
);
gam = gam + .1;
);
cos = cos + .5;
);
Re: Plataforma JMP Support Vector Machines (SVM)da un error como este:
intentando asignar a un objeto que no es un valor L en el acceso o la evaluación de 'Assign', dt << obj = /*###*/Support Vector Machines(
Y( :edad ),
X( :altura, :peso ),
Adaptar(
Función del núcleo ("Función de base radial"),
gama (gama),
Costo (costo),
Método de validación ("Ninguno")
)
) /*###*/
¿Qué hice mal?Re: Plataforma JMP Support Vector Machines (SVM)Aquí hay un ejemplo rápido de iteración a través de un rango de parámetros. sin delicadeza, solo fuerza bruta.
Tenga en cuenta que después de que aparece el informe, el mejor modelo se indica en la comparación del informe.
dt=Open("$SAMPLE_DATA/Big Class.jmp")
gam=.1;
cos=.5;
dt<<OBJ></OBJ>Re: Plataforma JMP Support Vector Machines (SVM)No veo ninguna forma de desactivar el centrado y la escala. Si todas las entradas están en la misma escala, el centrado y la escala realmente no cambiarán eso. Afecta a los "parámetros" del modelo, pero no al modelo resultante. En otras palabras, no importará si están en una escala de 0 a 1 o de -1 a +1. Las relaciones entre las X seguirán siendo las mismas.
En cuanto a C y Gamma, de la documentación de JMP:
Sugerencia: para encontrar el modelo que mejor se ajuste, ajuste un rango de funciones del kernel y valores de parámetros y use el informe de comparación de modelos.
Por lo tanto, JMP no optimizará estos parámetros por usted. Uno podría imaginar escribir un script JMP para hacer esto, pero el script puede tardar algún tiempo en ejecutarse, ya que debe ajustarse a la SVM para múltiples combinaciones de C y Gamma, y entonces es probable que todavía necesite hacer algún tipo de interpolación (o construcción de modelos) para encontrar el "óptimo".
Re: Plataforma JMP Support Vector Machines (SVM)No veo ninguna forma de desactivar el centrado y el escalado. Si todas las entradas están en la misma escala, el centrado y la escala realmente no cambiarán eso. Afecta a los "parámetros" del modelo, pero no al modelo resultante. En otras palabras, no importará si están en una escala de 0 a 1 o de -1 a +1. Las relaciones entre las X seguirán siendo las mismas.
En cuanto a C y Gamma, de la documentación de JMP:
Consejo: Para encontrar el modelo que mejor se ajuste, ajuste una variedad de funciones del núcleo y valores de parámetros y utilice el informe de Comparación de modelos.
Por lo tanto, JMP no optimizará estos parámetros por usted. Uno podría imaginarse escribir un script JMP para hacer esto, pero el script puede tardar algún tiempo en ejecutarse ya que necesita adaptarse al SVM para múltiples combinaciones de C y Gamma, y entonces probablemente aún necesitará hacer algún tipo de interpolación (o construcción de modelos) para encontrar el "óptimo".