Algoritmo Levenberg-Marquardt (primera parte)

Algoritmo Levenberg-Marquardt (primera parte)

En la tesis de grado de Castro, publicada el año 2006 con el título “Fundamentos para la implementación de red neuronal perceptrón multicapa mediante software”, se menciona que las redes neuronales artificiales son una teoría que aún está en proceso de desarrollo; a pesar de que su verdadera potencialidad aún no se ha alcanzado, éstas han brindado una alternativa a la computación clásica, para aquellos problemas que resultan muy difíciles de resolver, por medio de algoritmos. Las redes neuronales son sistemas de procesamiento que simulan muchas de las habilidades del cerebro; éstas son capaces de aprender de la experiencia, de generalizar, de casos anteriores a nuevos casos, puede procesar, correctamente, datos incompletos o distorsionados y ser capaces de seguir funcionando, adecuadamente, a pesar de sufrir lesiones. Las redes neuronales no ejecutan una secuencia de operaciones, sino que responden en paralelo a las entradas que se les presenta. El cerebro consta de un gran número de elementos altamente interconectados llamados neuronas, cada neurona tiene aproximadamente diez mil conexiones con otras neuronas. A través de estas interconexiones una neurona recoge señales procedentes de otras neuronas, luego procesa estas señales y transmite otra señal hacia otras neuronas, de esta manera la información se transmite de unas neuronas a otras. El término neurona es usado para denominar a la célula nerviosa y todas sus prolongaciones; al contrario de otras células del organismo, éstas no se dividen ni se reproducen. El tamaño y forma de las neuronas es variable, pero todas tienen los mismos componentes; los principales componentes de una célula neuronal son: El soma o cuerpo de la célula, el axón y las dendritas; las conexiones entre neuronas son materializadas por medio de la sinapsis.

Gómez y sus colegas, en el artículo publicado el año 2010 con el título “Aprendizaje con redes neuronales artificiales”, mencionan que es con toda seguridad que la característica más importante de una red neuronal es el aprendizaje. Durante el aprendizaje o entrenamiento de la red y por aplicación de un conjunto de entradas, se van ajustando adecuada e internamente todos y cada uno de los pesos asociados a cada rama para obtener la salida deseada, o al menos una salida consistente, de forma que la red pueda responder por si sola a situaciones diferentes de las aprendidas. Para casos sencillos, los pesos pueden asignarse de forma manual, pero lo usual es utilizar algún algoritmo para llevar a cabo este proceso de entrenamiento. Este aprendizaje que tiene lugar en las redes neuronales es el factor que determina las ventajas, y también los inconvenientes, de estos sistemas. Si la red está bien ajustada, y gracias a la masiva operación en paralelo de cada nodo, será capaz de trabajar con información incompleta o difícil de predecir, teniendo un cierto grado de memoria asociativa que le permite generalizar su comportamiento ante una cierta entrada si esta entrada es razonablemente parecida a aquellas para las que ha sido entrenada.

En el documento de investigación de Matich, publicado el año 2001 con el título “Redes neuronales: Conceptos básicos y aplicaciones”, se menciona que el aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en respuesta a una información de entrada. Los cambios que se producen durante el mismo se reducen a la destrucción, modificación y creación de conexiones entre las neuronas. En los sistemas biológicos existe una continua destrucción y creación de conexiones entre las neuronas. En los modelos de redes neuronales artificiales, la creación de una nueva conexión implica que el peso de la misma pasa a tener un valor distinto de cero. De la misma manera, una conexión se destruye cuando su peso pasa a ser cero. Durante el proceso de aprendizaje, los pesos de las conexiones de la red sufren modificaciones, por lo tanto, se puede afirmar que este proceso ha terminado cuando los valores de los pesos permanecen estables. Existen dos métodos de aprendizaje importantes: (1) Aprendizaje supervisado. (2) Aprendizaje no supervisado. Otro criterio que se puede utilizar para diferenciar las reglas de aprendizaje se basa en considerar si la red puede aprender durante su funcionamiento habitual o si el aprendizaje supone la desconexión de la red, es decir, su inhabilitación hasta que el proceso termine. En el primer caso, se trataría de un aprendizaje en línea, mientras que el segundo es lo que se conoce como fuera de línea. Cuando el aprendizaje es off line, se distingue entre una fase de aprendizaje o entrenamiento y una fase de operación o funcionamiento, existiendo un conjunto de datos de entrenamiento y un conjunto de datos de test o prueba, que serán utilizados en la correspondiente fase. Además, los pesos de las conexiones permanecen fijos después que termina la etapa de entrenamiento de la red.

El algoritmo de Levenberg–Marquardt es un proceso iterativo de convergencia que a través de la técnica de los mínimos cuadrados ponderados permite encontrar los parámetros de las ecuaciones del flujo en medios porosos. El algoritmo se inicia con la linealización de las ecuaciones no lineales del flujo, luego asigna un factor de ponderación o peso para cada valor de campo u observación ingresadas al modelo, seguidamente se incluye el modelo la información previa de los parámetros a optimizarse para finalmente agregar al modelo el parámetro de Marquardt con lo cual se logra rotar el vector con pendiente negativa. Los pasos mencionados anteriormente conduce a que el proceso de iteración sea estable y la solución de la función objetivo tenga un valor optimo y único.

 

Guillermo Choque Aspiazu
www.eldiario.net
12 de Septiembre de 2016

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Translate »