112
Este libro debe ser devuel- to. a más tardar en la úl ti- ma fecha sellada. Su retención más allá de la fecha de vencimienlo . lo hace acreedor a los mul- tas que fija el reglamento . Fecha de devolución 1 f EB. ~- l .:,_ : ' t . ).' 1 5 1 "?.) 1- Fecha de entrega

1 f EB. ~- l

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 f EB. ~- l

Este libro debe ser devuel­to. a más tardar en la últi­ma fecha sellada. Su retención más allá de la fecha de vencimienlo. lo hace acreedor a los mul­tas que fija el reglamento .

Fecha de devolución

~ 1 f EB. ~- l .:,_:'

t . ).'

1 5 1 "?.) 1-

Fecha de entrega

Page 2: 1 f EB. ~- l

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

UNIVERSIDAD VIRTUAL

MAESTRÍA EN CIENCIAS DE LA COMPUTACIÓN

Especialidad en Inteligencia Artificial

de Álonterrey UNl\"F-RSIDAD VIRTlJAI.

ESTIMACIÓN DE PRECIPITACIÓN PLUVIAL A PARTIR DE

INFORMACIÓN DE SENSORES REMOTOS UTILIZANDO

REDES NEURONALES

TESIS QUE PRESENTA:

José Manuel Campoy Salguero

BAJO LA ASESORÍA DE:

Dr. Edgar Emmanuel Vallejo Clemente

JURADO:

Presidente: Dr. Neil Hernández Gress

Secretario: Dr. Jaime Garatuza Payán

Vocal: Dr. Edgar Emmanuel Vallejo Clemente

Diciembre de 2001

Page 3: 1 f EB. ~- l

TES-15

'~ .A 7 - .J. r 7

