martes, 17 de diciembre de 2013

Algoritmo evolutivo multiobjetivo


Segun Miettinen, en el libro escrito el año 1998 mencionado anteriormente, a finales del siglo veinte, existían más de treinta técnicas de programación matemática para resolver problemas de optimización multiobjetivo. Con todo, la complejidad de muchos problemas de optimización multiobjetivo del mundo real vuelve a estas técnicas inadecuadas o incluso inaplicables para resolverlos. La complejidad de estos problemas se debe, entre otras cosas: A la multimodalidad, a la alta dimensionalidad del espacio de búsqueda, a la discontinuidad de sus funciones objetivo, a desconexiones tanto en el espacio de las variables de decisión como en el de las funciones objetivo, o a que son NP-completos. Algunos investigadores, entre los que destacan Fogel, con el libro escrito el año 1999 titulado “Inteligencia artificial a través de la evolución simulada: Cuarenta años de programación evolutiva”, además de Michalewicz y Fogel, con el libro escrito el año 2000 titulado “Como resolverlo: Heurísticas modernas”, han identificado algunas dificultades que tienen las técnicas clásicas para resolver problemas de optimización multiobjetivo. A continuación se listan algunas de ellas: (1) Los algoritmos necesitan ejecutar varias veces para encontrar varias soluciones del conjunto de óptimos de Pareto. (2) La mayoría de los algoritmos requieren información sobre el dominio del problema que se trata. (3) Algunos algoritmos son sensibles a la forma o continuidad del frente de Pareto. (4) En los problemas que involucran incertidumbre o eventos estocásticos, los métodos clásicos son inadecuados. (5) La dispersión de las soluciones del frente de Pareto depende de la eficiencia del optimizador monoobjetivo.

La complejidad de los problemas de optimización multiobjetivo del mundo real ha conducido a la búsqueda de enfoques alternativos para resolver este tipo de problemas. Uno de esos enfoques lo encabezan los algoritmos evolutivos. A finales de los años 1960, Rosenberg, en la tesis doctoral escrita el año 1967 titulada “Simulación de poblaciones genéticas con propiedades bioquímicas”, plantea utilizar un método genético de búsqueda para resolver problemas de optimización multiobjetivo. No obstante, no fue hasta el año 1984 cuando David Schaffer, en la tesis doctoral titulada “Optimización de objetivos múltiples con algoritmos genéticos de vectores evaluados”, propone la primera implementación de lo que actualmente se conoce como algoritmo evolutivo multiobjetivo. A partir de ese momento, varios investigadores, entre los que destacan Coello y Toscano, con el artículo escrito el año 2001 titulado “Optimización multiobjetivo utilizando un algoritmo micro genético”, además de Zitzler y Thiele, con el artículo escrito el año 1999 titulado “Algoritmos evolucionarios multiobjetivo: Un caso de estudio comparativo y el enfoque del frente de Pareto”, han desarrollado su propio algoritmo evolutivo multiobjetivo. La publicación de los resultados de estos algoritmos mostró la superioridad de los algoritmos evolutivos multiobjetivo sobre las técnicas clásicas de programación matemática. Los algoritmos evolutivos son naturalmente adecuados para resolver problemas de optimización multiobjetivo gracias a que trabajan de manera simultánea con un conjunto de soluciones potenciales, es decir, la población. Esta característica permite encontrar varias soluciones del conjunto óptimo de Pareto en una sola ejecución. Asimismo, son menos sensibles a la forma o continuidad del frente de Pareto. Zitzler y Thiele mencionan que las características fundamentales, de un algoritmo evolutivo multiobjetivo, son las siguientes: Mantener un conjunto de soluciones potenciales, el cual es sometido a un proceso de selección y es manejado por operadores genéticos, generalmente la recombinación y la mutación. Los algoritmos evolutivos y los algoritmos evolutivos multiobjetivo son estructuralmente similares. La diferencia fundamental es que un algoritmo evolutivo multiobjetivo calcula muchas funciones de aptitud.

lunes, 2 de diciembre de 2013

Aprendizaje supervisado

