You are on page 1of 126

3?.

•ooS
-'' 4 eü, J,ja'P!Jki


1) c'o 3

o
k
e

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA


ESCUELA DE CIENCIAS DE LA COMPUTACION

Inteligencia Artificial y Realidad Virtual

, Reconocimiento supervisado de patrones a partir de


imágenes se1ftIes de la cíucjcj de Loja años 1980 y
2000"

Tesis previa a la obtención


M Título de Ingeniero en
Informática.

AUTOR: NixonGeovnny Acaro Vega

LlRECTOR: Ing. Hdor F. Gómez A

Loja - Ecuador
2007
INDICE
INDICE


Contenido Pág.

índice.................. . ........................................................ ... ....................... . .Ii


Certificación..... . .... . ....... .. ................. . ..... . ................................. . ............ Viii
Autoría.................................................................................................. IX
Agradecimiento... .............................................................. .. .............. .. .... X
Dedicatoria......... . ...... . .... .. ............. . ...... . ..... . ..................................... . .... Xi
Acta de Cesión de Derechos de Tesis de Grado........................................xii

PROYECTODE TESIS ..... . .................. . ............ . ....................................... xiii

RECONOCIMIENTO SUPERVISADO DE PATRONES A PARTIR DE


IMÁGENES SATELITALES DE LA CIUDAD DE LO]A AÑOS 1980 Y
2000

CAPITULO 1
SELECCIÓN DE LA HERRAMIENTA DE DESARROLLO.................................3

CAPITULO II
CLASIFICACIÓN DE IMÁGENES SATELITALES LANDSAT POR MEDIO DE
REDES NEURONALES SUPERVISADAS
Resumen.................... ..................................................... ... .................... 7
Estado Actual del Arte .............................................................................8
1. Introducción .....................................................................................16
2. Imágenes de satélite Landsat... ........................ .... .................... . ...... ...17

111
3. Estructura del archivo de datos de la imagen de satélite Landsat .........20
4. Red Neurona¡ .................................................................................... 22
4.1 Arquitectura de la red y Algoritmo de aprendizaje....................22
4.2 Tamaño de la arquitectura de la red .......................................30
S. Documentación del Algoritmo NETLAB ................... .. ........................ ...31
6. Experimentación ...............................................................................32
6.1 Verificación de resultados .............................. . ........................ 39
6.2 Clasificación de Fotografía Aérea ............................................39
7. Discusión de resultados ......................................................................41
8. Conclusiones .................................... . ................................... . ............ 42
9. Recomendaciones .............................................................................47
10. Trabajos futuros .............. . ........................... ... ..... . .... . ................. . ..... 48

BIBLIOGRAFÍA..... . ...... .. ........ . .................... . ............... . .............. . ........... 49

ANEXOS...............................................................................................51

iv
Figuras


No. Figura Descripción Pág.

Figura 2.1. Imagen de satélite Landsat de Loja-Ecuador ................... .... 17


Figura 4.1. Arquitectura deMLP ......... . .................... . ........................... 23
Figura 4.2. Arquitectura MLP utilizada en la metodología y obtención
de resultados ..... ... .......................... . ..... ... ......................... 23
Figura 4.3. Análisis de los pixeles de la imagen de satélite Landsat .......25
Figura 4.4. Descripción de la función sigmoide ............. . .... . .................. 26

LIPA
Tablas


No. Tabla Descripción Pág.

Tabla 1. Clases de usos de suelos . .................................................. 20


Tabla 2. Procedimiento de la Red de Retropropagación ....................29
Tabla 3. Comparación de clasificadores NetLab y Netlmage .............. 38
Tabla 4. Comparación de clasificadores de fotografía aérea ..............40
Tabla 5. Comparación de clasificadores de imágenes satelitales ....... .41

vi
Anexos

No. Anexo Descripción Pág.

Anexo 1 Procesamiento de datos de imágenes LANDSAT ........ . ......... 52


Anexo 2 Aplicativo NETLAB.............................................................55
Anexo 3 Aplicativo NETImage .........................................................58
Anexo 4 Manual de WEKA .................................................... . ...... . ... 65
Anexo 5 Método de Gradiente Conjugado Escalado ........................100
Anexo 6 Imágenes satelitales y Fotografías aéreas ........................102

vii
Ing. Héctor F. Gómez A.
DOCENTE DE LA ESCUELA DE CIENCIAS DE LA COMPUTACION DE LA
U.T.P.L.; Y, DIRECTOR DE TESIS

CERTIFICA:

Que el presente trabajo investigativo ha sido realizado


observando las disposiciones reglamentarias de la
Universidad y las normas que la Metodología de la
Investigación Científica sugiere, por lo tanto autoriza su
presentación ante los organismos académicos
pertinentes.

Loja, Abril del 2007

DIRECTOR DE TES 5

viii
AUTO RÍA

Los criterios y contenidos expuestos en el presente


trabajo de investigación, son de exclusiva
responsabilidad de su autor.

/U,Mw-.
Nixon Geovanny Acaro Vega
C.I. 1103042402

lx
AGRADECIMIENTO

Dejo constancia de mi más sincero agradecimiento a las


Autoridades, personal docente y administrativo de la
Universidad Técnica Particular de Loja, así como de la
Escuela de Ciencias de la Computación por permitirme
efectuar mis estudios universitarios en tal acreditada
alma mater lojana.

Al Ing. Héctor F. Gómez A., Director de Tesis, quien con


sus ilustrados conocimientos me guió
desinteresadamente en forma acertada durante todo el
desarrollo del presente trabajo de investigación.

A todas las personas, amigos y compañeros de estudio,


que de una u otra manera generosa me brindaron su
apoyo con material bibliográfico, datos, opiniones, ideas,
etc., para la culminación exitosa de la presente tesis de
Grado.

El Autor

Ki
DEDICATORIA

Para Soledad
Sin su apoyo, esto no habría sido posible.

Para Johann Michael


Gracias por soportar a un papá distraído.

xi
ACTA DE CESIÓN DE DERECHOS DE TESIS DE
GRADO

Yo, Nixon Geovanny Acaro Vega declaro conocer y


aceptar la disposición del Art. 67 del Estatuto Orgánico
de la Universidad Técnica Particular de Loja que en su
parte pertinente textualmente dice: "Forman parte del
patrimonio de la Universidad la propiedad intelectual de
investigaciones, trabajos científicos o técnicos y tesis de
grado que se realicen a través, o con el apoyo
financiero, académico o institucional (operativo) de la
Universidad"

El Autor

/91WI
Nixon Geovanny Acaro Vega

xli
Proyecto de Tesis

CARTA DE PRESENTACIÓN DEL TEMA DE TESIS:

Loja,] de junio del 2006

Ingeniero
Nelson Piedra
Director de la Escuela de Ciencias de la Computación
Universidad Técnica Particular de Loja
Ciudad.-

De mi consideración:

Por medio del presente me permito solicitar se digne aprobar el


proyecto de tesis denominado "Reconocimiento supervisado de
patrones a partir de imágenes satelitales de la ciudad de Loja años
1980 y 2000" luego de haber realizado la revisión y análisis con el
docente sugerido como director de tesis.

Por la favorable atención al presente, le reitero mi sincero


agradecimiento.

Atentamente,


Nixon Geovanny Acaro Vega Ing. Héctor Gómez

Tesista Docente sugerido como
Director de tesis

Vto. Bno. Vto. Bno.


Ing. Nelson Piedra Sr. Carlos Correa
DIRECTOR DE LA ESCUELA DE DIRECTOR DE UPSI
CIENCIAS DE LA COMPUTACION
Proyecto de Tesis

CERTIFICACIÓN: ACEPTACIÓN DEL PROYECTO DE TESIS

Loja, 1 de Junio del 2006

Héctor Fernando Gómez Alvarado


Escuela de Ciencias de la Computación

Dejo constancia de haber revisado y estar de acuerdo con el


proyecto de Tesis, titulado: Reconocimiento supervisado de patrones
a partir de imágenes satelita les de la ciudad de Loja años 1980 y 2000

Presentado por: Nixon Geovanny Acaro Vega

Particular que comunico para los fines legales pertinentes.

Héctor F. Gómez A.
(DIRECTOR DE TESIS)

Visto Bueno Dirección Escuela

F) .....................................
Ing. Nelson Piedra
Director de la Escuela Ciencias de la Computación

Fecha: .... ..........................

xv
Proyecto de Tesis

PROYECTO DE TESIS

Título Tema propuesto por: Sistemas


Reconocimiento de Información Geográfica
supervisado de patrones Universidad UTPL
a partir de imágenes
satelitales de la ciudad de Estudiantes Nixon Acaro
Loja años 1980 y 2000
Otros

Nombres y Apellidos del Director de Tesis


Héctor Fernando Gómez Alvarado

Nombres y apellidos del Profesional en Formación


Nixon Geovanny Acaro Vega

Duración del Proyecto


12 meses

Tiempo previsto de ejecución 6 meses (máximo 9 meses)

Fecha de iniciación: 01-06-2006

Financiamiento del Trabajo



Costo Estimado del Trabajo: 7000 USD

Explicar claramente la forma de financiamiento



UTPL: IiIiIIIUJb1IIJ

APORTE FUNDACYT EN CASO DE QUE SE DIERA: 2000 USD



Propio: 2000 USD

Privado:

xv'
Proyecto de Tesis

TÍTULO DEL PROYECTO DE TESIS

Reconocimiento supervisado de patrones a partir de imágenes satelitales de


la ciudad de Loja años 1980 y 2000.

1. INTRODUCCIÓN DEL PROYECTO:

Una herramienta fundamental para la elaboración de cartografía es la


teledetección espacial, técnica que permite adquirir imágenes
multiespectrales desde sensores remotos. Estas imágenes brindan una mayor
cantidad de observaciones de las coberturas, que cualquier levantamiento
terrestre, trabajando a una misma escala. A través de los años, la
disponibilidad al público y los costos de las imágenes fueron más accesibles,
sumado a los avances en la resolución tanto espacial como espectral. Por
este motivo su interpretación y análisis se encuentran en creciente
desarrollo."

El presente trabajo trata entonces de utilizar imágenes satelitales como


fuente de datos, a través de los cuales se logra una clasificación temática y
lógica de los mismos. La clasificación temática se refiere a que los datos de
una imagen satelital se pueden clasificar en: Cobertura de suelo, agua e
inclusive temperatura. La clasificación lógica se refiere en cambio al
resultado de la red neurona¡, es decir, cuando una clase es detectada se
obtiene salida uno y cuando no es detectada salida cero. Por ello, en la
presente tesis se empezará observando las definiciones de sensores remotos
y de imágenes satelitales con el fin de aprender cuales son sus
potencialidades y ventajas.

Luego se presentará como se puede descomponer una imagen satelital en


vectores los mismos que sostienen información que servirá de entrada para
la red neuronal. Como cada vector sostiene datos importantes, cada una se
encuentra especializada en un tipo de los mismos.

Por otro lado como el objetivo principal del proyecto es clasificar una imagen
satelital, tomamos las características propias de cubierta vegetal, vegetación
sana y agua los mismos que son los patrones con los cuales compararemos
nuestras entradas a la salida de una red neuronal.

1 Speranza F. C.y H. R. zerda. Clasificación di g ital de coberturas vegetales a partir de datos


satelitales multies pectrales, PDF.

xvii
Proyecto de Tesis

Es importante señalar además que este proyecto forma parte de la propuesta


realizada por el Instituto de Desarrollo Ambiental para el proyecto:
Reducción de la pobreza a través de la implementación de cadenas
productivas y comercialización de productos agroforestales del
cantón Yanzatza, Zamora Chinchipe, en donde la clasificación de las
imágenes satelitales resultan de vital importancia en la determinación del uso
de suelo, objetivo principal del presente trabajo.

II. OBJETIVOS

General:

Desarrollar una metodología de clasificación inteligente que permita la


clasificación supervisada de patrones a partir de imágenes satelitales.2

Específicos:

+ Localizar las clases de cobertura vegetal en la imagen en estudio.


+ Construir una aplicación informática amigable que clasifique imágenes
satélites de Loja, de acuerdo a los diferentes usos de suelos que
permita verificar los resultados en base a la metodología propuesta.

III. JUSTIFICACION

En el desarrollo de las tesis Clasificación de imágenes multiespectrales de la


región sur del Ecuador mediante redes neuronales y Reconocimiento
supervisado de patrones a partir de imágenes satelitales de la ciudad de Loja
año 1980 y 2000, como parte de los objetivos de las mismas se propone la
construcción de aplicaciones amigables que permitan la ejecución de los
algoritmos y la interacción con el usuario. Durante el desarrollo del trabajo
investigativo se encontró librerías y módulos que permiten la consecución del
objetivo anterior de acuerdo a los siguientes elementos de juicio:

- Los módulos permiten el ingreso de las imágenes tanto de


fotografías aéreas como de imágenes satelitales de una forma
sencilla y fácil.
- Los módulos y librerías corren en el programa MatLab, programa
existente en el mercado.

2
La metodología para el desarrollo del presente proyecto es la propuesta por Martín del Brio.
En el presente trabajo se desarrollará una metodología para la clasificación de usos de
suelos en imágenes satelitales.

xviii
Proyecto de Tesis

Los módulos constituyen en si mismo redes neuronales no


entrenadas. Esto significa que no había que programar
nuevamente la red, sino entender su funcionamiento y entrenarla
con los datos de estudio. Así mismo la tesis consistió en
comprender los algoritmos y no en reprogramar lo que ya
teníamos a mano.
Estas librerías y módulos ya habían sido probados y analizados en
otros trabajos de investigación, por lo que nos daba claridad y
seguridad en los resultados.

Por otro lado, una vez que se entendió el funcionamiento de los módulos
anteriores se procedió a construir y modelar aplicaciones, en donde los
datos se ingresan desde Excel o desde una base de datos y el programa
desarrollado se encarga de arrojar los resultados, los mismos que han sido
comparados con los módulos anteriores y otros programas existentes en el
mercado.

Es conveniente decir entonces, que en ambos casos tanto en el uso de


módulos y librerías existentes, como en el caso de los programas
desarrollados se contempla el cumplimiento del objetivo del desarrollo de las
aplicaciones amigables planteada en las tesis en mención.

W. METODOLOGÍA

Hipótesis:

La clasificación supervisada de imágenes satelitales permite la obtención de


coberturas vegetales así como índices de vegetación en el área de estudio
seleccionada.

Metodología:

Para el caso de los proyectos relativos a Inteligencia Artificial y en esencia los


de redes neuronales se propone el uso de la experimentación como lo
expone [Martín del Brío, 2003] en su libro Redes Neuronales y Sistemas
Difusos, en el que se expresa los siguientes pasos, pág. 239:

•• Comprensión correcta del problema, por lo que se tendrá un estudio


previo de la imagen satelital en si mismo.
•• Introducción explícita del conocimiento apriorístico.
•• Descomposición del problema en partes.
•. Ensayo de distintos métodos neuronales o no y seleccionar el más eficaz.
•:• Integrar en una aplicación diversas soluciones.

xix
Proyecto de Tesis

•:. Huir de las aplicaciones a ciegas de los sistemas de neuronas ' artificiales.
• Se puede usar sistemas comerciales de simulación que proporcionan una
interesante visión del problema, aunque casi siempre es necesario crear
un software específico para la aplicación en desarrollo.
•:• Si la aplicación precisa además tratar muchos datos en tiempo real, o
bien se requiere de un circuito dedicado, pequeño y de bajo consumo,
puede resultar necesario el empleo de hardware neuronal específico.

V. RECURSOS

Humanos:

- 1 Tesista
- 1 Director de tesis
- 1 Asesor del área ambiental
- 1 Asesor de resultados del proyecto

Equipos

EQUIPOS, MATERIALES E DISPONIBILIDAD


INSTALACIONES
Computadores 100
Imágenes satelitales/ fotografías aéreas 100
Software 1100

Cronograma de actividades

ACTIVIDAD - flEMPOfmesesj - -
123456789
Data Minning / X X
Investigación
Determinación de X X
vectores de
entrada
Uso de X
simuladores y/o
construcción de
aplicaciones
Pruebas y X X
conclusiones
finales

xx
Proyecto de Tesis

Presupuesto

ACTIVIDAD COSTO
Data Mining 2000
Investigación 1000
Determinación de vectores de entrada 1000
Uso de simuladores y/o construcción de 1000
aplicaciones
Pruebas y conclusiones finales 2000
Fuente: Sistema de Información Geogratica U.T.P.L.

VI BIBLIOGRAFÍA

+ James Freeman/David Skapura. Redes Neuronales, Algoritmos,

aplicaciones y técnicas de programación. Addison - Wesley/Diaz de

Santos. España, 1993. 431 p.

+ Giarratano-Riley. Sistemas Expertos, Principios de Programación.

Thomson, México, 1998, 596 p.

•. Nils 3 Nilson. Inteli g encia Artificial, Una nueva síntesis. McGraw-Hill,

Argentina, 2001, 457 p.

•:• CHUVIECO, Emilio. Teledetección Ambiental, Editorial Ariel, España, 2002,

584 páginas.