o{JC:

2001

Bi8L!OTECA

Page 4: 1 f EB. ~- l

© José Manuel Campoy Salguero 2001 Todos los derechos reservados

Page 5: 1 f EB. ~- l

ESTIMACIÓN DE PRECIPITACIÓN PLUVIAL A PARTIR DE INFORMACIÓN DE SENSORES REMOTOS UTILIZANDO REDES NEURONALES

Dr. Ed

Tesis presentada

por

JOSÉ MANUEL CAMPOY SALGUERO

ress, miembro del~ ~ / ,;b¿~~ ~~pz

Directora del Programa de Maestría en Ciencias de la Computación

Page 6: 1 f EB. ~- l

DEDICATORIA

Dedico este trabajo a mi esposa e hijos por su paciencia y comprensión;

agradezco que me hayan cedido parte del tiempo familiar para la realización de

mis estudios.

Page 7: 1 f EB. ~- l

AGRADECIMIENTOS

Agradezco al Instituto Tecnológico de Sonora, a su personal y en particular al Señor

Rector Dr. Osear Russo Vogel, por el soporte brindado en mis estudios de maestría.

Deseo agradecer al Dr. Jaime Garatuza Payán, por brindarme apoyo con sus

conocimientos en el área de percepción remota, así como su ayuda en la definición del

problema de investigación y desarrollo de este trabajo.

Un agradecimiento muy especial a mi asesor, Dr. Edgar Emmanuel Vallejo

Clemente, por sus valiosas sugerencias en el transcurso de esta investigación.

Por último deseo agradecer, a mis compañeros y colaboradores, lng. Adolfo

Espinoza Ruiz e lng. Hugo Osberto Romero por sus aportaciones a este trabajo.

Page 8: 1 f EB. ~- l

RESUMEN

En este trabajo de tesis se presenta la aplicación de las redes neuronales artificiales

a la estimación de la precipitación pluvial en los Valles del Yaqui y Mayo del Estado de

Sonora.

La región noroeste de México es una zona eminentemente agrícola y ganadera.

Estas actividades dependen en gran medida de las precipitaciones que se generan. En

los últimos años el reducido número de precipitaciones ha provocado que la Comisión

Nacional del Agua haya limitado a un ciclo los cultivos durante el año en el Valle del

Yaqui.

En consecuencia, resulta necesario desarrollar sistemas de información que

permitan estimar de manera confiable la cantidad de lluvia que precipita en el noroeste

de México, para poder planear y administrar los recursos hidráulicos.

Con el propósito de abordar el problema, se diseñaron dos modelos de redes

neuronales artificiales basados en el modelo de red de propagación de conteo: la red

de propagación de conteo modificada (RPCM) y la red de propagación de conteo con

interpolación lineal (RPClL).

La RPCM, genera un valor de salida en función de la cercanía del valor de entrada

con el nodo ganador de la capa de Kohonen.

La RPClL, aproxima una entrada a los dos nodos más cercanos de la capa de

Kohonen y en función de la distancia a cada uno de ellos, realiza una interpolación

lineal para generar un valor de salida.

Para la estimación, se utilizó la mayor resolución posible de las imágenes infrarrojas

del satélite GOES e información de estaciones terrenas. La frecuencia de los datos fue

de una hora.

Los dos modelos se validaron experimentalmente utilizando una función sombrero

mexicano y se desempeñaron muy bien.

Una vez que ambos modelos fueron validados con una función conocida, se

procedió a calibrarlos con la información de imágenes de satélite y datos de estaciones

terrenas para frecuencias de una hora. El desempeño de ambas redes con patrones de

validación, estuvo dentro del margen de resultados de trabajos como el realizado en la

6

Page 9: 1 f EB. ~- l

universidad de Arizona [Hsu et al, 1997a]. La RPCIL se desempeñó un poco mejor que

la RPCM (factores de correlación de 0.39 y 0.23 respectivamente).

La aportación de este trabajo consistió en utilizar la mayor resolución posible, tanto

espacial como temporal. Además, los dos modelos propuestos se calibraron con datos

de estaciones terrenas y con la escasa información disponible.

7

Page 10: 1 f EB. ~- l

ÍNDICE DE CONTENIDO

Página

AGRADECIMIENTOS ...................................................................................................... 5

RESUMEN ........................................................................................................................ 6

ÍNDICE DE TABLAS ....................................................................................................... 11

ÍNDICE DE ILUSTRACIONES O FIGURAS ................................................................... 12

Capítulo

1. ESTIMACIÓN DE PRECIPITACIÓN PLUVIAL A PARTIR DE IMÁGENES

DE SATÉLITE ........................................................................................................... 15

1.1 DEFINICIÓN DEL PROBLEMA. ......................................................................... 15

1.2 MOTIVACIÓN ..................................................................................................... 18

1.3 OBJETIVO .......................................................................................................... 19

1.4 TRABAJOS RELACIONADOS ............................................................................ 20

2. REDES NEURONALES ARTIFICIALES ................................................................... 23

2.1 INTRODUCCIÓN ................................................................................................ 23

2.2 RED MUL TICAPAS DE ALIMENTACIÓN HACIA DELANTE ............................. 25

2.2.1 OPERACIÓN DE LA RED ................................................................ 25

2.2.2 ALGORITMO DE ENTRENAMIENTO DE RETROPROPAGACIÓN

DEL ERROR .............................................................................................. 29

2.3 MAPA AUTO ORGANIZAD0 ............................................................................. 32

2.3.1 OPERACIÓN DE LA RED ................................................................ 33

2.3.2 ALGORITMO DE ENTRENAMIENTO DE APRENDIZAJE

COMPETITIV0 .......................................................................................... 34

2.4 RED DE PROPAGACIÓN DE CONTE0 ............................................................ 36

2.4.1 OPERACIÓN DE LA RED ................................................................ 37

2.4.2 ALGORITMO DE ENTRENAMIENTO DE PROPAGACIÓN DE

CONTE0 ................................................................................................... 38

2.5 CONSIDERACIONES SOBRE EL APRENDIZAJE DE LAS REDES

NEURONALES .................................................................................................... 38

2.6 DISCUSIÓN .................................................................................................. 39

3. MODELOS PROPUESTOS ..................................................................................... .43

8

Page 11: 1 f EB. ~- l

3.1 RED DE PROPAGACIÓN DE CONTEO MODIFICADA ..................................... .43

3.1.1 VALOR DE SALIDA EN FUNCIÓN DE LA DISTANCIA. ................. .43

3.1.2 ENTRENAMIENTO DE LA RED ..................................................... .46

3.2 RED DE PROPAGACIÓN DE CONTEO CON INTERPOLACIÓN

LINEAL ...................................................................................................................... 46

3.2.1 INTERPOLACIÓN LINEAL. ............................................................. .46

3.2.2 ENTRENAMIENTO DE LA RED ..................................................... .48

3.3VALIDACIÓN DE LOS MODELOS PROPUESTOS ........................................... .49

3.3.1 ENTRENAMIENTO DE LA PRIMERA CAPA. ................................. .49

3.3.2 VALIDACIÓN CON UNA FUNCIÓN DE MUESTRE0 ...................... 54

3.3.2.1 CASO 1: VALIDACIÓN DE LA RED CON VALOR DE

SALIDA EN FUNCIÓN DE LA DISTANCIA. ................................... 54

3.3.2.2 CASO 11: VALIDACIÓN DE LA RED CON SALIDA DE

INTERPOLACIÓN DE LINEAL. ...................................................... 59

3.4 DISCUSIÓN ......................................................................................................... 62

4. ESTIMACIÓN DE PRECIPITACIÓN PLUVIAL PARA FRECUENCIA

HORARIA .................................................................................................................. 65

4.1 DATOS DE ENTRADA Y SALIDA ....................................................................... 65

4.2 CALIBRACIÓN DE LOS MODELOS .................................................................... 67

4.3 SELECCIÓN DE LOS PARÁMETROS DE ENTRENAMIENT0 .......................... 69

4.3.1 DETERMINACIÓN DEL NÚMERO DE ITERACIONES REQUERIDAS

PARA REDUCIR LA VECINDAD DE LA CAPA DE KOHONEN PARA EL

MODELO DE RED CON SALIDA EN FUNCIÓN DE LA

DISTANCIA ................................................................................................ 70

4.3.2DETERMINACIÓN DEL NÚMERO DE ITERACIONES REQUERIDAS

PARA REDUCIR LA VECINDAD DE LA CAPA DE KOHONEN PARA EL

MODELO DE RED CON SALIDA DE INTERPOLACIÓN ......................... 70

4.4ESTIMACIÓN DE PRECIPITACIÓN PLUVIAL EN PERÍODOS DE UNA

HORA ........................................................................................................................ 72

4.4.1 CASO 1: RED CON VALOR DE SALIDA EN FUNCIÓN DE LA

DISTANCIA ............................................................................................... 72

9

Page 12: 1 f EB. ~- l

4.4.2 CASO 11: RED CON VALOR DE SALIDA DE INTERPOLACIÓ

LINEAL ....................................................................................... 78

4.5 DISCUSIÓN ......................................................................................................... 83

5. CONCLUSIONES ...................................................................................................... 86

5.1 CONCLUSIONES ................................................................................................ 86

5.2SUGERENCIAS PARA FUTUROS TRABAJOS .................................................. 88

ANEXOS

A. EXTRACCIÓN DE LA INFORMACIÓN DE LAS IMÁGENES

DE SATELITE ...................................................................................................... 90

B. DISEÑO DE CLASES .......................................................................................... 94

BIBLIOGRAFÍA ............................................................................................................. 109

10

Page 13: 1 f EB. ~- l

ÍNDICE DE TABLAS

Tabla Página

3.1 Resultados de la Red con salida en función de la distancia ..................................... 58

3.2 Resultados de la Red con salida de interpolación lineal .......................................... 62

4.1 Respuesta de la red con salida en función a la distancia al

conjunto de entrenamiento ....................................................................................... 73

4.2 Respuesta de la red con salida en función a la distancia utilizando

al conjunto de validación .......................................................................................... 74

4.3 Respuesta de la red con salida de interpolación lineal al conjunto de

entrenamiento .......................................................................................................... 79

4.4 Respuesta de la red con salida de interpolación lineal

utilizando el conjunto de validación ................................................................. ....... 79

11

Page 14: 1 f EB. ~- l

ÍNDICE DE ILUSTRACIONES O FIGURAS

Ilustración Página

1.1 Ubicación de las siete estaciones climatológicas ...................................................... 16

1.2 Imagen de todo México en la banda 2 ...................................................................... 17

1.3 Imagen del Noroeste de México en la banda 5 ........................................................ 17

2.1 Elementos de una neurona biológica ....................................................................... 24

2.2 Red de propagación hacia delante de tres capas .................................................... 25

2.3 Diagrama de una unidad .......................................................................................... 26

2.4 Función sigmoidal logística ....................................................................................... 27

2.5 Función tangente hiperbólica ................................................................................... 28

2.6 Mapa auto organizado .............................................................................................. 33

2.7 Función sombrero mexicano .................................................................................... 35

2.8 Función sombrero del cocinero ................................................................................ 35

2.9 Red de propagación de conteo ................................................................................ 36

2.1 O Generalización ........................................................................................................ 39

2.11 Tabla de búsqueda ................................................................................................ .41

3.1 Red de propagación de conteo con una salida ....................................................... .44

3.2 Red de propagación de conteo con interpolación lineal.. ........................................ .4 7

3.3 Salida de la red de interpolación ............................................................................. .48

3.4 Patrón de entrada para entrenamiento en dos dimensiones .................................... 50

3.5 Valores iniciales de los pesos de la capa Kohonen del mapa autoorganizado ........ 50

3.6 Valores de los pesos ( w1 , w2 ) después de 3000 iteraciones .................................... 51

3.7 Valores de los pesos ( w1, w2 ) después de 6000 iteraciones .................................... 51

3.8 Organización inicial en el caso de dos dimensiones ................................................ 52

3.9 Organización después de 2500 iteraciones .............................................................. 53

3.1 O Organización de los pesos después de 5000 ciclos ............................................... 53

3.11 Función sombrero mexicano ............................................................... -................... 55

3.12 Resultados al utilizar la red de 8x8 unidades ......................................................... 56

3.13 Resultados con una red de 15x15 unidades .......................................................... 56

3.14 Resultados con una red de 21x21 unidades .......................................................... 57

12

Page 15: 1 f EB. ~- l

3.15 Resultados con una red de 30x30 unidades .......................................................... 57

3.16 Resultados de la red con interpolación lineal con 8x8 unidades ............................ 60

3.17 Resultados de la red con interpolación lineal con 15x15 unidades ........................ 60

3.18 Resultados de la red con interpolación lineal con 21x21 unidades ........................ 61

3.19 Resultados de la red con interpolación lineal con 30x30 unidades ........................ 61

4.1 Datos de entrada del modelo ................................................................................... 66

4.2 Determinación del número de iteraciones para reducir la vecindad

en el modelo en función a la distancia ..................................................................... 71

4.3 Determinación del número de iteraciones para reducir la vecindad

en el modelo de salida de interpolación .................................................................. 72

4.4 Factor correlación en función del número de unidades por lado en

la capa de Kohonen de la red con salida en función a la distancia .......................... 74

4.5 Gráfica de Erms en función del número de unidades por lado de

la capa de Kohonen de la red en función a la distancia ........................................... 76

4.6 Estimación de la precipitación pluvial de la red con salida en función

a la distancia ............................................................................................................. 76

4. 7 Gráfica desde el evento de precipitación pluvial 277 al 377 caso l. ......................... 77

4.8 Factor correlación en función del número de unidades por lado

en la capa de Kohonen de la red con salida de interpolación lineal. ......... ............... 80

4.9 Gráfica de Erms en función del número de unidades por lado

de la capa de Kohonen para la red con salida de interpolación lineal. ..................... 81

4.1 O Estimación de la precipitación pluvial de la red con salida

de interpolación lineal. ............................................................................................ 82

4.11 Gráfica desde el evento de precipitación pluvial 277 al 377 caso 11. ...................... 83

A.1 Imagen infrarroja del noroeste de México ....... ......................................................... 91

A.2 Imagen con nubes en Sinaloa, Durango y en la parte sur de Baja California Sur. .. 92

A.3 Imagen de un huracán aproximándose a península de Baja California Sur ............ 93

B.1 La clase GROSS_Node .............................................................................. 94

B.2 Operación Run de la clase GROSS_Node ....................................... .. ............ 95

B.3 Operación Learn de la clase GROSS_Node ................................................... 95

B.4 La clase COUNTER_Network ...................................................................... 96

B.5 Constructores y destructor de la clase COUNTER_Network ............................... 97

13

Page 16: 1 f EB. ~- l

B.6 Operaciones Set_Output y Get_Output. ........................................................ 98

B.7 Operaciones Run_total, Learn_gross y Get_Output_Count. .............................. 98

B.8 Clase CONTMD_Link ................................................................................. 99

B.9 Constructor de la clase CONTMD_Link ................................................................... 99

B.1 O Clase KOH Nade ................................................................................................... 99

B.11 Constructores de la clase KOH Nade ................................................................. 100

B.12 Clase CONTMDI_Node ........................................................................................ 100

B.13 Constructor de la clase CONTMDI Nade ............................................................ 100

B.14 Operación Run de la clase CONTMDI_Node ....................................................... 101

B.15 Operación Learn de la clase CONTMDI_Node .................................................... 102

B.16 Clase CONTMDI Network ........................................................................ 102

B.17 Operación Create_Network .................................................................................. 103

B.18 Constructores de la clase CONTMDI_Network .................................................... 104

B.19 Operación Run_total. ........................................................................................... 105

B.20 Operaciones Learn_gross, Actual y Marca .......................................................... 106

B.21 Segmento de programa que utiliza la clase CONTMDI_Network ........................ 107

B.22 Diagrama de las clases para modelos propuestos .............................................. 108

14

Page 17: 1 f EB. ~- l

l. ESTIMACIÓN DE PRECIPITACIÓN PLUVIAL A PARTIR DE

IMÁGENESDESATtLITE

1.1 DEFINICIÓN DEL PROBLEMA

Este proyecto surgió en la Dirección de Investigación y Estudios de Postgrado del

Instituto Tecnológico de Sonora; específicamente, en el área de Recursos Hidráulicos, y

forma parte de un proyecto mayor que busca integrar un sistema de información

geográfica para el noroeste de México.

Actualmente, se cuenta con un Centro de Percepción Remota (CPR), el cual fue

desarrollado con personal del instituto y en colaboración con investigadores de la

Comunidad Económica Europea. Dicho centro pone a disposición de los interesados las

imágenes de los satélites de los proyectos GOES (Satélite ambiental de órbita

geoestacionaria), así como información de una red de estaciones terrenas distribuidas

en los valles del Yaqui y Mayo, las cuales pueden accederse desde la página oficial de

Internet del instituto (http://www.itson.mx).

Un sistema de información geográfica requiere interpretar la información de la que

se dispone, y por medio de modelos generar nuevos parámetros. Tal es el caso de la

precipitación, cuya distribución espacial y temporal precisa, se requiere para una

adecuada planeación de los recursos hidráulicos.

En el Centro de Percepción Remota (CPR) del Instituto Tecnológico de Sonora

(ITSON), se reciben y procesan datos meteorológicos provenientes de sus

15

Page 18: 1 f EB. ~- l

estaciones climatológicas, así como imágenes de los satélites meteorológicos de

operación geoestacionaria (GOES), con el propósito de estudiar y dar seguimiento a

fenómenos hidroclimatológicos.

Los datos climatológicos y las imágenes de satélite, recibidas y procesadas en el

CPR, se utilizan en proyectos de investigación que el ITSON desarrolla conjuntamente

con otras Instituciones, entre las que se encuentran: el Instituto de Hidrología del Reino

Unido, la Universidad Agrícola de Wageningen en Holanda y el Instituto de Medio

Ambiente y el Desarrollo Sustentable del Estado de Sonora en México.

En el Valle del Yaqui, Sonora, se cuenta con estaciones climatológicas

automatizadas localizadas en sitios estratégicos. En cada estación, se miden las

siguientes variables: temperatura del aire, humedad relativa, velocidad y dirección del

viento, precipitación, radiación solar, temperatura y flujo de calor del suelo, las cuales se

reportan como promedios cada hora. La ubicación de las estaciones se muestra en la

figura 1.1, éstas son: Ita, Ciano, ITSON 1, ITSON 2, Cemay, Sahuaral y Huatabampo.

Fig. 1.1 Ubicación de las siete estaciones climatológicas

Actualmente, se reciben imágenes del satélite GOES-1 O cada media hora, que

provienen de un área que comprende gran parte de México y el sur de Estados Unidos.

Estos satélites proporcionan cinco imágenes digitales en diferentes rangos de longitud

de onda. Una de éstas, se emplea para cubrir toda el área de México (banda

2). Esta imagen se encuentra en el rango de espectro infrarrojo (longitud de onda

16

Page 19: 1 f EB. ~- l

de 3800 a 4000 nm); cada pixel abarca un área de 16 km2 (4x4) y permite la

observación de nubes por la noche. La imagen se muestra en la figura 1.2 .

. ···~~ -~

INSTITUTO TECNOLOGICO DE SOHORR CENTRO DE PERCEPCION REttOTA 26/ 4/2000 3: O Gttl < UT>

..... ,, ···-···• . .

Fig.1.2 Imagen de todo México en la banda 2

.:.-.. ... · A'!:··· . ~-:

Las imágenes de las bandas 1, 3, 4 y 5 comprenden únicamente el Noroeste de

México y el sur de Estados Unidos. Un ejemplo de ellas se ve en al figura 1.3.

Las imágenes de la Banda 1 se encuentran en el espectro visible y las restantes en

el infrarrojo, sólo que a diferentes longitudes de onda.

Como resultado del procesamiento de las imágenes; se cuenta con productos tales

como un mapa de temperaturas del Noroeste de México y Sur de Estados Unidos, así

como la estimación de nubosidad y radiación solar.

Fig.1.3 Imagen del Noroeste de México en la banda 5

17

Page 20: 1 f EB. ~- l

Si bien es cierto que se dispone de información de precipitación de siete estaciones,

también lo es que, sólo dos de ellas captan datos cada hora, las otras miden el

acumulado por día; de tal manera, que los puntos de medición son insuficientes para

estimar la precipitación promedio por hora de los Valles del Yaqui y Mayo. Esto se debe

a que la distribución de la lluvia puede ser muy variable y puede no ser detectada entre

dos estaciones; sobre todo, en el período de verano. Debido a lo anterior, se requiere

de una red de estaciones terrenas más densamente distribuidas en todo el estado, lo

cual resultaría muy costoso.

Una alternativa para estimar la precipitación pluvial, ha sido la utilización de

imágenes satelitales tanto en el espectro visible como en el infrarrojo, utilizando

técnicas como la del índice de precipitación GOES [Arkin; Meisner, 1987], la cual asume

que si la parte superior de una nube está a una temperatura menor de 235 ºK entonces

debe de estar precipitando. Otros métodos consideran la duración de la nube, además

de la temperatura [Griffith et al, 1978].

Más recientemente, se han propuesto técnicas que se basan en modelos de redes

neuronales. Tal es el caso del sistema PERSIANN, desarrollado en la Universidad de

Arizona [Hsu et al, 1997b], el cual utiliza un modelo híbrido de redes neuronales (una

capa utiliza aprendizaje no supervisado y la otra utiliza aprendizaje supervisado) y

muestra un desempeño superior al del índice de precipitación GOES.

Independientemente de la técnica utilizada, la mayoría de éstas se basan en la

suposición de que una nube que tiene una temperatura por debajo de cierto valor en su

parte superior, es indicativo de precipitación.

Por otro lado, muchos de los sistemas descansan en mediciones de radares para

calibrar los modelos, o al menos en redes de estaciones meteorológicas densamente

distribuidas. Este no es el caso de la región al noroeste de México, donde no se

dispone de una red de estaciones meteorológicas en dimensiones apropiadas, ni de

radares meteorológicos, lo que dificulta el proceso de aprendizaje.

1.2 MOTIVACIÓN

Desde de su aparición, las redes neuronales artificiales provocaron un

18

Page 21: 1 f EB. ~- l

gran entusiasmo en la comunidad científica, el cual fue sofocado por el ensayo clásico

sobre las limitaciones del aprendizaje del perceptrón [Minsky; Papert, 1988]. No fue

hasta que se desarrolló el algoritmo de retropropagación del error [Rummelhart;

McCleland, 1986], que el interés en el área resurgió.

A la fecha, las redes neuronales han sido utilizadas para resolver una gran cantidad

de problemas en muy diversas áreas como el control de mecanismos, reconocimiento

de voz, reconocimiento de caracteres, predicción de clima, aproximación de funciones

entre otros, e incluso para estimar la precipitación pluvial, el cual es el tema de este

trabajo de tesis.

Si bien es cierto que las redes neuronales artificiales son muy versátiles, la

estimación de la precipitación pluvial a partir de información de sensores remotos no es

un problema sencillo, ya que es necesario establecer el modelo adecuado, preprocesar

los datos, además de que se cuenta con pocas estaciones terrenas para entrenar a la

red.

1.30BJETIVO

En este trabajo, se pretende utilizar el máximo nivel de resolución de la imagen

infrarroja del satélite GOES (lo que no se ha realizado en otros trabajos previos), para

estimar la precipitación pluvial en períodos de una hora.

La estimación se realizará con dos modelos de redes neuronales; la evaluación de

desempeño de éstos considerará factores de correlación y de error, utilizando para ello

información de estaciones terrenas, ubicadas en dos lugares distintos, pero durante el

mismo período.

Como hipótesis central de este trabajo se tiene que si los modelos a evaluar son

desarrollados utilizando una arquitectura del tipo híbrido, se podrá lograr una reducción

del tiempo de entrenamiento. Además se podrá utilizar la información sin tener que

filtrarla, cosa que no sucede en las investigaciones desarrolladas sobre el tema, a fin de

evitar información irrelevante y así reducir el tiempo de entrenamiento [Hsu et al,

1997a].

Se espera que el modelo pueda ser

precipitación pluvial, considerando que en las

calibrado utilizando pocos eventos de

regiones de los Valles del Yaqui y

19

Page 22: 1 f EB. ~- l

Mayo la frecuencia de lluvia no es tan intensa, como sucede en regiones tropicales.

Con base en lo anterior, se concluye que el objetivo formal de esta investigación es

desarrollar un modelo de redes neuronales capaz de estimar la precipitación pluvial en

intervalos de una hora a partir de imágenes infrarrojas del satélite GOES.

Con un preprocesamiento limitado de la información y utilizando la información de

estaciones terrenas de los Valles del Yaqui y Mayo.

1.4 TRABAJOS RELACIONADOS

Un satélite meteorológico puede proveer tres tipos de imágenes: visibles, infrarrojas

y microondas. Dichas imágenes están relacionadas con el tipo de sensor utilizado; las

aplicaciones de cada una de ellas son distintas.

Por un lado las imágenes visibles dan información sobre la brillantez de las nubes, a

partir de la cual se puede determinar el tipo de éstas.

La limitante de dichas imágenes es el hecho de que requieren de la luz de sol; no

así las imágenes infrarrojas, de las cuales es posible obtener la temperatura de los

objetos sobre la tierra incluidas las nubes.

Las imágenes de microondas atraviesan las nubes y detectan campos de lluvia; el

problema con ellas es que los satélites que utilizan estos sensores son de órbita polar

(baja altura), los cuales son de baja frecuencia temporal lo que los hace poco útiles

para estimar lluvia [lbarra, 1994].

Considerando que por un lado, la imagen visible únicamente puede aprovecharse

durante el día y que la de microondas se obtiene de satélites polares. Además de que

por otro lado, sólo se dispone de imágenes del satélite GOES (visibles e infrarrojas), se

puede concluir que la imagen infrarroja es las más adecuada para estimar la

precipitación pluvial para las 24 horas del día.

A partir de la década de los sesenta se han desarrollado técnicas para estimar la

precipitación utilizando imágenes recolectadas por Satélites Ambientales de Operación

Geoestacionaria (GOES). Estas técnicas han tratado de correlacionar la temperatura de

brillantez en la parte superior de las nubes con la cantidad de lluvia [Hsu et al, 1997a].

Una de las técnicas, es la desarrollada por Arkin (1987), la cual asigna

arbitrariamente 3mm/hr a cada pixel de una imagen infrarroja que detecte una

•• r • -1 I , i , . 20

Page 23: 1 f EB. ~- l

temperatura inferior a 235 ºK.

El método de Arkin mostró buenos resultados para períodos mensuales y en áreas

de 2.5ºx 2.5º [Arkin; Meisner, 1987].

Otra técnica, la de Griffit-Woodley, utiliza, además de las imágenes de satélite, la

información de radares meteorológicos para calcular el área de cobertura de una nube

durante su vida y la relaciona con la temperatura de brillantez con el propósito de

estimar la cantidad de lluvia [Hsu et al, 1997a].

En años más recientes, se han utilizado redes neuronales para estimar la

precipitación pluvial [Hsu et al, 1998][Hsu et al, 1999). Un producto de estas

investigaciones es el sistema PERSIANN, desarrollado en la universidad de Arizona.

Dicho sistema, además de estimar la lluvia, realiza predicciones por hora utilizando un

modelo de red neuronal de propagación de conteo modificada, a partir de imágenes

satelitales en la banda infrarroja; la red neuronal es calibrada con información de una

red de radares meteorológicos (NEXRAD)[Hsu et al, 1997b].

Además de la estimación de lluvia, también se han utilizado las redes neuronales

para modelar el proceso de escurrimiento de lluvia en ríos [Hsu et al, 1995][Hsu et al,

1997c], para estimar evaporación de agua diaria [Han; Felker, 1997), y para simular

salinidad, temperatura y oxígeno disuelto en ríos [Conrads; Roehl, 1999].

El interés científico en la estimación de lluvia se debe al hecho de que el agua juega

un papel vital para la humanidad y nuestra principal fuente de abastecimiento sigue

siendo los ríos que desembocan en presas, las cuales dependen de la lluvia para

aumentar su volumen.

Por tal motivo, el fenómeno de la lluvia sigue siendo estudiado; por un lado, los

hidrólogos buscan conocer las propiedades, existencia, distribución y movimiento del

agua sobre y debajo de la superficie terrestre y por el otro lado, los meteorólogos

intentan determinar la probabilidad, magnitud y extensión de la lluvia [Kazmann, 197 4).

La región noroeste de México es una zona eminentemente agrícola y ganadera, con

una superficie de aproximadamente 1,300,000 hectáreas bajo riego donde se cultivan

granos, algodón y algunos cultivos hortícolas; para producir éstos, se requieren

volúmenes considerables de agua que son producto de las precipitaciones que se

generan a lo largo del año [!barra, 1994].

En la actualidad, las regiones de Guaymas y Hermosillo sufren

21

Page 24: 1 f EB. ~- l

escasez de agua, incluso para uso doméstico, por lo que han tenido que importar agua

de regiones cercanas.

Debido a esto, recientemente se aprobó por el Congreso del Estado de Sonora un

proyecto para desalinizar el agua de mar, de tal forma que pueda abastecerse a la

ciudad de Hermosillo.

En la región del Valle del Yaqui, la Comisión Nacional del Agua ha limitado a un ciclo

los cultivos durante el año por las mismas razones. Sin embargo, se ve que en Sinaloa

han ocurrido inundaciones: como sucedió a finales de 1991, en la que se perdió más de

la mitad de la superficie sembrada, con daños estimados de alrededor de 21 O millones

de dólares [lbarra, 1994]. En consecuencia, resulta necesario desarrollar sistemas de

información que permitan estimar de manera confiable la cantidad de lluvia que

precipita en el noroeste de México, para poder planear y administrar de manera

adecuada los recursos hidráulicos de la región.

Este documento está organizado como sigue:

El capítulo 1 describe el problema de la estimación de precipitación pluvial.

El capítulo 2 es una introducción al tema de las redes neuronales artificiales.

En el capítulo 3 se proponen dos modelos variantes de la red de propagación de

conteo y se validan con una función del tipo sombrero mexicano.

En el capítulo 4 se estima la precipitación pluvial con los dos modelos propuestos.

El último capítulo son las conclusiones de este proyecto, así como las

recomendaciones para futuros trabajos.

El anexo A, describe el preprocesamiento de la información de las imágenes de

satélite.

El anexo B, describe las clases desarrolladas así como la utilización de éstas.

22

Page 25: 1 f EB. ~- l

2. REDES NEURONALES ARTIFICIALES

2.1 INTRODUCCIÓN

El cerebro humano está formado primordialmente por tejidos, los cuales a su vez se

forman con células llamadas neuronas. El cerebro humano procesa información

compleja no lineal y lo hace en forma paralela, apoyado por las neuronas y las

conexiones existentes entre éstas.

La figura 2.1 muestra una neurona biológica [Stevens, 1979]. El cuerpo de la célula,

las dendritas (entradas), el axon (salida). El cuerpo de la célula o soma, contiene al

núcleo de la célula, que provee las funciones de soporte y estructura de ésta. Las

dendritas, son los elementos que reciben las señales de otras células. Al recibir una

señal de otra célula; la señal se transfiere al núcleo, que a su vez la transfiere por el

axon hacia otras células.

La recepción de las señales entre células, se realiza a través de las conexiones

llamadas sinapsis.

Con base a lo anterior, muchos científicos han tratado de desarrollar máquinas o

algoritmos que emulen la capacidad del cerebro, para procesar información; ejemplo de

ello son las redes neuronales artificiales.

¿ Qué es una red neuronal?, para responder a esta pregunta usaremos la definición

de Haykin, quién la define de la siguiente forma:

Una red neuronal es un procesador distribuido, masivamente paralelo, que tiene una propensión natural para almacenar conocimiento de experiencias y hacerlo accesible para su uso; ésta presenta dos similitudes con el cerebro:

23

Page 26: 1 f EB. ~- l

1. El conocimiento es adquirido en un proceso de aprendizaje. 2. Las fuerzas de conexión entre neuronas conocidas como pesos

sinápticos, son utilizadas para almacenar el conocimiento [Haykin, 1994].

sinapsis

cuerpo de la célula

axon

núcleo de la célula . ./

smaps1

---- dendritas

Fig. 2.1 Elementos de una neurona biológica

En sus inicios, las redes neuronales despertaron una gran euforia en la comunidad

científica, sobre todo por el desarrollo del perceptrón, la máquina de aprendizaje más

simple. Sin embargo, a finales de los años sesenta, con la publicación de Marvin L.

Minsky en la que mostraba las limitaciones del perceptrón para aproximar la función

XOR entre otros [Minsky; Papert, 1988].

Gran parte de la comunidad científica que investigaba en el tema de las redes

neuronales se desalentó y sólo algunos siguieron trabajando. Fue hasta 1985, que el

grupo de investigación de la POP (Procesamiento Distribuido Paralelo), entre los que se

encontraban David E. Rummelhart y James L. McClelland, publicaron sobre el

algoritmo de aprendizaje de repropagación del error [Rummelhart; McClelland, 1986].

Aunque otros antes ya habían publicado al respecto, es en esta publicación donde

criticaron fuertemente a Minsky y mostraron bajo qué condiciones es posible resolver

muchos de los problemas que con el perceptrón se consideraban imposibles de

resolver. A partir de entonces, la comunidad científica volvió a interesarse en el tema.

24

Page 27: 1 f EB. ~- l

2.2 RED MUL TICAPAS DE ALIMENCIÓN HACIA DELANTE

La red multicapas de alimentación hacia delante es una de las arquitecturas más

populares dentro del área de las redes neuronales, debido a su capacidad de

aproximar funciones y a su simplicidad.

2.2.1 OPERACIÓN DE LA RED

La figura 2.2 muestra una red neuronal de alimentación hacia delante. En la parte

inferior se muestra donde se aplican los patrones de entrada, los cuales pueden ser

valores continuos o bien, valores discretos.

La flecha indica el sentido en que fluye la información. Los círculos son llamados

unidades y a cada fila de éstos se le denomina como capa. A la primera de éstas se le

llama capa de entrada y a la última se le conoce como capa de salida.

Las capas intermedias son denominadas capas ocultas; la red de la figura 2.2 sólo

tiene una capa oculta, pero existe la posibilidad de tener más de éstas. Las conexiones

entre unidades tienen asociado un valor llamado peso.

Flujo de la informació

Salidas

Peso Unidad

Capa oculta

Fig. 2.2 Red de alimentación hacia delante de tres capas

25

Page 28: 1 f EB. ~- l

Unidad J

Flujo de la información

Fig. 2.3 Diagrama de una unidad

La figura 2.3 muestra el diagrama de una de las unidades de una red, como la que

se mostró en la figura 2.2.

La unidad J recibe un grupo de yk señales multiplicadas por un peso w k, }

posteriormente se suman y aplican a una función, como se describe en las ecuaciones

2.1 y 2.2, donde y 1

es la salida . El parámetro n indica el número de iteración y z1

la

salida obtenida al multiplicarse las entradas por el peso de las conexiones.

z 1

( n ) = ¿ k w ¡k ( n ) y k ( n ) ( 2.1 )

y1(n) = f(z/n)) ( 2.2 )

La función f(z1 (n))dentro de la expresión 2.2, es denominada función de activación,

es común utilizar una función del tipo sigmoidal, la cuál es continua y derivable.

Ejemplo de éstas son: la función sigmoidal logística y la tangente hiperbólica.

26

Page 29: 1 f EB. ~- l

La salida de la función de activación se comunica a las unidades de las siguientes

capas por medio de conexiones sinápticas. De la misma manera, las ecuaciones 2.1 y

2.2 describen el comportamiento de estas unidades.

La función sigmoidal logística se define en la ecuación 2.3 y es la más utilizada; en

la figura 2.4 se muestra la gráfica de dicha función, se observa que es asintótica en el

intervalo (0, 1 ), lo que evita que la salida de cada neurona sobrepase el valor de la

unidad o presente un valor de salida negativo. El trazo es suave, lo que permite que la

función sea derivable; es posible modificar la pendiente de la curva si agrega un

término constante que multiplique al término z.

1 f(z) =

1 _.

+ e .

El término z de la expresión 2.3, es el resultado de la expresión 2.1.

o 9

o • -o 7 -o 6 -o 5

o • o 3

o 2

o , o .5 _, .3 ·2 -1

/ /

/

Fig. 2.4 Función sigmoidal logística

( 2.3)

La función tangente hiperbólica permite tener valores de salida tanto positivos como

negativos. Además, posee las mismas propiedades que la función sigmoidal logística.

La ecuación 2.4 la define y la gráfica se muestra en la figura 2.5.

f(z) = 1-e:: 1 + e ·

( 2.4)

27

Page 30: 1 f EB. ~- l

Fig. 2.5 Función tangente hiperbólica