Según Basogain, en el libro digital escrito el año 2006 titulado “Redes neuronales artificiales y sus aplicaciones”, las redes neuronales artificiales están inspiradas en las redes neuronales biológicas del cerebro humano. Están constituidas por elementos que se comportan de forma similar a la neurona biológica en sus funciones más comunes. Estos elementos están organizados de una forma parecida a la que presenta el cerebro humano. Las redes neuronales artificiales al margen de “parecerse” al cerebro presentan una serie de características propias del cerebro. Por ejemplo las redes neuronales artificiales aprenden de la experiencia, generalizan de ejemplos previos a ejemplos nuevos y abstraen las características principales de una serie de datos. (1) Aprender. Adquirir el conocimiento de una cosa por medio del estudio, ejercicio o experiencia. Las redes neuronales artificiales pueden cambiar su comportamiento en función del entorno. Se les muestra un conjunto de entradas y ellas mismas se ajustan para producir unas salidas consistentes. (2) Generalizar. Extender o ampliar una cosa. Las redes neuronales artificiales generalizan automáticamente debido a su propia estructura y naturaleza. Estas redes pueden ofrecer, dentro de un margen, respuestas correctas a entradas que presentan pequeñas variaciones debido a los efectos de ruido o distorsión. (3) Abstraer. Aislar mentalmente o considerar por separado las cualidades de un objeto. Algunas redes neuronales artificiales son capaces de abstraer la esencia de un conjunto de entradas que aparentemente no presentan aspectos comunes o relativos.

En palabras de Chauvin y Rumelhart, en el libro escrito el año 1995 titulado “Backpropagation: Teoria, arquitectura y aplicaciones”, una vez diseñada la arquitectura de la red neuronal, compuesta por capas y número de neuronas por capa, además de las funciones que la regirán, se tiene que proceder a entrenar a la red para que “aprenda” el comportamiento que debe tener; es decir, para que aprenda a dar la respuesta adecuada a la configuración de estímulos o patrones de entrada que se le presenten. Una excepción a esta regla general la constituyen las redes de Hopfield, que no son entrenadas sino construidas, de modo que tengan ya inicialmente el comportamiento deseado. Por este motivo, se ha dicho que las redes de Hopfield simulan el comportamiento “instintivo” mientras que las demás redes simulan el comportamiento “aprendido”.

Según Gestal, en la tesis de doctorado escrita el año 2009 titulada “Computación evolutiva para el proceso de selección de variables en espacios de búsqueda multimodales”, con la técnica de aprendizaje supervisado el entrenamiento consiste en presentarle a la red repetitivamente patrones de estímulos de entrada pertenecientes a un juego de ensayo. El juego de ensayo está formado por parejas “patrón de estímulos - respuesta correcta” y debe de ser elegido cuidadosamente. Cada pareja se denomina hecho. En el juego de ensayo debe estar representada equilibradamente toda la información que la red necesite aprender. Al realizar el entrenamiento la respuesta que da la red a cada patrón se compara con la respuesta correcta ante dicho patrón y, en virtud de esa comparación, se reajustan los pesos sinápticos. El reajuste de los pesos sinápticos está orientado a que, ante el patrón de entrada, la red se acerque cada vez más a la respuesta correcta. Cuando ante un patrón de entrada la red de neuronas ya responde correctamente, se pasa al siguiente patrón del juego de ensayo y se procede de la misma manera. Cuando se termina con el último patrón del juego de ensayo, se tiene que volver a empezar con el primero, ya que los pesos se han seguido modificando. En casos sencillos, al cabo de unos pocos pasos de entrenamiento completos, con todos los elementos del juego de ensayo, los pesos sinápticos de todas las neuronas se estabilizan en torno a unos valores óptimos. Se dice entonces que el algoritmo de aprendizaje converge. Es decir, después de sucesivas presentaciones de todos los patrones estimulares del juego de ensayo, la red, responderá correctamente a todos ellos y se puede considerar entrenada y dar por terminada la fase de aprendizaje. El aprendizaje puede realizarse con tres técnicas diferentes: aprendizaje supervisado, aprendizaje no supervisado y aprendizaje parcialmente supervisado. Al interior de estas técnicas, el aprendizaje supervisado es la técnica de aprendizaje más sencilla, consiste en la presentación de los patrones de entrada y de las etiquetas de clase deseadas para cada patrón de entrada.