•:• Martin del Brio, Sanz Molina. Redes Neuronales y Sistemas Difusos, Alfa-

Omega, España, 2003, 399 p.

PDF:

•. Speranza F. C.y H. R. Zerda. Clasificación digital de coberturas vegetales

a partir de datos satelitales multiespectrales.

XXI
í41
L TE

RECONOCIMIENTO
SUPERVISADO DE PATRONES A
PARTIR DE IMÁGENES
f
SATELITALES DE LA CIUDAD
DE LOJA AÑOS 1980 Y 2000
CAPITULO 1
Selección de la herramienta de
desarrollo
'U niversi6a6 Técnica Particular de Loja
Selección d &i herramienta de Lesaro flTo

CAPITULO 1
SELECCIÓN DE LA HERRAMIENTA DE DESARROLLO

En la propuesta del anteproyecto de tesis, se planteó el desarrollo de una


metodología y de una aplicación informática que permita la clasificación
supervisada de imágenes satelitales. Se emprendió en dicha tarea,
obteniendo como producto final la aplicación NETImage desarrollada en
Visual Basic 6.0, basada en el algoritmo de BackPropagation. Sin embargo,
durante la fase de investigación detallada se encontró la herramienta NetLab
basada en MatLab, la misma que a través de comandos y sentencias
resuelve el problema de la clasificación supervisada de la zona en estudio.
Luego se procedió a realizar las comparaciones entre los software
empleados.

Aplicación de la metodología con el uso del lenguaje de


programación

Una red neurona¡ puede ser programada en cualquier lenguaje de


programación, en el cual se puedan combinar elementos de selección de
variables y determinación de la arquitectura de la red en si misma. Se
procedió a la selección del lenguaje de programación java por los siguientes
aspectos:

a) Librerías en las que ya se aplica la estructura de la red neurona¡


b) Ejemplos de aplicación existentes de redes neuronales supervisadas
c) Existencia de una máquina de razonamiento Jess

3
Vniversiaécnica (Paicur de Loja
Sección de la herramienta de 6esaro fío

Aplicación de la metodología en MatLab

MatLab posee dentro de sí aspectos esenciales para la operación de redes

neuronales, de hecho ofrece utilitarios para su operación. En base a estos

simuladores, se ha programado la herramienta NetLab, especializada en

redes neuronales supervisadas, sobre la cual se pueden realizar los

siguientes procesos:

a) Normalización de los datos: Este proceso se refiere a convertir los


pixeles de una imagen satelital en sus correspondientes niveles de

gris, o sea en sus colores precisos RGB.

b) Análisis de datos: Este proceso se refiere a determinar los patrones


que más tarde en la red neurona¡ nos servirán como el modelo de

comparación. En definitiva, se obtiene una clasificación previa de las

diferentes clases de patrones.

c) Procesamiento de las redes neuronales supervisadas: Consiste en


determinar la arquitectura de la red neurona¡, la misma que se explica

en el capítulo II.

d) Visualización de los resultados: Presenta los resultados obtenidos de la


clasificación, los cuales permiten realizar comparaciones con los

obtenidos con otros simuladores.

Selección de la herramienta

Herramienta Normalización Librerías para Máquina de Procesamiento Visualización


de datos procesamiento de la razonamiento de redes de resultados
red neurona¡ neuronales
supervisadas
Java, librerías No Si Si No No
para redes
neuronales
MatLab Si Si Si Si Si

• Tanto la normalización como el análisis de los datos, se realizó en el programa


ERDASImagine existente en Sistemas de Información Geográfica de la U.T.P.L.