Las redes neuronales artificiales, adquieren el conocimiento en un proceso de

aprendizaje. Éste puede definirse así:

El aprendizaje es un proceso, por el cual los parámetros libres de una red neuronal artificial son adaptados, a través de un proceso continuo de simulación del ambiente en el que la red es inmersa. El tipo de aprendizaje es determinado por la forma en el que los parámetros cambian [Haykin, 1994].

Los parámetros libres de una red neuronal artificial, por lo general corresponden a

los pesos de la red.

El aprendizaje en su nivel fundamental, puede dividirse en tres categorías:

supervisado, reforzado o con reforzamiento y auto organizado (no supervisado). El

proceso a través del cual se realiza el aprendizaje se denomina entrenamiento.

El aprendizaje supervisado necesita de un conjunto de entrenamiento, que contiene

un conjunto de datos con entradas y salidas deseadas. Al aplicar una entrada, la red la

procesa y genera una salida, ésta es comparada con la salida deseada; si existe un

error, los pesos de la red se reajustan para reducirlo.

Al proceso de aplicar entradas a la red neuronal y observar la respuesta de ésta,

para posteriormente ajustar los pesos, se le denomina paso de entrenamiento.

El aprendizaje reforzado es similar al supervisado, sólo que en vez de utilizar una

salida correcta, para ajustar pesos en cada paso de entrenamiento; la red recibe una

calificación de un índice escalar llamado señal de reforzamiento, que le dice que tan

bien lo ha hecho sobre una secuencia múltiple de pasos de entrenamiento.

28

Page 31: 1 f EB. ~- l

El aprendizaje auto organizado, en respuesta a una entrada reajusta sus pesos y no

requiere de salida deseada.

Si una red neuronal artificial utiliza aprendizaje supervisado y no supervisado, se

dice que el del tipo híbrido.

2.2.2 ALGORITMO DE ENTRENAMIENTO DE RETROPROPAGACIÓN DEL ERROR

El aprendizaje en las redes alimentación hacia delante es del tipo supervisado. El

algoritmo lleva el nombre de retropropagación del error y lo desarrollaron Rumelhart y

McClelland (1986).

La señal de error en la salida de la neurona j ( considerando que se encuentra en al

capa de salida, ver figura 2.2) cuando se le aplica el n-ésimo patrón, se obtiene

utilizando la ecuación 2.5, el error e1

, siendo Y, la salida real y d1

la salida deseada.

e;Cn) = d/n)- y/n) ( 2.5)

El problema con la expresión 2.5, es el hecho de no se conoce la salida deseada

para la unidad J cuando ésta no está en la salida. De hecho, la idea del algoritmo es

calcular el error propagándolo desde la salida de la red hacia las capas ocultas. Una

vez obtenido dicho valor, se pueden ajustar los pesos de las conexiones, con el

propósito de reducir el error de la red.

De acuerdo a lo anterior, la idea de Rumelhart parte de reducir la suma de errores

cuadráticos en la capa de salida, como se describe en la expresión 2.6.

1, 2 E(n) = - L..e/n)

2 JEC

( 2.6)

Donde e es el conjunto que incluye a todos las unidades de la capa de salida; esto

se debe a que son las únicas unidades visibles ( cuyos valores de salida se conocen).

A partir de lo anterior se trata de minimizar la suma de errores cuadráticos E, en

función de los valores de los pesos w1k, tal como se calcula en 2.7 al utilizarse la regla

de la cadena.

29

Page 32: 1 f EB. ~- l

8E(n) 8E(n) 8e1(n) 8y¡(n) 8z;(n) = ( 2.7)

El primer término de la expresión se obtiene derivando la ecuación 2.6.

8E(n) = e (n) ae}(n) J

( 2.8)

El segundo término se deriva de la ecuación 2.5.

( 2.9)

El siguiente término se obtiene de la ecuación 2.2.

By;(n) = f'(z (n)) az ;(n) J

( 2.1 O )

El último término se deriva de la ecuación 2.1.

( 2.11 )

Por lo tanto la expresión 2.7 queda de la siguiente forma.

( 2.12 )

30

Page 33: 1 f EB. ~- l

Donde e¡(n) es el error en la unidad de salida J, f'(z¡{n))es la derivada de la

función de activación de dicha unidad e yk (n) es la salida de la unidad k de la capa

anterior, que a su vez es la entrada a la unidad J.

La corrección de los pesos se define por la llamada Regla Delta, mostrada en la

ecuación 2.13, donde r¡ es el parámetro llamado factor de aprendizaje y oE(n) es la ow,k (n)

derivada parcial del error cuadrático de salida de la red con respecto a un peso.

L'iw (n) = _ BE(n) ;k r¡ ow ;k ( n)

( 2.13 )

Al sustituir 2.12 en la ecuación anterior se tiene.

L'iw ;k (n) = r¡e 1 (n)f'(z

1 (n ))y k (n) ( 2.14)

A e/n)f'(z1(n)), se le conoce como el gradiente local y se describe así.

( 2.15 )

De las ecuaciones 2.14 y 2.15, se obtiene la expresión para el ajuste del peso w,k.

L'iw,k (n) = r¡81 (n)yk (n) ( 2.16 )

Cuando la unidad J es de la capa de salida, este valor se puede calcular ya que el

gradiente local se obtiene al multiplicar el error en la salida por la derivada de la función

de activación; que para el caso de la sigmoidal logística se define en 2.17. Otras

funciones, como la tangente hiperbólica, se pueden consultar en Hertz [Hertz et al,

1991).

31

Page 34: 1 f EB. ~- l

f'(z/n)) = y/n)(l- y/n)) ( 2.17 )

Ahora bien, si la unidad j se encuentra en una capa oculta, el gradiente de éstas se

obtiene al propagar los gradientes desde la salida hacia la entrada como se define en la

expresión 2.18.

( 2.18 )

Uno de los problemas de este tipo de redes consiste, en que pueden consumir

demasiado tiempo en su entrenamiento y una forma de acelerarlo es aumentar el valor

del factor de aprendizaje 7J; esto permite grandes ajustes en lo pesos, pero con la

posibilidad de provocar un proceso de ajuste inestable (grandes oscilaciones). Por tal

razón, se recomienda utilizar un factor 7J pequeño para suavizar el ajuste o bien

modificar la Regla Delta agregándole un término de impulso que aumente la velocidad

de convergencia y reduzca las oscilaciones a un mínimo; la expresión 2.19 se refiere a

la Regla Delta, donde a es el impulso (momentum) y ~w1k (n -1) es al ajuste del peso

en el paso de entrenamiento anterior.

( 2.19 )

A pesar de la mejora que produce agregar el término de impulso, la red puede

llegar a un mínimo local, o bien, tener problemas para aprender ciertos patrones.

Existen otras formas para disminuir esos efectos, los cuales pueden consultarse en

Haykin (1994).

2.3 MAPA AUTO ORGANIZADO

Teuvo Kohonen desarrolló el mapa auto organizado. En dicha red se considera muy

importante el orden espacial, como sucede con las funciones cerebrales. Esta red, a

diferencia de la de alimentación hacia delante, sólo tiene dos capas: una de entrada y

~, .,_

Page 35: 1 f EB. ~- l

la otra en la salida. Ésta última es llamada capa competitiva. El aprendizaje de la red es

no supervisado [Kohonen, 1997].

2.3.1 OPERACIÓN DE LA RED

En la figura 2.6, se muestra un mapa auto organizado. La capa de salida puede ser

de una o dos dimensiones; los unidades de la entrada se conectan con todos los

unidades de la segunda capa, las conexiones tienen valores de peso w/1 (n).

Cuando se aplica un patrón de entrada a la red, se realiza una comparación con

cada uno de los pesos que conectan a cada una de las unidades de la capa de salida.

Aquella unidad que presente la distancia euclidiana menor en esta comparación es la

que se activa. En otras palabras, se dice que el patrón pertenece a la clase asociada a

esa unidad.

Capa competitiva

C) C)

C) C)

~'~ C) C) \0-~-1 C)

\

C)

C) C)

C)

Fig. 2.6 Mapa auto organizado

Capa de Entrada

33

Page 36: 1 f EB. ~- l

2.3.2 ALGORITMO DE ENTRENAMIENTO DE APRENDIZAJE COMPETITIVO

Para iniciar el entrenamiento, es necesario asignar pesos w1

; (n) que conectan a las

unidades de entrada con las unidades de la segunda capa de manera aleatoria.

Posteriormente, se aplica un vector de entrada x = [x1 (n),x2 (n), .... ,x, (n), .... ,x"'Jn)] y

para cada unidad de salida J, se calcula la distancia euclidiana.

m

d/n) = ¿(x,(n)-w1,(n))2 j = 1, ........ ,m1 ( 2.20) 1=1

La unidad que obtiene la distancia menor es la ganadora y se le considera el centro

de la vecindad a partir de la cual se realizan los ajustes de los pesos de acuerdo a la

ecuación 2.21.

w1

, (n + 1) = w1

; (n) + a(n)(x, (n)- w1

, (n))h(n) i = l, ..... ,m0 ( 2.21 )

Donde a(n) es el factor de aprendizaje de la red, el cual es ajustado a medida que

transcurre el entrenamiento, como se define en la expresión 2.22; h(n) es una función

de vecindad, la cuál define que unidades serán ajustadas y cuáles permanecerán sin

cambio.

Dicha función va reduciendo su radio de acción a medida que se realizan más

iteraciones y se centra en la neurona ganadora en cada iteración. Las funciones

pueden ser del tipo sombrero mexicano o bien del cocinero, como se observa en las

figuras 2.7 y 2.8.

n a(n) = a 0 (1--)

T ( 2.22)

La expresión 2.22 define el ajuste del factor de aprendizaje a(n), donde a 0 es el

valor inicial del factor de aprendizaje, n es el número de iteración y T es el número

total de pasos de entrenamiento.

34

Page 37: 1 f EB. ~- l

1 O

0.8

0.6

0.4

0.2

O.O

-0.2

-30 -20 -10 O 10 20 30

Fig. 2.7 Función sombrero mexicano

1 O

08

0.6

0.4

0.2

00

-0.2

·30 -20 -10 O 10 20 JO

Fig. 2.8 Función sombrero del cocinero

La función de vecindad se define en la ecuación 2.23. Así como en la ecuación

anterior, T indica el número máximo de pasos de entrenamiento.

n h(n) = h0 (1--)

T ( 2.23)

Algunos autores recomiendan que la vecindad inicial h0 comprenda a la mitad del

número de las unidades de la capa competitiva por dimensión [Rogers, 1997].

35

Page 38: 1 f EB. ~- l

2.4 RED DE PROPAGACIÓN DE CONTEO

La red de propagación de conteo combina un mapa auto organizado y una capa

llamada de Grossberg. Debido a que el aprendizaje que dicha capa utiliza, fue

desarrollado por Stephen Grossberg [Hecht-Nielsen, 1991 ].

La figura 2.9 muestra una red de propagación de conteo. La capa de entrada utiliza

aprendizaje no supervisado y la de salida con aprendizaje reforzado, por lo que se

considera que utiliza aprendizaje híbrido.

, z,

Capa de

Grossberg

Capa de

Kohonen

Entradas

zm, Salidas

deseadas

Fig. 2.9 Red de propagación de conteo

La figura 2.9 muestra las salidas deseadas de la red. Dichas salidas se utilizan en

el proceso de aprendizaje, se observan las conexiones de los pesos entres las capas

36

Page 39: 1 f EB. ~- l

La red funciona como una tabla de búsqueda adaptable [Hecht-Nielsen, 1991]; ya

que se aplica una entrada a la red, una de las unidades de la capa de Kohonen será la

ganadora y dicha unidad generará un resultado en la capa de salida. Valores de

entrada similares darán el mismo resultado.

Si se compara con las redes multicapas de alimentación hacia delante, esta red

requiere menos tiempo de entrenamiento, por lo que es más adecuada en aquellos

casos donde se cuenta con una gran cantidad de patrones de entrenamiento.

2.4.1 OPERACIÓN DE LA RED

La red recibe un patrón de entrada x = [x¡(n),x 2 (n), .... ,x,(n), .... ,xm/n)], el cual se

encuentra normalizado en el intervalo [0, 1] y activa a una de las unidades de la capa de

Kohonen y = [y1 (n),y 2 (n), .... ,y/n), .... ,y"..(n) ]. La salida de la unidad ganadora es uno y

todas los demás son cero. Posteriormente, la unidad ganadora de dicha capa activa a

todas las unidades de salida conectadas a ésta.

Las unidades de salida se definen como z' = [z;(n),z;(n), .... ,z:(n), .... ,z:, (n)], l

donde el resultado de cada una de éstas será el valor del peso de la conexión que une

a la unidad ganadora de la capa intermedia.

Debido a que la primera capa de esta red es un mapa auto organizado, su

operación se define por medio de la ecuación 2.20; de tal forma que al aplicarle una

entrada, la unidad que tenga el valor de distancia mínimo será la unidad ganadora ], y

su salida será 1.0. Todas los demás serán O como se define en 2.24.

y¡(n)=l.0, si J=lc ( 2.24 )

y1 (n) = O, de otra forma

Ahora bien, la salida en la última capa se define con la ecuación 2.25.

z: (n) = ¿ vk, (n)y1 (n) = vk, (n), si j =], ( 2.25)

z: (n) =O, de otra manera

37

Page 40: 1 f EB. ~- l

Donde vk; es la conexión entre la unidad de salida k y la unidad ganadora de la

capa oculta J .

2.4.2 ALGORITMO DE ENTRENAMIENTO DE PROPAGACIÓN DE CONTEO

El entrenamiento de la capa de Kohonen fue explicado en el punto 2.3.2 por lo que

sólo se explicarán los aspectos del entrenamiento de la capa de Grossberg. Para esto,

se aplican patrones de entrada y una unidad de la capa de Kohonen resulta ganadora

(para cada uno de los patrones), la cual tendrá un valor unitario y todas las demás

valdrán cero. Posteriormente, se ajustan los pesos de las conexiones que unen a la

unidad con las unidades de salida de acuerdo a la ecuación 2.26 [Hecht-Nielsen, 1991].

( 2.26)

Donde a es el factor de aprendizaje, zk (n) es la salida deseada en la iteración n y

l\1 (n) es el valor de peso de la conexión que une a la unidad de salida k con la unidad

J de la capa Kohonen; y/n) es la salida de capa de Kohonen, si se trata de una

unidad ganadora su salida es igual a 1 de lo contrario es igual a O.

2.5 CONSIDERACIONES SOBRE EL APRENDIZAJE DE LA REDES NEURONALES

Un aspecto que hace que las redes sean interesantes es su capacidad para

generalizar. Dicho de otra manera, la red puede ser entrenada con un conjunto de

patrones e inducir resultados aceptables para datos con los que no fueron entrenadas.

Por ejemplo, como se muestra en la figura 2.1 O, sean dos conjuntos de patrones

disjuntos R y T que pertenecen al conjunto S; si se supone que la red es entrenada

con el conjunto de datos R ; al probar la red con el mismo conjunto de datos, se está

probando su capacidad de memorizar. En cambio, si la red una vez entrenada se

valida con el conjunto de datos T, lo que se está evaluando es la capacidad de la red

para generalizar [Hertz g. et. al., 1991].

38

Page 41: 1 f EB. ~- l

Resulta sumamente importante considerar que no necesariamente una red

neuronal que memoriza bien, deberá de generalizar de la misma manera. Por tal

motivo, se recomienda entrenar la red con un conjunto de datos y probar su capacidad

de generalizar con un conjunto distinto de éste.

u

s

Fig.2.1 O Generalización

2.6 DISCUSIÓN

Tanto la red de propagación de conteo como la red de alimentación hacia delante

multicapas, presentan ventajas y desventajas.

Una fortaleza de la red de alimentación hacia delante, es su capacidad de

aproximar funciones; esto es avalado por el teorema de Kolmogorov.

Dicho teorema establece que cualquier función continua, con valores de entrada en

el intervalo de [O, 1] y que mapea de un espacio n a un espacio m , puede ser

implementada con una red de alimentación hacia delante de tres capas. La capa de

entrada debe ser de n unidades, la capa intermedia de al menos 2n + 1 unidades y la

capa de salida de m unidades [Hecht-Nielsen, 1991].

El problema con el teorema de Kolmogorov es que es un teorema de existencia.

Desafortunadamente no establece como encontrar a la red para aproximar a la función;

39

Page 42: 1 f EB. ~- l

si bien es cierto que orienta sobre el tamaño de la red, no establece el tipo de funciones

de activación requeridas [Hecht-Nielsen, 1991].

Al tratar de encontrar una red que aproxime a una función, es común utilizar al

menos dos capas intermedias [Hertz et al, 1991 ], o un número de unidades superior a

2n + 1 en la capa intermedia.

Si se utiliza el algoritmo de retropropagación del error para el aprendizaje de la red

multicapas de alimentación hacia delante o la red propagación de conteo, se puede

presentar el problema de mínimos locales. Éstos pueden evitar que la red converja y no

permitir que la red aprenda. Ahora bien, existen algunas alternativas para evitarlo como

utilizar factores de aprendizaje adaptables entre otras [Haykin, 1994].

Una fortaleza de la red de propagación de conteo, es una de las debilidades de la

red de propagación hacia delante cuando se utiliza el algoritmo de retropropagación del

error; ya que la primera, es de 1 O a 100 veces más rápida que la segunda en su

proceso de aprendizaje para un problema dado y a menudo con resultados

comparables [Hertz et al, 1991].

Si bien es cierto que la red de propagación de conteo es más rápida que la red que

utiliza el algoritmo de retropropagación del error; el problema con esta red es que su

capacidad para aproximar funciones no es tan buena como la de la red multicapas de

alimentación hacia delante[Hecht-Nielsen, 1991].

Otra desventaja de la red de propagación de conteo, es el hecho de que no es

posible que generalice, ya que funciona como una tabla.

Se dice que la red de propagación de conteo funciona como una tabla de búsqueda

adaptable, como lo muestra la figura 2.11.

Si a la red se le aplica una entrada X , buscará al vector de pesos W, más

parecido, activando a la unidad ganadora de la capa de Kohonen, que su vez generará

la salida del vector V, asociado a la unidad ganadora. El problema de la red es que

debido a que funciona como una tabla, sólo genera respuestas V, ya definidas, si se

desea aumentar la precisión, se requiere aumentar el número de unidades [Hecht­

Nielsen, 1991].

40

Page 43: 1 f EB. ~- l

w1 vi w2 v2

X w, V, V,

WN VN

Fig. 2.11 Tabla de búsqueda.

Si se considera que para estimar precipitación, hay que extraer una gran cantidad

de datos de las imágenes satelitales y además generar datos, pensar calibrar un

modelo de alimentación hacia delante con una gran cantidad de datos, no es factible

por el tiempo requerido para su aprendizaje.

Por lo que al parecer, la red de propagación de conteo es mejor opción ya que

aprende más rapido que la red de alimentación hacia delante. Sin embargo, la red de

propagación de conteo no generaliza.

Es necesario que la red generalice, debido a que es imposible tener los conjuntos

de entrenamiento, que abarquen todos lo posibles eventos climatológicos relacionados

con la precipitación pluvial.

Lo anterior sugiere que se podría desarrollar una red basada en la red de

propagación de conteo, pero agregándole la capacidad para generalizar.

