Para el Bayesiano, hay que jugar no sólo con el número de pases, sino también con el número de puntos. Hay que buscar una opción más rápida. Esto es muy tedioso
Para acelerarlo, añade a los parámetros al llamar a BayesianOptimisation
maxit = 1 #1 en lugar de 100 - número de repeticiones para GP_fit para la predicción de hiperplanos No noté ninguna mejora con 100 repeticiones en comparación con 1, así que ahora uso 1. Ie.
BayesianOptimization(все как у вас , maxit = 1)
maxit=1 vía ... se pasará a GPfit:: GP_fit y la optimización se ejecutará 1 vez en lugar de 100. También puedes pasar: control = c(20*d, 10*d, 2*d);#default - control = c(200*d, 80*d, 2*d) - de 200*d selecciona 80*d mejores y construye 2*d clusters - donde d es el número de parámetros a optimizar.
PS. ¿No cambias a TensorFlow? Es sólo un nivel superior.
Parece que con Darch 30% en el entrenamiento y 36% en el test lo consigo. Terminaré el EA, lo pondré a trabajar y luego a lo mejor lo hago. Aunque Darch tiene poco soporte, han corregido y mejorado algunas cosas, pero en enero lo mandaron de CRAN al archivo por no arreglar errores (había uno con error de evaluación en modo entrenamiento con validación). En mayo sacaron la versión 13, pero luego volvieron a la 12. Ahora la versión 13 ha aparecido de nuevo - aparentemente ha sido terminada.
Para acelerar las cosas, añada a los parámetros al llamar a BayesianOptimisation
maxit = 1 #1 en lugar de 100 - número de repeticiones para GP_fit para la predicción del hiperplano No noté ninguna mejora en 100 repeticiones en comparación con 1, así que uso 1. Ie.
maxit=1 vía ... se pasará a GPfit:: GP_fit y la optimización se ejecutará 1 vez en lugar de 100. También puedes pasar: control = c(20*d, 10*d, 2*d);#default - control = c(200*d, 80*d, 2*d) - elige 80*d mejor de 200*d y construye 2*d clusters - donde d es el número de parámetros a optimizar
Sí, parece que funciona con Darch 30% en entrenamiento y 36% en test. Terminaré el EA, lo pondré a trabajar, y entonces quizás lo haga. Aunque Darch tiene poco soporte, han corregido y mejorado algunas cosas, pero en enero lo mandaron de CRAN al archivo por no corregir errores (había uno con la estimación de errores en modo entrenamiento con validación). En mayo sacaron la versión 13, pero luego volvieron a la 12. Ahora la versión 13 ha aparecido de nuevo - aparentemente la han terminado.
Gracias por la información. Probaré con tus parámetros.
Hace tiempo que no los visito en Github. Tendré que escribir una propuesta. El paquete darch proporciona el uso de GPU, pero quitaron el paquete que usan para esto de CRAN (para 3.4.4). Y sería interesante ver cómo afectaría la GPU a la velocidad y la calidad.
A través de ... no se puede pasar, puede simplemente cargar su función Utility_Max en R y utilizar la versión corregida.
Lo he comprobado en la optimización del conjunto de redes neuronales del artículo PartVI. Ni maxit ni control tiene un efecto visible en el tiempo de computación. La mayor influencia es el número de neuronas en la capa oculta. Lo dejé así
OPT_Res %$% History %>% dp$arrange(desc(Value)) %>% head(10) %>%
dp$select(-Round) -> best.init
best.init
numFeature r nh fact Value
1614080.7732714170.7733734130.7734783920.7675614230.7636844520.7627964770.76281173860.7609135610.76010642060.759
Valor - F1 promedio. No es un mal rendimiento.
Para acelerar los cálculos, tenemos que reescribir algunas funciones del paquete. Lo primero es sustituir todas las funciones ncol(), nrow(), que son muchas, por dim()[1], dim()[2]. Se ejecutan decenas de veces más rápido. Y probablemente, ya que sólo hay operaciones matriciales, usar la GPU (paquete gpuR). No voy a ser capaz de hacerlo yo mismo, ¿puedo sugerir al desarrollador?
Lo he comprobado en la optimización del conjunto de redes neuronales del documento PartVI. Ni maxit ni control tienen un tiempo de ejecución visible. La mayor influencia es el número de neuronas en la capa oculta. Lo dejé así
Mejor 10
Valor - F1 medio. No es una mala actuación.
Para acelerar los cálculos, tenemos que reescribir algunas funciones del paquete. Lo primero es sustituir todas las funciones ncol(), nrow() por dim()[1], dim()[2]. Se ejecutan decenas de veces más rápido. Y probablemente, ya que sólo hay operaciones matriciales, usar la GPU (paquete gpuR). No podré hacerlo yo mismo, ¿puedo sugerírselo al desarrollador?
Suerte
Sólo optimizar algunos parámetros, he optimizado 20 piezas, y cuando los puntos conocidos se convierten en 20-40 piezas, a continuación, el cálculo de sólo GPfit tomó decenas de minutos, en tales condiciones, verá la aceleración.
Y el número de neuronas afecta sólo el tiempo de cálculo de la propia NS.
Sólo optimizar algunos parámetros, he optimizado 20 piezas, y cuando los puntos conocidos se convierten en 20-40 piezas, a continuación, el cálculo de sólo GPfit tomó decenas de minutos, en tales condiciones se verá la aceleración.
Y el número de neuronas afecta sólo el tiempo de cálculo de la propia NS.
Estoy trabajando en los derivados de la MACD para móviles android y estoy necesitando ayuda para escribir un algoritmo preciso en el formulario de llenado de parámetros de propiedades . sería capaz de incluir cómo los ajustes de nivel se puede colocar y si puedo continuar las comunicaciones .
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Para el Bayesiano, hay que jugar no sólo con el número de pases, sino también con el número de puntos. Hay que buscar una opción más rápida. Esto es muy tedioso
Para acelerarlo, añade a los parámetros al llamar a BayesianOptimisation
maxit = 1 #1 en lugar de 100 - número de repeticiones para GP_fit para la predicción de hiperplanos
No noté ninguna mejora con 100 repeticiones en comparación con 1, así que ahora uso 1.
Ie.
maxit=1 vía ... se pasará a GPfit:: GP_fit y la optimización se ejecutará 1 vez en lugar de 100.
También puedes pasar:
control = c(20*d, 10*d, 2*d);#default - control = c(200*d, 80*d, 2*d) - de 200*d selecciona 80*d mejores y construye 2*d clusters - donde d es el número de parámetros a optimizar.
Descripción de estos parámetros aquí https://github.com/cran/GPfit/blob/master/R/GP_fit.R
PS. ¿No cambias a TensorFlow? Es sólo un nivel superior.
Aunque Darch tiene poco soporte, han corregido y mejorado algunas cosas, pero en enero lo mandaron de CRAN al archivo por no arreglar errores (había uno con error de evaluación en modo entrenamiento con validación). En mayo sacaron la versión 13, pero luego volvieron a la 12. Ahora la versión 13 ha aparecido de nuevo - aparentemente ha sido terminada.
Para acelerar las cosas, añada a los parámetros al llamar a BayesianOptimisation
maxit = 1 #1 en lugar de 100 - número de repeticiones para GP_fit para la predicción del hiperplano
maxit=1 vía ... se pasará a GPfit:: GP_fit y la optimización se ejecutará 1 vez en lugar de 100.No noté ninguna mejora en 100 repeticiones en comparación con 1, así que uso 1.
Ie.
También puedes pasar:
control = c(20*d, 10*d, 2*d);#default - control = c(200*d, 80*d, 2*d) - elige 80*d mejor de 200*d y construye 2*d clusters - donde d es el número de parámetros a optimizar
Sí, parece que funciona con Darch 30% en entrenamiento y 36% en test. Terminaré el EA, lo pondré a trabajar, y entonces quizás lo haga.
Aunque Darch tiene poco soporte, han corregido y mejorado algunas cosas, pero en enero lo mandaron de CRAN al archivo por no corregir errores (había uno con la estimación de errores en modo entrenamiento con validación). En mayo sacaron la versión 13, pero luego volvieron a la 12. Ahora la versión 13 ha aparecido de nuevo - aparentemente la han terminado.
Gracias por la información. Probaré con tus parámetros.
Hace tiempo que no los visito en Github. Tendré que escribir una propuesta. El paquete darch proporciona el uso de GPU, pero quitaron el paquete que usan para esto de CRAN (para 3.4.4). Y sería interesante ver cómo afectaría la GPU a la velocidad y la calidad.
Suerte
Hay otro freno aquí
https://github.com/yanyachen/rBayesianOptimization/blob/master/R/Utility_Max.R
También puse maxit = 1 en lugar de 100.
A través de ... no se puede pasar, puede simplemente cargar su función Utility_Max en R y utilizar la versión corregida.
Otro retrasado aquí
https://github.com/yanyachen/rBayesianOptimization/blob/master/R/Utility_Max.R
También puse maxit = 1 en lugar de 100.
A través de ... no se puede pasar, puede simplemente cargar su función Utility_Max en R y utilizar la versión corregida.
Lo he comprobado en la optimización del conjunto de redes neuronales del artículo PartVI. Ni maxit ni control tiene un efecto visible en el tiempo de computación. La mayor influencia es el número de neuronas en la capa oculta. Lo dejé así
OPT_Res <- BayesianOptimization(fitnes, bounds = bonds, init_grid_dt = NULL, init_points = 20, n_iter = 20, acq = "ucb", kappa = 2.576, eps = 0.0, verbose = TRUE, maxit = 100, control = c(100, 50, 8)) elapsed = 14.42 Round = 1 numFeature = 9.0000 r = 7.0000 nh = 36.0000 fact = 9.0000 Value = 0.7530 elapsed = 42.94 Round = 2 numFeature = 4.0000 r = 8.0000 nh = 46.0000 fact = 6.0000 Value = 0.7450 elapsed = 9.50 Round = 3 numFeature = 11.0000 r = 5.0000 nh = 19.0000 fact = 5.0000 Value = 0.7580 elapsed = 14.17 Round = 4 numFeature = 10.0000 r = 4.0000 nh = 35.0000 fact = 4.0000 Value = 0.7480 elapsed = 12.36 Round = 5 numFeature = 8.0000 r = 4.0000 nh = 23.0000 fact = 6.0000 Value = 0.7450 elapsed = 25.61 Round = 6 numFeature = 12.0000 r = 8.0000 nh = 44.0000 fact = 7.0000 Value = 0.7490 elapsed = 8.03 Round = 7 numFeature = 12.0000 r = 9.0000 nh = 9.0000 fact = 2.0000 Value = 0.7470 elapsed = 14.24 Round = 8 numFeature = 8.0000 r = 4.0000 nh = 45.0000 fact = 2.0000 Value = 0.7620 elapsed = 9.05 Round = 9 numFeature = 7.0000 r = 8.0000 nh = 20.0000 fact = 10.0000 Value = 0.7390 elapsed = 17.53 Round = 10 numFeature = 12.0000 r = 9.0000 nh = 20.0000 fact = 6.0000 Value = 0.7410 elapsed = 4.77 Round = 11 numFeature = 9.0000 r = 2.0000 nh = 7.0000 fact = 2.0000 Value = 0.7570 elapsed = 8.87 Round = 12 numFeature = 6.0000 r = 1.0000 nh = 40.0000 fact = 8.0000 Value = 0.7730 elapsed = 14.16 Round = 13 numFeature = 8.0000 r = 6.0000 nh = 41.0000 fact = 10.0000 Value = 0.7390 elapsed = 21.61 Round = 14 numFeature = 9.0000 r = 6.0000 nh = 47.0000 fact = 7.0000 Value = 0.7620 elapsed = 5.14 Round = 15 numFeature = 13.0000 r = 3.0000 nh = 3.0000 fact = 5.0000 Value = 0.7260 elapsed = 5.66 Round = 16 numFeature = 6.0000 r = 9.0000 nh = 1.0000 fact = 9.0000 Value = 0.7090 elapsed = 7.26 Round = 17 numFeature = 9.0000 r = 2.0000 nh = 25.0000 fact = 1.0000 Value = 0.7550 elapsed = 32.09 Round = 18 numFeature = 11.0000 r = 7.0000 nh = 38.0000 fact = 6.0000 Value = 0.7600 elapsed = 17.18 Round = 19 numFeature = 5.0000 r = 3.0000 nh = 46.0000 fact = 6.0000 Value = 0.7500 elapsed = 11.08 Round = 20 numFeature = 6.0000 r = 4.0000 nh = 20.0000 fact = 6.0000 Value = 0.7590 elapsed = 4.47 Round = 21 numFeature = 6.0000 r = 2.0000 nh = 4.0000 fact = 2.0000 Value = 0.7390 elapsed = 5.27 Round = 22 numFeature = 6.0000 r = 2.0000 nh = 21.0000 fact = 10.0000 Value = 0.7520 elapsed = 7.96 Round = 23 numFeature = 7.0000 r = 1.0000 nh = 41.0000 fact = 7.0000 Value = 0.7730 elapsed = 12.31 Round = 24 numFeature = 7.0000 r = 3.0000 nh = 41.0000 fact = 3.0000 Value = 0.7730 elapsed = 7.64 Round = 25 numFeature = 8.0000 r = 4.0000 nh = 16.0000 fact = 7.0000 Value = 0.7420 elapsed = 6.24 Round = 26 numFeature = 13.0000 r = 5.0000 nh = 6.0000 fact = 1.0000 Value = 0.7600 elapsed = 8.41 Round = 27 numFeature = 11.0000 r = 8.0000 nh = 8.0000 fact = 7.0000 Value = 0.7420 elapsed = 8.48 Round = 28 numFeature = 6.0000 r = 7.0000 nh = 15.0000 fact = 2.0000 Value = 0.7580 elapsed = 10.11 Round = 29 numFeature = 12.0000 r = 6.0000 nh = 17.0000 fact = 4.0000 Value = 0.7310 elapsed = 6.03 Round = 30 numFeature = 8.0000 r = 3.0000 nh = 12.0000 fact = 1.0000 Value = 0.7540 elapsed = 8.58 Round = 31 numFeature = 13.0000 r = 5.0000 nh = 18.0000 fact = 2.0000 Value = 0.7300 elapsed = 6.78 Round = 32 numFeature = 13.0000 r = 2.0000 nh = 15.0000 fact = 8.0000 Value = 0.7320 elapsed = 9.54 Round = 33 numFeature = 10.0000 r = 3.0000 nh = 37.0000 fact = 9.0000 Value = 0.7420 elapsed = 8.19 Round = 34 numFeature = 6.0000 r = 1.0000 nh = 42.0000 fact = 3.0000 Value = 0.7630 elapsed = 12.34 Round = 35 numFeature = 7.0000 r = 2.0000 nh = 43.0000 fact = 8.0000 Value = 0.7570 elapsed = 20.47 Round = 36 numFeature = 7.0000 r = 8.0000 nh = 39.0000 fact = 2.0000 Value = 0.7670 elapsed = 11.51 Round = 37 numFeature = 5.0000 r = 9.0000 nh = 18.0000 fact = 3.0000 Value = 0.7540 elapsed = 32.71 Round = 38 numFeature = 7.0000 r = 7.0000 nh = 40.0000 fact = 6.0000 Value = 0.7540 elapsed = 28.33 Round = 39 numFeature = 7.0000 r = 9.0000 nh = 38.0000 fact = 5.0000 Value = 0.7550 elapsed = 22.87 Round = 40 numFeature = 12.0000 r = 6.0000 nh = 48.0000 fact = 3.0000 Value = 0.7580 Best Parameters Found: Round = 12 numFeature = 6.0000 r = 1.0000 nh = 40.0000 fact = 8.0000 Value = 0.7730 maxit = 100, control = c(100, 50, 8))Mejor 10
Valor - F1 promedio. No es un mal rendimiento.
Para acelerar los cálculos, tenemos que reescribir algunas funciones del paquete. Lo primero es sustituir todas las funciones ncol(), nrow(), que son muchas, por dim()[1], dim()[2]. Se ejecutan decenas de veces más rápido. Y probablemente, ya que sólo hay operaciones matriciales, usar la GPU (paquete gpuR). No voy a ser capaz de hacerlo yo mismo, ¿puedo sugerir al desarrollador?
Suerte
Lo he comprobado en la optimización del conjunto de redes neuronales del documento PartVI. Ni maxit ni control tienen un tiempo de ejecución visible. La mayor influencia es el número de neuronas en la capa oculta. Lo dejé así
Mejor 10
Valor - F1 medio. No es una mala actuación.
Para acelerar los cálculos, tenemos que reescribir algunas funciones del paquete. Lo primero es sustituir todas las funciones ncol(), nrow() por dim()[1], dim()[2]. Se ejecutan decenas de veces más rápido. Y probablemente, ya que sólo hay operaciones matriciales, usar la GPU (paquete gpuR). No podré hacerlo yo mismo, ¿puedo sugerírselo al desarrollador?
Suerte
Sólo optimizar algunos parámetros, he optimizado 20 piezas, y cuando los puntos conocidos se convierten en 20-40 piezas, a continuación, el cálculo de sólo GPfit tomó decenas de minutos, en tales condiciones, verá la aceleración.
Y el número de neuronas afecta sólo el tiempo de cálculo de la propia NS.
Sólo optimizar algunos parámetros, he optimizado 20 piezas, y cuando los puntos conocidos se convierten en 20-40 piezas, a continuación, el cálculo de sólo GPfit tomó decenas de minutos, en tales condiciones se verá la aceleración.
Y el número de neuronas afecta sólo el tiempo de cálculo de la propia NS.
Supongo que sí.
Nuevo artículo Deep Neural Networks (Part V). Bayesian optimization of DNN hyperparameters ha sido publicado:
Autor: Vladimir Perervenko