4
niversiéa6 Técnicaaicu(ar6e Loja
Selección de la herramienta de éesarotío

Este criterio permite recomendar a la herramienta MatLab como sugerida


para la clasificación supervisada de imágenes satelitales, como herramienta
externa, que nos servirá para la comparación de resultados posteriores.

Así mismo, como parte de la clasificación supervisada se procederá a usar la


herramienta Weka que contiene los algoritmos 348 y PART como elementos
basados en métodos estadísticos.
CAPITULO II
Clasificación de imágenes
satelitales Landsat por medio
de redes neuronales
supervisadas
?)niversidadTécnica ÇParticu(ar di Loj
imágenes satetitales £J4JÍDSJ4

CAPITULO II
CLASIFICACIÓN DE IMÁGENES SATELITALES LAN DSAT
POR MEDIO DE REDES NEURONALES SUPERVISADAS

Resumen

En el presente trabajo se explica la clasificación de usos de suelo en


imágenes satelitales LANDSAT. Para lograr este objetivo se ha
descompuesto la imagen patrón en píxeles cada uno perteneciente a una
clase distinta, luego esta imagen ha sido ingresada a una red neurona¡
supervisada para la cual se ha propuesto su arquitectura y el algoritmo de
aprendizaje de gradiente conjugado escalado. Los resultados se han
contrastado con una imagen de testeo y los mismos se han comprobado con
lo obtenido por los clasificadores 348 y PART.

Abstract

In the present work the classification of ground uses appears in satelite


images LANDSAT. In order to obtain this objective pattern in pixeles has
been disturbed to the image each one pertaining a different class, soon this
image has been entered to a supervised neurona¡ network for which its
architecture has seted out and the algorithm of learning of conjugated
gradient climbed. The results have been resisted with a testeo image and
such they have been verified with the obtained thing by sort keys 348 and
PART.

Palabras clave

ÑeUrOna,•LÁNDSAT, clasificadores, patrón, gradiente.

'4
'7) niversi6aé Técnica çParticulTar d
imágenes sateíita(es £\ÍÇDSfiT

Estado Actual del Arte

Las aplicaciones de las redes neuronales para clasificar imágenes satelitales


han demostrado excelentes resultados inclusive han sido aplicados en
software comercial como ArcGIS o Erdas Image. Este tipo de aplicaciones
contienen dentro de sí clasificaciones supervisadas y no supervisadas de los
usos de suelos; sin embargo, no entran en detalle a explicar los métodos que
utilizan para obtener sus resultados ni tampoco la arquitectura de la red
neurona¡, por este motivo nos sirven como referencia pero no como
herramienta de desarrollo para la presente proyecto. Tampoco nos sirve
como herramienta de comparación puesto que al no entrar en detalles del
algoritmo de aprendizaje los resultados pueden ser diferentes.

Un ejemplo de ello tenemos en la publicación [DME tutorial for Week 5] en


donde toma como entrada los datos de una imagen satelital landsat y
mediante clasificadores como el Naive Bayes y redes neuronales logra
establecer un nivel aceptable de coincidencias para las 6 clases de uso de
suelo disponible. De igual forma su clasificación es de acuerdo a los pixeles
de la imagen.

Así mismo en [Aguilar, Guaynados, Cuarite, Reynaga] se encuentra la


aplicación de las redes neuronales a la planificación territorial a partir de
imágenes aéreas en el proyecto AIRENE.

Por otro lado en [Triñanez, Tobar, Hernández] se presenta la clasificación de


imágenes satelitales mediante redes neuronales supervisadas. Al mismo
tiempo realiza un análisis de la variante de la regla delta generalizada.

En la bibliografía encontrada en [Base Group Lab], se refiere al uso del


método del gradiente, considerado como un modelo matemático que sirve
8
Vniversicfací Técnica (Particular d
imágenes satetitales LVTDSfi'7

para distribuir el error entre un conjunto de neuronas en especial de la capa


intermedia. Este método conocido también como en el método de gradiente
conjugado se basa en el producto de dos vectores a los cuales se les llama x
e y, o también la representación de la suma de dos escalares. Originalmente
el método de gradiente conjugado fue desarrollado para resolver
combinaciones lineales algebraicas de la forma ax=b donde x es un vector
desconocido, b un vector conocido y a es una matriz simétrica cuadrática
positiva. Resolver estas ecuaciones es equivalente a encontrar la
correspondencia cuadrática mínima, por lo que tiene directa relación con el
error cuadrático medio.

Lo anterior se puede entender también en lo expuesto por [FREEMAN,


SKAPURA, 19931, en la que se habla del método de descenso más
pronunciado con el fin de asignar valores arbitrarios a los pesos, a partir de
este punto, de la superficie de pesos se determina la dirección de la
pendiente más pronunciada en dirección hacia abajo, luego se modifican
ligeramente los pesos para que el nuevo vector de pesos se encuentre más
abajo en la superficie. Este proceso se repite hasta haber alcanzado el
mínimo.

Otra de las investigaciones que habla mucho del condiciona miento de la


propagación del error es lo expuesto por [RUMELHART, HINTOM,
WILLIAMS], cuando se habla de la regla delta generalizada. En este paper se
expone el procedimiento que involucra la presentación de un conjunto de
pares de entradas y un conjunto de patrones en la salida, el sistema usa en
primer lugar un vector de entradas para producir su propio vector y entonces
comparara éste con la salida deseada o el vector de testeo, si existe
diferencia no ha ocurrido aprendizaje, por lo que los pesos deberán ser
cambiados para reducir esta diferencia, en este caso, no se habla de
unidades ocultas, por lo que se aplica la regla delta estándar y entonces es
9
UniversiéadTécnica ÇParticu(ar di £oj
ée imágenes sate(italTes £fi5VDS)4

necesario derivar una nueva regla. Con el fin de conseguir este propósito es
muy importante observar las unidades lineales y minimizar el error
cuadrático o en definitiva las salidas deseadas de las salidas obtenidas, una
vía para poder realizar esto es derivando la media del error con respecto a
cada peso, de la siguiente manera:

aE P aE
aw, ao
PY ji

La fórmula anterior significa el uso de las derivadas parciales respecto a los


pesos y salidas deseadas, así en la primera parte de la fórmula el error se
deriva parcialmente a la salida y esto es directamente proporcional al error
distribuido en cada uno de los pesos.

Todo éste cálculo del error se usa en el algoritmo de BackPropagation *


aplicado en el desarrollo de la presente tesis y citado de igual forma en
[FREEMAN, SKAPURA, 19931, en donde se manifiesta que la destreza
matemática no es lo que se necesita para reconocer tramas complejas en
entornos ruidosos, de hecho la búsqueda algorítmica incluso dentro de un
espacio de entrada relativamente pequeño puede llegar a consumir mucho
tiempo, el problema es la naturaleza secuencia¡ del propio computador, el
ciclo tomar ejecutar de la arquitectura Von Neumann, solo permite que la
máquina realice una operación a la vez, en la mayoría de los casos, el tiempo
que necesita la máquina para llevar a cabo cada instrucción es tan breve
(típicamente alrededor de una millonésima de segundo) que el tiempo total
necesario incluso para un programa grande es insignificante para los
usuarios humanos, sin embargo, para aquellas aplicaciones que deban
explorar un gran espacio de entradas o que intentan correlacionar todas las
permutaciones posibles de una trama compleja, el tiempo necesario incluso
para una máquina muy grande puede volverse insoportable con gran
10
t)niversi6a6Técnica (Particular d
imágenes

rapidez, lo que se necesita es un nuevo sistema de procesamiento, que sea


capaz de examinar todos los pixeles de la imagen en paralelo, idealmente,
ese sistema no tendría que ser programado explícitamente, lo que haría es
adaptarse así mismo, para aprender la relación entre un conjunto de tramas
dadas como ejemplo y sería capaz de aplicar la misma relación a nuevas
tramas de entrada. Este sistema sería capaz de concentrarse en las
características de una entrada arbitraria que se asemejase a otras tramas
vistas previamente, tal como los pixeles de una imagen ruidosa que se
aparecen a un caracter conocido y sería capaz de ignorar el ruido.
Afortunadamente existe un sistema así, este recibe el nombre de red de
propagación hacía atrás. Para empezar, la red aprende un conjunto
predefinido de pares de entradas y salidas dados como ejemplo, empleando
un ciclo propagación-adaptación de dos fases. Una vez que se ha aplicado
una trama de entrada como estimulo para la primera capa de unidades de la
red, esta se va propagando a través de todas las capas superiores hasta
generar una salida. La señal de la salida se compara entonces con la salida
deseada, y se calcula una señal de error para cada unidad de salida.

Las señales de error se transmiten entonces hacia atrás, partiendo de la capa


de salida, hacia todos los nodos de la capa intermedia que contribuyan
directamente a la salida. Sin embargo, las unidades de la capa intermedia
solo reciben una fracción de la señal total del error, basándose
aproximadamente en la contribución relativa que haya aportado la unidad a
la salida original. Este proceso se repite, capa por capa, hasta que todos los
nodos de la red hayan recibido una señal de error que describa su
contribución relativa al error total. Basándose en la señal de error percibida,
se actualizan los pesos de conexión de cada unidad, para hacer que la red
converja hacia un estado que permita codificar todas las tramas de
entrenamiento.

11
7JniversüfadTécnica Particu(ar de
imágenes sate(ita1s L7DSI4T

La importancia de este proceso consiste en que, a medida que se entrena la


red, los nodos de las capas intermedias, se organizan así mismos de tal
modo que los distintos nodos aprenden a reconocer distintas características
del espacio total de entradas. Después del entrenamiento, cuando se les
presenta una trama arbitraria de entrada que contenga ruido o que este
incompleta, las unidades de las capas ocultas de la red responderán con una
salida activa si la nueva entrada contiene un trama que se asemeje a aquella
característica que las unidades individuales hayan aprendido a reconocer
durante su entrenamiento. Y a la inversa, las unidades de las capas ocultas
tienen una tendencia a inhibir sus salidas si la trama de entrada no contiene
la característica para reconocer la cual han sido entrenadas.

A medida que las señales se propagan a través de las diferentes capas de la


red, la trama de actividad que está presente en todas las capas superiores se
puede ver como una trama con características que son reconocidas por las
unidades de las capas subsiguientes. La trama de salida que se genera se
puede ver como un mapa de características que ofrece una indicación de la
presencia o ausencia de muchas combinaciones distintas de características
dentro de la entrada. El resultado global de este comportamiento es que la
Red de BackPropagation constituye un medio eficiente para permitir a un
sistema de computadores examinar tramas de datos que pueden ser
ruidosas, o estar incompletas, y reconocer tramas sutiles a partir de entradas
parciales.

Hay varios investigadores que han demostrado que, durante el


entrenamiento, las redes de BackPropagation tienden a desarrollar relaciones
internas entre nodos con el fin de organizar los datos de entrenamiento en
clase de tramas. Esta tendencia puede extrapolar, para llegar a la hipótesis
consistente en que todas las unidades de capas ocultas de una red de
BackProgation son asociadas de alguna manera a características específicas
12
't)niversiéaéTécnica ÇParticu&2rde Loj
supervisada de imágenes satelitates £14L7VCDS14

de la trama de entrada como consecuencia del entrenamiento. Lo que sea o


no sea exactamente la asociación puede no resultar evidente para el
observador humano. Lo importante es que la red ha encontrado una
representación interna que le permite generar las salidas deseadas cuando
se le dan las entradas de entrenamiento. Esta misma representación interna
se puede aplicar a entradas que no fueran utilizadas durante el
entrenamiento. La Red de BackPropagation clasificará estas entradas que no
había visto hasta el momento según las características que compartan con
los ejemplos de entrenamiento.

En el artículo publicado [RUMELHART, GEOFFREY, WILLIAMS, 1986]


manifiestan que el total de entradas x1, para las unidades j es una función
lineal de las salidas y, de las unidades que están conectadas a j y de los -
pesos w,, sobre esas conexiones:

Las unidades introducen una entrada extra para cada unidad, la cual por lo
general tiene el valor de 1. El peso de esta entrada extra es llamada bias y
es equivalente a un umbral de signo positivo. Esto puede ser tratado como
otro peso.

Una unidad tiene un valor real en la salida, y, como una función no lineal de
la entrada total:
1
x1 = -x
1+e

13
t)niversitfad'Técnica (Particular de Lo
imágenes satetit ates L8'ÍÇDSJ4q

No necesariamente se usan las funciones citadas en las ecuaciones


anteriores. Cualquier función de entrada-salida puede ser derivada al mismo
tiempo. Sin embargo, el uso de una función lineal que combine las entradas
a una unidad antes de aplicar la función no lineal simplifica el proceso de
aprendizaje. Por lo que se especifica el tratamiento del error como una
media distribuida entre las capas intermedias de la entrada y la salida:

E = —d)2

Aquí el error E, se define a partir de c que es un indicador de los casos


(pares de entradas y salidas), j que es un indicador de las unidades de
salida, yes el estado actual, por último des la salida deseada.

Por otro lado, el proceso de retropropagación empieza tomando el valor de


las derivadas parciales del error y de y por cada una de las unidades de
salida. Esta ecuación diferencial es un caso particular en donde c se
suprime debido a que el error se distribuye solamente entre las capas
intermedias.

aE/8y1 =y—d

Con esto se puede aplicar la regla de cálculo por reemplazo siguiente:

aE/ax1 =cE/ay1.dy1/dx1

Obteniendo con ello un promedio que se conoce como el cambio total de las
entradas hacia las salidas afectadas por el error. El número total de
entradas se constituye una función lineal (aquí debe recordarse el concepto
de linealmente separables) para los pesos y sus dendritas o conexiones, por
14
Universiéa6'Técnica Particular de Loj
supervisada de imágenes satetit ates £X)'[ÇDSJ4

lo que la facilidad del cálculo se ve afectada por los cambios de estados de


los pesos. Para cada uno de los pesos, la función debe derivarse así:

aEIa =aE/ay.,(l-y1)

Este proceso se repite infinidad de veces y por último se llega a obtener un


gradiente incremental del peso calculado a:

Aw = -s8E/?iw

Con lo que se termina de calcular el gradiente de aprendizaje y cambio de


pesos.

Esta información resulta fundamental a la hora de proponer una solución de


redes neuronales al caso de estudio presente, por lo que serán tomadas en
cuenta para la toma de decisiones en herramientas como en la construcción
de la misma.

15
'Universiiaé Técnica ÇParticufar de £oj
supervisada de imágenes

1. Introducción

En el presente trabajo se explica la clasificación de usos de suelo mediante


redes neuronales aplicadas a imágenes de satélite Landsat, para la cual se
realiza una definición básica de las bandas que posee (4 usadas en el
presente trabajo). Se detalla además la estructura del archivo de datos, el
mismo que está compuesto por píxeles de la imagen y las clases a las que
pertenecen estos píxeles.

Luego se definirá la arquitectura de la red neurona¡ que se aplicará para la


clasificación como también el algoritmo usado para el aprendizaje con la
correspondiente función de activación.

Por último se pondrá á prueba el ejercicio con un archivo de testeo y se


contrastarán los resultados con los clasificadores 348 y PART.

16
L)niversifadTécnica Particu[ar de Loja
C[asficación supervisacfa di imágenes satefita [es L7'f'DSJ4F

2. Imágenes de satélite Landsat

Una imagen LANDSAT 7 ETM+ está compuesta por 8 bandas espectrales que

pueden ser combinadas de distintas formas para obtener variadas

composiciones de color u opciones de procesamiento. Entre las principales

mejoras técnicas respecto de su antecesor, el satélite Landsat 5, se destaca

la adición de una banda espectral (Banda Pancromática) con resolución de

15 metros. También cuenta con mejoras en las características geométricas y

radio métricas y una mayor resolución espacial de la banda térmica para

60m. Estos avances tecnológicos permiten calificar al LANDSAT 7 como el

satélite más interesante para la generación de imágenes con aplicaciones

directas hasta una escala de 1:25.000, principalmente en áreas rurales o

territorios de grandes extensiones, se puede observar como ejemplo la

Figura 2.1:

-
--

-
-: -.

Figura 2.1. Imagen de satélite Landsat de Loja-Ecuador

17
t)niversidacfTécnica ÇParticu&zr de Lojc
imágenes satelitates

Tal como se mencionó anteriormente una imagen de satélite se encuentra


compuesta por bandas, para el sensor TM del Landsat5 representan:

Banda 1: (0,45 a 0,52 micrones - azul -) Diseñada para penetración en


cuerpos de agua, es útil para el mapeo de costas, para diferenciar entre
suelo y vegetación y para clasificar distintos cubrimientos boscosos, por
ejemplo conífero y latí foliadas. También es útil para diferenciar los
diferentes tipos de rocas presentes en la superficie terrestre.

Banda 2: (0,52 a 0,60 micrones - verde -) Especialmente diseñada para


evaluar el vigor de la vegetación sana, midiendo su pico de reflectancia (o
radiancia) verde. También es útil para diferenciar tipos de rocas y, al igual
que la banda 1, para detectar la presencia o no de limonita.

Banda 3: (0,63 a 0,69 micrones - rojo -) Es una banda de absorción de


clorofila, muy útil para la clasificación de la cubierta vegetal. También sirve
en la diferenciación de las distintas rocas y para detectar limonita.

Banda 4: (0,76 a 0,90 micrones - infrarrojo cercano -) Es útil para la


delimitación de cuerpos de agua y para la clasificación de las rocas.

Banda 5: (1,55 a 1,75 micrones - infrarrojo medio -) Indicativa del


contenido de humedad de la vegetación y del suelo. También sirve para
discriminar entre nieve y nubes.

Banda 6: (10,40 a 12,50 micrones - infrarrojo termal -) El infrarrojo termal


es útil en el análisis del stress de la vegetación, en la determinación de la
humedad del suelo y en el mapeo termal.

18
1Jniversifa6 Técnica (Particular de Loja
C(as flcación supervisada di imágenes satefitaCes 4V'Í(DSJ4'T

Banda 7: (2,08 a 2,35 micrones - infrarrojo medio -) Especialmente


seleccionada por su potencial para la discriminación de rocas y para el
mapeo hidrotermal. Mide la cantidad de hidróxilos (OH) y la absorción de
agua.'

1
CHUVIECO, Emilio. Teledetección Espacial, Editorial Ariel, España, 2006.

19
Onhersi6adTécnica Particular Le Loja
Cíasficación supervisada Le imágenes sateritares LXW)S)4'T

3. Estructura del archivo de datos de la imagen de


satélite Landsat.

Una vez definidas las bandas que se encuentran en una imagen satelital

podemos identificar a través de la información que nos facilitan, el uso del

suelo que se encuentra en la zona de estudio y además el porcentaje de éste


uso sobre la misma imagen. En este sentido sobre los datos proporcionados

para el satélite Landsat en el presente trabajo se identificarán las siguientes

ciases:

Tabla No. 1: Clases de usos de suelos


Number Class
1 red soil
2 cover basic
3 grey soil
4 damp grey soil
5 soil with vegetation stubble
6 mixture class (al¡ types present)
7 very damp grey soil
Fuente: Aguilar Bañados, Cuarite Reynaga.

Las imágenes Landsat (82 columnas por 100 filas) han sido organizadas en

píxeles. Cuatro bandas del satélite han sido tomadas en cuenta para la
clasificación, por lo tanto cada píxel tendrá información de las cuatro bandas,
por ejemplo existirá información del Píxel 1_1, Píxel 1_2, Píxel 1_3, Píxel 1_4.

La información que sostiene cada píxel es referente a la frecuencia de los


datos sobre cada banda la misma que se encuentra en un rango [0..255].

Cada píxel representa un área de 80*80 metros. Los datos obtenidos


corresponden a tomar sobre la imagen una matriz 3*3• Sobre la cual se
aplica el algoritmo del vecino más próximo en el que se resume la

información de 9 píxeles sobre una matriz 3*3 de acuerdo a un píxel central


tomado sobre la imagen. Los píxeles son numerados de izquierda a derecha
20
7Jniversic[ad'Técnica ÇParticu(ar d Loj
ción supervisada de imágenes satefitares L'Í(DSJ4I

y desde arriba hacia abajo. Así el píxel 1 es el superior izquierdo, el píxel 3

es el superior derecho uno y el píxel 5 es el píxel central uno, el cual

sostendrá la información representativa de cada uno de sus vecinos. Mayor

información de este algoritmo se puede obtener en [CHUVIECO, 2002]

En este sentido el archivo de datos a ser procesado contendrá 36 entradas

contemplando de O a 36 para información de los píxeles y la última entrada

correspondiente a la clase para el entrenamiento.

21
VniversiadTcnica Particular Le Loja
Clasificación supervisada Le imágenes satefitafes LXN(DS4'T

4. Red Neurona¡

En este caso como tenemos datos para el entrenamiento de la red neurona¡

y para el testeo de la misma optamos por las características de una red

neurona¡ con aprendizaje supervisado que consiste según [DEL BRIO,

MOLINA 2002] en presentar a la red un conjunto de patrones, junto con la

salida deseada u objetivo, e iterativamente esta ajusta sus pesos hasta que

su salida tiende a ser la deseada, utilizando para ello información detallada

del error que comete a cada paso, este proceso es también conocido como

Backpropagation.

4.1. Arquitectura de la red y Algoritmo de aprendizaje

Uno de los aspectos importantes que tiene que comprobarse en la red


neurona¡ consiste en el análisis del error en base al algoritmo de aprendizaje

elegido. En este sentido, si añadimos a un perceptrón simple capas


intermedias lo convertimos en un perceptrón multicapa conocido como

Mu/t/Layer Perceptron - MLP. En conjunto la arquitectura MLP y el

aprendizaje Backpropagation suele denominarse red de retropropagación


[DEL BRIO, MOLINA 2002]. Por otro lado un MLP de una única capa oculta

puede aproximar hasta el nivel deseado cualquier función continua en un


intervalo, por lo tanto las redes neuronales multicapa unidireccionales son

aproximadores universales de funciones.

Bajo este esquema la arquitectura corresponde a un MLP de tres capas, con


las entradas, salidas, pesos y umbrales de las neuronas. Por tanto, dado un

patrón x11 (u=1... p), la operación global de esta arquitectura se expresa de la

siguiente manera:

22

?jniversifadTécnica Particular de Loja


Clasificación supervisada de imágenes sateCita&s Ll4]f(DSJ4'T

W.. e, w'ki
II

Entrada Oculta Salida Objetivo



pylJ - + IJ
xlJ

Figura 4.1. Arquitectura de MLP

W.. e, w,

Entrada Oculta Salida Objetivo


yl;i
x k k

Figura 4.2. Arquitectura de MLP utilizada en la metodología y obtención de resultados

23
Universiéad'Técnica Particular de Loja
Clasificación supervisada de imágenes satelTita íes LJ4'SJ4'T

La descripción de la arquitectura de red se detallará más adelante en la

sección Tamaño de Arquitectura de la Red.

La regla básica de aprendizaje del perceptrón se basa en la multiplicación de

las entradas por los pesos y realizar la sumatoria de los resultados, de

acuerdo a la siguiente ecuación:

x, w, (1)

En donde x es el vector de características y w los pesos aleatorios. En el


presente trabajo el vector de características se encuentra compuesto por los

9 pixeles correspondientes a la imagen satelital Landsat. Los pesos serán

tomados igual de forma aleatoria.

La ecuación propuesta con anterioridad resuelve el caso de ingreso de datos


y clasificación para un perceptrón. Para los datos propuestos de la imagen

Landsat no se podría usar esta alternativa pues no cumplen con el hecho de


ser linealmente separables (datos no se clasifican automáticamente a un lado
y otro de la línea) por lo que la solución de un solo perceptrón no es
aceptada en este caso [HUSH Y HORNE, 1992]. Esto se puede observar en

la Figura 43:

24
niversicfadTécnica ÇParticufarde Loja
C[asficación supervisada de imágenes satefitafes L]VDS)4F

-JJsj
— MORE
kur ReongIe

Sn,d Cre,, S,e JIn,r

IIJ1

f1lTIHhI1llUiilllIfIHhIH

... -MI.
H}1lIIIIl#1IllEIIiIRIlfiIU
R1VIflH14$Hl(
[kil1iUT

II1lIiIllUI1tllhIIiIIiJt
tIHItiítH

ruti: - nmrutvrin,
III WI1t1ffII

• CrWIOWS,y,t,en2.., 3 jN4#LI51S LOS ALGO..J

Figura 4.3. Análisis de los píxeles de la imagen de satélite Landsat

Bajo lo propuesto entonces corresponde a una arquitectura multicapa MLP,

que en su forma más común, trabaja con una capa oculta y neuronas de

salida lineal, de acuerdo a la siguiente ecuación:

Zk W'j y, - O', = w' W11X1 - O - O' (2)

Siendo f(.) de tipo sigmoideo como por ejemplo las siguientes:

f(x) = (3)
1+e -

f(x) = -e tanh(x) (4)
« +e

25
Universic[adTécnica Çparticufar d Loj
supervisada de imágenes satefita (es LY1DSJ4'T

Proporcionando para la primera una salida en el intervalo [0,+1] y en el [-

1 1 +1] la segunda. Una ecuación de tipo sigmoide tiene un crecimiento en


forma de S, en donde los resultados dentro de la curva serán tomados como

uno y los resultados fuera de la curva serán tomados como cero.

Figura 4.4. Descripción de la función sigmoide.

Una solución al problema de entrenar los nodos de las capas ocultas

pertenecientes a arquitecturas multicapa la proporciona el algoritmo de

retropropag ación de errores o BP (BackPropagation) [Hinton, 1989]. Este


algoritmo se provee como consecuencia natural de extender el algoritmo

LMS2 a las redes multicapa, en la cual el error se calcula como:

E[w,]=_Y:') (5)
2 ¡=1

Que corresponde al error cuadrático medio. Este valor pertenece a las

salidas actuales de la red respecto de los objetivos. El valor t en la fórmula

(5) corresponde al valor obtenido por la red neurona¡ en la i-ésima neurona y

2 Regla Widrow-Hoff o LMS - Least Mean Squares, mínimos cuadrados; regla de aprendizaje de Adalina.
Actualizaciones de tipo continuo, siendo la actualización de los pesos proporcional al error que la neurona comete.
26

Vníversüfad'Técníca Particular de Loj


ón supervisada fe imágenes satetitates £fJ'f'DS)4T

para u-ésima salida. Como en todo clasificador se puede optimizar el error3

para lo cual se usa el método del descenso por el gradiente [BASE GROUP

LAB], para lo que nos queda:

aqj =
—(1 / 2) .2 É (t,' - ;' ) = -É t;' - y ) (6)

y el incremento de los pesos:

f)
=—E aElw l
uI=s(t; —yc' (7)

La constante E es el valor de epsilon.

Considerando lo expuesto y tratándose el presente trabajo de resolver un

problema de clasificación, basado en el esquema de la Figura 4.2, se decide

utilizar una variación a la arquitectura MLP, la misma que consiste en incluir

neuronas no lineales en la capa de salida, cuya ecuación se representa

como:

Z1' -W'k) Y - O'k = "k fÍ (w 1 x' - O ) —8' k (8)


)

En este caso la salida Z representa la salida de una neurona dentro de la red

neurona¡ mientras que la ecuación (2) trata de representar todas las salidas

de todas las neuronas en la misma.

Las funciones de activación de las neuronas ocultas f(h) son de tipo

sigmoideo, con h el potencial postsináptico o local, siendo las típicas las


citadas anteriormente.

Por ejemplo en PART se puede optimizar el error disminuyendo el valor del nivel de confianza de 0.05 a 0.005.
27

Vniversi6a6'Técnica ÇParticular de Loja


Clasificación supervisada de imágenes satelTitalTes L)4KÇDSJ4T

El error se derivará no solamente en función de los pesos de la capa de

salida sino que también en función de los pesos de las neuronas ocultas

haciendo uso de la regla de la cadena. En consecuencia, habrá que exigir

que las funciones de transferencia de las neuronas sean derivables. Lo que

significa que puedan tener respuesta tanto en relación a los pesos como

error obtenido puesto que si no es así no existiría respuesta de la red.

La función de coste de la que se parte es el error cuadrático medio.

j]2
til — fwy (9)
11 k

La minimización de se lleva a cabo mediante descenso por el gradiente, tanto

de los pesos de la capa de salida y de la capa oculta.

8wkj =—e (10) 8w.=—E


ólw

Por lo que las expresiones de actualización de los pesos se obtienen sólo con
derivar, teniendo en cuenta las dependencias funcionales y aplicando

adecuadamente la regla de la cadena.

= s con I\"
( ' )i c(i ) (12)
k = t k - f Vk
ji

=EAl1yu con(13)
u k

28
Q)niversid2zdTécnica (Particular de Lojc
Le imágenes satelTita Les £'(çDST

La actualización de los umbrales (blas) se realiza haciendo uso de estas


mismas expresiones, considerando que el umbral es un caso particular de

peso sináptico cuya entrada es una constante.

En estas expresiones está implícito el concepto de propagación hacia atrás

de los errores que da nombre al algoritmo. En resumen el procedimiento

para entrenar una red MLP es el siguiente:

Tabla No. 2 Procedimiento de la Red de Retropropagación

1. Establecer aleatoriamente los pesos y umbrales iniciales, cuando t:=O.

2. Para cada patrón udel conjunto de aprendizaje.

2.1. Llevar a cabo una fase de ejecución para obtener la respuesta de la red
ante el patrón u-ésimo (8).

2.2. Calcular las señales de error asociadas A Uk y A"(12 y 13).

2.3. Calcular el incremento parcial de los pesos y umbrales debidos a cada


patrón u (elemento de los sumatorios (12 y 13)).

3. Calcular el incremento total (para todos los patrones) actual de los pesos Jw'kj
y Jw,(l2 y 13). Hacer lo mismo para los umbrales.

4. Actualizar los pesos y los umbrales.

5. Calcular el error actual (9), t.-=t+1 y volver a 2. si todavía no es satisfactorio.

Es necesario también en este punto analizar el ritmo de aprendizaje E ya que


al observar para el un valor pequeño implica un aprendizaje lento, mientras

que uno excesivamente grande puede conducir a oscilaciones en el


entrenamiento, al introducir variaciones en los pesos excesivamente amplias.
Al ser las entradas y las salidas discretas {-1,+1}, también lo será la
actualización de los pesos, que únicamente podrá tomar los valores O o ±2 E

se puede ver más en [RUMELHART,HINTON,WILLIAMS]

29
VniversicíadT[écnica Particular cíe Loja
Cfasficación supervisada cíe imágenes satefitaCes LVTDS)T

42. Tamaño de la arquitectura de la red

La capacidad de generalización de la red se encuentra determinada por: la


arquitectura de la red, el número de ejemplos de entrenamiento y la
complejidad del problema [Haykin 99]. Hablando en términos generales, si
el problema es sencillo, bastarán pocos parámetros para su ajuste, luego
deberá utilizarse una red pequeña. Si el problema es complejo se necesitará
más parámetros de ajuste, luego se aplicará una red de mayor tamaño. Por
lo tanto debe ajustarse el tamaño de la red a la complejidad del problema
que se está tratando, debiéndose limitar en lo posible su tamaño,
dificultando así la aparición del sobreentrena miento.

Por otro lado se puede limitar el tamaño de la red en base al análisis de las
entradas y aplicando métodos como componentes principales para reducir el
número de parámetros y por ende el número de pesos.

Tipos de arquitectura en dependencia de la herramienta usada

NetLab y NETImage
En este caso se prepara una arquitectura de 36 entradas, 10 nodos y 6
neuronas para la capa de salida, basados en la experiencia del problema.

Weka
Se ha trabajado con una arquitectura de 36 entradas, 21 nodos para la capa
oculta considerando el número de atributos más clases divido para dos y 6
neuronas para la capa de salida. Además existen otras formas de obtener el
número de neuronas en la capa oculta, por ejemplo solamente tomar en
cuenta el número de atributos, o tomar en cuenta el número de clases o por
último el número de atributos más clases.

30
Vniversidad'Técnica (Particular de Loja
Clasificación supervisada de imágenes sateCita1s L!'f(DST

S. Documentación del Algoritmo NETLAB4

INICIO

Leer los archivos de


entrenamiento y testeo

Construir la red neurona[


artificial y definir la función
de activación

y
Crear y encerar a ceros el
vector de parámetros para
el entrenamiento -

Definir el error a obtener en


,:FIN

1
el vector[1]

- Definir el número de ciclos


para el entrenamiento en el Análisis de resultados
vector[14]
II
y
Definir el número de ciclos Obtener tasa de
para el entrenamiento en el aprendizaje y matriz de
vector] 14] confusión

Entrenar la red en base al Asignación de parámetros


algoritmo de Gradiente Crossvalidation: base
Conjugado Escalado vector entrenamiento
Test: base vector de testeo
Á
si

no si Analizar resultados del


< Ciclos ok>
? entrenamiento \Ok?
\k?

no

La descripción del proceso del algoritmo NETLAB se verifica en la fase de experimentación


31
Vniversidad7Técnica ÇParticu(ar de £ojc
supervisada de imágenes satetita Ces LXN?DS)4

6. Experimentación

Se usa la herramienta NetLab 5 sobre la cual se aplican las operaciones

algorítmicas del BackPropagation.

Primero se procederá a la lectura de los archivos de entrenamiento y de

testeo:

[x,xt,nin,nout,xndata] =datread('sattrn .txt');


[y,yt, nin, nout,yndata] =datread('sattst.txt');

Para lo cual quedará almacenado en xndata y en yndata los datos de

entrenamiento y testeo respectivamente. Así mismo en x e y se almacenan

los valores de los atributos, en este caso los valores para los píxeles

recordando que se enumeran como P1_1 hasta P9_4. Estos valores han sido

normalizados para que se encuentren en el rango [-1,1] y las clases han sido

codificadas como un vector de 6 columnas de valores 0 y 1, por lo que si el


vector Xi pertenece a la clase 1 el resultado será C1(Xi) = 1 0 0 0 0 0.

La construcción de la red neurona¡ se realiza de la siguiente manera:

net = mlp(nin,10,nout,'logistic')

En donde fin es el número de entradas para la presente red 36, 10 es el


número de nodos en la capa oculta, nout es el número de nodos de salida en

Netlab es una herramienta de manejo free: www.ncr g .asaton.ac.uk/netlab/ la cual debe


ser grabada en el directorio C:\Archivos de programa\MATLAB71\toolbox\. Los archivos
sattrn .txt y sattst.txt deben ser grabados dentro del directorio Netlab.
32
Oniversi6adTécnica (Particular d
supervisada de imágenes sateíita(es £)4JVDSJ4T

este caso 6 y logistic representa a la función de activación recordando que


tiene que ser sigmoidea, para este caso:

1
Y=Lí Donde:
1+Ka)

L es la población límite, K = - —1
c

Como resultado se obtiene una red con la siguiente arquitectura,

correspondiente a la Figura No. 4.2:

type: 'mip'
nin: 36
nhidden: 10
nout: 6
nwts: 436
outfn: 'softmax'
wl: [36x10 double]
bl: [0.0143 3.6376 4.0970 -5.4432 8.9724 -2.5600 6.1146 6.1730 6.7985 4.17911
w2: [10x6 double]
b2: [-1.0667 0.6672 9.0670 -2.2258 -2.7444 -2.8069]

Se entrena la red usando el método del gradiente conjugado escalado de la

siguiente manera:

options = zeros (1,18);

A través de esta matriz se expondrán los resultados del entrenamiento de la


red, por lo que en options(1) se almacenará el error producido por el

entrenamiento y en options(14) se almacena el número de ciclos de

entrenamiento.

options(1) = 1;
options(14) = 100;

33
?Jniversi6adTécnica Particular de Loja
Clasificación supervisada de imágenes sa teíitafes L)45'Í(DS)4T

Se procede entonces a entrenar la red con los datos explicados con

anterioridad mediante el comando:

[net,options] = netopt(net,options,x,xt,scg')

El parámetro scg significa que se usa el método del gradiente conjugado

escalado para optimizar el error. El error de entrenamiento en el ciclo 100

es: 1340.46 con una escala de 1.000000e-15.

Realizando un cambio en la función de activación de las neuronas de logistic

a softmax obtenemos una disminución del error a: 442.284312 Scale

i:iiiiiiiiiiiiiii

Una vez realizado este entrenamiento procedemos a verificar el mismo con

los datos de crossvalidation y test:

Crossvalidation

xf = mlpfwd(net,x);

Luego se determina la tasa de aprendizaje y se obtiene la matriz de

confusiones7 generada así:

[C,rate]=confmat(xf,xt)

6
Tasa de aprendizaje.- Se refiere a la dificultad que tiene la red neurona¡ en su proceso de
entrenamiento.
Matriz de confusión.- Matriz de resultados de la clasificación
34

'7j niversia2uíTécnica Particu&zr de Loj


imágenes satetitales £XNDS)4

Se devuelve un rate = 1.0e+003 * 0.0874 3.8770

Y la matriz de confusión para los datos de crossvalidation es:

1038

o 13

o 21

O

463

o 3

12

o

4

o 900

44

12

9 3 82 197 6 118

o

18 9 7 392 44

o
1 17 101 32 887

Se logra concluir que existe una clasificación problemática para las clases 4,

5, 7 y que existen 1038 que pertenecen a la clase 1, 463 que pertenecen a

la clase 2, 900 a la clase 3, 197 para la clase 4, 392 para la clase 5 y 887

para la clase 7.

Incrementando el número de ciclos de entrenamiento a 1000 obtenemos:

Cycle 1000 Error 216.519617 Scale 1.000000e-015

Con:

rate = 1.0e+003 * 0.0855 3.7930

Y una matriz de confusión:

35

Vniversü[a6 'Técnica (Particular de Loja


Cíasficacíón supervisada de imágenes satetita (es L.211'f'DSI4'T

1025

3

15

o 28

5 445 O 10 16 3

2 1 856 75 4 23


4 2 76 216 10 107


16 16 4 6 388 40


0 O 22 105 48 863

El entrenamiento ha sufrido cambios inmediatos en la matriz de


entrenamiento a disminuido el error sin embargo al aplicar el crossvalidation
la matriz de confusiones demuestra demasiados errores. Por lo que se
prefiere quedarse con la rate = 1.0e+003 * 0.0874 3.8770, lo que significa
que tenemos un 87,4% de clasificaciones correctas con respecto al
entrenamiento y 3877 instancias correctamente clasificadas.

Test

El análisis de los datos con el archivo de test es el siguiente:

yf = mlpfwd(net,y);

Luego se determina la tasa de aprendizaje y se obtiene la matriz de


confusiones generada así:

[C, rate] =confmat(yf,yt)

La matriz de confusión para los datos de test es:

36

t)niversitaéTécnica (Particular de LO]"


de imágenes

c=
454 0 3 0 4 0

o 211 0 1 12 0

3 1 372 19 0 2

o 2 34 103 2 70

7 6 1 2 193 28

0 1 14 49 13 393

Se concluye en este caso que la clase 4 es la que mayor cantidad de


errores tiene teniendo 70 casos que deben ser clasificados como 4 pero que
han sido clasificados como clase 7.

37
?Jniversi6adTécnica Particular de £oj
supervisada de imágenes satetitales LJ7]V(D54q

Resultados con la aplicación NETImage

La herramienta NETImage fue construida a partir del algoritmo de

Backpropagation expuesto en [Freeman,Skapura].

Los datos que sirven como vector entrada se los tomó a partir de una

conexión a base de datos y de igual forma los datos del vector de

entrenamiento. Los resultados fueron los siguientes para una época 8 = 1500

y un learning rate de 1.5.

Tabla No. 3 Comparación de clasificadores NetLab y Netlmage

Diagonal Principal NetLab — Test Resultados NETIMage


Clase 1: 454 Clase 1: 390
Clase 2 : 211 Clase 2: 153
Clase 3 : 372 Clase 3: 430
Clase 4: 103 Clase 4: 78
Clase 5: 193 Clase 5: 260
Clase 6: 393 Clase 6: 456

Existe una diferencia aceptable en los resultados NETImage por lo que se da

por aceptado la solución planteada en el ejercicio de programación.

8
Epoca.- Número de ciclos de entrenamiento
Learning rate = Tasa de aprendizaje
38
?)niversi6ad'Técnica ÇParticu&ir de Loja
Clasificación supervisada de imágenes satefitaCes LIrJsf(DSI4T

6.1. Verificación de resultados

Es necesario contrastar los resultados con otros simuladores para lo cual se

usa la herramienta Weka 9 y el clasificador de redes neuronales.


Anteriormente se ha aplicado el filtro de selección de atributos a los datos,

una learning rate de 0,3 y 500 el número de épocas. Los resultados


obtenidos para la clasificación en el entrenamiento son un 92 v/o y la siguiente

matriz de confusión:

a b c d e f <-- classified as
10630 6 2 1 0 1 a=1
1 474 0 2 1 1 1 b=2
3 0 833 106 2 17 1 c=3
1 0 44 325 3 42 1 d=4
29 3 0 4 40826 1 e=5
0 0 1 43 9 985 1 f=7

En la cual nuevamente se puede verificar el problema de las instancias

clasificadas para la clase 4, 5 y 7.

Para el testeo el resultado de la clasificación fue: 87.2% de instancias

clasificadas.

6.2. Clasificación de Fotografía Aérea

Utilizando la herramienta Weka se ha procedido a la clasificación de una

fotografía aérea de Loja, obteniéndose los siguientes resultados, en los


cuales se ha entrenado la red neurona¡ y aplicando crossvalidation.

Para más información del uso del programa WEKA ver anexo No. 4.
39
?JniversicfadTécnica Particu[ar de Loja
C[asficación supervisada de imágenes satefita [es LX7VDSJ4T

Red Neurona¡ - MLP PART 348
a b c d e <-- classified as a b c d e <-- classifled as a b c d e <-- classified as

67 0 0 0 0 1 a = Pastol 65 0 2 0 0 1 a = Pastal 65 2 0 0 0 1 a = Pastal

066 1001 b=Pasto2 066 0 1 0 1 b = Pasto2 263 2 0 0 1 b = Pasto2

0264 101 c=Pasto3 o 166 0 0 1 c = Pasto3 o 166 0 0 1 c = Pasto3

O 0 067 0 1 d = Area_Urbana 0006701 d=Area_Urbana 0 1 1 65 0 1 d = Area_Urbana

ooo 067 1 e = Area_Urbana_2 0 0 0 265 1 e = Area_Urbana_2 0 0 0 265 1 e = Area_Urbana_2

Matriz comparativa de resultados

Tabla No. 4 Comparación de clasificadores de fotografía aérea

De los resultados se puede concluir que con la clasificación de la red

neurona¡, es más exacto y preciso en comparación con los otros

clasificadores.

40
t)niversicfadTécnica ÇParticuíar d
CCasficación supervisada de imágenes sateCitafs LY1]VDS)4TF

7. Discusión de resultados

Los datos usados para el entrenamiento de la red neurona¡ y el testeo han

sido también utilizados por los clasificadores 348 y PART de los cuales se ha

obtenido los siguientes resultados:

Tabla No. 5 Comparación de clasificadores' 0 de imágenes satelitales

NA = no aplica

Para lo cual lo representado por las redes neuronales construidas resulta en

mejora de clasificación. A más se puede revisar los resultados obtenidos del

entrenamiento de imágenes aéreas [TRIÑANEZ, TORRES, TOBAR,

HERNANDEZ], en donde se logra una clasificación del 95%, lo que espera

suponer lógicamente que el error tomando las 7 capas del satélite disminuye
notablemente, aunque los resultados obtenidos por Weka a un 92% se

acercan relativamente.

La interpretación de los resultados se observa en la experimentación, sin


embargo, es necesario destacar que la red neurona¡ es en si misma un
clasificador, que los algoritmos PART y 348 utilizados también son
clasificadores por lo que nos permiten su comparación, en este caso la
clasificación obtenida por PART, representa que este algoritmo logró

clasificar a los datos con un 92.9% de exactitud o sea con un 7.1% de error.

'° En la columna archivo se utiliza dos tipos de entrenamiento y testeo, debido a que, el
algoritmo presenta características de reducción de error o poda del árbol de clasificaciones.
41
Vniversidad!écnica Particucar ífe Loja
Clasificación supervisada Le imágenes satefitales LXt[DSJ4'T

8. Conclusiones

•. El tamaño de la arquitectura de la red neurona¡ depende

explícitamente del problema que se este resolviendo y de la dificultad

del mismo. Mientras más entradas existan mayor será el número de

neuronas internas en la capa oculta, lo cual incrementará la exactitud

de la red neurona¡.

+ Una red neurona¡ supervisada supera en clasificación al algoritmo 348

y PART para clasificación de usos de suelo en imágenes Landsat, sin

embargo, sigue siendo un proceso de entrenamiento lento. Es decir,

que cuanto mayor sea el número de clases y cuanto mayor sea la

cantidad de datos, la red neurona¡ demora su proceso de obtención

de respuesta.

•:. La función sigmoidal sufre una variación en el presente trabajo, al

tomar en cuenta el tamaño de la población y un error nominal en el

divisor. En este caso se comprueba que los resultados son mucho


más exactos, ya que se toma en cuenta la distribución de la población

en el total del error obtenido.

V. Mientras más instancias tengamos para el entrenamiento, el error


disminuye notablemente por lo que es siempre mejor tomar todos los
datos provistos para el vector X. Por tanto, si disponemos de una gran
cantidad de datos históricos se deben considerar todos, aunque se

corre el riesgo de un procesamiento lento en la red neurona¡.

+ Se puede variar la arquitectura de la red neurona¡ en base a entradas

sumadas a las salidas, solamente entradas o solamente salidas. La


variabilidad de este cambio dependerá del resultado en el error. La
42
?JniversidTadTécnica Çparticuíar d Loj
supervisada de imágenes satetitales £'f(DST

influencia en el cambio de la arquitectura para el error es solamente

experimental, lo cual es dependiente del caso de estudio.

•:• Es necesario realizar el preprocesa miento de las imágenes satelitales

con el fin de obtener instancias validas para los archivos de


entrenamiento y de testeo. Este proceso se realizó con la ayuda del
equipo de Sistemas de Información Geográfica y se describe en el Capitulo I.

•. Para una clasificación supervisada es necesario identificar la clase a la


cual pertenece cada una de las filas del archivo de entrenamiento,

puesto que la red neurona¡ se entrena con éste archivo y además las

instancias corresponden a la zona de estudio.

•:. De acuerdo a los resultados obtenidos la metodología y algoritmos

seleccionados sirven satisfactoriamente para la clasificación de

imágenes satelitales y fotografías aéreas, debido a que ningún


algoritmo sostiene un error mayor al 20%, es decir en todos se

clasifican los datos con más del 80% de exactitud.

•• Para la aplicación de los algoritmos 348 y PART se necesita asumir una


serie de hipótesis estadísticas a priori como funciones de probabilidad

o funciones de distribución, con el riesgo que ello supone. La


aplicación de redes neuronales artificiales, aunque más complicada
conceptualmente, permite adoptar una interpretación geométrica de
la información multiespectral como regla de decisión, prescindiendo
del uso de modelos estadísticos. Al hablar de interpretación

geométrica se refiere a la determinación de la función sigmoidal así


como a los elementos de Linealidad o No linealidad descritos en el

presente trabajo.

43
?JniveriaadTécnica Particular Le Loja
Cfasficación supervisada Le imágenes satefitafes L)4]ST(D521'T

Conclusiones referidas a la Clasificación Supervisada de


imágenes de satélite y fotografía aérea de Loja:

a) Los cambios climáticos en Loja siempre son muy acentuados, por lo


que para realizar una clasificación de una imagen de satélite en
especial de forma supervisada siempre es necesario tomar imágenes

que no estén muy distanciadas en el tiempo, puesto que existen

temporadas secas y muy lluviosas en las zonas de estudio.

b) Los aspectos importantes a tomar en cuenta para las imágenes


satelitales usadas como fuente es que se encuentren libres de nubes,

ya que no se ha tomado en cuenta zonas donde no existe información

por píxel y en ese caso el valor que obtendríamos es cero.

c) Para zonas diversas como Loja se debe tener cuidado ya que los
cambios en el uso de suelo es radical, en una zona podemos

encontrar pastizales e inmediatamente en la siguiente árboles. Esto


se menciona además porque la resolución de las imágenes satelitales

es de 30 metros.

d) En la imagen satelital de Loja expuesta en la tesis, se han desarrollado


procesos de normalización que permiten convertir a los valores de los

píxeles en formato binario, y luego se buscó la correspondencia de


estos valores a las clases a las cuales pertenecen. Este proceso fue

necesario para obtener un referente de una red neurona¡ supervisada,

recomendación hecha por el profesor Mirá de la UNED-España.

e) Los resultados de la clasificación supervisada de la imagen satelital de