Si se parte de que la red de propagación de conteo funciona como una tabla, lo que

se puede hacer es modificar su operación; de tal forma, que al aplicar un valor de

entrada X, se tenga una medida de la proximidad con el vector W, y el resultado de V,,

se vea afectado por dicha medida.

41

Page 44: 1 f EB. ~- l

Otra idea que permitiría la generalización podría ser que en vez de obtener una

unidad ganadora en la capa de Kohonen, se podrían tener dos (las más cercanas) y

con una medida de proximidad a los valores de W de ambas, interpolar un resultado

entre los dos valores de V resultantes.

42

Page 45: 1 f EB. ~- l

3. MODELOS PROPUESTOS

3.1 RED DE PROPAGACIÓN DE CONTEO MODIFICADA

Como se explicó en el capítulo anterior, la red de propagación de conteo funciona

como una tabla de búsqueda. Al aplicar un patrón la unidad ganadora en la capa de

Kohonen se activa y excita a la unidad de la siguiente capa, la cual sólo tiene un valor

de salida. Debido a esto, la red sólo aproxima resultados al valor más cercano. Esto es,

que valores muy parecidos producen el mismo resultado.

La red de propagación de conteo tiene la ventaja de que en su entrenamiento no

consume mucho tiempo y puede manejar una gran cantidad de datos. Sin embargo, su

capacidad para aproximar funciones no es muy buena. Si se desea aumentar la

precisión se requiere aumentar el número de unidades, lo cual no es muy conveniente

debido a que consumirá más tiempo en su entrenamiento y en su operación.

Aunado a lo anterior la red no puede generalizar, ya que valores de entrada

similares generan el mismo resultado.

3.1.1 VALOR DE SALIDA EN FUNCIÓN DE LA DISTANCIA

Con el objetivo de lograr que la red de propagación de conteo mejore su capacidad

para aproximar funciones y para generalizar, la respuesta de la red se establece de la

siguiente forma:

1) Se calcula la distancia euclidiana del valor de entrada con la unidad ganadora

de la capa de Kohonen.

43

Page 46: 1 f EB. ~- l

2) Se calcula un valor complementario de la distancia euclidiana; de tal forma,

que a mayor cercanía del dato de entrada con el peso de la unidad ganadora,

el resultado sea mayor.

3) Se multiplica el valor complementario, por el valor de salida de la red que se

genera cuando funciona como una tabla (red de propagación de conteo sin

modificaciones).

A continuación se detallan los tres pasos descritos, para eso se muestra el

diagrama de una red propagación de conteo modificada en la figura 3.1, la red es de

una sola salida; se observa que la estructura de ésta no cambia, ya que la modificación

que se propone sólo afecta la operación de la red.

J 1

Fig. 3.1 Red propagación de conteo con una salida

El vector de entrada se define como x = [ x,, x2 , •••• , x mº] con valores normalizados en

el intervalo [O, 1 ]; la salida de la capa de Kohonen es y = [y,, y 2 , •••• , y m,] y la salida de la

capa de Grossberg (salida de la red) es z' = [z;,z;, .... ,z~J; el conjunto de pesos que

44

Page 47: 1 f EB. ~- l

conecta a la entrada con la capa de Kohonen es W = { w11 , w12 , •••• , w"'""''} y el conjunto de

pesos que conecta a la capa Grossberg con la de Kohonen es V= {v1" v12 , •••• , '1n,,m,}.

El primer paso para obtener la salida de la red, es calcular distancias para la

entrada, con respecto a cada nodo de la capa de Kohonen, utilizando la ecuación 3.1.

"'º d}= ¿(x,-w,,)2 donde j = 1, ...... , m1 (3.1)

i=I

Del resultado de la ecuación 3.1 se obtiene la unidad ganadora, la cual es la que

tiene la distancia menor con respecto al valor de entrada; este valor siempre es menor

que uno, ya que se utilizan valores normalizados.

de = min(d) donde j = 1, ...... , m1 (3.2)

De la ecuación 3.2 se calcula un valor en función de la distancia y se multiplica

dicho valor, por el peso de la conexión entre la unidad ganadora de la primera capa y la

unidad de salida, como se define en las ecuaciones 3.3 y 3.4.

Y1 =1-d, si J es la unidad ganadora (3.3)

si J es otra unidad.

La ecuación 3.3 es diferente al resultado que se obtiene en una red de propagación

de conteo, ya que en dicha red los valores pueden ser únicamente cero o uno.

k = 1, ...... ,n2 (3.4)

La salida de la red sólo se calcula con respecto a nodos ganadores de la capa de

Kohonen, esto implica una simplificación del algoritmo y por lo tanto, una mejora en el

esfuerzo computacional con respecto al modelo propuesto por Hsu, en el que además

se toma en cuenta a las seis unidades vecinas a la unidad ganadora para calcular

z~ [Hsu et al, 1997a].

45

Page 48: 1 f EB. ~- l

3.1.2 ENTRENAMIENTO DE LA RED

El entrenamiento de la red de propagación de conteo con salida en función de la

distancia es el mismo que el de la red de propagación de conteo ya presentado en el

capítulo 2: los pesos vk1

en la capa de salida de Grossberg equivalen al promedio de

los valores de salida deseada y se calculan utilizando la ecuación 2.26, de manera

iterativa.

Es importante hacer notar que, para fines de entrenamiento, la red opera en la

misma forma que la red de propagación de conteo, ya que los valores de y 1

sólo

pueden tener valores binarios. Sin embargo, una vez entrenada, la operación de ésta

es tal como ya se definió en el apartado 3.1.1.

3.2 RED DE PROPAGACIÓN DE CONTEO CON INTERPOLACIÓN LINEAL

Esta red es una variante de la red del apartado 3.1, sólo hay algunas diferencias en

la operación y el entrenamiento.

Si bien es cierto que la red del apartado 3.1, no genera la misma respuesta a

entradas similares; presenta la posible limitante, de no aproximar un valor de salida

entre las dos unidades de la capa de Kohonen más cercanas. Considerando que la red

funciona como una tabla de búsqueda.

3.2.1 INTERPOLACIÓN LINEAL

La red de propagación de conteo, puede modificarse agregándole la capacidad para

que interpole linealmente entre las dos unidades más próximos al valor de entrada, por

lo que se requiere que el valor de salida de las unidades ganadoras de la capa de

Kohonen esté en función de la distancia entre el valor del unidad y el valor de entrada.

En la figura 3.2, se muestra la red de propagación de conteo; tal como la red del

apartado 3.1, posee la misma estructura de la red de propagación de conteo, la

diferencia estriba en la forma de operar y de entrenarse, se observa que son dos las

unidades ganadoras de la capa de Kohonen.

46

Page 49: 1 f EB. ~- l

Fig. 3.2 Red de propagación de conteo

con interpolación lineal.

El valor de salida de la capa de Grossberg se calcula haciendo una interpolación

lineal entre los valores de salida de las unidades ganadoras de la capa de Kohonen; tal

como se muestra en la figura 3.3, en donde se observa la salida de dichas unidades y

cómo un valor entre ellas puede ser aproximado a través de una función lineal, con la

expectativa de lograr un mejor desempeño de la red.

Esta red podría generalizar siempre y cuando el número de unidades sea adecuado

y se evite que la distancia entre unidades sea muy grande. Basándose en la figura 3.3,

se obtiene la ecuación 3.5, la cual es utilizada para calcular el valor de aproximación de

salida.

(3. 5)

47

Page 50: 1 f EB. ~- l

z' 1

, - z, -t--

x,

Fig. 3.3 Salida de la red de interpolación

Donde d1 y d 2 son las distancias a las dos unidades de la capa de Kohonen que

son más cercanos al valor de entrada x,. Por otro lado, z; y z; son las salidas de las

unidades, en el caso de que alguna de las distancias d1 o d 2 sea cero.

En este algoritmo, la diferencia con la red propagación de conteo y con el algoritmo

propuesto por Hsu es marcada; se espera reducir el esfuerzo computacional del

entrenamiento sin sacrificar su desempeño en generalización.

3.2.2 ENTRENAMIENTO DE LA RED

El entrenamiento de esta red es casi igual al de la red de propagación de conteo y al

de la red del apartado 3.1, ya que al finalizar el entrenamiento, se lleva a cabo una

ejecución para desactivar las unidades de la capa de Kohonen que no resulten

ganadoras en ésta. Lo anterior se realiza, con el objetivo de asegurar una adecuada

operación de la interpolación. Debido, a que en el proceso de entrenamiento de la capa

de Grossberg, sólo las conexiones entre unidades ganadoras y las de salida son

modificadas.

48

Page 51: 1 f EB. ~- l

3.3 VALIDACIÓN DE LOS MODELOS PROPUESTOS

En esta sección se presentan algunos casos de estudio para observar el

desempeño de los modelos propuestos. Primero, se utiliza un patrón de datos

distribuidos en un área que asemeja una cruz y se observa el desempeño para dos

casos: uno de ellos es aquel donde la capa Kohonen es de una sola dimensión y el otro

es de dos dimensiones. Esto, con el fin de observar el comportamiento del

entrenamiento de la primera capa, la cual es la misma en las redes de las secciones

3.1 y 3.2. Las funciones que se seleccionaron son las mismas que utiliza Rogers para

mostrar el comportamiento de la red con la red de propagación de conteo [Rogers,

1997], con el objeto de asegurar que la primera capa funciona adecuadamente.

Posteriormente, se analiza el comportamiento de las dos redes al aplicárseles una

función de sombrero mexicano. La justificación de la selección de dicha función, no es

otra que la de comparar el desempeño de la red con la propuesta de Hsu quien utiliza

la misma función en su trabajo [Hsu et al, 1997a].

3.3.1 ENTRENAMIENTO DE LA PRIMERA CAPA

La forma en la que se entrena la primera capa de las redes neuronales descritas en

las dos secciones previas, es la misma a la de un mapa autoorganizado planteada en

2.3.2.

Para mostrar como se comportan las unidades a distintos pasos de entrenamiento,

se presentan dos casos: para la capa de Kohonen de una sola dimensión y de dos

dimensiones.

En la figura 3.4, se observa que los valores de entrada x1 y x2 están acotados en el

rango de [0, 1] y cada punto representa el valor de un par ( x1 , x2 ). Todos los puntos

forman una cruz.

La primera validación del entrenamiento se realizó con un mapa auto organizado de

100 unidades en la capa de Kohonen en una sola dimensión.

Los valores seleccionados del factor de aprendizaje son los más utilizados en la

práctica. Hecht propone iniciar con 0.8 y finalizar con 0.1 o menos [Hecht-Nielsen,

49

Page 52: 1 f EB. ~- l

1991 ]; Rogers recomienda iniciar 0.5 y finalizar con 0.01 [Rogers, 1997]. La segunda

opción fue la seleccionada.

1~~~~~~~~~~-----~~~~-~~~~ .. .. . - ,· . 1 ': ~ • • : ~~ ...... , •

o.91

L ~=· •:.: :,:".: : . . . ... ~··· . . ·, ... ··.:. ., ... º-ª~ , .. , ,, •...

1 • .;.¡,· •••• ,. • •• ~ : • . . · ... ' -:·· .. ·:. .... : ... ,. • • .. .. • ~ ... •• .. • • 1t .

't •• ,i-... . . .:.·, .... .. . . . . •. . . . . ..... :·.: .:-. .:) .• '. Q 6 ~ e - • • •• • 1 • • • I --•• !\ • • • • •, • • r . , • :• • ·~ ._:• • : .•. • ·~· ' • .. ,.- • .• • r 1 '• I • • '• • •

.:· .- • ·.. . .... j. 1 ~· ....... ·.~···. .. •• ··: • ~··· ···)

O.SL .. ,t•: . . ~·····: •• -.._:- • • ., •. : _: •• .:•·· .,· •. • . ,(·. . . .. r ·!"\ ..... , .. •• •• .,. :- ••••• ·~ r ... -· • •• • • • • l. • _,..; • • • .. •• •• • ,1. • 1

O 4 · ,. 1 • .... ' •' • •••• • • '.1 ._ - ~· .... : • .. • •• • • , . r ·.-e. ·. . . .. . . . ... . .- .. . ·~. : \; r. . .. i

I• ••• I• • .. •• ····~ • f• "-,• 1 • • ,. • i 1 , ••••• ,, ........ -~ 1

0_3Ll ·.·. • .·, ... • .... ,,. ~

'.) ...... ·,· .. r. . •

0.2 • ,. • • ~·,· •• ••••••

1

.,, ..••• -·····:· . .. , ~ .. O. 1 r ~ • ~ • " •• ~ •.:l.•

i ••• • • - ,. • o 1 •• • • • ·, •• ••

o 0.1 0.2 o.3 o.4 o.s o.s o.7 o.e o.9

Fig. 3.4 Patrón de entrada para entrenamiento en dos dimensiones

Se utilizó una vecindad de 40 unidades y un decremento del tamaño de ésta cada

150 iteraciones o sea un total de 6000 ciclos de entrenamiento; la justificación de la

selección fue la de repetir el experimento de Rogers, bajo las mismas condiciones

[Rogers, 1997].

En las figuras 3.5, 3.6 y 3.7 se muestran los valores de los pesos de cada una de

las unidades del mapa auto organizado.

0.9

0.8

0.7

0.6

0.5

OA, 1 1

0.3 •

0.2'

0.1 ·

Fig. 3.5 Valores iniciales de los pesos de la capa

Kohonen del mapa autoorganizado

50

Page 53: 1 f EB. ~- l

En la figura 3.5, cada punto muestra la ubicación de cada peso y cada línea une

cada unidad vecina.

0.9 e----.---~-~--~-~--~-~--~

1

1 o.a I !

0.7 1

0.6

0.5

0.4

::l 0.1 ~----~-~--~-~--~-~---

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Fig. 3.6 Valores de los pesos ( w,, w2 ) después de 3000 iteraciones

En la figura 3.6, se observa cómo los valores de los pesos se ordenan de cierta

forma después de 3000 iteraciones.

i

O 9 ~ o.e¡-

o. 7 lf,

O 6

O 5 ~

O 4 ~

O 3 ~ O 2 l

1

"-,

i 1

0.1 ----~-~--____:,,"'-----~---~-~-º O 1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Fig. 3.7 Valores de los pesos ( w,, w2 ) después de 6000 iteraciones

51

Page 54: 1 f EB. ~- l

En la figura 3.7 después de 6000 iteraciones, se tiene una mayor semejanza con la

silueta de una cruz; no se incrementó el número de iteraciones para comparar los

resultados con el caso de dos dimensiones.

El segundo ejemplo de entrenamiento, fue una red de 100 unidades en la capa de

Kohonen, organizada en un arreglo de 10 por 10, el factor de aprendizaje igual que el

caso anterior inició con un valor de 0.5 y finalizó en 0.01. La vecindad tuvo valores

iniciales de 5 por 5 unidades con decrementos unitarios cada 1000 iteraciones por lo

que se realizaron 5000 ciclos en total [Rogers, 1997].

Las figuras 3.8, 3.9 y 3.10, muestran el desarrollo de los valores de pesos (w1,w2 )

durante el entrenamiento, la figura 3.8 muestra el inicio, la figura 3.9 muestra los

valores de los pesos después de 2500 iteraciones y la figura 3.1 O muestra el resultado

final, una vez que se realizaron 5000 ciclos.

0.3 ~

// 0.2

0.1:

o¡ o 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Fig. 3.8 Organización inicial en el caso de dos dimensiones

Es evidente que la figura 3.1 O, se asemeja a una cruz, con la ventaja sobre el

resultado de la figura 3.7, de que los pesos se distribuyen en el interior, no sólo en la

periferia.

52

Page 55: 1 f EB. ~- l

0.65 e----,---~--,---,------~--..,--~

1

o.6 r

0.55 f

0.5 f 0.45 ~

i

0.4

0.35

0.3 1

0.25 ~ 0.2 '------'----,.__ _ ___.__ __ -'---------'-------'-----'

0.1 0.2 0.3 0.4 0.5 0.6 0.7 o.e

Fig. 3.9 Organización después de 2500 iteraciones

,: f o.e~

1 :: ¡ 0.5 ~

1

::: ·tr

0.2

1

0.1 f-1

0.9

o~:-~-----'-------'---~-------~----º 0.1 0.2 o.3 o.4 o.s o.6 o.7 o.e o.9

Fig. 3.1 O Organización de los pesos después de 5000 ciclos

Al observar los resultados de los dos casos anteriores (una y dos dimensiones), se

puede concluir, que si se busca clasificar datos que se encuentren distribuidos en un

53

Page 56: 1 f EB. ~- l

espacio de dos o más dimensiones, es más conveniente utilizar un mapa

autoorganizado de dos dimensiones.

3.3.2 VALIDACIÓN CON UNA FUNCIÓN DE MUESTREO

En esta sección se muestra el entrenamiento de la red completa, ya que en la

sección previa se mostró el comportamiento de los pesos al entrenar la primera capa.

La función que se utilizó es una función de muestreo descrita por la expresión 3.6.

Esta función es la misma utilizada por Hsu [Hsu et al, 1997a].

z = sin(~x2

+ y2

)

~x2 + yz donde -10 ~ x ~ 10 ( 3.6)

Las variables x1 y x 2 son normalizadas en el rango de [0, 1]. Para esto, se utilizan

las ecuaciones de transformación 3.7.

X X1 =-+0.5

20 y

X2 =-+0.5 20

( 3.7)

La figura 3.11 muestra una gráfica de la función de sombrero mexicano, o también

conocida como función de muestreo.

3.3.2.1 CASO 1: VALIDACIÓN DE LA RED CON VALOR DE SALIDA EN FUNCIÓN

DE LA DISTANCIA

En este punto, se muestran los resultados sobre la red descrita en la sección 3.1.

Para esto, se utilizó una red que fue entrenada en todos los casos con factores de

aprendizaje de 0.5 hasta 0.01 que son valores muy cercanos a los que recomiendan

algunos autores [Rogers, 1997][Hecht-Nielsen, 1991 ], con dos valores de entrada x1 , x2

y una salida z' .

54

Page 57: 1 f EB. ~- l

0.5

-0.5 1

0.5 0.4

o o

Fig. 3.11 Función sombrero mexicano

Para entrenar la red se generaron 441 patrones (una rejilla de 21 por 21 puntos)

con puntos distribuidos en forma equidistante en el rango de [0, 1] tanto en x, como en

x2 . Una vez entrenada la red, se utilizaron patrones de validación con puntos ubicados

exactamente en medio de los puntos del conjunto de entrenamiento, con el objetivo de

probar la capacidad de la red para generalizar.

Se hicieron validaciones para cuatro casos: una red con 8x8, 15x15, 21x21 y 30x30

unidades en la primera capa. En todos los casos, se utilizaron vecindades que cubrían

el 50% del número de unidades por dimensión y 100 iteraciones para decrecer a la

vecindad. El primer caso es exactamente igual al desarrollado por Hsu [Hsu et

al, 1997a] los demás, son propuestos para evaluar el efecto de modificar el número de

unidades.

En las figuras siguientes se muestran los resultados de la generalización al utilizar

los patrones de validación.

55

Page 58: 1 f EB. ~- l

0.5

-0.5 1

0.5

-0.5 1

... ~ .. ... ···:

0.6 0.4

o o

Fig. 3.12 Resultados al utilizar la red de BxB unidades

.... . '

.,

0.2 o o

Fig. 3.13 Resultados con una red de 15x15 unidades

56

Page 59: 1 f EB. ~- l

0.5

-0.5 1

0.5

-0.5 1

o o

Fig. 3.14 Resultados con una red de 21x21 unidades

··: . . . .

.. :,·

0.5

o o

Fig. 3.15 Resultados con una red de 30x30 unidades

57

Page 60: 1 f EB. ~- l

Los resultados de la validación se muestran en la tabla 3.1, para ello se utilizó el

cálculo de la raíz cuadrada del error cuadrático medio ( Erms ) y el factor de correlación

( CORR ), descritos en las expresiones 3.8 y 3.9.

Erms= donde i = 1, .... , N ( 3.8)

z, es el valor del patrón y

z~, es el valor estimado

CORR = COV(z,z:IÍ) ~VAR(z)VAR(z:,i)

donde COV es la covarianza ( 3.9)

y VAR es la varianza

El error cuadrático medio fue seleccionado, ya que permite valorar las desviaciones

ocurridas entre el valor esperado y el estimado por la red; esta medida es mejor que el

error promedio, ya que al elevarla al cuadrado detecta desviaciones positivas y

negativas.

El factor de correlación permite verificar las similitudes entre los valores estimados

por la red y los esperados.

Características de la Resultado Factor estadístico

red

Erms 0.130 1 Red con 8x8 unidades

CORR 0.68

Red con 15x15 Erms 0.084

unidades CORR 0.86

Red con 21 x21 Erms 0.080

unidades CORR 0.88

Red con 30x30 Erms 0.145 1

unidades CORR 0.51 1

1

Tabla 3.1 Resultados de la Red con salida en función de la distancia

58

Page 61: 1 f EB. ~- l

Al analizar los resultados de la tabla 3.1 y las figuras 3.12, 3.13, 3.14, 3.15; se llega

a la conclusión, que el mejor desempeño se obtuvo con la red de 21 x21 unidades.

Ahora bien, la red de 15x15 unidades, se desempeñó de manera similar.

Sin embargo, se esperaría un factor de correlación al menos superior a 0.9;

considerando que la función tiene pendientes suaves y el conjunto de entrenamiento

cubrió todo el rango de la función.

No obstante, se puede calificar el desempeño de la red como regular. Es probable,

que si se aumentara el número de datos del conjunto de entrenamiento el desempeño

mejoría.

En casos reales, no siempre es posible que el conjunto cubra todo el rango de

posibilidades de los eventos a estimar.

3.3.2.2 CASO 11: VALIDACIÓN DE LA RED CON SALIDA DE INTERPOLACIÓN

LINEAL

En este punto se muestran los resultados usando la red descrita en la sección 3.2.

Para esto, se utilizó una red que fue entrenada en todos los casos con factores de

aprendizaje de 0.5 hasta 0.01; se tuvieron dos valores de entrada x1 , x., y una salida

z' . De hecho, las simulaciones descritas en la sección anterior, fueron repetidas

exactamente con la finalidad de comparar el comportamiento de esta red y la descrita

en el punto 3.1.

Es importante hacer notar, que tanto la red utilizada en la sección anterior, como la

de esta sección fueron entrenadas utilizando los mismos parámetros de entrenamiento.

En las figuras 3.16, 3.17, 3.18 y 3.19 se observa el comportamiento de la red con

interpolación lineal al utilizar los patrones de validación ya descritos en el punto

anterior.

En la tabla 3.2 se muestran los resultados de error RMS ( Erms ), así como el

coeficiente de correlación ( CORR ), ambos obtenidos al utilizar las ecuaciones 3.8 y 3.9.

59

Page 62: 1 f EB. ~- l

1 . .

0.5

-0.5 1

o o

Fig. 3.16 Resultados de la red con interpolación lineal con 8x8 unidades

0.5

-0.5 1

.. , ·· ..

o o

'· .

. , .

0.4

Fig. 3.17 Resultados de la red con interpolación lineal con 15x15 unidades

60

Page 63: 1 f EB. ~- l

1 .... .. ·

0.5

-0.5 1

0.5

,.: .. -··· : .. ···· : .,,,.,\ :

··:·· !'\ \ : . ., ' : . ·~~ .

0.6 0.4

o o

Fig. 3.18 Resultados de la red con interpolación lineal con 21 x21 unidades

0.5

o

-0.5 1

0.4

o o

Figura 3.19 Resultados de la red con interpolación lineal con 30x30 unidades

61

Page 64: 1 f EB. ~- l

Características de la Resultado 1

Factor estadístico red

Erms 0.110 1

Red con 8x8 unidades !

CORR 0.75

Red con 15x1 5 Erms 0.064

unidades CORR 0.92 1

Red con 21x21 Erms 0.049 ! i i

unidades CORR 0.95 !

Red con 30x30 Erms 0.045

unidades CORR 0.96

Tabla 3.2 Resultados de la Red con salida de interpolación lineal

Analizando los resultados de la tabla 3.2 y las figuras 3.16, 3.17, 3.18, 3.19; se llega

a la conclusión, de que el mejor desempeño se obtuvo con la red de 30x30 unidades.

Ésta presentó el factor de correlación más grande y el menor error cuadrático medio.

Ahora bien, las redes de 15x15 y 21x21 unidades tuvieron un desempeño bastante

bueno, ya que ambas tuvieron factores de correlación superiores a 0.9.

3.4 DISCUSIÓN

Observando las figuras 3.7 y 3.1 O se ve que la red en su primera capa trata de

ubicar sus pesos de tal forma que el error sea cero y éstos se agrupan de manera

autoorganizada. Tanto en el caso de una dimensión como en el de dos dimensiones,

los pesos se organizan de manera que tratan de asemejar la figura patrón en forma de

cruz. Es evidente que se requiere un número importante de pasos de entrenamiento

para que eso suceda.

Con base a los resultados del apartado 3.3.1, parece ser que es más conveniente

utilizar una capa de Kohonen de dos dimensiones, cuando los patrones utilizados son

de dos o más dimensiones.

62

Page 65: 1 f EB. ~- l

Se puede concluir que para las redes descritas en 3.1 y en 3.2, la primera capa

sirve para clasificar los patrones para los problemas de validación. Habría que

determinar el número de unidades así como el número de pasos de entrenamiento

adecuado para entrenar dicha capa.

En la sección 3.3.2 se compararon las redes de 3.1 y 3.2 en su desempeño para

tratar de estimar una función sombrero mexicano que se muestra en la figura 3.11; el

caso I se muestra en las figuras 3.12, 3.13, 3.14 y 3.15 donde es evidente que a

medida que se aumenta el número de unidades, el desempeño mejora. Sin embargo en

la última gráfica no sucede así, por lo que se concluye considerando que se utilizaron

441 patrones distintos, que la red no funciona adecuadamente si el número de

unidades de la primera capa es mayor al número de clases, por lo que la red tiene un

mal desempeño, caso contrario al resultado del caso 11 visto en la sección 3.3.2.2

donde al observar las figuras 3.14, 3.15, 3.16 y 3.17 se cumple el hecho de que a un

mayor número de unidades el desempeño mejora.

La explicación de lo anterior se debe a que en la red con interpolación lineal, en la

parte final de su entrenamiento se desactivan aquellas unidades de la capa de

Kohonen que no resultan ganadoras.

La desactivación evita posibles errores que pueden presentarse al utilizar un patrón

de validación; el cual puede provocar que resulte ganadora una unidad que no haya

sido activada al final del entrenamiento de la capa de Kohonen.

Si una unidad, no es activada al final del entrenamiento de la capa de Kohonen; la

conexión entre la unidad y la capa de salida no se modifica durante el entrenamiento.

Debido a que en el entrenamiento de la red con salida en función a la distancia, no

se desactivan unidades de la capa de Kohonen; es más susceptible a fallas cuando el

número de unidades de la capa de Kohonen es mayor al número de patrones utilizados

para entrenarla.

Por último al comparar los resultados de las tablas 3.1 y 3.2 se observa que la red

con salida de interpolación lineal funciona mejor para todos los casos y los dos factores

utilizados ( Erms y CORR ).

Debido a lo anterior se puede concluir que para estimar funciones la red descrita en

3.2 se desempeña mejor.

63

Page 66: 1 f EB. ~- l

Con base a los resultados obtenidos en este capítulo, se esperaría que la red con

interpolación lineal pueda estimar la precipitación pluvial de una mejor manera que la

red con salida en función a la distancia.

64

Page 67: 1 f EB. ~- l

4. ESTIMACIÓN DE PRECIPITACIÓN PLUVIAL PARA

FRECUENCIA HORARIA

4.1 DATOS DE ENTRADA Y SALIDA

Las imágenes del satélite GOES en la banda 5, la cual corresponde al espectro

infrarrojo, al recibirse se empaquetan en palabras enteras de una longitud de 1 O bits

(variable GOES).

A partir de la variable GOES, se puede obtener un valor de radianza (radiación en

espectro infrarrojo) y a partir de dicho parámetro, se puede generar la temperatura de

brillantez.

A diferencia de los trabajos de investigación previos a éste, en los cuales se ha

calculado la temperatura de brillantez o parámetros derivados de ésta para estimar la

precipitación [Hsu et al, 1997a][Arkin; Meisner, 1987]. Al considerar a las redes

neuronales como aproximadores universales de funciones, se llegó a la conclusión de

que no era necesario realizar conversiones para determinar la temperatura de brillantez.

En cambio se procedió a normalizar al valor entero de 1 O bits en el rango de valores

de O y 1, dividiendo el dato de cada pixel entre 1024. La justificación de dividir la

variable GOES por 1024; parte de que dicha variable es un valor entero es de 1 O bits

(transmitido por satélite), entonces el máximo valor de ésta es 210 que es equivalente a

1024.

Para que los modelos propuestos estimaran la precipitación por hora se

consideraron los siguientes supuestos: 65

Page 68: 1 f EB. ~- l

1) Que el área de la nube puede influir en la cantidad de lluvia [Hsu et al, 1997a].

2) La temperatura en la parte superior de la nube se relaciona con la posibilidad de

