Herramientas en GNU/Linux para estudiantes universitarios: | ||
---|---|---|
Anterior | Capítulo 3. Tipos de Redes Neuronales | Siguiente |
En este tipo de redes el entrenamiento o aprendizaje es diferente al de las redes con entrenamiento supervisado. A la red no se le suministra junto a los patrones de entrenamiento, una salida deseada. Lo que hará la red es encontrar regularidades o clases en los datos de entrada, y modificar sus pesos para ser capaz de reconocer estas regularidades o clases.
Uno de los tipos de redes que pertenece a esta familia y que se ha usado bastante son los mapas autoorganizados, SOM (Self-Organizing Maps). La arquitectura típica de este tipo de mapas es la siguiente:
Como se puede apreciar es una red de tipo unidireccional. La red se organiza en dos capas, siendo la primera capa la formada por las neuronas de entrada. La segunda capa consiste en un array de neuronas de dos dimensiones. Como se necesitan dos índices para etiquetar cada neurona, los pesos sinapticos asociados a cada neurona tendran tres índices (i,j,k) donde (i,j) indican la posición de la neurona en la capa y k, la componente o conexión con cierta neurona de entrada.
En cuanto al entrenamiento, este es un ejemplo de red que utiliza un aprendizaje de tipo no supervisado. Además, cada neurona utiliza como regla de propagacion una distancia de su vector de pesos sinápticos al patrón de entrada. Otros conceptos importantes que intervienen en el proceso de aprendizaje son los conceptos de neurona ganadora y vecindad de la misma. Un algoritmo de aprendizaje muy usado con este tipo de redes es el algoritmo de Kohonen que se describe como sigue:
Inicializacion de los pesos wijk. Hay varias opciones posibles
Eleccion de un patrón de entre el conjunto de patrones de entrenamiento
Para cada neurona del mapa, calcular la distancia euclídea entre el patrón de entrada x y el vector de pesos sinápticos
Evaluar la neurona ganadora, es decir aquella cuya distancia es la menor de todas
Actualizar los pesos sinápticos de la neurona ganadora y de sus vecinas según la regla:
alfa(t) es un factor llamado ritmo de aprendizaje que da cuenta de la importancia que la diferencia entre el patrán y los pesos tiene en el ajuste de los mismos a lo largo del proceso de aprendizaje. Hay varias posibilidades para esta función, desde un constante hasta algún tipo de funcion monótona decreciente con el tiempo. h es una función de vecindad que nos indica en que medida se modifican los pesos de las neuronas vecinas. Con esto quiere decir que cuando la neurona ganadora modifica sus pesos, la vecindad de esta neurona lo hace también, en mayor o menor medida según sea la forma funcional de h. En general, las funciones empleadas para h tienen un máximo en |i-j|=0 y decrecen más o menos rapido a medida que esta distancia aumenta.Lo usual es fijar un numero de iteraciones antes de comenzar el aprendizaje. Si no se llegó al numero de iteraciones establecido previamente, se vuelve al paso 2. Sobre este número de iteraciones necesario, se suelen tomar criterios como el número de neuronas en el mapa.