Loja son los siguientes:

44
Vniversic[adTécnica (Particular de Loja
Clasificación supervisada di imágenes satefitaCes LJ4]f'DS.i4'T

1. Resultados

De acuerdo a los efectos de la validación cruzada de la página 34

observamos los siguientes resultados para la matriz de confusión

en la imagen satelital de Loja:


1038 O 13 O 21 O


463 0 3 12 O


4 O 900 44 1 12


9 3 82 197 6 118


18 9 O 7 392 44


0 1 17 101 32 887

Lo que nos permite concluir que para la clase uno que tenemos

1038 instancias de suelos rojos, 463 de cubierta básica, 900 de

suelo gris, 187 de suelo gris húmedo, 392 suelo con vegetación

incipiente y 887 suelo gris muy húmedo, lo que satisface el criterio

de clasificación de acuerdo a la comprobación de resultados. Lo


mismo sucede en el caso de la fotografía aérea de Loja, estudiada.

Así mismo en la experimentación con el uso del archivo de testeo

se obtuvieron los siguientes resultados:

El P

Vniversid2zdTécnica ÇParticu(ar de £oj


supervisada de imágenes satefitates L45VDST

454 0 3 0 4 0

o 211 0 1 12 0

3 1 372 19 0 2

o 2 34 103 2 70

7 6 1 2 193 28

0 1 14 49 13 393

Matriz que nos permite concluir que los resultados son válidos

debido a que se verificó la clasificación con la comprobación de

resultados.

2. Efectividad

Como se observa en la tabla anterior los métodos NetLab suponen

una clasificación en el entrenamiento y testeo superior a los otros


métodos usados, lo que nos permite concluir que el procedimiento

es válido en su totalidad para este tipo de imágenes de Loja.

f) Es necesario recalcar que la imagen satelital y la fotografía aérea


usada para el entrenamiento de la red neurona¡ supervisada es del

cantón Loja, por lo que si se necesita para otra área distinta es

necesario volver a entrenar la red neuronal.

46
?JniversüfadTécnica (Particular de Lo
imágenes satefit ates £J4fDSfiq

9. Recomendaciones

+ Se debe usar una función de activación softmax en el caso de


clasificar una imagen satelital. La exactitud de los resultados en la
experimentación nos permiten definir una función sigmoidal
reformada como es el caso de la función transferencia softmax con
resultados más precisos.

+ Se debe siempre procesar una imagen satelital en matrices de 512 por


512 o su potencia de dos. Al no tener una matriz cuadrada en el
análisis de los datos puede que se pierdan datos o se ubiquen datos
indeseables en la clasificación incrementando el error durante el
proceso.

Es necesario aplicar filtros a los atributos de la imagen satelital con el


fin de obtener solamente las instancias que aportan efectivamente a
la clasificación.

+ Es de vital importancia comprobar los resultados de la metodología y


del algoritmo propuesto en otras imágenes satelitales y fotografías
aéreas, ya que los resultados obtenidos son de buena calidad y
aceptación.

47
Universidaé Técnica Particular de Loja
Cfasficación supervisada de imágenes sateCita (es LMDSJ4T

lo. Trabajos futuros

Sería muy importante construir un • sistema de comprobación de los


resultados obtenidos por medio de Aprendizaje no supervisado propuesto por
Kohonen, pues así se podría comprobar los datos en matrices en los cuales
no se encuentran tan claros como en el presente trabajo.

Así mismo se puede probar con otras técnicas de entrenamiento y en


especial el grabado de los algoritmos sobre la tecnología FPGA con el fin de
no solamente tener una simulación de los procesos en computadora sino
también poder estructurar hardware en el cual puedan funcionar las mismas.

Por otro lado se puede repetir el ejercicio propuesto para el presente trabajo
para tratar la red con las 7 bandas del satélite Landsat.

48
'Universi6a6Técnica ÇParticu(ar de £oj
supervisada cíe imágenes

BIBLIOGRAFIA

•:• AGUILAR, BAÑADOS, CUARITE, REYNAGA. Reconocimiento de


patrones a partir de imágenes aéreas. Universidad mayor de San Andrés
Bolivia. Instituto de Pesquisas Energéticas y Nucleares. Brasil.

•. BASE GROUP LAB. Method of Conjugate Gradients Mathematical


Apparatus, www.basegroup.ru/neural/conjugate.en.htm.

•• CHUVIECO, Emilio. Teledetección Espacial, Editorial Ariel, España,


2006.

•. DEL BRIO, MOLINA. Redes Neuronales y Sistemas Difusos. Editorial


Alfa Omega, Universidad de Zaragoza, 2002.

•• HAYKIN, S. Neural Networks. A comprensive Foundation. 2da edition.


Prentice Hall, 1994, 1999.

•. HINTON, Geofrey. Connectionist Learning Procedures. University of


Toronto.

•:• HUSH, HORNE. An overview of neural networks. Part 1: static networks,


1992.

•:. ROMERO, CALOGNE. Redes neuronales y reconocimiento de patrones.


Universidad de Salamanca, Universidad de Valladolid. España.

•. NETLAB: www.ncrg.aston.ac.ak

49
7.) niversifaé 'Técnica (Particular de Loj
imágenes sateiÇitalTes LXNÇDSfiT

•. RUMELHART, GEOFREY, HINTON. Learning representations by back-


propagating errors, 1986. UNED.

•:• RU M ELHART, H INTON, WILLIAMS. Learni ng interna¡ representations


by error propagation, Cambridge, pp 318-362.

•:• SAHLI, BUSTO, CHAN, KATARTZIS, VANHAMEL. Remote Sensing


Minefield Area Reduction: Semantic knowledge Base Image
Understandi ng, Universiteit Brusel.

•• TRIÑANEZ, TORRES, TOBAR, HERNANDEZ. Clasificación de


imágenes multiespectrales mediante redes neuronales, Universidad de
Santiago, Universidad de la Laguna, 1994.

•:• VICENTE, Renato. Redes Neurais para Inferencia Estadística, FEA/USP


!SIiI

50
ANEXOS
Anexo N° 1
Procesamiento de datos de imágenes
LAN DSAT
VniversiadTécnica Particular de Loja
J4neo 1. Procesamiento 6e datos Le Imágenes LV?DS)4'T

Procesamiento de datos de imágenes landsat.

Con el fin de proceder a obtener datos a partir de una imagen satelital


LANDSAT, es muy importante establecer cuales van a ser las bandas que son
de importancia para la clasificación. En este caso se propone la utilización de
cuatro bandas en las cuales la recolección de datos es importante de acuerdo
al siguiente algoritmo:

a. Seleccionar la imagen satelital: en este caso el tamaño de píxeles para


la matriz es de 512 por 512 píxeles. Para el procesamiento de las
imágenes satelitales se requiere en primer lugar una matriz cuadrada
ya que a través de este tipo de matrices, se obtiene un tratamiento
adecuado del error.

b. Obtener los valores de cada uno de los pixeles con sus respectivos
respaldos en las bandas:

1 2 3
J236

c. Verificar los valores de cada uno de los píxeles dados, es decir el


tamaño de la matriz a procesar es hasta nueve píxeles determinando
al pixel número 5 como pixel central. Esto implica que el conjunto del
pixeles va a ser tomado de 9 en 9.

53

tniversiLadTécnica 'Particufar de Loja


J4neo 1. Procesamiento de Latos de Imágenes LIVDS)4U