lluvia [Arkin; Meisner, 1987].

Por las dos razones anteriores se propuso que los datos de entrada p de cada píxel

de la imagen, se representaran por la tupla de la expresión 4.1, la cual se basó en la

idea de Hsu [Hsu et al, 1997a].

( 4.1 )

Donde Pb0 es el valor GOES del pixel, Pb1 es el promedio de valores de nueve

pixeles (el pixel que se analiza y los ocho vecinos), Pb2 es el promedio de valores de

veinticinco pixeles (el pixel central y sus veinticuatro vecinos más próximos), SDPb1 es

la desviación estándar de nueve pixeles y SDPb2 es la desviación estándar de

veinticinco pixeles.

En la figura 4.1 se muestra de manera gráfica los datos de entrada, reflejados en el

plano de la imagen.

t~.-!~----------~~.........._~~--/l

..__;-· ~!_-~...._1--=_~~-=--1-· ~~:;/ !

! \1 7 7 ¡t 7

I [ T T 1 1 Fig. 4.1 Datos de entrada del modelo

La figura 4.1, muestra un cuadro de 25 pixeles de la imagen, de donde se calcula el

valor promedio Pb2

y la desviación estándar SDPb2 , además se observa una

66

Page 69: 1 f EB. ~- l

proyección de 9 pixeles dentro de los 25 ya mencionados. A partir de éstos, se calculan

Pb1 y SDPb1 ; por último, se tiene en la parte superior una proyección del pixel central

Pb0 •

En este caso no fue necesario tener toda la información de la imagen para entrenar

a las redes neuronales, ya que sólo se ubicó a cada estación terrena y se obtuvo el

dato del píxel en dicha ubicación y los veinticuatro pixeles más cercanos. A partir de

éstos se calcularon los cinco parámetros descritos en la expresión 4.1.

Los detalles de la extracción de los datos, así como la ubicación de las estaciones

en la imagen se presentan en el ANEXO A.

El número de pixeles utilizados fue seleccionado considerando la mayor resolución

posible. Si sabemos que veinticinco pixeles forman un cuadrado de aproximadamente

25 km por lado, no se podría aumentar el número de pixeles, ya que las lluvias en

verano y otoño (períodos con los que se probaron los modelos) no cubren grandes

extensiones de terreno.

La salida de las redes es un valor normalizado en el rango de [O, 1], el cual al ser

desnormalizado representa la lluvia en unidades de mm/hr.

4.2 CALIBRACIÓN DE LOS MODELOS

En la figura 1.1 se muestran una serie de estaciones terrenas distribuidas en los

Valles del Yaqui y Mayo. El problema es que no todas ellas realizan mediciones de

precipitación pluvial en frecuencia horaria; además de que no se contó con un radar

meteorológico que permitiera determinar la lluvia, así como su distribución espacial.

Si bien es cierto que la expresión 4.1 se deriva del trabajo de Hsu [Hsu et al, 1997a],

también lo es que, no se incluyó el término de topología del terreno, debido a que las

estaciones terrenas se encuentran en lugares muy similares con relación al tipo de

terreno.

Para este proyecto, sólo se contó con los datos de tres estaciones terrenas: dos del

Valle del Yaqui (ITSON2 y CIANO) y una del Valle del Mayo (Huatabampo) que

coincidieran con las imágenes de satélite disponibles.

Lo anterior, limitó la información disponible para calibrar los modelos e introdujo una

mayor complejidad al proceso: En particular, si consideramos que los eventos de lluvia 67

Page 70: 1 f EB. ~- l

en dichas regiones son escasos, entonces no fue posible obtener datos homogéneos.

Esto es, que una mitad de los datos fuesen de precipitación y la otra mitad de no lluvia.

Otro aspecto a considerar fue que no se realizó ningún filtrado de datos, debido a la

poca cantidad de eventos de lluvia disponibles. Otros trabajos [Arkin; Meisner, 1987)

[Hsu et al, 1999) si realizan algún tipo de filtrado de datos (eliminando datos repetidos o

similares); lo anterior permite reducir el número de unidades, pero aumenta el tiempo de

procesamiento de la información.

Para calibrar los modelos se utilizaron los datos de la estación CIANO, ubicada en la

posición 109º 55' longitud oeste y 27º 22' latitud norte. Para validar los modelos se

utilizaron los datos de la estación Huatabampo posicionada a 109º 39' longitud oeste y

26º 51' latitud norte; ya que ambas estaciones tenían más eventos de lluvia que la

estación ITSON2.

Se supuso que la precipitación sensada en la estación era igual y uniformemente

distribuida en el espacio que ocupa un pixel de la imagen satelital, lo cual sabemos no

necesariamente es cierto; ya que en los períodos de verano, la precipitación puede

presentarse en regiones de área menor a 16 km2.

Además otra limitante del proceso de calibración, fue el hecho de que el área que

abarca un sensor de una estación terrena para medir la lluvia, es del orden de unas

cuantas pulgadas cuadradas y el área que cubre un píxel en la imágen de satélite es de

16 km2 de terreno.

Los datos utilizados en la calibración de los modelos corresponden a los meses de

agosto y octubre del año de 1999; ya que de las imágenes disponibles, fueron los

meses en los que se presentaron la mayor cantidad de eventos de lluvia (en otros

meses no se presenta o es escasa). Desafortunadamente, no fue posible tener la

información completa de agosto y octubre, ya que debido a problemas técnicos en el

Centro de Percepción Remota, se perdieron algunos datos. Sin embargo, se utilizó la

información disponible.

68

Page 71: 1 f EB. ~- l

4.3 SELECCIÓN DE PARÁMETROS DE ENTRENAMIENTO

Los parámetros de entrenamiento utilizados en la determinación experimental de

éstos en los dos modelos fueron iguales, con el objetivo de compararlos en las mismas

condiciones. éstos fueron:

1) Números de unidades de la capa de Kohonen.

2) Factor de aprendizaje inicial y final para la capa de Kohonen.

3) Área inicial de la vecindad de la unidad ganadora para la capa de Kohonen.

4) Número de iteraciones para reducir el área de la vecindad de la unidad

ganadora para la capa de Kohonen.

5) Factor de aprendizaje para la capa de Grossberg (segunda capa).

El número de unidades de la capa de Kohonen. se fue modificando, para determinar

el número adecuado de forma experimental.

Se hicieron experimentos para los siguientes tamaños de la capa Kohonen: 8x8,

16x16, 20x20, 30x30, 40x40, 50x50, 60x60 y 70x70 unidades.

Los factores de aprendizaje inicial y el de la capa de Grossberg seleccionados se

ajustaron a 0.5, valor cercano al que algunos autores recomiendan

[Rogers, 1997][Hecht-Nielsen, 1991] y el factor de aprendizaje final se fijó en 0.01 por la

misma razón.

El área inicial para la vecindad de la unidad ganadora de la capa de Kohonen, se

propuso de un 25% del área total de unidades de la red [Rogers, 1997].

El número de iteraciones para reducir el área de la vecindad de la unidad ganadora

para la capa de Kohonen se determinó de forma experimental en los modelos

propuestos, para esto se hicieron pruebas con redes de 8x8 unidades en la capa de

Kohonen, vecindad inicial de 4x4 unidades, factor de aprendizaje inicial de 0.5 y el

mismo factor de aprendizaje se utilizó para la capa de Grossberg.

Se utilizaron redes de 8x8 unidades en la capa de Kohonen, con la finalidad de no

consumir demasiado tiempo en la determinación experimental del número de

iteraciones requeridas para reducir el área de la vecindad ganadora.

La selección del número de iteraciones para ir reduciendo el área de la vecindad de

la unidad ganadora en la capa de Kohonen, determina el número total de pasos de

entrenamiento de la red.

69

Page 72: 1 f EB. ~- l

El número total de pasos de entrenamiento, es igual al número de iteraciones

utilizadas para reducir el área inicial de la vecindad a la unidad ganadora de la capa de

Kohonen, por el número de unidades de un lado de dicha vecindad (un lado del

cuadrado).

4.3.1 DETERMINACIÓN DEL NÚMERO DE ITERACIONES REQUERIDAS PARA

REDUCIR LA VECINDAD DE LA CAPA DE KOHONEN PARA EL MODELO DE RED

CON SALIDA EN FUNCIÓN DE LA DISTANCIA.

Se simularon diferentes valores para ir reduciendo la vecindad a la unidad ganadora

de la capa de Kohonen, los valores utilizados fueron: 1, 3, 6, 12, 25, 50, 100, 200 y 300

iteraciones para ir reduciendo el área de la vecindad de la unidad ganadora de la capa

de Kohonen.

Si se considera que el área inicial de la unidad ganadora de la capa de Kohonen fue

de 4x4 unidades, por lo tanto el numero total de pasos de entrenamiento utilizados fue

de: 4, 12, 24, 48, 100, 200, 400, 800 y 1200 respectivamente.

La gráfica 4.2 muestra los resultados experimentales del factor de correlación en

función del número de iteraciones para reducir el área de la vecindad a la unidad

ganadora.

La figura 4.2 muestra la respuesta de la red al conjunto de entrenamiento con una

línea continua (datos de CIANO) y la respuesta de la red al conjunto de validación con

una línea discontinua (datos de Huatabampo).

Se observa en la gráfica 4.2 que a partir de 12 iteraciones no hay grandes

variaciones del factor de correlación.

4.3.2 DETERMINACIÓN DEL NÚMERO DE ITERACIONES REQUERIDAS PARA

