La idea se basa en la combinación de 2 sub-áreas de la inteligencia artificial que comúnmente son tratadas por separado e independientes: Algoritmos genéticos y Machine Learning, por lo cual se necesita un poco de conocimiento en estos temas o bien la curiosidad para explorarlos. No entraré a muchos detalles pero por favor si encuentras este articulo navegando por Internet, y ya lo has experimentado o conoces el resultado, o quieres aportar tus ideas , por favor deja un comentario.
Antecedentes
- Algoritmos genéticos: sabemos que los algoritmos genéticos se basan en (como su nombre indica) el comportamiento a través de generaciones de los organismos vivos, principalmente utilizando postulados de Darwin acerca de como las poblaciones evolucionan de generación en generación a través de la selección natural y la supervivencia de los individuos "mas aptos". En ciencias de la computación (y otras ciencias como "data science") , estos algoritmos son utilizados como método de BÚSQUEDA y OPTIMIZACIÓN(en el siguiente párrafo se vera por que escribo BUSQUEDA y OPTIMIZACION en mayúsculas) ,siendo muchas veces la búsqueda de combinaciones optimas entre un conjunto de opciones o bien la optimización de una función matemática.
- Machine learning: tema amplio, con muchas definiciones y con gran popularidad recientemente por lo cual no entrare a muchos detalles en su definición, la mayoría de algoritmos de ML se basan fuertemente en estadística , y otras ciencias como matemáticas(álgebra lineal y calculo),por ejemplo los llamados "modelos parametricos" se basan en una función de costo (mientras mas preciso el algoritmo, menor costo, y un costo alto significa algoritmo impreciso) , este costo es función de lo que estadisticamente son "parametros del modelo" , y matemáticamente definiríamos como "variables de la función", y nos apoyamos en un algoritmo de OPTIMIZACION para realizar una BUSQUEDA de los parámetros del modelo(o variables de la función) que minimizan el costo , este algoritmo de optimización siendo comúnmente un algoritmo basado en gradientes(derivadas parciales) para encontrar la dirección en la que mas rápido decrece el costo ,comúnmente "gradient-descent" o derivados.
Ya se puede ver por que escribí "OPTIMIZACION" y "BÚSQUEDA" en mayúsculas? Mi idea consiste en experimentar con algoritmos genéticos , como sustitutos de los algoritmos basados en gradientes , es decir, si podemos utilizar un algoritmo genético como método de optimización de una función matemática, por que no utilizarlo para minimizar la función de costo de un algoritmo de ML? Viéndolo desde la perspectiva de algoritmo genético como método de búsqueda de combinaciones optimas entre un conjunto de opciones, por que no utilizarlo para realizar la búsqueda de combinaciones optimas de los parámetros/variables en el algoritmo de ML ? Mi hipotesis es que un algoritmo genético podría ser una alternativa a los algoritmos basados en gradientes, y como en toda ciencia, la hipótesis esta sujeta a resultados experimentales los cuales no he podido realizar, alguien se anima a realizarlos?
(Si, si, se que los expertos en el tema, y en algoritmos dirán "Pero un algoritmo genetico es un "greedy algorithm" y como todo greedy algorithm es propenso a mínimos locales, por lo cual no funcionaría, pero los algoritmos basados en gradientes también sufren este problema y son el casi estándar en la materia, ademas que los investigadores/científicos han creado métodos para minimizar este riesgo, entonces por que no experimentar?)
Autor: Luis Leal
No hay comentarios:
Publicar un comentario