Pixel
Banda

1.1 1.2 1.3 1.4

2.1 2.2 2.3 2.4

3.1 3.2 3.3 3.4

4.1 4.2 4.3 4.4


5.1 5.2 5.3 5.4

4- PIXEL CENTRAL
u 6.1 6.2 6.3 6.4

(51 7.1 7.2 7.3 7.4

8.1 8.2 8.3 8.4

-4 9.1 9.2 9.3 9.4

d. Procesar los datos de acuerdo la capa a la que pertenecen. En este

caso se requiere la normalización de los datos, lo que significa que se

agrupan los RGB correspondiente a cada píxel y luego se obtiene la


media y por último se obtiene un solo valor de los tres tipos de

elementos existentes (RGB).

Red
Green
1 X = Pixel
Blue J

54
Anexo N 0 2
Aplicativo NETLAB
1JniversiaradTíécnica (Pa rticu(ar cíe Loja
)4neo 2: )4pficación .W'FJFLI4ÇB

Aplicativo NETLAB

NETLAB es una librería de trabajo en redes neuronales supervisadas sobre


MATLAB. Contiene métodos que permiten tanto el ingreso de atributos
como el procesamiento entrenamiento y testeo de la red neuronal.'

Aplicación para el reconocimiento de imágenes satelitales a


través de MLP bajo NetLab.

[x,xt,nn,nout,xndata] =datread('sattrn.txtT);
[y,yt,nin,nout,yndata] =datread('sattst.txt');
net = mlp(nin,10,nout,'IogisticT)

type: 'mip'
nin: 36
nhidden: 10
nout: 6
nwts: 436
outfn: 'softmax'
wl: [36x10 double]
bl: [0.0143 3.6376 4.0970 -5.4432 8.9724 -2.5600 6.1146 6.1730 6.7985 4.17911
w2: [10x6 double]
b2: [-1.0667 0.6672 9.0670 -2.2258 -2.7444 -2.8069]

Crossvalidation:

options = zeros (1,18);


options(1) = 1;
options(14) = 100;
[net,options] = netopt( net,options,x,xt,'scg)
xf = mlpfwd(net,x);
[C,rate] =confmat(xf,xt)

1 Para más información visite www.ncrg.asaton.ac.uk/netlab/


56
?)niversifat[ 'Técnica çparticu(ar d
Aneo 2:

Test:

options = zeros (1,18);


options(1) = 1;
options(14) = 100;
[net,options] = netopt(net,options,x,xt,'scg')
yf = mlpfwd(net,y);
[C,rate]=confmat(yf,yt)

57
Anexo N° 3
Aplicativo NETImage
t)niversitfacf'Técnica Particular de Loja
3: )4pfícación rNLTImage

Aplicativo NETImage

Flujograma de funcionamiento de NETIMage

INICIO
c

Ingreso del vector de


-- entrenamiento

Creación de la red neuronal


36-10-6

Entrenamiento de la Red
Backpropagation

Ingreso del vector detesteo

Presentación de resultados
por vector - grid

C: D

59

?Jniversi6adTécnica Particu&ir de Loja


Aneo 3: 4pticación rML7mage

Funciones principales del NETIMage

Createnet: Crea la arquitectura de la red neurona¡ en variables, la cual esta


especificada por el número de entradas 36, 10 neuronas en la capa
intermedia y 6 neuronas en la capa de salida.

Test: Ejecuta la red neurona¡, con los vectores que tiene por entrada los
cuales son tomados desde una base de datos.

Run: Sirve para examinar la red neuronal, en este caso los valores que le
ingresan es el vector de testeo, sin las clases.

Arquitectura de la red NETIMage

W.. e, w' ki e' k


II

Entrada Oculta Salida Objetivo


Ii
X 1 1 .7 ti ..4-- + P
.Yj

60

7)niversi6adTécnica ÇParticu/Tar d £
neo 3: I4píicación ]V'LTImage

Descripción del Programa

Archivos de entrada

Corresponde a los pixeles clasificados para el archivo de entrenamiento que


en este caso es sattrn.xls y el archivo de testeo es sattst.xls. Estos dos
archivos han sido vinculados en la base de datos bdl.mdb. Los archivos
originales en los cuales vienen los pixeles de las imágenes satelitales tienen
en el nombre de sattrn.txt y el archivo de testeo es sattst.txt

Ventanas del programa de NETImage en Visual Basic 6.0

La ruta sobre la cual se encuentra el programa y archivos de entrenamiento


y testeo es C:\Nixon\Programa

nodmiento de clases irnenes satelitdles

Eeenderdo ieet de la ed
Veco de Ertedee

Trainl Ep-
fineuronas
intermedias
10

Salida

Excel

r O r Peøject1-MaoaoV... Reuoeuinseetoded... ES \ 1345

Pantalla No. 1. Ventana de ingreso de parámetros y entrenamiento de la Red Neurona¡

61

VniversiaadTécnica ÇParticu[ar di?


Jiwo 3: )4pticación .1V'ETImage

Vector de entrenamiento actual.- Se refiere al archivo sattrn.xls el cual


contiene 4435 filas que corresponden a los valores de los pixeles de la
imagen satelital. Este archivo sostiene una columna que indica a que clase
pertenece cada fila, es decir ésta columna es el patrón de entrenamiento.

kiíir-ouow 1IJ1J]
Arcleo Ed!:5n e- IlserteÇ FOrmetÓ Her-arfi-rte, ra105 Ient,CC - -- - - ÉF x

° ÚE

A.
API •
AH Al AJ A AL AHJ A13
-0 -024117647 -016073431 -0 11372049 -3 3176406 O O 1 0 31
2 -0 31 7 64706 -034 117617 -022352341 -013431373 -030035216 0 0 1 0 0
3 -030033216 -034117647 -322352941 -016431373 -0 30030216 0 0 1 0 0 0
I4 -336039216 -034117647 -310215666 -010431373 -030030216 0 0 1 0 0 0
O -338039216 -0 38039216 -016070431 -0 11803804 -0 31764 7 06 0 0 1 0 0 0
6 -331764736 -0 30039216 -3 16070431 -0 14308004 -031764 7 06 3 0 1 0 0 0
7 — -334801961 -039030216 -018215606 -010431373 -039639216 0 0 1 0 0 0
O -038030216 -030039216-025490106 -021060627 -039039216 0 0 1 0 0 0
9 -044313720 -030039216 -031764706 -027058024 -044313725 0 0 0 1 0 0
10 -044013720 -0 39330216 -031764706 -027050824 -04745093 0 0 0 1 0 0
11 -04 745000 -0 41176111 -001704706 -024705082 -044310725 0 0 0 1 0 0
12 -07746088 -044313 728-031764 7 06 -030196078 -07 7 40090 0 0 0 1 0 0
13 -04745090 -044313725 -030039216 -0364 7 8500 -001372048 0 0 0 1 0 0
14 -081372049 -0445090 -041176471 -033333333 -001272040 0 0 0 1 0 0
15 -04746000 -0 44313 725 -041176471 -036470809 -001372840 0 0 0 1 0 0
11 -351372549 -04746098 -041176471-033333333 -044313725 0 0 0 1 0 0
17 -344313725 -04745000 .041176171 -024705002 -908039215 0 0 0 1 9 0
18 -336036216 -041176471 -0 34001064 -024705002 -0:14901061 0 0 0 1 0 0
19 -1 -0 '1l7r,4706 -034117647 .822302941 -014800004 -031761706 0 0 1 0 9 0
20 -001764786 -030980302 -0 16070434 -014809804 -034001001 3 0 1 0 0 0
211 -3 31 7 64706 -030903392 -019210696 -004809004 -0 31764706 0 0 1 0 0 0
122 -301764786 -034117617 -019215606 -0013 72049 -021764 7 06 0 0 1 0 0 0
L -331764 7 06 -030900392 -012041176 -011372549 -0 2043137 3 0 1 0 0 0
24: -027643137 -027059324 -812041176 -011372549 -02704313 7 0 0 1 3 0 0
-031764706 -1) 2 7 000024 -0 16078431 -0 11372049 -0 31764706 0 0 1 0 0 0
20 -031764706 -0 30900302 -016078431 -0 14500904 -027013437 0 0 1 0 0 0
27 -027013137 -030880332 -016076431 -014509904 -031 764786 0 0 1 3 3 0
-031 754 7 09- -038090302 -016073431 -014000004 -031 764700 0 0 1 0 0 0
29 1 .031164706 -030900392 -0 16070131 -0 14509504 -331764 7 06 0 0 1 0 0 0
33' -031 7 64 7 36 -827089824 -019215696 -011809004 -031 764 7 06 0 0 1 0 01 0
U i \ sattrn/ 1<
. Atofw \ \ DCJ: 1J -= e

