Discusión sobre el artículo "Neuroredes profundas (Parte VI). Conjunto de clasificadores de redes neuronales: bagging" - página 2

 
elibrarius:

Versión

Funciona. Da los mismos pesos de red cada vez que se ejecuta. He comparado la segunda red. Saqué env$Ens[2] y luego lo comparé por plugin en notepad++.

No funcionó con multithreading:

Error en setMKLthreads(2) :can't find function "setMKLthreads"

¿Qué es esta función? No está en el código de los artículos 4 y 6. ¿Cómo conectarla?

PD: Hubiera sido más conveniente que hubieras publicado la sesión de R con todas las funciones y los datos de origen.

He publicado las citas, todas las funciones y los scripts ejecutables. Se ejecutan secuencialmente copiando del artículo o de GIThub.

Puedes ver la función "setMKLthreads

 
Olvidé preguntarte si tienes instalado MRO 3.4.3 ?
 
Vladimir Perervenko:
Olvidé preguntarte si tienes instalado MRO 3.4.3 ?
Tengo (R-3.4.3 para Windows) instalado desde aquí https://cloud.r-project.org/
 
elibrarius:
Tengo (R-3.4.3 para Windows) instalado desde aquí https://cloud.r-project.org/

Sólo comentar las líneas con la configuración de recuento de hilos. Intel MKL biblioteca no viene con R puro.

 
Vladimir Perervenko:

Sólo tienes que comentar las líneas que establecen el número de hilos. La librería Intel MKL no funciona con R puro.

Eso es lo que hice. Ejecuté la optimización dos veces para comprobarlo y obtuve el mismo resultado

numFeature r nh fact Value
1 11 8 19 4 0.768
2 8 8 18 4 0.754
3 11 8 15 4 0.753
4 11 9 13 8 0.750
5 12 8 15 4 0.750
6 9 8 39 4 0.748
7 10 8 6 3 0.745
8 11 8 20 6 0.743
9 10 8 14 3 0.743
10 8 9 40 7 0.743

Un poco peor que el tuyo, pero creo que es sólo una combinación menos exitosa de la HGC.

 
Vladimir Perervenko:

La librería Intel MKL no funciona con R puro.

Quería descargar MKL. Me pidieron que me registrara, - lo hice, y me mostraron el siguiente mensaje:
Gracias por registrarse en Intel® Performance Libraries.
Por favor, revise su correo electrónico para recibir instrucciones para descargar su producto.Tenga en cuenta que esto puede tardar hasta dos días laborables.

En 20 minutos todavía no he recibido un enlace de descarga. ¿Hablan en serio acerca de 2 días?

 
elibrarius:

Así lo hice. Ejecuté la optimización dos veces para comprobarlo y obtuve el mismo resultado

numFeature r nh fact Value
1 11 8 19 4 4 0.768
2 8 8 18 4 0.754
3 11 8 15 4 0.753
4 11 9 13 8 0.750
5 12 8 15 4 0.750
6 9 8 39 4 0.748
7 10 8 6 3 0.745
8 11 8 20 6 0.743
9 10 8 14 3 0.743
10 8 9 40 7 0,743

Un poco peor que el tuyo, pero creo que es simplemente una combinación menos acertada de DSTs.

Yo siempre uso el paquete doRNG cuando uso foreach (DST muy estable).

Este no debería ser el caso. Cada nueva ejecución de la optimización debería producir resultados diferentes.

 

Ahora he ejecutado la optimización y he obtenido

 Best Parameters Found: 
Round = 18      numFeature = 8.0000     r = 1.0000      nh = 34.0000    fact = 10.0000  Value = 0.7700 
> evalq({
+   OPT_Res %$% History %>% dplyr::arrange(desc(Value)) %>% head(10) %>%
+     dplyr::select(-Round) -> best.init
+   best.init
+ }, env)
   numFeature  r nh fact Value
1           8  1 34   10 0.770
2           7  1 15   10 0.766
3          11  2 15   10 0.765
4           9  1 36   10 0.765
5           3  7 13    5 0.761
6           7  8  8   10 0.748
7          11  6 29   10 0.748
8           3 10 49    1 0.748
9           7  7 23   10 0.746
10          3  1  1   10 0.745

Si ejecuta la optimización con los 10 parámetros principales resultantes, obtendrá más opciones. Por ejemplo

#---Optim  Ensemble-----
evalq(
  OPT_Res <- BayesianOptimization(fitnes, bounds = bonds,
                                  init_grid_dt = best.init, init_points = 10, 
                                  n_iter = 20, acq = "ucb", kappa = 2.576, 
                                  eps = 0.0, verbose = TRUE)
  , envir = env)

Puedes continuar tantas veces como quieras.

Suerte

 
Vladimir Perervenko:

Siempre aplico el paquete doRNG cuando utilizo foreach (GCH muy estable).

Este no debería ser el caso. Cada nueva ejecución de la optimización debería producir resultados diferentes.

Probé tu variante 2 veces - obtuve resultados diferentes.
Me parece que la reproducibilidad/repetibilidad con reinicios es aún mejor.

 
elibrarius:

Probé tu variante 2 veces - obtuve resultados diferentes.
Me parece que la reproducibilidad/repetibilidad con reinicios es aún mejor.

¿Puedes sentir la diferencia ahora? Lee atentamente el artículo. Yo destaqué específicamente esta característica de la optimización bayesiana.

Buena suerte con tus experimentos