Una colección de los algoritmos de optimización más utilizados para la ciencia de datos y el aprendizaje automático
Este repositorio es creado y pertenece a: https://github.com/muradmustafayev-03
Guía contribuyente: https://github.com/muradmustafayev-03/optimation-algorithms/blob/main/contributing.md
Para informar cualquier problema: https://github.com/muradmustafayev-03/optimation-algorithms/issues
Para instalar el paquete como un uso de biblioteca:
Algoritmos de optimización de instalación de PIP
Luego para importar:
Importar optimización_algorithms
En este proyecto, trato de recopilar tantos algoritmos de optimización útil como sea posible y escribirlos de una manera simple y reutilizable. La idea es escribir todos estos algoritmos en Python, de una manera fundamental pero fácil de usar, siendo Numpy la única biblioteca externa utilizada. El proyecto se encuentra actualmente en las primeras etapas del desarrollo, pero uno ya puede intentar implementarlo en sus propios proyectos. Y seguro, siempre puede contribuir o hacer cualquier sugerencia. Se agradece cualquier comentario.
Para más información: https://en.wikipedia.org/wiki/mathematical_optimization
El algoritmo de optimización es un algoritmo, que se utiliza para encontrar valores de entrada de los mínimos globales , o con menos frecuencia, de los máximos globales de una función.
En este proyecto, todos los algoritmos buscan los mínimos globales de la función dada. Sin embargo, si desea encontrar los máximos globales de una función, puede pasar la negación de su función: -f (x) , en lugar de f (x) , con eso su mimima será el máximo de su función.
Los algoritmos de optimización se utilizan ampliamente en el aprendizaje automático , las matemáticas y una gama de otras ciencias aplicadas.
Hay múltiples tipos de algoritmos de optimización , por lo que aquí hay una breve descripción de los que se usan en el proyecto:
Los algoritmos comienzan desde un punto aleatorio o especificado, y paso a paso, mueva los mínimos más cercanos. A menudo requieren la derivada parcial o el gradiente de la función, que requiere que la función sea diferenciable. Estos algoritmos son simples y funcionan bien para las funciones similares a un tazón , aunque si hay MOR que un mínimo en función, puede almacenar un mínimo local , se cree que encontrar el global .
Estos algoritmos comienzan con un conjunto de soluciones aleatorias, luego eligieron competitivamente las mejores soluciones del conjunto y, según ellos, generan un nuevo conjunto de mejores soluciones, evolucionando así cada iteración. Estos algoritmos no se almacenan en mínimos locales , pero encuentran directamente el global , por lo que pueden usarse para funciones de muchos mínimos locales .
Las funciones de referencia se utilizan para probar algoritmos de optimización , sin embargo, pueden ser utilizados por ellos mismos. Hay múltiples funciones de referencia utilizadas en este proyecto, y se dividen en varios tipos dependiendo de su forma.
Para obtener más información y la definición matemática de las funciones, consulte: https://www.sfu.ca/~ssurjano/optimization.html