Pantalla No. 2. Archivo de entrenamiento sattrn.xls

En este caso la primera fila ha sido clasificada como tipo 3 puesto que
sostiene ceros para las demás clases.

Epocas.- Se refiere al número de ciclos sobre los cuales se va a entrenar la


red neuronal, en este caso el valor mínimo es 3.

Pantalla No. 3. Número de épocas de entrenamiento.


62
t)niversi6adTécnica ÇParticu(ar d
)4neo 3: 14p(icación fMETlmage

Arquitectura de la Red.- El número de entradas para la red neurona¡ es


36 debido a que el vector de entrenamiento tiene 36 columnas de datos; el
número de neuronas intermedias es 10; y, el número de salidas es 6 debido
a que son seis las clases de usos de suelos las que se estudian en el
presente trabajo.

Luego de especificar todos los parámetros indicados anteriormente,


seleccionamos en botón TRAIN para entrenar la red neuronal.

Una vez entrenada la red neuronal, se procede al testeo para lo cual


seleccionamos botón RUN, con esta opción se invoca al archivo sattst.xls
que contiene los nuevos datos a clasificar.

nocimiente de ciases imagenes satetitales iJIJ!)I


Arqralec5ara de la red
1-111 de
erdrenanlenlo r Enlradar
4435
Trainj a:: r
intermedras
Sada

0464958451 80062706 2 1 9653229757229386 682191 375437902656 35072209728184345-23 48601 895454045796 46776050955750591 E 1


024745958455486086 2 4519630062397116E 6756796',25105397E 6295294901693682862 54100496738215276 7 1195962573967347E 1
0247553253343355108 37146949631E4527E 69795100447312497E80124069321453467E1 1975071543620215E 7 011118l 1IM71 7111 1
o 24018507518119029 1 32573039035434766 4 3412550071 3963576 465438814184630796 2 76986591 q 651 3952E2 93413037233354090 1
0221971252901176110 063761695654705384 453955597252703155 5057244247121951E 69855346247380553E 8 3350105051002867E 1
O 412140744074983252 2565270645509452E 2 0777647634421074E 1 66056757735173376 03604914129B420306 314580930051915780 1
04676462917301764 245001671427305296199049960905277161 89792989664401116 047906326610225713 367692266536725226 5
0503901'57 '4 ...... 1 9146111209020540E 23913553123073513E 2 3723852320294003E 0555936676105126804 5404099194145578E 5
054264391788954730 855914523727800266 84846858501 3039545 357662805805668906061346275044323094 74403955899125,92E 5
0222670755174551045 2987578815651776E 6.41261066099496176 6 37160557084375235 7866983454763448759 66113567410748166 1
20451 236580272266E 1 52647241718409136 002465929773758107 335154116197325126 32160493032931461 E 4 4GO03263991 C0787E 3
150608884010454156 1 1664295208724540E 00639060550720521 31975334634912922E 20246296419590664E 42308285862418658€ 3
113367612010666746 650250927477055785 09412601 1 5765472 29766095459226469€ 6 0725326411191 703E 24107471870500557E 3
315424735077697855 1 04071404131 49556E 0946523128629658371.4777468941701
86 7885 337955090407275596 960606475701221085 3
05 220551788106348796 1859784733214422E:r 211759948659141160107005925903301592098987645321919271
0383236780987327
0.38752232699431309253190007557518065142316052221492146 1.1373012223430431E 017330550054992034 800190390517673470 1
Ü40425262214345975 1 397223055039817503272290448040346751 64726808956725990023904483908825378 30079248257736764€ 1

-. Pnl$d1-OftV.., Renonoannentoded 4) 41 9r. 13r

Pantalla No. 4. ventana de testeo y presentación de resultados de la Red Neurona¡

Los datos obtenidos en la columna clase final son los datos respuesta de la
red neurona¡ (Valores obtenidos) que corresponden a la nueva clasificación
del archivo de testeo, en donde la clase escogida es la que por cada columna
tiene el menor error.

63
)niversiíaé'Técnica ÇParticu(ar di £
J4neo 3: )4p(icación METImage

El botón EXCEL nos sirve para exportar todos los datos del grid de test al
programa Microsoft Excel, con el fin de realizar el análisis de la clasificación.
Para que los datos se exporten de forma correcta, luego de la clasificación,
se debe ubicar y seleccionar la primera fila del grid.

64
Anexo N° 4
Manual de WEKA
t)niversiéacf 'Técnica Particularée Loja
J4nexo 4: 1'EK$

WEKA - Waitako Environment for


Knowledge Analysis

Weka está programado en Java, es independiente de la arquitectura,

funciona en cualquier plataforma sobre la que haya una máquina virtual lava

disponible.

Para ejecutar Weka debemos ordenar dentro del directorio

(C:\Le ng uaj es\j2 sd kl.4.2_08\b in \weka .ja r para el presente trabajo) de la


aplicación el mandato:

java -jar weka.jar

Si estamos utilizando la máquina virtual de Java de Sun, este modo de

ejecución no es el más apropiado, ya que, por defecto, asigna sólo 100

megas de memoria de acceso aleatorio para la máquina virtual, que muchas


veces será insuficiente para realizar ciertas operaciones con Weka; por ello,

es altamente recomendable ordenarlo con el mandato:

java -Xms<memoria-mínima-asig nada> M


-Xmx< memoria-máxima-asignada> M -jar weka.jar

Una vez que Weka esté en ejecución aparecerá una ventana denominada
selector de interfaces, que nos permite seleccionar la interfaz con la que

deseemos comenzar a trabajar con Weka.

66
UniversidadTécnica cParticulTar d
J4ne.p 4: WEK11

Waikato Environment for


Knovledge Analysis

(c) 1999- 2004


Universiy of Waikato
New Zealand

. :

GUI
Simple CLI Expio rer
Experimenter K ieeFiow

Las posibles interfaces a seleccionar son Simple Cli, Explorer, Experimenter y

KnowledgeFlow. En el presente trabajo se utilizará la interface Explorer la

misma que se explicará detenidamente y de forma individual a continuación.

Antes se definirá los ficheros .arff utilizados como datos de entrada en el

presente trabajo.

67
UniversidadTécnica Particular de £
)4ncxp 4: 'r1i/ER)4

Ficheros .arff

Nativamente Weka trabaja con un formato denominado arif, acrónimo de

Attríbute-Re/ation File Format. Está compuesto por una estructura

claramente diferenciada en tres partes:

1. Cabecera. Se define el nombre de la relación:

©relation <nombre-de-la-relación>

Donde <nombre-de-la-relación> es de tipo String (Tipo String el


ofrecido por lava). Si dicho nombre contiene algún espacio será

necesario expresarlo entrecomillado.

2. Declaraciones de atributos. En esta sección se declaran los


atributos que compondrán nuestro archivo junto a su tipo. La sintaxis

es la siguiente:

©attribute <nombre-del-atributo> <tipo>

Donde <nombre-del-atributo> es de tipo String, teniendo las mismas

restricciones que el caso anterior. Weka acepta diversos tipos, estos

son:

a) NUMERIC Expresa números reales.

b) INTEGER Expresa números enteros.

c) DATE Expresa fechas, para ello este tipo debe ir precedido de una
etiqueta de formato entrecomillada.
68
VniversifadTécnica Particular d
)4ne,Co 4: WE?(A

La etiqueta de formato está compuesta por caracteres separadores


(guiones y/o espacios) y unidades de tiempo:

dd Día.
MM Mes.
yyyy Año.
HH Horas.
mm Minutos.
ss Segundos.

d) STRING Expresa cadenas de texto, con las restricciones del tipo


String comentadas anteriormente.

e) ENUMERADO El identificador de este tipo consiste en expresar


entre llaves y separados por comas los posibles valores (caracteres o
cadenas de caracteres) que puede tomar el atributo. Por ejemplo, si
tenemos un atributo que indica el tiempo podría definirse:

@attribute tiempo {soleado,lluvioso,nublado}

3. Sección de datos. Declaramos los datos que componen la relación


separando entre comas los atributos y con saltos de línea las
relaciones.

@data
4,3.2

Aunque éste es el modo "completo" es posible definir los datos de una


forma abreviada (sparse data). Si tenemos una muestra en la que hay
muchos datos que sean O podemos expresar los datos prescindiendo
69
?)niversiíadTécnica Particular de Loja
]4ne.o 4: 4'E?Ç4

de los elementos que son nulos, rodeando cada una de las filas entre

laves y situando delante de cada uno de los datos el número de

atributo.

Un ejemplo de esto es el siguiente:

©data
{1 4, 3 3}

En este caso hemos prescindido de los atributos O y 2 (como mínimo)

y asignamos al atributo 1 el valor 4 y al atributo 3 el valor 3.

En el caso de que algún dato sea desconocido se expresará con un

símbolo de cerrar interrogación ("?").

Es posible añadir comentarios con el símbolo " %", que indicará que

desde ese símbolo hasta el final de la línea es todo un comentario. Los

comentarios pueden situarse en cualquier lugar del fichero.

Un ejemplo de un archivo de prueba.

prueba.arff

1 % Archivo de prueba para Weka.


2 @relation prueba
3
4 ©attribute nombre STRING
5 ©attribute ojo —izquierdo {Bien,Mal}
6 @attribute dimension NUMERIC
7 ©attribute fecha_analisis DATE 'dd-MM-yyyy HH:mmT'
8
9 ©data
10 Antonio, Bien, 38.43, 12-04-2003 12:2Y
11 'Maria Jose',?,34. 53, "14-05-2003 13:4"
12 Juan,Bien,43,"01-01-2004 08:04"
13 Maria,?,?,"03-04-2003 11:03"
70

Particu[ar6e Loja
J4neo 4: 'l4AER,2t

Explorer

El modo Explorador es el modo más usado y más descriptivo. Éste permite

realizar operaciones sobre un sólo archivo de datos. La ventana principal es

la siguiente:

Preprocess CIassi% uster (1 t ç

Open flle... Open URL.. Open DB...


Filter
Choose None
Ctirrent relation Selected attrilute
Relation: None Name: Nore TVPC: None
Instantes: None Attributes: None - - -- Missing: None Distinct None Unique: None
AttribuLes -------- -

-
- VuaflPAiiJ

Status
Welcome to the Weka Explorer o

El explorador permite tareas de:

1. Preprocesado de los datos y aplicación de filtros.


2. Clasificación.
3. Clustering.
4. Búsqueda de Asociaciones.

S. Selección de atributos.
6. Visualización de datos.

71
Q)niversifadTécnica Particufar d
.4neo 4. í1i/E?Ç4

1. Preprocesado

El primer paso para comenzar a trabajar con el explorador es definir el

origen de los datos. Weka soporta diferentes fuentes. Las diferentes

posibilidades son las siguientes:

Open File

Al pulsar sobre este botón aparecerá una ventana de selección de fichero.


Aunque el formato por defecto de Weka es el arif eso no significa que sea el

único que admita, para ello tiene interpretadores de otros formatos. Éstos

son:

. CSV.- Archivos separados por comas o tabuladores. La primera línea

contiene los atributos.

. C45.- Archivos codificados según el formato C45 Unos datos

codificados según este formato estarán agrupados de tal manera que en

un fichero .names estarían los nombres de los atributos y en un fichero


.data estarían los datos en sí. Weka cuando lee ficheros codificados según
el formato C45 asume que ambos ficheros (el de definición de atributos y
el de datos) están en el mismo directorio, por lo que sólo es necesario

especificar uno de los dos.

. Instancias Serializadas.- Weka internamente almacena cada muestra


de los datos como una instancia de la clase instance. Esta clase es

seria/,'ab/e por lo que estos objetos pueden ser volcados directamente


sobre un fichero y también cargados de uno.

Para cargar un archivo .arff simplemente debemos buscar la ruta donde se


encuentra el fichero y seleccionarlo.
72
UniversiaracfUécnica Tarticufar d
4ne.o 4: 14/E?(4

Pulsando en Use converter nos dará la opción de usar un interpretador de


ficheros de los tipos ya expuestos.

Open Un

Con este botón se abrirá una ventana que nos permitirá introducir una

dirección en la que definiremos donde se encuentra nuestro fichero. El

tratamiento de los ficheros (restricciones de formato, etc.) es el mismo que

el apartado anterior.

Open DB

Con este botón se nos da la posibilidad de obtener los datos de una base de

datos.

wekaexperimentlnstanceQuery

databaseURL jJd3cJdb=probancloweka.prp
password ¡prueba 1
query ISELECT * Írom monos-tratados

sparseData FIse

usernarne 1roDt

L9Ii1
í LiicLJ
Para configurarla lo primero es definir la url por la cual es accesible la base

de datos, la contraseña para acceder, el nombre de usuario, la consulta que


queremos realizar y si queremos o no usar el modo de datos abreviado

(sparse data).

73
t)niversifad'Técnica (ParticuCarde Loj
neco 4:

Una vez seleccionado el origen de los datos podremos aplicar algún filtro
sobre él o bien pasar a las siguientes secciones y realizar otras tareas. Los
botones que acompañan a abrir el fichero: Undo y Save, nos permiten
deshacer los cambios y guardar los nuevos datos ya transformados (en
formato arif). Además, se muestra en la ventana siguiente cada uno de los
atributos que componen los datos, junto con un resumen con estadísticas de
los mismos (media aritmética, rango de los datos, desviación estándar,
número de instancias distintas, de qué tipo son, etc.).

¡ Preprocess tJU3tt 1 CIUter SeIet**tU.I Ysu$e


OpeniIe... - OpenURL. openoB.Jr Undo Save...
J
Filter
Ch Dos eNone Apply
Current relation --- Selecteti attribute
Rolation: prueba Nante: 5 Type: Numeric
Instantes: 3 Attributes: 3 Missing: O «J3 Oistinct 3 Unique: 3 1003
Attrubutes - - 1

NO- Name 1 Minimum 2
Maxirnum
-- ftlaan 5
32 - - allfle 3

CoIour h U'lum) VisuaIIeeAII]

2 5 8
Status
---
OK mg

En el cuadrante inferior derecho aparece una representación gráfica del


atributo seleccionado. Encima de ésta hay un menú desplegable que permite
variar el atributo de referencia que se representará en color para contrastar
ambos atributos. Pulsando en Visualize ah se abre una ventana desplegable
mostrando todas las gráficas pertenecientes a todos los atributos.

74

tníversiéa6'Técnica Tarticufiir de Loja


Aneo 4: 'fri'E7(f4

Aplicación de filtros

Weka permite aplicar una gran diversidad de filtros sobre los datos,

permitiendo realizar transformaciones sobre ellos de todo tipo. Al pulsar el

botón Choose dentro del recuadro fi/terse nos despliega un árbol en el que

seleccionar los atributos a escoger:

-- -----------------------------------------------------
Preproces Ciiiyt Clister AsSOCI4te 1 Selert 1

-- Open file Opn URL Opn OB - Undo _J ísave


Filter --
weka- [ Appty
fiiters Selected auribute
Ç El unsuper4sed Type: Numerir
Name: b
Ç O altrihute Minning: O Oistinit 3 Unique: 3 10Q
fl
ACI Stat:suc i Vatue
Ad2cluster Minimum 2
D AduEupression Mrn,m
r--- M ean 5
AdNoiue
D CtuslerMemberuhip -------
Dcopy
Discretize
FirutOrber
VIsuallzeAll
B Makelndicator
D MergeTwoValues
D NominalTutnarV 1 1

D Normalize
D NumericTotinary
N ti tu e nc T ras Sto rm
Obtuscate
fl PKlDiscrelize

oH
Status
OK L±J ixO

A continuación se hace una breve descripción de cada uno de ellos en la

categoría unsupervísed

Attribute Los filtros agrupados en esta categoría son aplicados a atributos.

Add Añade un atributo más. Como parámetros debemos


proporcionarle la posición que va a ocupar este nuevo atributo (esta
vez comenzando desde el 1), el nombre del atributo y los posibles

valores de ese atributo separados entre comas. Si no se especifican,

se sobreentiende que el atributo es numérico.

75
Vniversi6ací 'Técnica Particufarfe Loja
)4twp 4: '4'E

AddExpression Este filtro es muy útil puesto que permite agregar al


final un atributo que sea el valor de una función. Es necesario

especificarle la fórmula que describe este atributo, en donde podemos

calcular dicho atributo a partir de los valores de otro u otros,

refiriéndonos a los otros atributos por "a" seguido del número del

atributo (comenzando por 1). Por ejemplo:

(a3 ''3 .4)*a 1 +sqrt(floor(tan(a4)))

Los operadores y funciones que soporta son +, -, *, /, Al /og, abs,

cos, exp, sqrt, floor (función techo), ce!! (función suelo), rint
(redondeo a entero), tan, sin, (, )

Otro argumento de este filtro es el nombre del nuevo atributo.

AddNoise Añade ruido a un determinado atributo que debe ser

nominal. Podemos especificar el porcentaje de ruido, la semilla para


generarlo y si queremos que al introducir el ruido cuente o no con los

atributos que faltan.

ClusterMembership Filtro que dado un conjunto de atributos y el


atributo que define la clase de los mismos, devuelve la probabilidad de
cada uno de los atributos de estar clasificados en una clase u otra.

Tiene por parámetro ignoredAttríbutelndíces que es el rango de

atributos que deseamos excluir para aplicar este filtro. Dicho intervalo
podemos expresarlo por cada uno de los índices los atributos

separados por comas o definiendo rangos con el símbolo guión

76
Q)niversic[adTécnica çparticurar d
Ane.*co 4: 1'EK)l

Es posible denotar al primer y último atributo con los identificadores

firsty /ast(en este caso la numeración de los atributos comienza en 1,


por lo que first corresponde al atributo número 1).

Copy Realiza una copia de un conjunto de atributos en los datos. Este

filtro es útil en conjunción con otros, ya que hay ciertos filtros (la

mayoría) que destruyen los datos originales. Como argumentos toma

un conjunto de atributos expresados de la misma forma que el filtro

anterior. También tiene una opción que es ¡nvertSe/ect/on que invierte


la selección realizada (útil para copiar, por ejemplo, todos los atributos

menos uno).

Discretize Discretiza un conjunto de valores numéricos en rangos de


datos. Como parámetros toma los índices de los atributos discretizar

(attr/bute índices) y el número de particiones en que queremos que


divida los datos (bins). Si queremos que las particiones las realice por
la frecuencia de los datos y no por el tamaño de estas tenemos la

opción useEqual- Frecuency. Si tenemos activa esta última opción


podemos variar el peso de las instancias para la definición de los

intervalos con la opción DesiredWeiqhtOflnstancesPerinterva/. Si, al

contrario tenemos en cuenta el número de instancias para la creación

de intervalos podemos usar findNumBins que optimiza el


procedimiento de confección de los mismos.

Otras opciones son makeBinary que convierte los atributos en binario


e ¡nvertSe/ectíon que invierte el rango de los atributos elegidos.

FistOrder Este filtro realiza una transformación de los datos


obteniendo la diferencia de pares consecutivos de datos, suponiendo

77
?Jniversidad2Técnica Particular de Loja
)4nexo 4: fri)E1ÇJ4