REDUCIR LA VECINDAD DE LA CAPA DE KOHONEN PARA EL MODELO DE RED

CON SALIDA DE INTERPOLACIÓN.

Para la red con salida de interpolación, se repitió la simulación descrita en el

apartado anterior.

70

Page 73: 1 f EB. ~- l

e: ·O ·¡;

"'

0.4_~-----------~---

0.35 ir'/

0.3

~ 0.25 r o ' ~ ¡, \ / i 0.21; o ;

: j; O 15 ¡

1,

0.05~-~--~----------0 50 100 150 200 250 300

Número de iteraciones para reducir área

Fig. 4.2 Determinación del número de iteraciones para reducir

la vecindad en el modelo en función a la distancia.

La figura 4.3 muestra la gráfica de los resultados, del factor de correlación en

función del número de iteraciones utilizadas para reducir el área de la vecindad.

Se observa que para el caso del patrón de validación graficado en línea discontinua

(datos de Huatabampo), que después de 100 iteraciones por decremento, la red ya no

mejoró su desempeño, además se observa que sucede lo mismo con la salida al

aplicarse el conjunto de entrenamiento, graficado en línea continua (datos de CIANO),

otro aspecto que se observa es el hecho de que la red respondió mejor al patrón de

entrenamiento que al de prueba.

Se observa en las figuras 4.2 y 4.3 que ambas redes no generalizaron bien, ya que

el mejor factor de correlación fue de 0.24, para el caso del conjunto de validación.

Además la redes tampoco memorizaron bien ya que el factor de correlación no llegó a

0.38, para el caso del conjunto de entrenamiento.

Sin embargo, los experimentos anteriores se desarrollaron para estimar el número

de iteraciones requeridas para reducir la vecindad de la capa de Kohonen, no para

estimar la precipitación pluvial; por tal motivo, se utilizaron redes con pocas unidades

(aunque podrían cambiar los resultados con más unidades).

Con base a los resultados experimentales se decidió utilizar un número de 100

iteraciones, para ir reduciendo el área de la vecindad de la unidad ganadora de la capa

de Kohonen para ambas redes.

71

Page 74: 1 f EB. ~- l

0.38--

0.36 ,;

/- -----------------e: 0.34 e' . •!') u !!' 0.32 ,:

~ g 0.3 -., ,, ~ 0.28 -o u

~ 0.26 ~

0.24 ,

0.22 .. 1

0.2 -----·--·---~------~--- ·---~--º 50 100 150 200 250 300 Número de iteraciones para reducir área

Fig. 4.3 Determinación del número de iteraciones para reducir

la vecindad en el modelo de salida de interpolación.

4.4 ESTIMACIÓN DE PRECIPITACIÓN PLUVIAL EN PERÍODOS DE UNA HORA

Los dos modelos propuestos en el capítulo tres se utilizaron para estimar la

precipitación pluvial para una frecuencia horaria. Los detalles sobre la implantación de

éstos se tratan en el ANEXO B. Los modelos se probaron con diferentes números de

unidades en la capa de Kohonen, a fin de poder determinar el tamaño adecuado de la

red.

Es importante aclarar que antes de utilizar los modelos propuestos se intentó utilizar

una de retropropagación, pero ésta nunca logró aprender.

4.4.1 CASO 1: RED CON VALOR DE SALIDA EN FUNCIÓN DE LA DISTANCIA

La tabla 4.1 muestra los resultados del modelo, del factor de correlación ( CORR) y la

raíz cuadrada del error cuadrado medio ( Erms) a distintos tamaños de la red en la capa

Kohonen, para el conjunto de entrenamiento, la tabla 4.2 muestra los mismos

resultados para el conjunto de validación.

72

Page 75: 1 f EB. ~- l

El número de unidades de la capa Kohonen, se determinó en forma empírica.

Aunque Hsu utiliza un tamaño de 15 por 15 unidades [Hsu et al, 1997a], se prefirió

analizar el posible efecto en el desempeño a diferentes tamaños.

Tamaño de la capa CORR Erms

Kohonen

8x8 unidades 0.376 0.009

16x16 unidades 0.444 0.009

20x20 unidades 0.504 0.008

30x30 unidades 0.688 0.007

40x40 unidades 0.745 0.007

50x50 unidades 0.736 0.007

60x60 unidades 0.857 0.005

70x70 unidades 0.999 0.000

Tabla 4.1 Respuesta de la red con salida en función

a la distancia al conjunto de entrenamiento.

Se observa que al aumentar el número de unidades el factor de correlación mejora.

Sucede lo mismo con el error cuadrático medio. Ahora bien, es evidente que el factor de

correlación es más adecuado como parámetro para analizar el desempeño de la red, ya

que presenta mayor sensibilidad a los cambios de tamaño.

La red memoriza mejor a una mayor cantidad de unidades en la capa de Kohonen,

como se muestra en la tabla 4.1. En este caso, el número de 70x70 unidades es igual a

4900 unidades, que es casi cinco veces mayor al número de patrones del conjunto de

entrenamiento, si consideramos que fueron utilizados 1046 patrones (datos

disponibles).AI observar los resultados que se muestran en la tabla 4.2. De la misma

manera como se vio en la tabla anterior, la raíz cuadrada del error cuadrático medio

permaneció invariante ante los diferentes tamaños de red, no así el factor de

correlación.

73

Page 76: 1 f EB. ~- l

Tamaño de la capa CORR Erms

Kohonen

8x8 unidades 0.203 0.023

16x16 unidades 0.230 0.023

20x20 unidades 0.193 0.023

30x30 unidades 0.135 0.024

40x40 unidades 0.022 0.024

50x50 unidades -0.004 0.024

60x60 unidades -0.004 0.024

70x70 unidades -0.003 0.024

Tabla 4.2 Respuesta de la red con salida en función

a la distancia utilizando el conjunto de validación.

La figura 4.4 muestra una gráfica del factor de correlación en función del número de

unidades en una dimensión de la capa de Kohonen.

1.2 ,---~--~--------~---

0.2 i.-

1

o ~ - 1 1

-0.2 ,__· ~------'--------------10 20 30 40 50 60 70

Número de unidades por lado

Fig. 4.4 Factor correlación en función del número

de unidades por lado en la capa de Kohonen

de la red con salida en función a la distancia.

74

Page 77: 1 f EB. ~- l

La línea continua de la figura 4.4 muestra la respuesta de la red al conjunto de

entrenamiento y la línea discontinua corresponde a la respuesta de la red al conjunto de

validación.

Se observa en la figura 4.4 que a un mayor número de unidades la red responde

mejor al conjunto de entrenamiento; no sucede lo mismo con el conjunto de validación

ya que a tamaños superiores de 16x16 unidades el desempeño va empeorando.

El mejor desempeño de la red se obtuvo en la red con un tamaño de 16 por 16

unidades, con un factor de correlación de 0.230; que si bien es bajo, se mantuvo dentro

del rango de resultados del trabajo de Hsu , entre 0.2 y 0.6 [Hsu et al, 1997a].

En el caso del conjunto de validación, la red respondió mejor con un tamaño de 16

por 16 unidades, que equivale a 256 unidades en total. Es decir, un número cuatro

veces menor a los 1046 patrones del conjunto de entrenamiento, lo cual es positivo ya

que al utilizarse un número menor de unidades, se utiliza poco tiempo para entrenar y

operar a la red.

La figura 4.5 muestra la raíz cuadrada del error cuadrado medio ( Erms ) en función

al número de unidades por lado en la capa de Kohonen.

Se observa en la figura 4.5, que al aumentar el número de unidades de la capa de

Kohonen, la raíz cuadrada del error cuadrado medio ( Erms) disminuye para el caso de

la respuesta al conjunto de entrenamiento (línea continua).

En la figura 4.5 se observa que no hay cambios significativos de la raíz cuadrada del

error cuadrático medio ( Erms ), al modificarse el número de unidades de la capa de

Kohonen, en respuesta al conjunto de validación (línea discontinua).

A partir de los resultados experimentales se utilizó la red de 16x16 unidades. Debido

a la disponibilidad de imágenes, se utilizaron los meses de agosto y octubre del año de

1999.

La figura 4.6 muestra los resultados de estimación de la red al conjunto de

validación.

La respuesta de la red en la figura 4.6 se muestra graficada con la línea de

asteriscos y la línea continua muestra los valores observados; se graficaron 1046

eventos no se incluyó la fecha ya que no se contó con las imágenes en la continuidad

requerida.

75

Page 78: 1 f EB. ~- l

.9 ,:, QJ

E

0.025 ~-------------------

_g 0.02 ~ ,:,

"' ::, u

g 0.015 QJ

QJ ,:,

"' ~ 0.01 ~ 'O ----"' ::, u N

·¡¡¡ 0.005 a::

o~--~---~--~--~-----~·, 1 O 20 30 40 so 60 70

Número de unidades por lado

Fig. 4.5 Gráfica de Erms en función del número

de unidades por lado de la capa de Kohonen

de la red en función a la distancia.

25~--~-----~-----~---~

1

20:

15 ~

1 O,

5 -

o--..i...._¡¡,...._.._._....._ ... +.._ .. ~.· _.. ... ____________ __ O 100 200 300 400 500 600 700 BOO 900 1000

Eventos de precipitación pluvial

Fig. 4.6 Estimación de la precipitación pluvial de

la red con salida en función a la distancia.

De hecho sólo se muestran tres eventos de precipitación observados en la figura

4.6, éstos presentan la mayor magnitud con relación a los eventos estimados. La figura

4.7 muestra a detalle la gráfica desde el evento 277 al evento 377.

76

Page 79: 1 f EB. ~- l

20 -

15 -

10 -

!', 1:

5 ~ 1 1 \ ~ I i 1 1

~~ Jt ' Q .,_. 1lf' l,;:113*'1+:Es n~**'*'*~~~ -. .... .-... ~,e.¡111111oEW;l!•iti.etlleiEI Jlei:e.:i,e~ l(+3i l~al ~ª*' ~ffl¡~ .. '**fl;CUu

280 290 300 310 320 330 340 350 360 370 E1.entos de precipitación plu'.1al

Fig. 4.7 Gráfica desde el evento de precipitación pluvial 277 al 377 caso l.

Se observa en la figura 4.7, que el modelo estimó con valores menores (línea con

asterisco) los eventos de precipitación observados (línea continua) y en la figura 4.6 se

observa que algunos eventos fueron estimados en donde no se observó precipitación

pluvial.

El comportamiento de la red con valor de salida en función de la distancia, se debe a

que en la primera capa se clasifican eventos en función a los cinco parámetros de

entrada y algunos eventos que pertenecen a la misma clase pueden ser eventos en

donde se presenta precipitación y donde no se presentó ésta.

Lo anterior explica el hecho de que donde no hubo precipitación observada la red

estima eventos de precipitación.

Por otro lado donde se observó precipitación, la red estimó precipitación pero con un

valor menor.

Si se considera que la segunda capa se entrena generando un valor promedio de los

valores de salida deseados y si la primera capa agrupó eventos de lluvia y no lluvia en la

misma clase, se puede entender lo que provocó que el valor de salida estimado fuese

menor al observado.

77

Page 80: 1 f EB. ~- l

4.4.2 CASO 11: RED CON VALOR DE SALIDA DE INTERPOLACIÓN LINEAL

La tabla 4.3 muestra los resultados del modelo, del factor de correlación ( CORR) y la

raíz cuadrada del error cuadrado medio ( Erms) a distintos tamaños de la red en la capa

Kohonen, para el conjunto de entrenamiento.

La tabla 4.4, muestra los resultados para el conjunto de validación. La selección del

número de unidades de la capa Kohonen, se realizó de la misma forma que el caso

anterior.

En este experimento se observó un comportamiento similar al anterior. Es decir, al

aumentar el número de unidades, el factor de correlación mejora. Sucede lo mismo con

la raíz cuadrada del error cuadrado medio. Adicionalmente, se observó que el factor de

correlación resulta más adecuado para el análisis, ya que presenta mayor sensibilidad a

los cambios de tamaño.

Al igual que en el caso anterior, la red memoriza mejor a medida que se agregan

unidades a la capa de Kohonen. El número de 70x70 unidades es igual a 4900

unidades, que es casi cinco veces mayor al de patrones del conjunto de entrenamiento,

que fue igual a 1046 patrones.

Ahora bien, si comparamos los resultados del experimento de la red anterior contra

los resultados de este experimento, se observa de las tablas 4.1 y 4.3, que la red con

salida en función de la distancia memoriza mejor en redes con el mismo número de

unidades en la capa de Kohonen.

Al observar los resultados que se muestran en la tabla 4.4, como en todos los casos

anteriores, el factor de correlación discriminó mejor entre los diferentes tamaños de red.

El mejor desempeño en los experimentos, se obtuvo en la red con un tamaño de 60

por 60 unidades, con un factor de correlación de 0.397, que también se encuentra

dentro del rango de resultados del trabajo de Hsu, entre 0.2 y 0.6 [Hsu et al, 1997a] y

que además es mejor al de 0.23 obtenido con la red del caso anterior.

Sin embargo, se requiere un mayor número de unidades, lo cual hace a la red más

lenta en su operación. Ahora bien en casi todos los tamaños de la red se tuvo un mejor

desempeño que al usar el modelo de red en función a la distancia (excepto para 20 x 20

y 40 x 40 unidades).

78

Page 81: 1 f EB. ~- l

Tamaño de la capa CORR Erms

Kohonen

8x8 unidades 0.349 0.009

16x16 unidades 0.416 0.009

20x20 unidades 0.458 0.009

30x30 unidades 0.461 0.009

40x40 unidades 0.670 0.007

50x50 unidades 0.694 0.007

60x60 unidades 0.713 0.007

70x70 unidades 0.829 0.006

Tabla 4.3 Respuesta de la red con salida de interpolación

lineal al conjunto de entrenamiento.

Tamaño de la capa CORR Erms

Kohonen

8x8 unidades 0.241 0.023

16x16 unidades 0.246 0.023

20x20 unidades 0.228 0.023

30x30 unidades 0.267 0.023

40x40 unidades 0.225 0.023

50x50 unidades 0.289 0.023

60x60 unidades 0.397 0.022

70x70 unidades 0.342 0.022

Tabla 4.4 Respuesta de la red con salida de interpolación

lineal utilizando el conjunto de validación.

En el caso del patrón de prueba, la red respondió mejor con un tamaño de 60 por 60

unidades, que equivale a 3600 unidades en total. Es decir, un número tres veces mayor

a los 1046 patrones del conjunto de entrenamiento, lo cual no es deseable ya que el

número de unidades se desea que sea menor al número de patrones.

La figura 4.8 muestra una gráfica del factor de correlación en función del número de

unidades en una dimensión de la capa de Kohonen en la red con salida de interpolación

lineal. 79

Page 82: 1 f EB. ~- l

La línea continua de la figura 4.8 muestra la respuesta de la red al conjunto de

entrenamiento y la línea discontinua corresponde a la respuesta de la red al conjunto de

validación.

e: ·O

0.9

o.a

0.7

-~ 0.6

] 8 0.5 «> 'O i 0.4

LL 0.3

0.2

0.1

10 20 30 40 50 60 Número de unidades por lado

Fig. 4.8 Factor correlación en función del número

de unidades por lado en la capa de Kohonen

de la red con salida de interpolación lineal.

70

Se observa en la figura 4.8 que a un mayor número de unidades la red responde

mejor al conjunto de entrenamiento; no sucede lo mismo con el conjunto de validación

ya que a tamaños superiores de 60x60 unidades el desempeño no mejora.

El mejor desempeño de la red se obtuvo en la red con un tamaño de 60 por 60

unidades, con un factor de correlación de 0.397; éste se mantuvo dentro del rango de

resultados del trabajo de Hsu , entre 0.2 y 0.6 [Hsu et al, 1997a].

La figura 4.9, muestra la raíz cuadrada del error cuadrado medio ( Erms }, en función

al número de unidades por lado en la capa de Kohonen para la red con salida de

interpolación lineal.

80

Page 83: 1 f EB. ~- l

Se observa en la figura 4.9, que al aumentar el número de unidades de la capa de

Kohonen, la raíz cuadrada del error cuadrático medio ( Erms) disminuye para el caso de

la respuesta al conjunto de entrenamiento (línea continua).

En la figura 4.9 se observa que no hay cambios significativos de la raíz cuadrada del

error cuadrado medio ( Erms ), al modificarse el número de unidades de la capa de

Kohonen, en respuesta al conjunto de validación (línea discontinua).

0 0.02 ~ i5 Q)

E o -e, e! "g 0.015-:, u

g Q)

ai -c 0.01 · ro

-e, e! -e, ro :, u

-~ 0.005 · o::

10 20 30 40 50 60 70 Número de unidades por lado

Fig. 4.9 Gráfica de Erms en función del número

de unidades por lado de la capa de Kohonen

para la red con salida de interpolación lineal.

A partir de los resultados experimentales se utilizó la red de 60 x 60 unidades.

Debido a la disponibilidad de imágenes, se utilizaron los meses de agosto y octubre del

año de 1999.

La figura 4.1 O muestra los resultados de estimación de la red al conjunto de

validación.

81

Page 84: 1 f EB. ~- l

La respuesta de la red en la figura 4.1 O se muestra graficada con la línea de

asteriscos y la línea continua muestra los valores observados; se graficaron 1046

eventos. no se incluyó la fecha ya que no se contó con las imágenes en la continuidad

requerida.

20

i

5' r

1 ___ I t 0......, ... -.i._ ... ._llil!ii!!illli!il~ .......... ----.,.IIMiliii----.._....._ O 100 200 300 400 500 600 700 800 900 1000

Ewntos de precipitación pluvial

Fig. 4.1 O Estimación de la precipitación pluvial de

la red con salida de interpolación lineal.

Se muestran tres eventos de precipitación observados en la figura 4.1 O, éstos

presentan la mayor magnitud con relación a los eventos estimados. La figura 4.11

muestra a detalle la gráfica desde el evento 277 al evento 377.

Se observa en la figura 4.11, que el modelo estimó con valores menores (línea con

asterisco) los eventos de precipitación observados (línea continua) y en la figura 4.1 O se

observa que algunos eventos fueron estimados en donde no se observó precipitación

pluvial.

El comportamiento de la red con valor de salida de interpolación lineal, podría

explicarse a que cuando la primera capa fue entrenada se clasificaron eventos en

función a los cinco parámetros de entrada y algunos eventos que pertenecían a la

misma clase podrían ser eventos en donde se presentó precipitación y donde no se

presentó ésta. 82

Page 85: 1 f EB. ~- l

1 1

20-1

5¡ 1

11 ,''1

Eventos de precipitación plu.;a1

Fig. 4.11 Gráfica desde el evento de precipitación pluvial 277 al 377 caso 11.

Lo anterior explica el hecho de que donde no hubo precipitación observada la red

estima eventos de precipitación ya que dicho dato fue clasificado como un evento de

lluvia. Además donde se observó precipitación, la red estimó precipitación pero con un

valor menor ya que la segunda capa promedia los valores de salida esperada durante su

entrenamiento.

Si se considera que la segunda capa se entrena generando un valor promedio de los

valores de salida deseados y si la primera capa agrupó eventos de lluvia y no lluvia en

la misma clase, se puede entender que eso provocó que el valor de salida estimado

fuese menor al observado.

4.5 DISCUSIÓN

