Discusión sobre el artículo "Algoritmo de búsqueda orbital atómica - Atomic Orbital Search (AOS) Modificación"
Gracias por el artículo.
Me senté un rato ayer y hoy en la función Hilly y métodos alglib. Aquí están mis pensamientos.
Para encontrar el máximo de esta función, especialmente cuando el número de parámetros es de 10 y más, no tiene sentido aplicar métodos de gradiente, esta es la tarea de los métodos combinatorios de optimización. Los métodos de gradiente se atascan instantáneamente en el extremo local. Y no importa cuántas veces se reinicie desde un nuevo punto en el espacio de parámetros, la posibilidad de llegar a la región correcta del espacio desde la que el método de gradiente encuentra instantáneamente una solución tiende a cero a medida que aumenta el número de parámetros.
Por ejemplo, el punto del espacio a partir del cual lbfgs o CG para 2(dos) iteraciones encuentran el máximo para cualquier número de parámetros es {x = -1,2 , y = 0,5}.
Pero la posibilidad de entrar en esta región como he dicho es simplemente cero. Debe ser de cien años para generar números aleatorios.
Por lo tanto, es necesario combinar de alguna manera los algoritmos genéticos presentados en el artículo (para que pudieran hacer reconocimiento y reducir el espacio de búsqueda) con métodos de gradiente que encontraran rápidamente el extremo desde un punto más favorable.
Gracias por su comentario.
Para encontrar el máximo de una función dada, especialmente cuando el número de parámetros es 10 o más, no tiene sentido utilizar métodos de gradiente.
Sí, es cierto.
Esta es la tarea de los métodos combinatorios de optimización.
Los métodos combinatorios, como la clásica "hormiga", están diseñados para problemas como el "problema del viajante de comercio" y el "problema de la mochila", es decir, para problemas discretos con un paso fijo (borde del grafo). Para problemas multidimensionales "continuos", estos algoritmos no están diseñados en absoluto, por ejemplo, para tareas como el entrenamiento de redes neuronales. Sí, las propiedades combinatorias son muy útiles para los métodos heurísticos estocásticos, pero no son la única propiedad ni la suficiente para resolver con éxito problemas de prueba casi reales. Las propias estrategias de búsqueda en el algo también son importantes.
Las basadas en gradientes simplemente se atascan en un extremo local al instante. Y no importa cuántas veces se reinicie desde un nuevo punto del espacio de parámetros, la posibilidad de llegar a la región correcta del espacio desde la que el método de gradiente encuentra instantáneamente una solución tiende a cero a medida que aumenta el número de parámetros.
Sí, es cierto.
Pero la posibilidad de llegar a esta región, como ya he dicho, es simplemente cero. Se necesitarían unos cien años para generar números aleatorios.
Sí, es cierto. En espacios de baja dimensión (1-2) es muy fácil llegar a la vecindad del global, incluso pueden funcionar para ello generadores aleatorios sencillos. Pero todo cambia completamente cuando la dimensionalidad del problema crece, aquí las propiedades de búsqueda de los algoritmos empiezan a jugar un papel importante, no la Señora Suerte.
Así que necesitamos combinar de alguna manera los algoritmos genéticos presentados en el artículo (que harían exploración, reducirían el espacio de búsqueda) con métodos de gradiente, que entonces encontrarían rápidamente el extremo desde un punto más favorable.
"Genético" - probablemente quieres decir "heurístico". ¿Por qué "el pez necesita un paraguas" y "por qué necesitamos un herrero? No necesitamos un herrero". )))) Hay formas eficientes de resolver problemas complejos multidimensionales en espacio continuo, que se describen en artículos sobre métodos poblacionales. Y para los problemas clásicos de gradiente hay sus propias tareas - problemas unidimensionales analíticamente determinables (en esto no tienen igual, habrá convergencia rápida y exacta).
Y, pregunta, ¿cuáles son tus impresiones sobre la velocidad de la heurística?
SZY:
Oh, cuántos descubrimientos maravillosos
Prepara el espíritu de la iluminación
Y la experiencia, el hijo de los errores
Y el genio, el amigo de las paradojas,
Y el azar, inventor de Dios.
ZZZY. Un momento. En un espacio desconocido de búsqueda nunca es posible saber en ningún momento del tiempo o paso de iteración que se trata realmente de una dirección realmente prometedora hacia lo global. Por lo tanto, es imposible explorar primero y refinar después. Sólo pueden funcionar las estrategias de búsqueda global, que funcionan bien o mal. Cada uno elige por sí mismo el grado de "bondad" y "adecuación a la tarea", para ello se lleva una tabla de valoración para elegir un algoritmo en función de las particularidades de la tarea.
Sí, es cierto. En espacios de baja dimensionalidad (1-2) es muy fácil situarse en la vecindad de un global, los generadores aleatorios simples pueden incluso ser útiles para ello. Pero todo cambia completamente cuando la dimensionalidad del problema crece, aquí las propiedades de búsqueda de los algoritmos, y no la suerte, empiezan a jugar un papel importante.
Entonces fallan
Y, pregunta, ¿cuáles son sus impresiones sobre la velocidad de la heurística?
A pesar de que trabajan rápido. El resultado para 1000 parámetros algo alrededor de 0,4.
Es por eso que intuitivamente pensé que tiene sentido combinar GA y métodos de gradiente para llegar al máximo. De lo contrario, por separado no van a resolver su función. No lo he probado en la práctica.
P.D. Sigo pensando que esta función es demasiado gruesa, en tareas reales (entrenamiento de redes neuronales, por ejemplo) no hay tales problemas, aunque allí también la superficie de error está toda en mínimos locales.
1. No están haciendo un buen trabajo
2. aunque trabajan rápido. El resultado para 1000 parámetros es algo así como 0,4.
3. Por eso pensé intuitivamente que tiene sentido combinar los métodos GA y gradiente para llegar al máximo. De lo contrario, por separado no resolverán tu función. No lo he probado en la práctica.
4. P.D. Sigo pensando que esta función es demasiado gruesa, en tareas reales (entrenamiento de redes neuronales, por ejemplo) no hay tales problemas, aunque allí también la superficie de error está toda en mínimos locales.
1. ¿Qué quieres decir con "no dan abasto"? Hay un límite en el número de accesos a la función objetivo, el que mostró un mejor resultado es el que no puede hacer frente)). ¿Deberíamos aumentar el número de accesos permitidos? Bueno, entonces los más ágiles y adaptados a funciones complejas llegarán a la meta de todos modos. Intente aumentar el número de referencias, el panorama no cambiará.
2. Sí. Y algunos tienen 0,3, y otros 0,2, y otros 0,001. Mejores son los que mostraron 0,4.
3. No servirá de nada, intuitivamente se han probado y vuelto a probar cientos de combinaciones y variaciones. Mejor es el que muestra mejores resultados para un número dado de epochs (iteraciones). Aumenta el número de referencias al objetivo, a ver cuál llega antes a la meta.
4. Si hay líderes en las tareas difíciles, ¿crees que en las tareas fáciles los líderes mostrarán peores resultados que los outsiders? Este no es el caso, por decirlo suavemente. Estoy trabajando en una tarea más "sencilla" pero realista de formación de cuadrículas. Compartiré los resultados como siempre. Será interesante.
Simplemente experimenta, prueba diferentes algoritmos, diferentes tareas, no te estanques en una sola cosa. He intentado proporcionar todas las herramientas para ello.
1. ¿Qué quiere decir "fallar"? Hay un límite en el número de accesos a la función de destino, el que ha mostrado el mejor resultado es el que no da abasto)). ¿Deberíamos aumentar el número de accesos permitidos? Bueno, entonces los más ágiles y adaptados a funciones complejas llegarán a la meta de todos modos. Pruebe a aumentar el número de referencias, el panorama no cambiará.
2. Sí. Y algunos tienen 0,3, y otros 0,2, y otros 0,001. Mejores son los que mostraron 0,4.
3. No servirá de nada, intuitivamente se han probado y vuelto a probar cientos de combinaciones y variaciones. Mejor es el que muestra mejores resultados para un número dado de epochs (iteraciones). Aumente el número de referencias al objetivo, a ver cuál llega antes a la meta.
4. Si hay líderes en las tareas difíciles, ¿crees que en las tareas fáciles los líderes mostrarán peores resultados que los outsiders? Este no es el caso, por decirlo suavemente. Estoy trabajando en una tarea más "sencilla" pero realista de formación de cuadrículas. Compartiré los resultados como siempre. Será interesante.
Sólo experimenta, prueba diferentes algoritmos, diferentes tareas, no te fijes en una sola cosa. He intentado proporcionar todas las herramientas para ello.
Estoy experimentando,
Sobre la tarea realista es correcto probar algoritmos en tareas cercanas al combate.
Es doblemente interesante ver cómo se entrenarán las redes genéticas.

- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Algoritmo de búsqueda orbital atómica - Atomic Orbital Search (AOS) Modificación:
En la segunda parte del artículo, nos centraremos en modificar el algoritmo del AOS, ya que no podemos dejar pasar una idea tan sobresaliente sin intentar mejorarla. Luego analizaremos el concepto de mejora del algoritmo, centrándonos en operadores específicos que son intrínsecos al método y pueden mejorar su eficacia y adaptabilidad.
El trabajo sobre el algoritmo AOS me ha descubierto muchos aspectos interesantes relacionados con sus métodos de búsqueda en el espacio de soluciones. Durante mi investigación, también se me han ocurrido varias ideas sobre cómo se podría mejorar este interesante algoritmo. En particular, me he centrado en reelaborar los métodos existentes que pueden potenciar el rendimiento del algoritmo mejorando su capacidad para explorar espacios de soluciones complejos. Hoy estudiaremos cómo integrar estas mejoras en la estructura actual del algoritmo AOS para convertirlo en una herramienta aún más potente para resolver problemas de optimización. Así pues, nuestro objetivo no consistirá solo en analizar los mecanismos existentes, sino también proponer otros enfoques que puedan mejorar significativamente las capacidades del algoritmo AOS.
Autor: Andrey Dik