Discusión sobre el artículo "Métodos de optimización de la biblioteca ALGLIB (Parte II)" - página 3
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
No parece haber nada complicado para lbfgs en ella.
No he probado adam y rmsprop todavía, que se consideran más avanzados. Pero ya que este lo hace, que sin duda puede hacerlo.
Megaciudad
No parece haber nada complicado para lbfgs en él.
No has proporcionado ni fuentes del banco de pruebas ni lbfgs, así que no hay nada de qué hablar. Nadie va a destripar python y sus modulos aqui. En este artículo (y ahora en los comentarios al artículo) se proporcionan todos los códigos fuente de MQL5 para reproducir los resultados.
No has proporcionado ni fuentes de bancos de pruebas ni lbfgs, así que no hay nada de qué hablar. Nadie va a descubrir aquí las entrañas de python y sus módulos. Todos los códigos fuente MQL5 se proporcionan en este artículo (y ahora en los comentarios al artículo) para reproducir los resultados.
https://colab.research.google.com/drive/1bF0rFG94phR-au51wpAhi_0WLUUfgNIy?usp=sharing
pulsa el botón "play" varias veces
No soy yo quien escribe los artículos, así que no voy a crackear nada a propósito. Se utilizan librerías reconocidas y fiables, en particular SciPy.
Adam en Megacity se ha instalado en el último piso.
Añadido el código al bloc de notas. Voy a añadir algunos más solucionadores de gradiente más tarde, si se desea.
aquí es un fresco (el artículo lo tiene en el archivo) núcleo de clase de función de prueba:
Simplemente lanza un array multidimensional (quiero decir - en una dimensión del array hay muchas celdas, espacio multidimensional) de cualquier dimensionalidad en args, el método dispersará los argumentos del array a funciones bidimensionales. Está claro que si lanzas un array con dimensionalidad impar, una celda será descartada y no participará en los cálculos. Es decir, se trata de una función de prueba multidimensional con un número par de dimensiones.
Más adelante la lanzaré en base a unidimensionales, será más práctica y se podrán construir gráficos de forma más clara.
El código comentado es la posibilidad de rotar la función en algún ángulo. Esto es un rompe cabezas para muchos AOs. Todavía no se utiliza en ninguna parte.
No hay ganas de pensar en ello durante mucho tiempo. Se necesita alguna función como la del artículo para reproducir los resultados.
No veo ningún problema en absoluto. Sólo aumentará la complejidad computacional del problema.Los límites se toman incorrectamente en Megacity. Un Megacity correcto debería tener este aspecto, la imagen está construida en MQL5 (en el que se prueban los algoritmos de la tabla):
Además, los resultados en una función de dos dimensiones no son un indicador. Además, es necesario contar los promedios (incluso si se utiliza la simulación de la población, es necesario mirar el valor medio entre todas las poblaciones - pruebas separadas). El número de ejecuciones de FF tampoco está limitado en tus pruebas.
Mira el código de arriba, hay un esquema correcto de pruebas de métodos de gradiente allí.
Los límites se toman incorrectamente en Megacity. Un Megacity correcto debería tener este aspecto, la imagen está construida en MQL5 (en el que se prueban los algoritmos de la tabla):
Además, los resultados en una función de dos dimensiones no son un indicador. Además, es necesario contar los promedios (incluso si se utiliza la simulación de la población, es necesario mirar el valor medio entre todas las poblaciones - pruebas separadas). El número de ejecuciones de FF tampoco está limitado en tus pruebas.
Mira el código de arriba, hay un esquema correcto de pruebas de métodos de gradiente allí.
En los artículos se dibuja la gráfica de exactamente la función que he optimizado. No veo el sentido de cambiar de una cosa a otra. Esta parece aún más fácil. ¿Cómo es que se habla de una f-iie de 1000 dimensiones, pero siempre es una tridimensional la que se optimiza?
Esta
no corresponde a esto de ninguna manera:
Sobre la "f-i de 1000 dimensiones", véase el post anterior en esta discusión.
Dado que una función 2D se duplica repetidamente, se puede trazar el resultado 3D de una función 2D (el espacio de 1000 dimensiones no se puede visualizar) y trazar puntos del espacio multidimensional en el espacio 3D correspondiente.
Este:
No coincide con esto de ninguna manera:
Sobre la "f-i de 1000 dimensiones", ver el post anterior en esta discusión.
Dado que una función 2D se duplica repetidamente, puedes trazar el resultado 3D de una función 2D (el espacio de 1000 dimensiones no se puede visualizar) y trazar puntos del espacio multidimensional en el espacio 3D correspondiente.
He mirado las funciones de prueba aquí. Por imágenes coinciden.
Todavía no he entendido el truco con las multidimensionales, tengo que averiguarlo.