En este trabajo fue necesario trabajar con la mayor resolución posible, ya que en los

períodos en los que se entrenaron y validaron los modelos se tiene lo siguiente: las

lluvias son de alta intensidad, de duración breve y localizadas en áreas reducidas.

83

Page 86: 1 f EB. ~- l

Lo relativo a la intensidad de las lluvias y a la breve duración de éstas, se observa

en las gráficas 4.6, 4.7, 4.10 y 4.11.

A partir de los resultados de los dos modelos, puede observarse que se tiene un

mejor desempeño en la red con salida de interpolación lineal, lo cual se ya se esperaba

a partir de los resultados del capítulo anterior y considerando el factor de correlación

como parámetro de evaluación.

En conclusión, el factor de correlación discriminó mejor entre los diferentes tamaños

de red si se compara con el parámetro raíz cuadrada del error promedio elevado al

cuadrado, lo cual puede explicarse debido a que se incluyeron pocos eventos de lluvia,

si además los valores de error elevados al cuadrado se promedian se obtienen valores

muy pequeños del factor Erms , considerando que los modelos acertaron la mayor parte

de las veces que no hubo lluvia.

Ambas redes dieron resultados con valores dentro del rango de los resultados

obtenidos en trabajos anteriores y con resoluciones mayores; además dichos trabajos

se habían calibrado con datos de radar, lo que permite determinar la precipitación

pluvial promedio por pixel en una imagen.

En este trabajo se utilizaron datos de estaciones meteorológicas y se supuso que la

precipitación medida era igual al promedio de ésta por cada pixel.

Lo anterior introduce una posible fuente de errores, considerando que en verano las

precipitaciones están localizadas en regiones pequeñas.

La red que obtuvo mejores resultados, lo hizo para un número de unidades tres

veces mayor al tamaño del patrón lo cual no es muy conveniente.

Esto es, si dicha relación se mantuviese, se necesitaría un número mayor de

patrones y por lo tanto crecería mucho la red; provocando una mayor consumo de

tiempo para su operación y entrenamiento.

Una forma de evitar el crecimiento de la red, podría ser a partir de la modificación de

la arquitectura de la red.

Una modificación sería evitar la utilización de un parámetro constante que conecta la

capa de Kohonen con la capa de Grossberg y utilizar una función de aproximación

polinomial que ajustase los valores de salida, aunque éstos correspondan a eventos

donde haya lluvia y no lluvia.

84

Page 87: 1 f EB. ~- l

Surge la pregunta ¿cómo definir a priori el tamaño de la red?. A partir de los

resultados obtenidos, lo que se puede concluir es que hay que obtenerlo de forma

experimental o bien utilizar una arquitectura que lo determine, como el caso de las

redes neuronales de resonancia adaptativa.

Otro aspecto que resalta del trabajo, es que en ambos modelos sucedió que a

mayor número de unidades la red memorizaba mejor, cosa que no sucedió con la

generalización donde después de un tamaño, el desempeño empeora.

Lo anterior implica que existe un tamaño óptimo para la red y que no

necesariamente a un mayor tamaño la red generalizará mejor.

85

Page 88: 1 f EB. ~- l

5. CONCLUSIONES

5.1 CONCLUSIONES

En este trabajo se propusieron dos modelos híbridos que son variantes de la red de

propagación de conteo. Ambos modelos funcionaron adecuadamente con una función

de prueba tipo sombrero mexicano.

Ahora bien, el objetivo principal fue estimar la precipitación pluvial utilizando

imágenes satelitales de la banda infrarroja. Este objetivo se cumplió en la medida de

que los resultados obtenidos de ambos modelos estuvieron dentro del rango de otros

trabajos de investigación, con la desventaja de que ambos modelos se calibraron:

1) Con información que incluía pocos eventos de lluvia.

2) Apoyado en datos de estaciones terrenas con sensores simples.

3) Con una resolución mayor a la de otros trabajos.

La información utilizada en la calibración de ambos modelos incluyó pocos eventos

de precipitación, ya que las regiones de los Valle del Yaqui y Mayo no presentan lluvias

de manera frecuente.

Al disponerse de poca información de eventos de lluvia, se dificulta el proceso de

calibración, ya que la fortaleza de las redes descansa en poseer un conjunto de

entrenamiento adecuado.

Un conjunto de entrenamiento adecuado, debe de incluir la mayor cantidad de

clases de eventos posibles, a fin de que la red pueda generalizar.

86

Page 89: 1 f EB. ~- l

Sin embargo; a pesar que los resultados que arrojaron ambas redes fueron

razonables, ya que la precipitación pluvial en breves períodos de tiempo es muy

variable y difícil de estimar con precisión sobre todo si consideramos que los eventos

fueron de tipo tormenta (alta intensidad), para estimar adecuadamente se requiere un

mayor nivel de correlación (al menos 0.7) y así poder utilizar los modelos de manera

confiable.

La información de las estaciones terrenas disponible para el proyecto, presentó la

desventaja de que se midieron los eventos de precipitación en un área de unos cuantos

centímetros y se supuso que era igual al promedio de precipitación de un pixel de la

imagen ( 16 km2).

El área de precipitación durante los períodos y regiones utilizadas pueden ser

menores al área de un pixel, lo que pudo haber generado una fuente de error y justificó

la utilización de la mayor resolución posible.

A partir de los resultados obtenidos, se puede concluir que la red de propagación de

conteo con salida de interpolación lineal se desempeña mejor que la red con salida en

función a la distancia, considerando los resultados que arroja en términos del factor de

correlación.

El factor raíz cuadrada del error cuadrático medio ( Erms) no se utilizó para evaluar

el desempeño, ya que no se observaron variaciones importantes de dicho parámetro

entre los diferentes tamaños de redes debido a que los conjuntos de entrenamiento

incluyeron pocos eventos de precipitación.

Se puede concluir, que el factor de correlación puede ser utilizado para evaluar el

desempeño de las redes propuestas cuando se dispone de pocos eventos de

precipitación.

Además, se puede concluir que a medida que se aumenta el número de iteraciones

para reducir la vecindad en la capa de Kohonen, se llega a un punto en el que no hay

mejoría en el desempeño. Lo que implica que se tiene que determinar

experimentalmente el tamaño óptimo de la red y así tener la red que funcione a la

mayor velocidad y que ocupe el menor espacio posible.

87

Page 90: 1 f EB. ~- l

5.2 SUGERENCIAS PARA FUTUROS TRABAJOS

Con el fin de obtener una estimación más precisa de la precipitación pluvial, se

requiere calibrar los modelos con radares meteorológicos, con la idea de evitar la fuente

de error que implica medir con un sensor de una estación terrena.

Considerando, que la medición de una radar cubre un radio de 100 km y la de un

sensor de precipitación pluvial unos cuantos centímetros.

Otra alternativa sería realizar pruebas en otras regiones donde se tenga la

información requerida.

El ITSON está involucrado en un proyecto donde del 2002 al 2004 se establecerán

alrededor de 100 estaciones de medición de lluvia en la Sierra Madre Occidental. Estos

datos podrían utilizarse para suplir la falta de información de este trabajo.

Además, se podría probar la capacidad de los modelos para estimar precipitación en

períodos más largos. Es muy probable que el desempeño mejore ya que de alguna

manera los errores se promediarían; ya que ambos modelos subestimaron la

precipitación cuando ésta se presentó y estimaron eventos cuando éstos no se

presentaron.

Se podrían realizar algunas modificaciones en los modelos, de tal forma que en

lugar de que la conexión entre la capa de Kohonen y la de Grossberg sea un parámetro

de ganancia constante se podría utilizar un polinomio. Así, a pesar de que la capa de

Kohonen agrupase eventos de lluvia y no lluvia el polinomio permitiría ajustar los

valores

Otros trabajos podrían orientarse a utilizar información en tiempo real de satélites de

mayor frecuencia, o bien de estaciones terrenas con sistemas de comunicación para

recalibrar los modelos. Claro, que un sistema así eleva los costos del sistema. Sin

embargo, no habría que hacer grandes cambios al algoritmo, sólo se tendría que hacer

que el parámetro constante que conecta a una unidad de la capa Kohonen y la capa de

Grossberg fuese adaptativo (aprendizaje en linea).

También podría trabajarse con nuevos modelos para estimar la precipitación pluvial

por ejemplo aquellos que determinan automáticamente el número de unidades (ART2).

Ahora bien, si consideramos la gran cantidad de información que se tiene que procesar,

88

Page 91: 1 f EB. ~- l

se sugieren modelos híbridos, ya que por lo general consumen menor cantidad de

tiempo en su entrenamiento.

En futuros trabajos se sugiere utilizar información de imágenes visibles o bien

mediciones terrestres de otros parámetros como la dirección e intensidad del viento, la

humedad relativa y la presión barométrica.

También es conveniente buscar extraer otras características de los datos de entrada

a las redes como medición de distancias, análisis de ondeletas, análisis factorial; a fin

de observar si mejoran los resultados.

89

Page 92: 1 f EB. ~- l

ANEXO A

EXTRACCIÓN DE LA INFORMACIÓN DE LAS IMÁGENES

DE SATÉLITE

La información que genera el satélite GOES, es captada en el CPR. De hecho, cada

media hora se tiene un barrido de todo el hemisferio. Esta información, corresponde a

diferentes bandas de los sensores o medidores que tiene el satélite; una vez que la

información se recibe ésta es almacenada en cinta.

De la información en cinta se puede obtener un área definida (ya que no es

necesario tener los datos del hemisferio) así como la banda que se desee. Para este

proyecto, sólo se utilizó la información de la banda 5. De hecho, pudo haberse utilizado

la información de la banda 4 sin que hubiese gran diferencia, ya que ambas bandas son

muy cercanas en el espectro de frecuencia. Los datos de las bandas 4 y 5 son enteros

de diez bits de forma secuencial, donde cada dato es un píxel. Por lo tanto, para utilizar

la información, se tiene que conocer el número de filas y renglones del área para poder

utilizar la imagen, como se muestra en la figura A.1.

La imagen se tiene en forma secuencial en un archivo de datos enteros. Lo primero

que se hizo, fue leer dicho archivo y guardar los datos en un arreglo de 328 filas y 535

columnas. Posteriormente, los datos del arreglo se normalizaron en el rango de [0, 1] al

dividir los datos entre 1024 (21º).

90

Page 93: 1 f EB. ~- l

50

100

150

200

250

300

50 100 150 200 250 300 350 400 450 500

Fig. A.1 Imagen infrarroja del noroeste de México

Una vez normalizada la información, se procedió a ubicar los datos que

correspondían a las estaciones terrenas, así como a los veinticuatro pixeles vecinos.

Para esto, se utilizó una función, ya que la imagen del satélite tiene una distorsión

provocada por la posición del satélite y la redondez del planeta.

Los datos de entrada a la función que sirve para ubicar las estaciones terrenas en el

archivo de imagen son la longitud y latitud; la salidas de la función son los números de

columna y renglón. A partir de la determinación, se obtuvo un arreglo de 5 x 5 datos.

Posteriormente, a partir de dicho arreglo se generaron los cinco datos utilizados por

el modelo.

Debido a que la información del satélite corresponde a un barrido con frecuencias de

media hora, se promediaron los datos para tener el promedio por hora, con la finalidad

de equiparar la frecuencia de medición de las estaciones terrenas y de esta forma tener

los datos de entrada y salida para calibrar los modelos.

En la figura A 1, se observa regiones en colores rojos y anaranjados, lo que indica

que las temperaturas son altas, por lo que seguramente no llueve.

Además se observan nubes en color azul, mientras más intenso es el color indica

que la temperatura es más baja en su parte superior, por lo que la probabilidad de que

precipiten es mayor. 91

Page 94: 1 f EB. ~- l

La figura A.2 muestra otro ejemplo de una imagen del noroeste de Méxicos, en la

parte izquierda de la imagen se muestran cielos despejados.

100

150

200

250

300

50 100 150 200 250 300 350 400 450 500

Fig. A.2 Imagen con nubes en Sinaloa, Durango y

en la parte sur de Baja California Sur.

La imagen A.2 muestra nubes en los estados de Sinaloa, Durango y algunas en la

parte sur de estado de Baja California Sur.

Se observa que alrededor de las nubes el color tiende al azul verde, ya que la

temperatura no es tan baja.

En la figura A.3 se muestra un huracán acercándose a la península de Baja

California.

Los colores de la imagen son más claros que las anteriores e incluso no se observan

colores rojos o anaranjados, lo que indica temperaturas bajas.

92

Page 95: 1 f EB. ~- l

50

100

150

200

250

300

50 100 150 200 250 300 350 400 450 500

Fig. A.3 Imagen de un huracán aproximándose

a la península de Baja California.

93

Page 96: 1 f EB. ~- l

ANEXO B

DISEÑO DE CLASES

Los modelos se programaron en lenguaje C++, para eso se utilizó como base una

librería de clases desarrollada por Rogers [Rogers, 1997]. sin embargo fue necesario

desarrollar algunas clases ya que dicha librería sólo incluía las redes adalina, retro

propagación, mapas auto organizados y memorias asociativas bidireccionales; la

librería fue seleccionada debido a que se utilizó en su desarrollo un enfoque de diseño

orientado a objetos granular, ya que hay clases de unidades y de conexiones, lo cual

permite crear a partir de ellas otros tipos de redes.

A continuación se describirán sólo las clases que fueron diseñadas.

La clase GROSS_Node es derivada de la clase SON_Node, es utilizada en la

definición de la red de propagación de conteo y se muestra en la figura B.1; la clase

GROSS_Node define unidades en la capa de Grossberg.

class GROSS_Node : public SON_Node {

public:

};

GROSS_Node(int v_size=1, int e_size=O); 11 (NODE_ VALUE) virtual void Run(int mode); virtual void Learn(int mode); virtual char *Get_Name(void); virtual void Print(ofstream &out);

Fig. B.1 La clase GROSS_Node

94

Page 97: 1 f EB. ~- l

La operación Run de la clase GROSS_Node, genera el valor de salida y como dato

de entrada tiene la posición de la unidad ganadora de la capa de Kohonen.

El dato de entrada mode permite ubicar la conexión entre la unidad ganadora de la

primera capa y la unidad de salida en la capa de Grossberg, el código se muestra en la

figura B.2.

void GROSS_Node::Run(int mode) {

Base_Link *link; in_links.Reset_ To_Head(); int cont=O; while( cont<mode)

{ in_links.Next(); cont++; }

link=in_links.Curr(); value[NODE_ VALUE]=link->Get_ Value(WEIGHT);

}

Fig. B.2 Operación Run de la clase GROSS_Node

La figura 8.3 muestra la operación Learn de la clase GROSS_Node, en el caso de la

red de propagación de conteo el valor de salida deseado se guarda en el valor de peso

de la conexión entre la unidad de la capa de Grossberg y la unidad ganadora de la capa

de Kohonen.

void GROSS_Node::Learn(int mode) {

Base_Link *link; in_links.Reset_ To_Head(); int cont=O; while(cont<mode)

{ in links.Next(); cont++; }

link=in_links. Curr(); link->Set_ Value(value[NODE_ VALUE],WEIGHT); }

Fig. 8.3 Operación Learn de la clase GROSS_Node

95

Page 98: 1 f EB. ~- l

Las operaciones Get_Name y Print, no serán descritas ya que sólo se utilizan para

indicar el nombre de la clase y para imprimir la estructura.

La clase GROSS_Node, junto con otras clases es utilizada por la clase

COUNTER_Network para crear una red de propagación de conteo.

La figura 8.4 describe la clase COUNTER_Network; node_outputs define el número

de unidades en la capa de Grossberg y num_links_out el número de conexiones entre

la capa de Grossberg y la de Kohonen.

class COUNTER_Network: public SON_Network {

protected: int node_outputs; int num_links_out; 8ase_Node **G_node; 8ase_Link **links_out; virtual void Create_Network(void);

public:

};

COUNTER_Network(char filename[]); COUNTER_Network(int num_input, int num_output, int x_dim, int y_dim,

double init_lr, double final_lr, int init_ns, int ns_dec_int, long iterations);

COU NTER _ Network(void); -COUNTER_Network(void); virtual void Set_ Output(Pattern *input_pattern); virtual double Get_ Output(int id); virtual void Save(ofstream &outfile); virtual void Load(ifstream &infile); virtual void Run_total(int mode=O); virtual void Learn_gross(int mode=O); virtual char *Get_Name(void); virtual int Get_Output_Count(void);

Fig. 8.4 La clase COUNTER_Network

Los apuntadores de doblemente referenciados G_Node y links_out, permite la

signación dinámica para arreglos de unidades y conexiones.

La figura 8.5 muestra a los constructores y destructores de la clase

COUNTER_Network.

96

Page 99: 1 f EB. ~- l

Los constructores de la clase COUNTER_Network, permiten crearla a partir de un

archivo o bien definiendo sus parámetros, en el destructor se libera la memoria

asignada para las unidades de salida y las conexiones de salida.

COUNTER_Network::COUNTER_Network( char filename[]) : SON_Network() { ifstream infile(filename); Load(infile); infile.close() ; };

// ----------------------------------------------------------------------------COUNTER_Network::COUNTER_Network( int num_inputs, int num_outs, int x_dim, int y_dim, double init_lr, double final_lr, int init_ns, int ns_dec_int,long iterations): SON _Network()

{ init_learning_rate=init_lr; final_learning_rate=final_lr; learning_rate=init_lr; init_neigh_size=init_ns; neigh_decrement_interval=ns_dec_int; num _iterations=iterations; iteration=O; num_nodes=num_inputs; node _ outputs=num _ outs; neighborhood=init_ neigh _ size; x_size=x_dim; y_size=y_dim; Create_Network(); };

1/-----------------------------------------------------------------------------COUNTER_Network::COUNTER_Network( void): SON_Network()

{ num_nodes=O; num_links=O; node_outputs=O;}; 1/-----------------------------------------------------------------------------COUNTER_Network: :-COUNTER_Network( void)

{ for(int i=O;i<node_outputs;i++)

delete G_node[i]; delete []G_node; for(int i=O;i<num_links_out;i++)

delete links_out[i]; delete []links_out; };

Fig. 8.5 Constructores y destructor de la clase COUNTER_Network

97

Page 100: 1 f EB. ~- l

La figura 8.6 muestra las operaciones que permiten obtener los valores de salida de

la red o bien ubicar un valor de salida en la red de propagación de conteo.

void CO U NTER _ Network:: Set_ Output(Pattern *input_pattern) {

for(int i=O; i<input_pattern->Out_Size();i++) G_node[i]->Set_ Value(input_pattern->Out(i),NODE_ VALUE);

} 1/----------------------------------------------------------------------------double COUNTER_Network::Get_Output(int id)

{ return G _node[id]->Get_ Value(NODE_ VALUE);

}

Fig. 8.6 Operaciones Set_ Output y Get_ Output

La figura 8.7 muestra las operaciones Run_total, Learn_gross y Get_Output_Count.

La operación Run_total, realiza una corrida de la red de propagación de conteo,

Learn_gross realiza el aprendizaje de la capa de salida.

void COUNTER_Network::Run_total( int mode) { int posicion; Run(); posicion=Get_ Value(COMPOSITE); for(int i=O;i<node_outputs;i++)

G_node[i]->Run(posicion+(i*x_size*y_size)); }

1/-----------------------------------------------------~---------------------void COUNTER_Network::Learn_gross( int mode)