un dato inicial adicional de valor O para conseguir que la cardinalidad


del grupo de datos resultante sea la misma que la de los datos origen.
Por ejemplo, silos datos son 1 5 4 6, el resultado al aplicar este filtro
será 1 4 -1 2. Este filtro toma un único parámetro que es el conjunto
de atributos con el que obtener esta transformación.

Makelndicator Crea un nuevo conjunto de datos reemplazando un


atributo nominal por uno booleano (Asignará "1" si en una instancia se
encuentra el atributo nominal seleccionado y "O" en caso contrario).

Como atributos este filtro toma el índice el atributo nominal que


actuará como indicador, si se desea que la salida del filtro sea
numérica o nominal y los índices los atributos sobre los que queremos
aplicar el filtro.

MergeTwoValues Fusiona dos atributos nominales en uno solo.


Toma como argumentos la posición del argumento resultado y la de
los argumentos fuente.

NominalToBinary Transforma los valores nominales de un atributo


en un vector cuyas coordenadas son binarias.

Normalize Normaliza todos los datos de manera que el rango de los


datos pase a ser [0,1]. Para normalizar un vector se utiliza la fórmula:

X(i) =

78
7Jniversiaaf 'Técnica ÇParticu[ar de Loja
J4ne,o 4: 4zLRJ4

NumericToBinary Convierte datos en formato numérico a binario. Si


el valor de un dato es O o desconocido, el valor en binario resultante

será el O.

NumericTransform Filtro similar a AddExpression pero mucho más


potente. Permite aplicar un método java sobre un conjunto de

atributos dándole el nombre de una clase y un método.

Obfuscate Ofusca todas las cadenas de texto de los datos. Este filtro
es muy útil si se desea compartir una base de datos pero no se quiere

compartir información privada.

PKlDiscretize Discretiza atributos numéricos (al igual que


Discretize), pero el número de intervalos es igual a la raíz cuadrada

del número de valores definidos.

RandomProjection Reduce la dimensionalidad de los datos (útil


cuando el conjunto de datos es muy grande) proyectándola en un
subespacio de menor dimensionalidad utilizando para ello una matriz
aleatoria. A pesar de reducir la dimensionalidad los datos resultantes
se procura conservar la estructura y propiedades fundamentales de los

mismos.

El funcionamiento se basa en el siguiente producto de matrices:

X(/xn) */'(nxm) = Xrp(ixm)

Siendo X la matriz de datos original de dimensiones ¡ (número de

instancias) x n (número de atributos), R la matriz aleatoria de

79
t)niversic[adTécnica ÇParticufarde Loja
I4neo 4: '11'EKJ4

dimensión n (número de atributos) x m (número de atributos

reducidos) y Xrp la matriz resultante siendo de dimensión ¡xm.

Como parámetros toma el número de parámetros en los que

queremos aplicar este filtro (numberOfAttributes) y el tipo de

distribución de la matriz aleatoria que puede ser:

Sparse 1 - 3 con probabilidad , O con probabilidad 2 y

con probabilidad

Sparse 3 -1 con probabilidad y 1 con probabilidad

Gaussian Utiliza una distribución gaussiana.

Además de estos parámetros, pueden utilizarse también el número de

atributos resultantes después de la transformación expresado en

porcentaje del número de atributos totales (percent, la semilla usada


para la generación de números aleatorios (seea), y si queremos que
aplique antes de realizar la transformación el filtro
ReplaceMissing Values, que será explicado más adelante.

Remove Borra un conjunto de atributos del fichero de datos.

RemoveType Elimina el conjunto de atributos de un tipo


determinado.

RemoveUseless Elimina atributos que oscilan menos que un nivel de


variación. Es útil para eliminar atributos constantes o con un rango
muy pequeño. Como parámetro toma el máximo porcentaje de

80
'lJniversi6adTécnica Particu&zr d
4ne.o 4: 4'EJCJ4

variación permitido, si este valor obtenido es mayor que la variación

obtenida la muestra es eliminada.

NúrneroDeAtributosDisi mt os *100
VariacionObtenida
NúmeroDeA tributos

ReplaceMissingValues Reemplaza todos los valores indefinidos por


la moda en el caso de que sea un atributo nominal o la media

aritmética si es un atributo numérico.

Standarize Estandariza los datos numéricos de la muestra para que


tengan de media O y la unidad de varianza. Para estandarizar un

vector xse aplica la siguiente fórmula:

= x(i) — x
X(i)
U(X)

StringToNominal Convierte un atributo de tipo cadena en un tipo


nominal.

StringToWordVector Convierte los atributos de tipo String en un


conjunto de atributos representando la ocurrencia de las palabras del

texto. Como atributos toma:

. DfTranform que indica si queremos que las frecuencias de las


palabras sean transformadas según la regla:

n° de instancias
frec. de la palabra i en la instancia j * log -----------------------------------------
n° de instancias con la palabra i
TfTransform Otra regla de transformación:
log(1+frecuencia de la palabra i en la instancia j)

81
niversiadTTcnica Particular de L
J4ne,co 4: WflÇ

attributeNamePrefix, prefijo para los nombres de atributos creados


Delimitadores (dellm/ters), conjunto de caracteres escape usados

para delimitar la unidad fundamental (token). Esta opción se

ignora si la opción on/yA/phabeticTokens está activada, ya que

ésta, por defecto, asigna los tokens a secuencias alfabéticas


usando como delimitadores todos los caracteres distintos a éstos.

/owerCaseTokens convierte a minúsculas todos los tokens antes de


ser añadidos al diccionario.

. norma/LzeDocLength selecciona si las frecuencias de las palabras


en una instancia deben ser normalizadas o no.

. outputWordCounts cuenta las ocurrencias de cada palabra en vez


de mostrar únicamente si están o no están en el diccionario.

• useStop//st si está activado ignora todas las palabras de una lista


de palabras excluidas (stop/ist.
• wordsToKeep determina el número de palabras (por clase si hay
un asignador de clases) que se intentarán guardar.

SwapValues Intercambia los valores de dos atributos nominales.

TimeSeriesDelta Filtro que asume que las instancias forman parte


de una serie temporal y reemplaza los valores de los atributos de
forma que cada valor de una instancia es reemplazado con la

diferencia entre el valor actual y el valor pronosticado para dicha

instancia.

En los casos en los que la variación de tiempo no se conozca puede


ser que la instancia sea eliminada o completada con elementos

desconocidos (símbolo "?"). Opciones:

82
'U niversidac[ 'Técnica Particular di
4ne(p 4: 4'ERI

• attributelnd/ces Especifica el rango de atributos en los que aplicar


el filtro.
• Fil! WithM/ss/ng Las instancias al principio o final del conjunto de

datos, donde los valores calculados son desconocidos, se

completan con elementos desconocidos (símbolo "?") en vez de

eliminar dichas instancias, que es el comportamiento por defecto.

• InstanceRange Define el tamaño del rango de valores que se usará

para realizar las restas. Si se usa un valor negativo significa que

realizarán los cálculos con valores anteriores.


o /nvertSe!ect/on Invierte la selección realizada.

Instance Los filtros son aplicados a instancias concretas enteras.

NonSparseToSparse Convierte una muestra de modo completo a


modo abreviado.

Randomize Modifica el orden de las instancias de forma aleatoria.

RemoveFolds Permite eliminar un conjunto de datos. Este filtro está


pensado para eliminar una partición en una validación cruzada.

RemoveMisclassified Dado un método de clasificación lo aplica


sobre la muestra y elimina aquellas instancias mal clasificadas.

RemovePercentage Suprime un porcentaje de muestras.

RemoveRange Elimina un rango de instancias.

RemoveWithValues Elimina las instancias acordes a una


determinada restricción.
83
'U niversi6a cf Técnica Particular di?
Aneo 4: PiÁflC

Resample Obtiene un subconjunto del conjunto inicial de forma

aleatoria.

SparseToNonSparse Convierte una muestra de modo abreviado a


modo completo. Es la operación complementaria a

NonSparseToSparse.

2. Clasificación

Pulsando en la segunda pestaña (zona superior) del explorador entramos en

el modo clasificación. En este modo podremos clasificar por varios métodos

los datos ya cargados.

Pr
eprare 1 Classify rC!,r tAóCiat Vsu$Iz 1 -
Class,fier - - -- -
Choose ZeroR 111111
Test options •----- CIassiIier output
lite training set
Supplied test set -
i Cross-validation Folds iOJ
Percentaqe split
More optons... H

ons)dass

P statt H
Result tist ight-ctick for options)

Status
OK LJo J xo

Si queremos realizar una clasificación lo primero será elegir un clasificador y

configurarlo a nuestro gusto, para ello pulsaremos sobre el botón Choose

84
?Jniversi6acRFécnica ÇParticufar de Loja
J4ne,o 4: 'WEKJ4

dentro del área C/ass/fier. Una vez pulsado se desplegará un árbol que nos
permitirá seleccionar el clasificador deseado. Una vez seleccionado

aparecerá, en la etiqueta contigua al botón Choose, el filtro seleccionado y


los argumentos con los que se ejecutará. Esta información es muy útil si

queremos utilizar el interfaz de consola ya que podremos configurar nuestro

filtro con la interfaz y luego obtener el resultado apto para línea de mandato.

Para poder acceder a las propiedades de cada clasificador deberemos hacer

doble-c//ck sobre la etiqueta antes mencionada. Al darle aparecerá una nueva


ventana con las propiedades junto a una breve explicación del mismo. Una
vez elegido el clasificador y sus características el próximo paso es la

configuración del modo de entrenamiento (Test Opt/ons). Weka proporciona

4 modos de prueba:

Use training set

Con esta opción Weka entrenará el método con todos los datos disponibles y

luego lo aplicará otra vez sobre los mismos.

Supplied test set

Marcando esta opción tendremos la oportunidad de seleccionar, pulsando el

botón Set . . . , un fichero de datos con el que se probará el clasificador


obtenido con el método de clasificación usado y los datos iniciales.

Cross-validation

Pulsando el botón Cross-va//dat/on Weka realizará una validación cruzada


estratificada del número de particiones dado (Fo/ds). La validación cruzada
consiste en: dado un número n se divide los datos en n partes y, por cada
85
Particular de Loja
.neo 4: PiÁEI()I

parte, se construye el clasificador con las n-1 partes restantes y se prueba

con esa. Así por cada una de las n particiones.

Una validación-cruzada es estratificada cuando cada una de las partes

conserva las propiedades de la muestra original (porcentaje de elementos de

cada clase).

Percentage split

Se define un porcentaje con el que se construirá el clasificador y con la parte

restante se probará.

Una vez definido el método de prueba Weka nos permite seleccionar algunas

opciones más con el botón More Options.

Rl Output mnht
Rl Output per-(Iass stats
Rl Output entropy evaluation rneasures
IYJ Output Confusion matrix
Rl Store prediuions Tor visualization

fl Cost-sensltive evaluation
Randorn seed for XVaI / Y. SpIit

OK

Las opciones que se nos presentan son:

Output Model.- Si la activamos una vez construido y probado el


clasificador, nos mostrará en la salida del clasificador el modelo que ha

construido.

86
t)niversiifad'Técnica ÇParticu(ar de Loja
ne,o 4: WLKJ4

Output per-class stats.- Activada muestra estadísticas referentes a cada

clase.

Output entropy evaluation mesures.- Muestra información de

mediciones de la entropía en la clasificación.

Output confusion matrix Muestra la matriz de confusión del clasificador.


Esta tabla cuyo número de columnas es el número de atributos muestra la

clasificación de las instancias. Da una información muy útil porque no sólo

refleja los errores producidos sino también informa del tipo de éstos.

Si tuviéramos el problema de clasificar un conjunto de vacas en dos clases


gordas y flacas y aplicamos un clasificador, obtendríamos una matriz de

confusión como la siguiente.

Gordas Flacas

32 4 Gordas

4 43 Flacas

Donde las columnas indican las categorías clasificadas por el clasificador y las
filas las categorías reales de los datos. Por lo que los elementos en la

diagonal principal son los elementos que ha acertado el clasificador y lo

demás son los errores.

Debajo de este cuadro de la ventana existe un menú desplegable que nos


permitirá seleccionar un atributo de nuestra muestra. Este atributo es el que
actuará como resultado real de la clasificación. Habitualmente este atributo

suele ser el último.

87
t) niversicfaé'Técnica (Particu/Tar Le
J4iwo 4: í1'L7C

Ahora para comenzar un método de clasificación sólo falta pulsar el botón


Start. Una vez funcionando en la barra de estado aparecerá la información
referente al estado del experimento. Cuando acabe, la Weka situada en la
esquina inferior derecha dejará de bailar y eso indicará que el experimento
ha concluido En la ventana de mensajes del clasificador aparecerá la
información referente al desarrollo de éste que hayamos seleccionado.

- x
p enoecs Claeeufp Asod*t* VIsuøzej
Classifier
Choose ISMO -c 1.0 -E 1,0 -GO 01 -A 1000003 -T 0.0010 -P LOE-12 -N 0 -R -Y -1 -Ti
Test options - Classitier autput -----------------------------------
Use training set Stratltled cross-ealiclatlOfl
Sun ea ry
Supplied test set
(orrectly (lassfied lostances 139 92.6667
i Cross-valldation FoIdS iOJ Incorrectly Classified Inutances 11 7.3333 E
(1: Percentaqe split Kappa statistir 0.89
Mean absol ate error 0.2385
More options Root coas sqaared error 0.3005
Relative absol ate error 53.6667 E
Root reative squared error 63.7704 8
'Iom) dass Total Number of Instantes 150
Start Detailed Accuracy By Class

Result Iist
Qiqht-click Por options) TP tate PP Rote Preciaba tecali F-Measre (lasa
Iris-set005
185347 tunctionsSMO 10 1 1 1
0.92 0.07 0.868 0.92 0.893 Iris-versicolor
0.86 0.04 0.915 0.86 0.887 Iris-virginica

Ceofasi os Matri u

b c c-- classified as
50
a 0 0 1 a = Iris-setosa
0 46 4 1 5 - Iri 5-ocmi color
0 7 43 1 c Iris-virbnica

Status --
------------- -
xO
OK

En la zona inferior-izquierda se encuentra la lista de resultados en la que


aparecerán cada uno de los experimentos que hayamos realizado. Si
pulsamos el botón secundario sobre alguno de ellos obtendremos opciones
adicionales aplicables al experimento que hayamos seleccionado.

Éstas permiten visualizar los resultados obtenidos en diferentes variantes,


incluyendo gráficas, guardar modelos, etc.

88
Oniersícfad'Técnica cParticuíar d
ne)co 4: 'r'VL NYÍ

View i main vint1ov


íiew in sepat ate window
Save result buffer
Load model
Save model

Visualize classifier errors

Visualize margin curve


Visualize threshold curve
Visualize cost curve

View in main window.- Mostrará el resultado del experimento en la salida


estándar del clasificador.

View in separate window.- Mostrará el resultado del experimento en una


nueva ventana.

Save result buffer.- Guardará el resultado del experimento en un fichero.

Load model.- Cargará un modelo de clasificador ya construido.

Save model.- Guardará el modelo de clasificador actual.

Re-evaluate model on current test set.- Enfrentará un modelo con el


conjunto de muestra actual.

Visualize clasiffier errors.- Se abrirá una nueva ventana en la que nos


mostrará una gráfica con los errores de clasificación.

89

Vniversic[ad'Técnica (Particufar de Loja


tw.o 4: WERTJ4

\Instance.numherum) [y nstance.jiumber 'Jurn) ____



rseiea
Clear 11 - Save Jutter L—{:

Piot iris_predicted

••: ;:

C dSS U)OUI

Irissetos It'1s-ericc1cr

La ventana del modo gráfica está compuesta por 3 partes. En la parte

superior las dos listas desplegables indican el eje X y el eje Y de la gráfica. Es

posible variarles a nuestro gusto y obtener todas las combinaciones posibles.

Debajo de la lista desplegable del eje X se encuentra otra en la que podemos


definir un atributo que muestre el rango de variación del mismo en colores.
El botón contiguo a ésta, en la misma línea, sirve para definir el tipo de

figura geométrica que queremos utilizar para seleccionar datos en la propia

gráfica. Interactuando en la misma seleccionamos un área:

90
Universic[ac['ILcnica ÇparticufardTe Loja
J4ne,o 4: 141EKJ4

x Y-: Instcenurnber
a um) "n
rYinstancenumberUm) -
[iourInstance_nurnberum)" 1 [PoIygon"j
SuhrnvtCIear J Savel Jitter ÇJ1

I
Piot irN_t)redirtíi

Class colour

74.5 149

Una vez seleccionada a nuestro gusto con el botón Submit nos mostrará
sólo los datos capturados en el área de la figura que hemos trazado. El botón
Reset sirve para volver a la situación inicial y el botón Save es para guardar
los valores de los datos en un fichero arif.

La barra de desplazamiento, denominada j/tter, es muy interesante porque


permite añadir un ruido aleatorio (en función de lo que se desplace la barra)
a los datos. Es útil cuando hay muchos datos juntos y queremos separarlos
para poder estimar la cantidad que hay.

En la parte media-derecha de la ventana de la gráfica con los errores de


clasificación se muestra gráficamente, y de una forma muy resumida, la
distribución de cada uno de los atributos. Pulsando sobre ellos con el botón
principal del ratón definiremos el eje Xy con el botón secundario el eje Y La
última parte (la inferior) de la ventana que muestra gráficas es la leyenda.

91
L)niversid2zif 'Técnica çTParticufardé Loja
)4 neo 4: 'f4"ER4

Pulsando con el ratón en un elemento de la leyenda aparecerá la siguiente

ventana que nos permitirá modificar los colores en una extensa gama.

LUt] ii 1 RGC1