{ int posicion; posicion=Get_ Value(COMPOSITE); for(int i=O; i<node _ outputs; i++)

G_node[i]->Learn(posicion+(i*x_size*y_size)); }

/1----------------------------------------------------------------------------int COUNTER_Network::Get_Output_Count(void)

{ return node_outputs; }

Fig. 8.7 Operaciones Run_total, Learn_gross y Get_Output_Count

98

Page 101: 1 f EB. ~- l

La redes de propagación de conteo modificadas, tanto como la de salida en función

a la distancia como la de interpolación lineal tienen pocas diferencias entre sí, por lo

que sólo se explicará la de salida con interpolación lineal.

La figura 8.8 muestra la definición de la clase CONTMD_Link, la conexión puede

almacenar dos valores.

class CONTMD_Link: public 8ase_Link { public:

CONTMD _Link( int mode=2); virtual void Save( ofstream &outfile ); virtual void Load( ifstream &infile ); virtual char *Get_Name( void ); };

Fig. 8.8 Clase CONTMD _Link

La figura 8.9 muestra al constructor de la clase CONTMD _Link.

CONTMD_Link::CONTMD_Link(int mode): 8ase_Link(mode) { value[WEIGHT]=Random(-1.0, 1.0); }

Fig. 8.9 Constructor de la clase CONTMD_Link

La figura 8.1 O muestra la definición de la clase KOH_Node.

class KOH_Node: public SON_Node { public:

KOH_Node( int v_size=3, int e_size=O ); // (NODE_VALUE, LEARNING_RATE,ACTIVE)

KOH_Node( float Ir); virtual char *Get_Name( void );

};

Fig. 8.10 Clase KOH_Node

La clase KOH Nade, se utiliza para definir unidades en la capa de Kohonen y puede

almacenar tres valores.

Los constructores de la clase KOH_Node se muestran en la figura 8.11.

99

Page 102: 1 f EB. ~- l

II Constructor KOH_Node::KOH_Node( int v_size, int e size ): SON_Node(v_size,e_size)

{value[ACTIVE]=O. O;};

/1-----------------------------------------------------------------------------KOH_Node::KOH_Node( float lr):SON_Node(3,0)

{ value[LEARNING _RA TE]=lr; value[ACTIVE]=O.O; };

Fig. B.11 Constructores de la clase KOH_Node

La figura B.12 muestra la definición de la clase CONTMDI_Node, la cual es utilizada

para las unidades en la capa de salida y es derivada de la clase GROSS_Node.

class CONTMDI_Node : public GROSS_Node {

public: CONTMDI_Node(int v_size=3, int e_size=O); // (NODE_ VALUE,

};

virtual void Run(int mode); virtual void Learn(int mode); virtual char *Get_Name(void);

II POSITION1 ,POSITION2)

Fig. B.12 Clase CONTMDI_Node

La figura B.13 muestra el constructor de la clase CONTMDI_Node, se observa que I

clase es derivada de la clase GROSS Nade.

CONTMDI_Node::CONTMDI_Node(int v_size,inte_size) :GROSS_Node(v_size,e_size){};

Fig. B.13 Constructor de la clase CONTMDI_ Node

En la figura B.14 se muestran la operación Run; definida para la clase

CONTMDI Nade.

Con los valores de las posiciones de las unidades ganadoras de la capa de

Kohonen, se ubican las dos conexiones a dichas unidades con la unidad de salida y se

aplica el algoritmo de interpolación lineal.

100

Page 103: 1 f EB. ~- l

void CONTMDI_Node::Run(int mode) {

Base_Link *link; int pos1 ,pos2; double distance1 ,distance2; double weight1 ,weight2; in_links.Reset_ To_Head(); int cont=O; pos1=(int)Get_ Value(POSITION1); while(cont<pos1) // Find position 1

{ in_links.Next(); cont++; }

link=in_links.Curr(); distance1 =link->ln_ Value(); weight1 =link->Get_ Value(WEIGHT); in_links.Reset_ To_Head(); cont=O; pos2=(int)Get_ Value(POSITION2); while(cont<pos2) // Find position 2

{ in_links.Next(); cont++; }

link=in_links.Curr(); distance2=1ink->ln_ Value(); weight2=1ink->Get_ Value(WEIGHT); if(distance2==0)

value[NODE_ VALUE]=weight1; else

value[NODE_ VALUE]=distance1*((weight2-weight1 )/(distance1 +distance2))+weight1; }

Fig. B.14 Operación Run de la clase CONTMDI_Node

La figura B.15 muestra la operación Learn de la clase CONTMDI_Node.

101

Page 104: 1 f EB. ~- l

void CONTMDI_Node::Learn(int mode) {

Base_Link *link; in_links.Reset_ To_Head(); int cont=O; double weight,counter; while( cont<mode)

{ in_links.Next(); cont++; }

link=in_links.Curr(); weight=link->Get_ Value(WEIGHT); weight=weight+value[NODE_ VALUE]; link->Set_ Value(weight,WEIGHT); counter=link->Get_ Value(COUNTER); counter=counter+1.0; link->Set_ Value(counter,COUNTER); }

Fig. B.15 Operación Learn de la clase CONTMDI_Node

La figura B.16 muestra la clase CONTMDI_Network.

class CONTMDI_Network: public COUNTER_Network {

protected: int min_x1 ,min_y1;

virtual void Create_Network(void); public:

};

CONTMDI_Network(char filename[]); CONTMDI_Network(int num_input, int num_output, int x_dim, int y_dim,

double init_lr, double final_lr, int init_ns, int ns_dec_int, long iterations);

CONTMDI_Network(void); virtual void Run_total(int mode=O); virtual void Learn_gross(int mode=O); virtual void Marca(void); virtual void Actual(void); virtual char *Get_Name(void);

Fig. B.16 Clase CONTMDI_Network

La figura B.17 muestra la operación Create_Network.

102

Page 105: 1 f EB. ~- l

void CONTMDI_Network::Create_Network(void) {

node=new Base_Node*[num_nodes]; // Create Pointers to Input Nodes num_links=num_nodes*x_size*y_size; K_node=new Base_Node**[x_size]; // Create Kohonen Layer Pointers for (int x=O; x<x_size; x++)

K_node[x]=new Base_Node*[y_size]; link=new Base_Link*[num_links]; // Create Pointers to Links for (int i=O; i<num_nodes; i++) // lnstantiate Input Nodes

node[i]=new lnput_Node; int curr=O; for (int x=O; x<x_size; x++)

}

for (int y=O; y<y_size; y++) { K_node[x][y]=new KOH_Node; // lnstantiate Kohonen Layer Nade for (int i=O; i<num_nodes; i++) // Connect Kohonen Layer nade

}

{ // to each Input Node link[curr]=new SON_Link; Connect(node[i], K_node[x][y], link[ curr++ ]); }

G_node=new Base_Node*[node_outputs]; for(int i=O;i<node_outputs;i++) // Create Grossberg layer

{ G_node[i]=new CONTMDI_Node; G_node[i]->Set_ Value(O.O,NODE_ VALUE);

} num_links_out=node_outputs*x_size*y_size; curr=O; links _ out=new Base _Link*[num _links _ out]; for(int i=O;i<node_outputs;i++)

{ for(int x=O;x<x_size;x++)

for(int y=O;y<y_size;y++) {

}

links _ out[ curr]=new CONTMD _ Link; links_out[curr]->Set_ Value(O.O,WEIGHT); links_out[curr]->Set_ Value(O.O,COUNTER); Connect(K_node[x][y],G_node[i],links_out[curr++]); }

Fig. B.17 Operación Create_Network.

103

Page 106: 1 f EB. ~- l

La creación de la red implica asignar espacios para unidades y conexiones;

posteriormente, se conectan las unidades y las conexiones.

La figura 8.18 muestra los constructores de la clase CONTMDI_Network.

CONTMDI_Network::CONTMDI_Network( char filename[]) : COUNTER_Network() { ifstream infile(filename ); Load(infile); infile.close(); };

/1----------------------------------------------------------------------------CONTMDI_Network::CONTMDI_Network( int num_inputs, int num_outs, int x_dim,

int y_dim,double init_lr, double final_lr, int init_ns, int ns_dec_int,long iterations):COUNTER_Network()

{ init_learning_rate=init_lr; final_learning_rate=final_lr; learning_rate=init_lr; init_neigh_size=init_ns; neigh _ decrement_interval=ns _ dec _int; num_iterations=iterations; iteration=O; num _ nodes=num _inputs; node_outputs=num_outs; neighborhood=init_neigh _ size; x_size=x_dim; y_size=y_dim; Create_Network(); };

1/-----------------------------------------------------------------------------CONTMDI_Network::CONTMDI_Network( void ) : COUNTER_Network()

{ num_nodes=O; num_links=O; node_outputs=O;};

Fig. 8.18 Constructores de la clase CONTMDI_Network

Los constructores de la clase CONTMDI_Network, son por un lado a través de un

archivo o a partir de la definición de parámetros de la red.

La operación Run_total ejecuta la operación de la red CONTMDI_Network y su

programación se muestra en la figura 8.19.

104

Page 107: 1 f EB. ~- l

void CONTMDI_Network::Run_total( int mode) { int x,y; int pos1 ,pas2; dauble min_value=99999.0; dauble nade_value; for (x=O; x<x_size; x++) 11 for each nade in Kahanen layer

for (y=O; y<y_size; y++) { K_nade[x][y]->Run(); node_value=K_nade[x][y]->Get_ Value(NODE_ VALUE); if ((nade_ value<min_ value )&&( (int)K_ node[x][y]->Get_ Value(ACTIVE)))

{

}

min_ value=node _ value; min_x=x; min_y=y; }

min_ value=99999.0; for (x=O; x<x_size; x++) // for each nade in Kahanen layer

for (y=O; y<y_size; y++) { node_value=K_nade[x][y]->Get_ Value(NODE_ VALUE); if ( (node _ value<min _ value )&&( (int)K_nade[x][y]->Get_ Value(ACTIVE)))

{

}

if((x!=min_x)ll(y!=min_y)) {

} }

min_value=node_value; min x1=x·

- 1

min_y1=y;

pos 1 =Get_ Value(COMPOSITE); pos2=min_x1 "'y_size+min_y1; for(int i=O;i<nade_outputs;i++)

}

{ G _ node[i]->Set_ Value(pos 1, POSITION 1 ); G_node[i]->Set_ Value(pos2,POSITION2); G_node[i]->Run();

}

Fig. B.19 Operación Run_total

105

Page 108: 1 f EB. ~- l

Primero se ubican a las dos unidades ganadoras de la capa de Kohonen y

posteriormente, se ejecuta la corrida de la unidad de salida que conecta con ambas

unidades.

La figura B.20 muestra las operaciones Learn_gross, Actual y Marca.

void CONTMDI_Network::Learn_gross( int mode) { int posicion; posicion=Get_ Value(COMPOSITE); for(int i=O;i<node_outputs;i++)

G_node[i]->Learn(posicion+(i*x_size*y_size)); }

// ----------------------------------------------------------------------------void CONTMDI_Network::Actual(void)

{ double weight,counter; int curr=O; for(int i=O; i<node _ outputs; i++)

{

}

for(int x=O;x<x_size;x++) for(int y=O;y<y_size;y++) {

}

weight=links _ out[ curr]->Get_ Value(WEIGHT); counter=links_out[curr]->Get_ Value(COUNTER); if( counter!=O.O)

{ weight=weight/counter;

links_out[curr]->Set_ Value(weight,WEIGHT); }

curr++; }

/1-----------------------------------------------------------------------------void CONTMDI Network::Marca(void)

{ int x,y; x=(int)Get_ Value(ROW); y=(int)Get_ Value(COL); K_node[x][y]->Set_ Value(1.0,ACTIVE); }

Fig. B.20 Operaciones Learn_gross, Actual y Marca.

106

Page 109: 1 f EB. ~- l

Las tres operaciones descritas en la figura 8.20, se utilizan en el aprendizaje de la

segunda capa.

La operación Learn_gross, define la forma en que se entrena la segunda capa; la

operación Actual, actualiza los valores de peso de las conexiones y la operación Marca

pone una bandera indicando que una unidad de la capa de Kohonen fue ganadora.

La figura 8.21 muestra un fragmento de código en el que se observa como se

utilizaron las clases diseñadas para la red con salida de interpolación lineal.

// Define Objeto CONTMDI_Network a( input_nodes, output_nodes, x_size,y_size,

initial_learning_rate,final_learning_rate,initial_neigh_size, neighborhood _ decrement_interval, num _iterations)

// Entrena capa de Kohonen for (iteration=O; iteration<num_iterations; iteration++)

{ for (int i=O; i<pattern_count; i++)

{ a.Set_ Value(data[i]); // Set Input Node Values a.Run(); a.Learn(); }

a.Epoch(); if (display_interval!=O && iteration%display_interval==O)

cout << 11 lteration: 11 << iteration << 11

• Learning Rate: 11 << a.Get_Learning_Rate() << 11 Neighborhood: 11 << a.Get_Neighborhood_Size() << endl;

if (frame_rate!=O && iteration%frame_rate==O) a.Print(ofile); }

if (frame_rate!=O) ofile.close(); // Entrena capa de Grossberg for(int i=O;i<pattern_count;i++)

{ a.Set_ Value(data[i]); a.Set_ Output(data[i]); a.Run(); a.Marca(); a.Learn_gross(); }

// Coloca valores de entrada II Coloca valores de salida // Ejecuta la primera capa

// Marca a la unidad ganadora ACTIVE=1 // Aprendizaje de la capa de Grossberg

a.Actual(); //Actualiza los pesos 8.21 Segmento de programa que utiliza la clase CONTMDI_Network

107

Page 110: 1 f EB. ~- l

En este anexo no se muestra el diseño de las clases para la red con salida en

función a la distancia ya que son bastantes similares a la red con salida de interpolación

lineal.

El código puede solicitarse a la dirección de correo electrónico [email protected].

En la figura B.22 se muestra un diagrama de jerarquía de clases para las redes de

propagación de conteo modificada con salida en función a la distancia y con salida de

interpolación lineal.

Input Nade

KOHNade

CONTMDI Nade

Base Nade

CONTMDD Nade

CONTMDI Netwark

Base Network

SON Netwark

COUNTER Netwark

CONTMDD Netwark

Base Link

AD AUNE Link

SON Link

CONTMD Link

Fig. B.22 Diagrama de las clases para modelos propuestos

Las clases de la figura que incluían la biblioteca de Rogers son: Base Nade, SON

Nade, Input Node, Base Network, ADALINE Network, SON Network, Base Link,

ADALINE Link y SON Link.

Las otras ocho clases fueron desarrolladas, a fin de poder probar los modelos

propuestos en este trabajo.

108

Page 111: 1 f EB. ~- l

BIBLIOGRAFÍA

Arkin, P. A., Meisner, B. N. (1987). The relationship between large-scale convective rainfall and cold cloud over the western hemisphere during 1982-84.Monthly Weather Review, Vol. 115, No. 1, 51-74.

Belward A. S., Valenzuela C. R. (1991). Remate Sensing and Geographical lnformation Systems of Resource Management in Developing Countries. Netherlands Kluwer Academic Publishers, 506 p.

Conrads, P. A., Roehl, E. A. (1999). Comparing Physics-Based and Neural Networks Models far Simulating Salinity, Temperature, and Dissolved Oxygen in a Complex, Tidally Affected River. Proceedings of the 1999 South Carolina Enviromental Conference, March 15-16, Myrtle Beach, SC.

Dingman, S. L. (1994). Physical Hidrology. USA: Mcmillan College Publishing Company, 575 p.

Freeman, J. A., Skapura, D. M. (1991). Neural Networks (Algorithms, Applications, and Programming Techinques). USA: Addison Wesley Publishing Company, 401 p.

Griffith, G. C., Woodley, W. L., Grube, P. G., Martin, D. W., Stout, J., & Sikdar, D. N. (1978). Rain estimation from geosynchronous satellite imagery - visible and infrared studies. Monthly Weather Review, Vol. 106, 1153-1171.

Han, H., Felker, P. (1997). Estimation of daily soil water evaporation using an artificial neural network. Journal of Arid Environments, 37, 251-260.

Haykin, S. (1994). Neural Networks: A comprehensive foundation. USA: Maccmillan College Publishing Company, 696 p.

Hecht-Nielsen, R. (1991). Neurocomputing. USA: Addison Wesley, 431 p. Hertz, J., Krogh, A., & Palmer, R. G. (1991). lntroduction to the theory of neural

computation. USA: Perseus Books Publishing, L. L. C., 327 p. Hsu, K. L., Sorooshian, S., Gao, X., & Gupta, H. V. (1997a). Rainfall estimation from

satellite infrared imagery using artificial neural networks. Technical Report: HWR Nº 97-01 O, Department of Hidrology and Water Resources, The University of Arizona, Tucson AZ.,. 234 p.

Hsu, K. L., Sorooshian, S., Gao, X., & Gupta, H. V.(1998). Rainfall estimation using an artificial neural network. First Conference on Artificial lntelligence, Phoenix AZ. by American Meteorological Society. Bastan MA.

Hsu, K. L., Sorooshian, S., Gao, X., & Gupta, H. V. (1999). Estimation of physical variables from multichannel remotely sensed imagery using a neural network: Application to rainfall estimation. Water Resources Research, Vol. 35, No. 5, 1605-1618.

Hsu, K. L., Sorooshian, S., Gao, X., & Gupta, H. V. (1997b). Precipitation estimation from remotely sensed information using artificial neural networks. Journal of Applied Meteorology, Vol. 36, No. 9, 1176-1190.

Hsu, K. L., Sorooshian, S., & Gupta, H. V. (1995). Artificial neural network modeling of the rainfall-runoff process. Water Resources Research, Vol. 31, No. 10, 2517-2530.

109

Page 112: 1 f EB. ~- l

Hsu, K. L., Sorooshian, S., Gao, X., & Gupta, H. V. (1997c) Application of a Recurrent Neural Network to Rainfall-Runoff Modeling. ASCE Annual Conference, April 7-1 O, Houston, Texas.

http://www.oso.noaa.gov/goes/gvar conversion.htm lbarra, P. F. (1994). Estimación de precipitación en el noroeste de México utilizando

imágenes del satélite GOES. Tesis de maestría, Instituto Tecnológico de Sonora, 146 p.

Kazmann, R. G. (1974). Hidrología Moderna. México, Compañía Editorial Continental, 19, 420 p.

Kohonen, T. (2d edition). (1997). Self-Organizing Maps. Germany: Springer-Verlag Berlín Heidelberg, 426 p.

Minsky, M. L., Papert, S. A. (Expanded edition). (1988). Perceptrons.USA: MIT Press, 292 p.

Rogers, J. (1997). Object-Oriented Neural Networks in C++. USA: Academic Press, 310 p. Rumelhart, D. E., McClelland, J. L. (1986). POP RESEARCH GROUP. Parallel

Distributed Processing (Explorations in the microstructure of cognition) Volume 1: Foundations. USA, Cambridge MA: MIT Press, 547 p.

Snijders, F. L. (1991). Rainfall monitoring based on Meteosat data a comparison of techniques applied to Western Sahel. lnternational Journal of Remate Sensing, Vol. 12, No. 6, p. 1331-1347.

Stevens, C. F. (1979). The neuron. Scientific American, 241, 54-56.

110