Reciente:
jjjjJjjJ.J_iJi11JJ1J11
JJLJJL)J J .IJJJ LJ1J JJJJJJ J
J%JI1 un 1iJ 1 JLLIJ_LLLi
JIJJJ
_J J11J

Vista previa

Aceptar cancelar RestabIece

Visualize tree.- Esta opción mostrará un árbol de decisión, generado por el


clasificador, en el caso que lo haya hecho.

II
Tree View

29-29

1- ; -
36 36 10,5 >= 10.5

<4.25 >= 425

92
Vniversidad'Técnica Particufar Le Loja
Anexo 4: 4'LR)4

Las opciones que existen en esta ventana se despliegan pulsando el botón


secundario sobre ella. Estas son:

• Center on Top Node centrará el gráfico en la ventana atendiendo a


la posición del nodo superior. Esta opción es muy aconsejable si
cambiamos el tamaño de la ventana.

• Fit to Screen Ajusta el gráfico a la ventana, no sólo la posición sino


también su tamaño.

• Auto Scale Escala el gráfico de manera que no haya nodos que


colisionen.

• Select Font Nos permite ajustar el tamaño del tipo de letra del texto.
Si pulsamos el botón secundario sobre un nodo del grafo nos dará la
opción de Visualize the node, si hay instancias que correspondan a
ese nodo nos las mostrará.

Visualize margin curve.- Muestra en una curva la diferencia entre la


probabilidad de la clase estimada y la máxima probabilidad de otras clases.
El funcionamiento de la ventana es igual que la del caso anterior.

Visualize thresold curve.- Muestra la variación de las proporciones de


cada clase. Un truco importante es que si situamos en el eje X los
coeficientes falsos positivos y en el eje Y los coeficientes de verdaderos
positivos obtendremos una curva ROC, y aparecerá sobre la gráfica el valor
del área de ésta.

Visualize cost curve.- Muestra una gráfica que indica la probabilidad de


coste al variar la sensibilidad entre clases.
93
t)niversifadTFécnica Particu&zr de Loja
J4neo 4: í4LKj4

3. Clustering

Pulsando la tercera pestaña, llamada Cluster, en la parte superior de la


ventana accedemos a la sección dedicada al clustering. El funcionamiento es

muy similar al de clasificación: se elije un método de clustering, se selecciona


las opciones pertinentes y con el botón Start empieza el funcionamiento.

___ -
p rep rocess 1 iier Áate st1u1but 1**
Clusterer
Choose jSimpIeKMeans -N 2 - S10

- Clusterer outpUt -------------


Cluster mode
Use training set
Cluster O
.SuppIed test set - Mean/Mude: 6.2€2 2.872 4.906 1.676
-- ltd lees: 0.628 0.3328 0.8256 0.4248
PItentage spht - - Cluster 1
¡Oy Ciseses So clusters evaluation Mean/Mude: 5.006 3.418 1.464 0.244
lt d Dess: 0.3:25 0.381 0.1735 0.1072
n)class
Ci ustereci Instasces
[J Stule LIUICIS rur vtsuaiiLdtiurl
--------- ----------------- 0 100 ( 67%)
Ignore attributes 1 50 ( 33%)

(laus attribute: ciass


ResuiS iist iqht-ciick for options) -- Ci anses to Ci unte rs:

- SlmpIeKMeaflS
0 1 <-- assgned tu cluster
0 50 1 Iris-setcua
50 0 1 Iris-versiculur
50 0 1 Iris-virçflnica

cluster 0 <-- Iris-versiculor


Cluster 1 <-- Iris-setusa

Incorrectly clustered irstances 50.0 33.3333 %

Status
01< -J Loq X

Una opción propia de este apartado es la posibilidad de ver de una forma


gráfica la asignación de las muestras en clusters. Esto se puede conseguir

activando la opción Store cluster for evaluation, ejecutando el experimento y

seguidamente, en la lista de resultados, pulsando el botón secundario sobre

el experimento en cuestión y marcando la opción Visualize cluster

assignments con esto obtendremos una ventana similar a las del modo
explorador para mostrar gráficas en el que nos mostrará el clustering
realizado.

94
VniversiaadTécnica ÇParticu [ar d
ne)co 4: 'TiIÁTE?Ç4

4. Búsqueda de Asociaciones

La cuarta pestaña (Asociate), muestra la ventana que nos permite aplicar


métodos orientados a buscar asociaciones entre datos. Es importante

reseñar que estos métodos sólo funcionan con datos nominales. Éste es sin

duda el apartado más sencillo y más simple de manejar, carente de apenas

opciones, basta con seleccionar un método, configurarlo y verlo funcionar.

ftprQess - asiltCftester I1 .U$1Ze


Aso o ci ator
Choose Apriori -NI 10-10-00 9-0005 -Li 1.0 -M 0.1-8-10

Associator output
Start - -------
-
3. / 0,607625 0,571429 0,000000 */ terperature = coci ==> humidity normal
Result list Oight-clict 4. / 0,594071 1,000000 0,300000 */ humi dity = normal ==> temperature = roo]
S. / 0,590214 0,600000 0,000000 W/ outlook = sunny and humidity = hiqh ==> play = no
6. /* 0,555556 0,555556 0,000000 */ play = no ==> outlook = ounoy or nndy = TRUE
Tertius
-
7• /W 0,486606 0,636364 0,000000 */ humidity = normal ==> nutinok = rainy or play = yes
- priori 8. /* 0,486606 0,428571 0,000000 */ outlook = nunny aol play = no ==> humility hgh
22:33:10 Apriori 9 /* 0,469374 0,444444 0,000000 */ outlook = osercaat ==> play = yen
10. / 0,469374 0,444444 0,000000 */ temperature hot ==> outlook = overcast or humidlt
11. / 0,469374 0,500000 0,000000 */ temperature = hot ano play = yes ==> outlook = oeer
12. /* 0,469374 0,444444 0,000000 / temperature = hot ==> outlnnk = osercast nr play =
13. /' 0,469374 0,444444 0,000000 */ outlook = overcast ==> temperature hoz nr eindy =
14. /* 0,469374 0,500000 0,000000 */ outlook = ooercast aol windy = FALSE ==> temperatur
15. / 0,469374 0,500000 0,000000 */ play = no ==> huoidity hiqh nr windy = TRUE
16. /* 0,469374 0,444444 0,000000 */ humidity = hi9h aol play = no ==> outleok = ounry o!
17. /* 0,469374 0,444444 0,000000 */ temperature = mill and play yen ==> outlook = ral
18. 0,469374 0,500000 0,000000 */ nutlook = sunny ==> temperature = con] nr vindy = T
/ 0,467119 1,000000 0,500000 */ play = yes ==> oatlook = overcast
19.
20. /* 0,458333 0,800000 0,250000 */ play = yes ==> oatlook = overcaot nr e4ndy = FALSE 3
21. /' 0,458333 0,600000 0,111111 y humlu]ty = n1 911 ano PI ay = no ==> nUtinOk sunny
22. /' 0,439100 0,571429 0,142857 */ play = no ==> hunidity = hiph
23. /* 0,439100 0,666667 0,200000 */ humidity = hiOb ==> temperature = mill nr play =no
:24. 0,439100
/* 0,666667 0,200000 */ humidity = hi9h ==> outlnnk = ounny nr temperature

Nomber of hypotheses considerel: 1730


Number nr hypotheseo explorel: 642
Time: 00 min 00 u 248 mo

Status
Smc error ;oij L_.!iii!!J _1
-
1x x 0 1

S. Selección de Atributos

La pestaña Select Atributes nos permite acceder al área de selección


atributos. El objetivo de estos métodos es identificar, mediante un conjunto

de datos que poseen unos ciertos atributos, aquellos atributos que tienen

más peso a la hora de determinar si los datos son de una clase u otra.

95
t)niversiíadFécnica Particular d
,4 nexo 4: WL?C:4

Preprucesst CIssify Cluster M$fSeIectaurubutes


Attribute Evaluator
- Choose 1 Cfssubsettval -

Search Method
Choosellestíirst -D 1 -N 5
Attribute Seieilion Mode Attríbute seleilion output
i tice fui¡ training set
Cross-vafldation
Attri bote Sel ecti on on al] input data

Search Method:
Best first.
Start set: no attributes
Start Search direction: forard
Stal e search arte r 5 node expansi sos
ResuIt Iist (right-ctick lar aptions)
Total nusber oC subseto evaluated: 33
Merit 01' best subset found: 0.924

Attribute Subset Evaluator (supervised, Class (nulneris): 8 claso):


CFI Subset Esa] uator

Selected attributeo: 3,4,5,6,7 : 5


MMIN
HMCX
CAC H
CHMIN
CHM)(


Status ..............
OK
10 9 '(°

Para empezar un método de selección de atributos lo primero es seleccionar

el método de evaluación de atributos (Attr/bute evaluator). Este método será


el encargado de evaluar cada uno de los casos a los que se le enfrente y
dotar a cada atributo de un peso específico. El funcionamiento para

seleccionar este método es el mismo que con otros métodos en Weka, se

selecciona el método con el botón Choose situado dentro del cuadro


Attribute evaluator. Una vez seleccionado podemos acceder a las

propiedades del mismo pulsando sobre el nombre de la etiqueta que muestra

el nombre del método seleccionado.

El siguiente paso será elegir el método de búsqueda que será el encargado


de generar el espacio de pruebas. El funcionamiento es el mismo al caso

anterior. Una vez seleccionado el método de evaluación y el de generación


del espacio de pruebas sólo falta elegir el método de prueba, el atributo que
96
t)niversi6adTFécnica Particular de Loja
]4neo 4: 'i'ER$

representa la clasificación conocida y pulsar Start. Una vez acabado el


experimento pulsando el botón secundario sobre la etiqueta del experimento
en la lista de experimentos realizados tenemos la opción de Visualize
Reduced Data, que nos mostrará los datos habiendo tomado los mejores
atributos en una ventana como la del modo Visualización (v/sua/ize), que se
explicará en el siguiente punto.

6. Visualización

El modo visualización es un modo que muestra gráficamente la distribución


de todos los atributos mostrando gráficas en dos dimensiones, en las que va
representando en los ejes todos los posibles pares de combinaciones de los
atributos. Este modo nos permite ver correlaciones y asociaciones entre los
atributos de una forma gráfica.


ss - tJ*4
VsuJize
ncr MMIN CACH CHMIN

c las

L..

CHMA\

(HM IN

PIotSie: [1001 --_j-:— 1 Update


PnintSize: [1) t----
JitLei:

4um) Í SubSample%LJ 103


.It3) tUIUUI --------------------- -

ç
. ------------------- ________
Status ---------. .
x 0
OK

97
Jniversifad'Técnica Particular de Loja
)4neo 4: WL?()

Pulsando doble dllck sobre cualquier gráfica se nos mostrará en una ventana
nueva con el interfaz para gráficas ya explicado. Las opciones que ofrece

este modo se activan mediante las barras deslizantes. Las posibles opciones

son:

Plotsize Define el tamaño del lado de cada una de las gráficas en píxeles,
de 50 a 500.

Pointsize Define el tamaño del punto expresado en píxeles, de 1 a 10.

Jitter Añade un ruido aleatorio a las muestras, de manera que espacia las
muestras que están físicamente muy próximas, esto tiene utilidad cuando se

concentran tanto los puntos que no es posible discernir la cantidad de éstos

en un área.

Una vez seleccionados los cambios es imprescindible pulsar el botón Update


para que se representen de nuevo las gráficas. Otro botón útil, es el Select

Atributes, que nos permite elegir los atributos que se representarán en las
gráficas. El último botón que se encuentra en esta ventana es el Subsample
que permite definir el tanto por ciento de muestras (que escogerá

aleatoriamente) que queremos representar.

98
t)niversiaa6'Técnica çparticurar d
iw,p 4: 4'E1(4

Archivos para Weka usados en el proyectos

De acuerdo a la estructura de archivos que maneja Weka, en el presente

trabajo se usan los archivos sattrn.arff y sattst.arff, los cuales contienen los

datos de las imágenes satelitales tanto de entrenamiento y testeo,

respectivamente. Para la clasificación de fotografías aéreas se utilizó el


archivo datoswekaf.csv. Estos archivos se encuentran en el directorio

C:\Lenguajes\j2sdkl.4.2_08\bin\data.

99
Anexo N° 5
Método de Gradiente Conjugado
Escalado
'Universic[adTécnica Particular de Loja
)4neo 5: Método de SCÇ

Método de Gradiente Conjugado Escalado - SCG

Desde un punto de vista de optimización de aprendizaje en una red neurona¡

es equivalente a minimizar la función de error global. Muchos de los

algoritmos están basados en el algoritmo de gradiente descendente para

optimización. Usualmente, estos algoritmos tienen un índice de convergencia


pobre y dependen de parámetros los cuales tienen que ser especificados por

el usuario. Los valores de estos parámetros son cruciales para el éxito del

algoritmo.

La minimización es un proceso local iterativo en el cual una aproximación a la

función en una vecindad de un punto actual en el espacio de peso es

minimizada. Los métodos de gradiente conjugados están basados en la

estrategia general de optimización.

El algoritmo SCG denota una aproximación cuadrática para el error Een una

vecindad de un punto wpor:

Eqw = E (w1 + E(w: T +

en orden para determinar el mínimo para Eqw (y) deben encontrarse los
puntos críticos para Eqw (y) los cuales son la solución para el sistema lineal

definido por:

E'qw : = E' (w) y -- E'(zt) = O

101
Anexo N° 6
Imagen satelital y Fotografía aérea
(JníversidacfTécnica Particufar de Loja
)4nexo 6: Imágenes sateL(itaíesy 'Fotografías aéreas

r' P!•i
r'
4

d4.

.VL ¡1 ,,1..b%
1 ."& •»

, *
. . •1

11

•-. .I.• ) ;

•4l..'& i

Imagen Satelital LAN DSAT de Loja - Ecuador.


Fuente: Sistemas de Información Geográfica

103
7JniversidadTécnica Particular de Loja
)4nexo 6: Imágenes satefita(esy 'Fotografías aéreas

Fotografía Aérea de Loja - Ecuador.


Fuente: Sistemas de Información Geográfica

104

You might also like