• No se han encontrado resultados

Escalamiento multidimensional sobre datos mezclados usando algoritmos genéticos

N/A
N/A
Protected

Academic year: 2020

Share "Escalamiento multidimensional sobre datos mezclados usando algoritmos genéticos"

Copied!
89
0
0

Texto completo

(1)

usando algoritmos genéticos

Por:

Pedro Tecuanhuehue Vera

Tesis sometida como requisito parcial para obtener el grado de

MAESTRO EN CIENCIAS EN LA ESPECIALIDAD DE CIENCIAS COMPUTACIONALES

en el

Instituto Nacional de Astrofísica, Óptica y Electrónica

Tonantzintla, Puebla Enero 2013

Supervisada por:

Dr. Jesús Ariel Carrasco Ochoa Dr. José Francisco Martínez Trinidad

c

INAOE 2013 Derechos Reservados

El autor otorga al INAOE el permiso de reproducir y distribuir copias de esta tesis

(2)
(3)

En el presente trabajo se introduce un algoritmo genético que tiene por

obje-tivo realizar escalamiento multidimensional sobre conjuntos de datos mezclados e

incompletos. El escalamiento multidimensional busca representar sobre el plano

Euclidiano a objetos que se encuentren en espacios de alta dimensión, tratando

de mantener lo mejor posible las distancias que existen entre los objetos

origina-les. El escalamiento multidimensional tiene por objetivo visualizar sobre el plano

Euclidiano la estructura que mantienen los objetos en el espacio original. Los

algoritmos existentes realizan escalamiento multidimensional sobre conjuntos de

datos numéricos, utilizando técnicas clásicas de optimización las cuales pueden

caer facilmente en óptimos locales.

En este trabajo se presenta un algoritmo genético (AGP) para realizar

esca-lamiento multidimensional sobre datos mezclados e incompletos y una estrategia

de tipo divide y vencerás (AGPG) que permite procesar conjuntos grandes de

objetos. Con el algoritmo genético AGP se busca explorar mejor el espacio de

so-luciones para encontrar mejores representaciones de los objetos originales sobre el

plano Euclidiano. El algoritmo AGP hace uso de operaciones de mutación y cruza

introducidas en este trabajo; las cuales fueron diseñadas específicamente para el

problema de escalamiento multidimensional. Además, para acelerar la búsqueda

y permitir encontrar buenas soluciones en menos generaciones, se diseñó una

es-trategia para la creación de una población inicial, la cual está basada en generar

proyecciones bidimensionales de los objetos originales.

(4)

La estrategia de tipo divide y vencerás para realizar escalamiento

multidimen-sional sobre datos mezclados e incompletos, AGPG, surge debido a la necesidad de

acelerar la búsqueda de soluciones para conjuntos grandes de datos. El algortimo

AGP puede encontrar mejores soluciones que la estrategia AGPG, sin embargo,

AGPG puede encontrar soluciones adecuadas más rápidamente que el algoritmo

AGP en conjuntos grandes de datos. La estrategia AGPG consiste en dividir el

conjunto de datos originales en grupos de menor tamaño y realizar escalamiento

multidimensional mediante el algoritmo AGP sobre cada grupo obtenido. Para

en-contrar una representación global del conjunto grande de datos, AGPG posiciona

las representaciones de cada grupo de menor tamaño usando una representación

obtenida a partir de un conjunto construido con una pequeña muestra de cada

grupo de la partición.

Los resultados de nuestro algoritmo AGP y los de la estrategia AGPG han sido

comparados contra los resultados obtenidos por los algoritmo MDSCAL [Kru64b]

e ISOMAP [Ten00], para ello hemos hecho uso de algunas bases de datos del

repositorio UCI [Mer98] y hemos probado diferentes valores para algunos de los

parámetros que usan nuestros algoritmos. En general, hemos encontrado que

pa-ra bases de datos mezcladas e incompletas el algoritmo AGP encuentpa-ra mejores

representaciones que la estrategia AGPG y que los algoritmos MDSCAL e

ISO-MAP y la estrategia AGPG también obtiene mejores resultados que los algoritmos

MDSCAL e ISOMAP, pero no obtiene mejores resultados que el algoritmo AGP;

sin embargo, debido a que AGPG es más rapido, permite hacer escalamiento

(5)

This work introduces a genetic algorithm that aims to make multidimensional

scaling over mixed and incomplete data. Multidimensional scaling attempts to

represent, on the Euclidean plane, objects that are in high-dimensional spaces,

trying to keep as much as possible the distances among the original objects.

Mul-tidimensional scaling aims to display on the Euclidean plane the structure that

objects in the original space keep. Current algorithms make multidimensional

sca-ling over numerical data sets using classical optimization techniques, which easily

fall into local optima.

This work presents a genetic algorithm, AGP, to make multidimensional

sca-ling over mixed and incomplete data, and a divide and conquer strategy, AGPG,

that can process large data sets of objects. AGP aims to better explore the

so-lutions space in order to find better representations of the original objects on

the Euclidean plane. The AGP algorithm uses mutation and crossover operations

introduced in this thesis, which were specifically designed for the problem of

mul-tidimensional scaling. In addition, to accelerate the search and to allow finding

good solutions in fewer generations, we designed a strategy for creating an initial

population, which is based on generating two-dimensional projections of the

ori-ginal objects.

The divide and conquer strategy, AGPG, to make multidimensional scaling

over mixed and incomplete data arises from the need to accelerate the search of

good representations for large datasets. The AGP algorithm can find better

(6)

lutions than the AGPG strategy, however, AGPG may find appropriate solutions

faster than the AGP algorithm. The AGPG strategy divides the original dataset

into smaller groups and make multidimensional scaling using the AGP algorithm

on each group. To find a global representation of the large data set, AGPG

po-sitioned representations of each smaller group using the representation obtained

from a dataset constructed from a small sample of each group of the partition.

The results of our AGP algorithm and AGPG strategy have been compared

against the results obtained by MDSCAL algorithm [Kru64b], for which we have

used some databases from UCI repository [Mer98], as well as different values for

some of the parameters used by our algorithms. From these experiments we found

that for mixed and incomplete databases our AGP algorithm find better

represen-tations that the AGPG strategy and the MDSCAL and ISOMAP algorithms. Our

AGPG strategy gets better results than the MDSCAL and ISOMAP algorithms,

but if does not get better results than the AGP algorithm, however, since AGPG

(7)

Mi más sincero agradecimiento a mis asesores Dr. Jesús Ariel Carrasco Ochoa y

Dr. José Francisco Martínez Trinidad por la orientación y ayuda que me brindaron

para realizar este trabajo de tesis.

Gracias a México por el financiamiento otorgado a través del Concejo Nacional

de Ciencia y Tecnología (CONACyT), para realizar estos estudios de maestría.

Agradezco también a todo el personal de Instituto Nacional de Astrofísica

Óp-tica y Electrónica (INAOE) y en especial a la Coordinación de Ciencias

Compu-tacionales por haberme dado la oportunidad de realizar este posgrado.

A mis compañeros y amigos por su ayuda y por compartir conmigo esta

expe-riencia, en especial a Lucas Pacheco Martínez, Alejandro Antonio Torres García,

Fabricio Otoniel Pérez Pérez y Miriam Cuautle Lima.

.

.

.

.

.

.

.

.

(8)

.

.

.

.

.

.

(9)

Dedicatoria

Al camino que viene desde el Alfa y llega

hasta la Omega por todas las experiencias

que hasta hoy me ha permitido conocer.

A mis padres

Lucila Vera Munguía y Vicente Tecuanhuehue Gómez

por seguir siendo el pilar fundamental de mi familia

y por todo lo que ello implica.

A mi hermana Yolanda Tecuanhuehue Vera

y a mi amiga María Antonia Ruíz Díaz

que han sido dos piedras angulares en mi vida.

A mi hermano Miguel Tecuanhuehue Vera

por su ayuda incondicional y al pequeño

Adhair Andrés Tecuanhuehue por enseñarme

(10)
(11)

Resumen III

Abstract V

Agradecimientos VII

1. Introducción 1

1.1. Problemática . . . 2

1.2. Objetivos . . . 3

1.2.1. Objetivo general . . . 3

1.2.2. Objetivos específicos . . . 3

1.3. Organización del documento . . . 4

2. Marco Teórico 5 2.1. Tipos de datos . . . 5

2.2. Objetos . . . 6

2.3. Funciones de evaluación . . . 6

2.4. Funciones de distancia . . . 8

2.5. Algoritmos genéticos . . . 10

2.6. Centroide de un triángulo . . . 13

3. Estado del Arte 15 3.1. MDSCAL . . . 16

(12)

3.2. ISOMAP . . . 16

3.3. LLE . . . 18

3.4. FastMap e HyperMap . . . 19

4. Algoritmo propuesto 21 4.1. Representación de los individuos . . . 21

4.2. Población inicial . . . 22

4.3. Operadores específicos de cruza y mutación . . . 25

4.3.1. Cruza . . . 26

4.3.2. Mutación . . . 28

4.4. Algoritmo genético . . . 35

4.4.1. Análisis de complejidad de AGP . . . 37

4.5. Escalamiento multidimensional de conjuntos grandes de datos . . 40

4.5.1. División de conjuntos grandes . . . 41

4.5.2. Integración de las representaciones . . . 43

4.5.3. Análisis de complejidad de AGPG . . . 48

5. Experimentos y resultados 51 5.1. Descripción de los experimentos . . . 51

5.2. Comparación de AGP contra MDSCAL e ISOMAP . . . 55

5.3. Comparación de AGP contra AGPG . . . 58

5.4. Comparación de AGPG contra MDSCAL e ISOMAP . . . 62

6. Conclusiones 67 6.1. Aportaciones . . . 68

6.2. Trabajo Futuro . . . 69

6.3. Artículos publicados . . . 69

(13)

2.1. Partes de un individuo. . . 12

2.2. Cruza de dos cromosomas basada en un punto. . . 12

2.3. Mutación de dos genes en un cromosoma. . . 13

2.4. Centroide de un triángulo. . . 14

3.1. Un grafo G de vecindades construido en el paso 2 de ISOMAP [Ten00]. . . 17

3.2. Representación de objetos tridimensionales en el plano Euclidiano obtenido con ISOMAP [Ten00]. . . 18

3.3. Pasos de LLE [Row00]. . . 18

3.4. Proyecciones del objetoOien distintos espacios objetivos obtenidos con diferentes pesos W [An06]. . . 20

4.1. Cromosoma de 2m números reales que representa una posible solu-ción del escalamiento multidimensional demobjetosn-dimensionales. 22 4.2. Creación de un individuo. . . 23

4.3. Proyecciones bidimensionales de objetos en tres dimensiones. . . . 24

4.4. Creación de una población de individuos de tamaño T. . . 25

4.5. Ejemplos de matrices de distancias de objetos n-dimensionales ori-ginales y de los individuos P y Q y sus correspondientes sumas de distancias S(O),S(P) y S(Q). . . 27

4.6. Cruza de los individuos P y Q. . . 29

4.7. Diagrama de mutación en un individuo. . . 30

(14)

4.8. Posicionamiento del punto b’. . . 31

4.9. Posicionamiento del punto c’. . . 33

4.10. Diagrama de división de un conjunto de objetosn-dimensionales y la generación del grupo t de tercias . . . 42 4.11. Diagrama de escalamiento multidimensional de los grupos i y el

grupo t sobre el plano Euclidiano . . . 43

4.12. Centroide (Cix, Ciy) del triángulo de la representación bidimensio-nal del grupo i y centroide (Ctx, Cty) del triángulo de la estructura bidimensional del grupo t . . . 44

4.13. Traslación del grupoi hacia el grupo t . . . 45

4.14. Cálculo del ángulo de rotación λ para la representación bidimen-sional del grupo i sobre el centroide (Ctx, Cty) . . . 46 4.15. Integración de los resultados del escalamiento multidimensional de

cada representación bidimensional de cada grupoi para formar una

solución global para el conjunto de datos completo. . . 47

5.1. Gráfica de los valores de STRESS obtenidos mediante los

algorit-mos AGP, MDSCAL e ISOMAP . . . 58

5.2. Gráfica de los valores de STRESS obtenidos mediante los

algorit-mos AGP y AGPG . . . 60

5.3. Gráfica de los valores de tiempo, en escala logaritmica, obtenidos

mediante los algoritmos AGP y AGPG . . . 61

5.4. Gráfica de los valores de STRESS obtenidos mediante los

algorit-mos AGPG, MDSCAL e ISOMAP . . . 64

5.5. Representaciones bidimensionales obtenidas con AGPG de la base

de datos Contraceptive method choice . . . 64

5.6. Representaciones bidimensionales obtenidas con AGPG de la base

(15)

5.1. Bases de datos de UCI usadas en los experimentos de AGP . . . . 53

5.2. Bases de datos de UCI usadas para los experimentos de AGPG . . 53

5.3. Tabla de comparación de STRESS entre AGP, MDSCAL e ISOMAP 55

5.4. Tabla de comparación de la diferencia relativa de AGP respecto a

MDSCAL e ISOMAP . . . 57

5.5. Tabla de comparación de STRESS entre AGP y AGPG . . . 59

5.6. Tabla de comparación de tiempo entre AGP y AGPG . . . 61

5.7. Tabla de diferencias relativas de STRESS y tiempo de AGPG

res-pecto a AGP . . . 62

5.8. Tabla de diferencias relativas de STRESS de AGPG max=100

res-pecto a MDSCAL e ISOMAP . . . 62

(16)
(17)

Introducción

El escalamiento multidimensional consiste en encontrar puntos, usualmente

en el plano Euclidiano, que representen objetos de un espacio original de mayor

dimensión; de forma que las distancias entre los puntos en el plano, coincidan

tanto como sea posible con las distancias entre los objetos originales [Cox94]. El

escalamiento multidimensional, aplicado sobre objetos de alta dimensión, permite

visualizar, sobre el plano Euclidiano, cómo se distribuyen los objetos en el espacio

original. Entre los algoritmos más populares que realizan escalamiento

multidi-mensional se encuentran: MDSCAL [Kru64b], SMDS [Wit11] que es una

varian-te de MDSCAL, ISOMAP [Ten00], LLE [Row00], FastMap [Fal95] e HyperMap

[An06]. Estos algoritmos utilizan técnicas clásicas de optimización, como el

mé-todo del gradiente ó el mémé-todo de mínimos cuadrados, los cuales para problemas

que contienen óptimos locales, pueden quedar estacionados en alguno de éstos;

además, estos algoritmos están diseñados para trabajar sobre datos numéricos.

En áreas como medicina, geología, sociología, psicología, etc. existen problemas

de análisis de datos en los cuales cada objeto puede estar representado por uno

o más atributos que pueden ser cualitativos y/o cuantitativos (datos mezclados).

Además, algunos valores en los atributos de los objetos pueden ser desconocidos

(datos mezclados e incompletos). En este trabajo se presenta un algoritmo

(18)

nético que permite hacer escalamiento multidimensional sobre datos mezclados e

incompletos.

Usar algoritmos genéticos permite salir más fácilmente de óptimos locales,

logran-do explorar más ampliamente el espacio de soluciones de problemas que contienen

óptimos locales. En nuestro caso, se intenta encontrar una mejor representación en

el plano Euclidiano de objetos n-dimensionales originales mezclados e

incomple-tos. Para lograr esta tarea, en el presente trabajo se introducen nuevas operaciones

de mutación y cruza, diseñadas específicamente para el problema de escalamiento

multidimensional. Adicionalmente, para trabajar con conjuntos grandes de datos

se propone una estrategia de tipo divide y vencerás, que consiste en dividir el

conjunto de datos en subconjuntos más pequeños y posteriormente escalar

indi-vidualmente cada subconjunto e integrar las soluciones en una solución global.

1.1.

Problemática

En áreas como medicina, geociencia, ciencias sociales, etc., existen una gran

cantidad de problemas que trabajan con datosn-dimensionales mezclados e

incom-pletos. De lo anterior surge la necesidad de contar con algoritmos que encuentren

una representación de estos conjuntos de datosn-dimensionales sobre el plano

Eu-clidiano, las cuales permitan “visualizar” las relaciones de distancia que guardan

dichos objetos en el espacio n-dimensional original. El problema en el cual este

trabajo se centrará es en encontrar una representación en el plano Euclidiano de

los objetos de un espacion-dimensional con datos mezclados e incompletos, de tal

forma que en el nuevo espacio se mantengan tanto como sea posible las relaciones

originales de distancia. Para diseñar los algoritmos que permitan encontrar tal

representación se plantea hacer uso de los algoritmos genéticos que pueden ser

usados como una herramienta útil para explorar más ampliamente el espacio de

soluciones tratando, de esta manera, evitar quedar atrapados en óptimos locales,

(19)

gradiente ó mínimos cuadrados, usados por algunos algoritmos de escalamiento

multidimensional, los cuales más fácilmente pueden quedar atrapados en óptimos

locales.

1.2.

Objetivos

Tomando en cuenta lo anteriormente expuesto, a continuación presentamos los

objetivos de este trabajo de tesis.

1.2.1.

Objetivo general

Desarrollar e implementar un algoritmo genético que permita hacer

escala-miento multidimensional y encuentre sobre el plano Euclidiano mejores

represen-taciones para conjuntos de objetos mezclados e incompletos en comparación con

las representaciones obtenidas por los algoritmos MDSCAL e ISOMAP.

1.2.2.

Objetivos específicos

Elegir una representación de los objetos en el espacio de solución

(indivi-duos), que permita representar a los objetos n-dimensionales en el plano

Euclidiano.

Elegir una función de aptitud adecuada al problema de escalamiento

multi-dimensional, que permita evaluar a los individuos.

Proponer operaciones de cruza y mutación que ayuden al algoritmo a

en-contrar individuos más aptos para el problema de escalamiento

multidimen-sional.

Integrar los puntos anteriores en un algoritmo genético para realizar

(20)

Proponer una estrategia que utilice el algoritmo genético anterior y que sea

capaz de procesar conjuntos grandes de datos de forma más rápida.

1.3.

Organización del documento

En el capítulo 2 se describen los conceptos básicos que ayudan al lector a

fa-miliarizarse con el contenido de este trabajo de tesis. En el capítulo 3 se describen

los principales algoritmos del estado del arte que realizan escalamiento

multidi-mensional. En el capítulo 4 se describen a detalle los algoritmos propuestos como

una alternativa de solución al problema de escalamiento multidimensional sobre

datos mezclados e incompletos. En el capítulo 5 se presentan los experimentos

rea-lizados, comparando el algoritmo propuesto contra los resultados obtenidos por

los algoritmos MDSCAL e ISOMAP, los cuales han sido comúnmente utilizados

como base de comparación en el escalamiento multidimensional. Por último, en

el capítulo 6 se presentan las conclusiones y se plantean algunas alternativas de

(21)

Marco Teórico

Este capítulo presenta una descripción de los conceptos básicos más relevantes

que son usados a lo largo de esta tesis.

2.1.

Tipos de datos

Para describir objetos a través de vectores de atributos existen dos tipos de

datos: no numéricos (cualitativos) y numéricos (cuantitativos), los tipos de

datos no numéricos pueden dividirse en nominales y ordinales.

Atributos nominales

Un atributo nominal se encuentra dividido en un número k de categorías

mutua-mente excluyentes, de tal modo que cada caso es asignado a una y sólo una de esas

categorías [Hai99]. Por ejemplo, el color del cabello o el color de ojos, la religión,

etc.

Atributos ordinales

Los datos ordinales representan un nivel superior de precisión de la medida. Los

valores de este tipo de atributos son un tipo especial de valores nominales que

mantiene una relación de orden total. Por ejemplo, los diferentes niveles de

(22)

facción del consumidor individual con diferentes productos nuevos (alto, medio,

bajo), etc.

2.2.

Objetos

Un objeto puede ser cualquier entidad física o abstracta que puede ser

com-parada con otras entidades físicas o abstractas.

En este trabajo consideramos que un objeto se describe como un vector formado

por n atributos I(O) = (x1(O), ..., xn(O)), donde xiMi, xi(O) es el valor del atributo xi en el objeto O, y donde Mi es el conjunto de valores admisibles del atributo xi para i=1,...,n.

Datos mezclados e incompletos

Un dato mezclado u objeto mezclado está descrito por atributos de distintos tipos,

es decir, un mismo objeto puede estar descrito por una combinación de atributos

numéricos y no numéricos. Cuando en la descripción de un objeto se desconocen

los valores para uno o más atributos, se dice que el objeto o el dato es mezclado

e incompleto.

2.3.

Funciones de evaluación

El objetivo del problema de escalamiento multidimensional consiste en

encon-trar representaciones de un conjunto de objetos, que se encuentren en un espacio

de alta dimensión, sobre un espacio de menor dimensión. Se busca que estas

re-presentaciones preserven lo mejor posible las relaciones de distancia que guardan

los objetos del espacio original, por tanto, es necesario contar con alguna

(23)

se pueden encontrar varias funciones que llevan a cabo esta tarea, siendo las más

usadas funciones como MSE [Cox94], STRESS [Kru64a] y SSTRESS [TdL77], que

se describen a continuación.

MSE

El error cuadrático medio o MSE (The Mean Square Error) [Cox94] es una medida

estadística definida como:

M SE

=

1

m

2 X

ij

(

d

ij

D

ij

)

2

=

1

m

2

d

¯

D

¯

2

2

(2.1)

donde Dij es la distancia entre los objetos Oi y Oj que se encuentran en el espacion-dimensional original, dij es la distancia entre los puntos en el plano Eu-clidiano que representan a los objetos Oi y Oj del espacio n-dimensional original y m es el número de objetos n-dimensionales.

STRESS

Esta función fue presentada en [Kru64a] y está definida como:

ST RESS

=

v u u u t P

ij

(

d

ij

D

ij

)

2

P

ij

(

d

ij

)

2

=

d

¯

D

¯

2

¯

d

2

(2.2)

En esta función regresa el error relativo que existe entre las distancias dij y Dij y entre más pequeño sea el valor que regresa, mejor es la representación en el plano Euclidiano de los objetosn-dimensionales originales. Si el valor de STRESS

es 0, entonces se tiene una representación “perfecta”, lo cual significa que existe

una relación perfecta entre dij y Dij, es decir, las distancias entre los objetos ori-ginales y las distancias sobre el plano Euclidiano son iguales; donde dij y Dij son como en el caso anterior.

(24)

SSTRESS

Esta función fue introducida en [TdL77] como una variante del STRESS y está

definida como:

SST RESS

=

v u u u t P

ij

(

d

2ij

D

2ij

)

2

P

ij

(

d

2ij

)

2

=

d

¯

.d

D

¯

.D 2

d

¯

.d

2

(2.3)

Dondedij y Dij son como antes y d.d y D.D, son vectores resultado de mul-tiplicar por sí mismo, componente a componente, los vectores d y D respectiva-mente.

Una diferencia importante es que valores grandes dedij y Dij reciben más énfasis con la función SSTRESS que con la función de STRESS.

2.4.

Funciones de distancia

Las funciones de evaluación necesitan conocer las distancias Dij entre los ob-jetos mezclados del espacio original y las distancias dij entre los puntos en el espacio Euclidiano que representan a los objetos originales. En este trabajo de

tesis las distancias Dij serán obtenidas con la distancia HOEM [Wil97] la cual, es comúnmente utilizada para datos mezclados e incompletos y las distancias dij serán obtenidas con la distancia Euclidiana.

HOEM

Para evaluar las distancias entre dos objetos n-dimensionales en el espacio

ori-ginal, el cual contiene datos mezclados e incompletos, usamos la función HOEM

(Heterogeneous Overlapped Euclidean Measure) [Wil97]. Esta función fue diseñada

para comparar directamente objetos descritos por atributos cualitativos y

(25)

(datos mezclados e incompletos).

Dados dos objetosn-dimensionles Oi y Oj, HOEM está definida como:

HOEM(Oi, Oj) =

v u u t n X a=1

da(xa, ya)2 (2.4) donde xa y ya, a=1, ... ,n, representan valores del atributo a de los objetos Oi y Oj, respectivamente.

da(x, y) =

            

1 si el valor de x ó y no se conoce

overlap(x,y) si a es cualitativo

rndif fa(x, y) si a es cuantitativo

(2.5)

overlap(x, y) =     

0 si x es igual a y

1 si x es diferente de y

(2.6)

rndif fa(x, y) =

|xy| maxamina

(2.7)

donde maxa y mina son el máximo y el mínimo valor respectivamente que puede tomar el atributo a.

Distancia Euclidiana

Las representaciones de los objetos n-dimensionales quedarán como puntos

bidi-mensionales en el plano Euclidiano. Para calcular las distancias entre los puntos

del plano se utiliza la distancia Euclidiana, que está definida por:

d(

x

,

y

) = v u u t m X a=1

(26)

(2.8)donde −→x y −→y son puntos en el plano Eucludiano que representan a dos objetosn-dimensionales originales y xa y ya son los atributos de estos puntos; m es la dimensión de los puntos comparados, en nuestro caso m=2.

2.5.

Algoritmos genéticos

En esta sección presentamos los conceptos más importantes de los algortimos

genéticos.

Algoritmo genético

Los Algoritmos Genéticos (AGs), cuyos principios básicos fueron establecidos en

[Hol92], son métodos adaptativos que pueden ser usados como una herramienta

para resolver problemas de búsqueda y de optimización.

Los algoritmos genéticos se encuentran basados en el proceso de selección natural

de los organismos vivos. Estos algoritmos inician con una población de individuos,

donde cada uno de estos individuos representa una solución del mismo problema,

y se crean nuevos individuos como resultado de operaciones genéticas de mutación

y cruza a lo largo de un cierto número de generaciones. De esta forma se busca

que estos nuevos individuos representen mejores soluciones del problema que se

quiere resolver. En el cuadro “Algoritmo 1” presentamos un algoritmo genético

genérico basado en [Alb11].

Un algoritmo genético enfatiza la importancia de la cruza (operador principal)

sobre la de la mutación (operador secundario), y comúnmente usa selección

pro-babilística.

Para poder aplicar un algoritmo genético se requiere de los 5 componentes básicos

siguientes: una representación de las soluciones potenciales del problema, una

for-ma de crear una población inicial de posibles soluciones (norfor-malmente un proceso

(27)

las soluciones en términos de su calidad como solución del problema,

operado-res genéticos que alteren la composición de los hijos que se producirán para las

siguientes generaciones y valores para los diferentes parámetros que utiliza el

al-goritmo genético (tamaño de la población, probabilidad de cruza, probabilidad de

mutación, número máximo de generaciones, etc.).

Algoritmo 1 Algoritmo genético genérico

1: POBLACIÓN← crearPoblaciónInicial(tamañoPoblación);

2: for i=1 to númeroDeGeneraciones do

3: Evaluar con la función de aptitud a cada individuo de la POBLACIÓN

4: siguientePOBLACIÓN ← los mejores K individuos de POBLACIÓN; 5: for j=1 to (tamañoPOBLACIÓN-K) do

6: Seleccionar aleatoriamente dos individuos P y Q de la POBLACIÓN;

7: R=Cruza(P,Q);

8: if (probabilidadDeMutación(R));then

9: R’← Mutación(R);

10: siguientePOBLACIÓN ← siguientePOBLACIÓN ∪ {R0}; 11: else

12: siguientePOBLACIÓN ← siguientePOBLACIÓN ∪ {R};

13: end if

14: end for

15: POBLACIÓN ← siguientePOBLACIÓN; 16: end for

(28)

Individuos

La representación más común que usan los algoritmos genéticos para sus

indivi-duos es la binaria (ver figura 2.1).

Cromosoma

Gen 1 Gen 2 Gen 3 Gen 4 1 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1

alelo

Figura 2.1: Partes de un individuo.

A la cadena binaria se le llama “cromosoma”. A cada subcadena se le conoce

como “gen” y a cada elemento que forma parte de un gen se le llama “alelo”.

Cruza

El operador de cruza más común es el basado en un punto, del cual se selecciona

a dos padres y se cortan ambos cromosomas padre en una posición escogida al

azar, después se intercambian las dos partes finales de ambos cromosomas,

produ-ciendose dos nuevos cromosomas completos, donde cada uno de los descendientes

hereda una parte de los genes de cada uno de los padres. (ver figura 2.2).

1 0 0 1 0 1 1 0 1 Padres

Hijos 1 0 0 1 1 0 1 1 1

0 1 0 1 1 0 1 1 1

0 1 0 1 0 1 1 0 1

Figura 2.2: Cruza de dos cromosomas basada en un punto.

Mutación

La mutación se considera un operador básico, que proporciona un pequeño

(29)

La mutación selecciona algunos puntos al azar e invierte sus valores (ver figura

2.3).

1 0 0 1 0 1 0 0 1 Padres

Hijos 1 0 0 0 0 1 1 0 1 Puntos de mutación

Figura 2.3: Mutación de dos genes en un cromosoma.

Si bien se admite que el operador de cruza es el responsable de efectuar la

búsqueda a lo largo del espacio de posibles soluciones, también parece

despren-derse de los experimentos efectuados por varios investigadores que el operador de

mutación va ganando importancia a medida que la población de individuos va

convergiendo a una buena solución [Fog89].

Función de aptitud (fitness)

La función de aptitud es usada para evaluar a los individuos de una población. De

esta manera se determina qué tan bueno es cada individuo respecto a un objetivo

dado. Conocer la aptitud de cada individuo, usualmente, permite al algoritmo

genético conservar los mejores individuos en siguientes generaciones.

2.6.

Centroide de un triángulo

El centroide (también llamado baricentro) de un triángulo es el punto de

in-tersección de las medianas del triángulo (siendo una mediana el segmento que une

un vértice con el punto medio del lado opuesto), (ver figura 2.4).

Supongamos que tenemos un triángulo con vértices A(x1, y1), B(x2, y2) y

(30)

P

B(x2 2,y ) Centroide

C(x3 3,y ) A(x1 1,y )

Figura 2.4: Centroide de un triángulo.

P = x

1+x2+x3

3 ,

y1+y2+y3

3

(31)

Estado del Arte

Para la visualización de objetos que se encuentran en espacios de alta

dimen-sión se han propuesto varios algoritmos de escalamiento multidimensional, los

cuales se pueden dividir en dos grupos en dependencia de si las distancias entre

objetos se manejan de manera global o local. Algoritmos como MDSCAL[Kru64b],

SMDS [Wit11], FastMap[Fal95], HyperMap[An06] y el algoritmo propuesto en

es-te trabajo hacen uso de la similitud global de las distancias entre los objetos

para posicionarlos en un espacio bidimensional. De esta manera se busca que las

distancias para cualesquiera par de puntos en el plano Euclidiano conserven las

distancias que guardan los objetos del espacio de alta dimensión. Por otro lado,

algoritmos como ISOMAP[Ten00] y LLE[Row00] encuentran representaciones en

un espacio de menor dimensión mediante similitudes locales entre objetos, es decir,

manteniendo la relación de distancias entre objetos dentro de una misma

vecin-dad, lo cual puede llevar a tener mejores representaciones por regiones de objetos,

pero no necesariamente mejores representaciones de manera global. En el presente

capítulo se describen algunos de los algoritmos mencionados anteriormente.

(32)

3.1.

MDSCAL

El algoritmo MDSCAL propuesto en [Kru64b], utiliza el método del gradiente

[MRH52] para minimizar la función de STRESS la cual evalúa qué tan buena es

una representación. El método del gradiente consiste en tener una configuración

inicial arbitraria y mejorar la configuración moviéndola ligeramente en la dirección

del espacio de soluciones en la que la función a optimizar decrece más rápidamente,

la cual se conoce como la dirección del gradiente. Este procedimiento se repite

hasta que se llegue a un punto el cual no se pueda mejorar, es decir, cuando todas

las derivadas parciales del gradiente son cero, lo cual indica que se ha llegado a

un óptimo local, que puede o no ser un óptimo global.

3.2.

ISOMAP

En el trabajo [Ten00], se describe el algoritmo “Isometric feature mapping” ó

ISOMAP, el cual se caracteriza por tratar de descubrir la estructura intrínseca

de un conjunto de objetos de alta dimensión a través de representaciones locales

de estos objetos en un espacio bidimensional. Esta característica se atribuye

co-mo una ventaja sobre algoritco-mos coco-mo MDSCAL los cuales están diseñados para

mantener una estructura global de todo el conjunto de datos en un espacio de

menor dimensión.

ISOMAP hace uso de MDSCAL y la idea principal es la estimación de las

dis-tancias geodésicas [MRH12] entre puntos lejanos, dadas únicamente las disdis-tancias

del espacio de entrada. Para las distancias entre puntos cercanos se puede usar

simplemente el cálculo de la distancia geodésica entre tales puntos, y para puntos

lejanos la distancia geodésica puede ser aproximada mediante una secuencia de

saltos entre puntos vecinos. Estas aproximaciones pueden ser efectivamente

cal-culadas mediante la búsqueda de los caminos más cortos en un grafo con aristas

(33)

El algoritmo consiste de tres pasos: En el primer paso se determinan los vecinos

de cada punto. Dos métodos simples son conectar cada punto con todos los puntos

dentro de un radio fijo ε; ó conectar cada punto con sus K vecinos más cercanos y posteriormente obtener las distancias dx(i, j) entre los pares de puntos i,j en el espacio de entrada X, entre los objetos vecinos. Estas relaciones de vecindad son

presentadas como un grafo pesado G entre los puntos, condx(i, j) como los pesos entre las aristas del grafo. En la figura 3.1 el segmento rojo representa un grafo

de vecindades entre dos objetos (círculos negros).

Figura 3.1: Un grafo G de vecindades construido en el paso 2 de ISOMAP [Ten00].

En el segundo paso, ISOMAP estima las distancias geodésicas dM(i, j) entre todos los pares de puntos, donde para cada par de puntos no conectados

direc-tamente, las distancias geodésicas pueden ser obtenidas mediante secuencias de

distancias dx(i, j), haciendo uso del algoritmo del camino más corto. En la figura 3.2, la línea roja es la representación bidimensional de la ruta más corta entre los

puntos (círculos negros) del grafo de vecindades de la figura 3.1 y la línea azul, es

la distancia sobre el plano Euclidiano entre los dos puntos.

En el último paso ISOMAP aplica MDSCAL sobre la matriz de distancias

del grafo DG = da(i, j) para encontrar una representación del conjunto de datos completo sobre el plano Euclidiano.

(34)

Figura 3.2: Representación de objetos tridimensionales en el plano Euclidiano ob-tenido con ISOMAP [Ten00].

3.3.

LLE

Este algoritmo, propuesto por Roweis y Lawrence [Row00], busca reducir la

di-mensionalidad mediante estructuras locales, reconstruyendo los objetos mediante

vecindades (ver figura 3.3).

Seleccionar vecinos

Reconstruir los puntos mediante los pesos

Búsqueda de los puntos Yi

que mejor son reconstruidos por los pesos

Figura 3.3: Pasos de LLE [Row00].

LLE considera los vecinos más cercanos de cada punto −Xi. Asigna pesos Wij a los vecinos de cada punto −Xi y ajusta los pesos minimizando la función (3.1),

(35)

mediante el método de mínimos cuadrados.

ξ(W) = Σi|

−→

Xi−ΣjWij

−→ Xj

2

| (3.1)

Posteriormente se calculan los vectores Yi, en el plano Euclidiano, que mejor sean reconstruidos por los pesosWij mediante la minimización de la función (3.2).

φ(Y) = Σi|

− →

Yi −ΣjWij

− → Yj

2

| (3.2)

3.4.

FastMap e HyperMap

El algoritmo HyperMap [An06] fue propuesto como una generalización de

Fast-Map [Fal95]. HyperFast-Map puede encontrar representaciones sobre el plano

Eucli-diano de un conjunto de objetos n-dimensionales O ={O1, O2, ..., Om}. Para ob-tener una proyección sobre el plano Euclidiano de cada objeto Oi 1 ≤ im, primero se seleccionan dos conjuntos de objetos pivote P = {p1, p2, ..., pa} y Q={q1, q2, ..., qb}, dondepi y qi son objetosn-dimensionales.

Posteriormente, para cada objetoOi, se calculan las distanciasLp ={lp1, lp2, ..., lpa} y Lq ={lq1, lq2, ..., lqb}, que son las distancias entre el objeto Oi y cada objeto de los conjuntos de pivotesP y Q respectivamente. En seguida, las coordenadas (xi, yi) en el espacio Euclidiano de cada objeto n-dimensional Oi, son calculadas de la siguiente forma:

xi =lp1W10+lp2W20+...+lpaWa0 (3.3) yi =lq1W100+lq2W200+...+lqbWb00 (3.4)

(36)

donde, W0 = {W10, W20, ..., Wa0} y W00 = {W100, W200, ..., Wb00} son pesos que pueden ser escogidos por el usuario con la restricción de que Σa

(i=1)|W

0

i| = 1 y Σb

(i=1)|W

00

i |= 1. (ver figura 3.4)

Figura 3.4: Proyecciones del objeto Oi en distintos espacios objetivos obtenidos

con diferentes pesosW [An06].

En la figura 3.4 se muestra cómo el objeto Oi es representado en dos dimen-siones haciendo uso de los conjuntos de pivotes P = {p1, p2, p3} y Q = {q1, q2}.

Las proyecciones del objeto Oi sobre distintos espacios objetivo se encuentran al variar los pesos W, los cuales son dados por el usuario.

Como se puede apreciar, los algoritmos presentados en esta sección fueron

diseñados para trabajar con conjuntos de datos numéricos; además pueden

fácil-mente quedar atrapados en óptimos locales, lo cual ha motivado a proponer en

este trabajo de tesis un algoritmo genético que permita trabajar con conjuntos

de datos mezclados y que pueda escapar más fácilmente de óptimos locales. En el

(37)

Algoritmo propuesto

En este capítulo se introduce un algoritmo genético diseñado especialmente

para realizar escalamiento multidimensional sobre datos mezclados e incompletos.

Se describen los diferentes aspectos del algoritmo genético propuesto, como la

re-presentación de los individuos y la creación de una población inicial que ayude a

encontrar mejores reprentaciones en menos generaciones. Además, se introducen

nuevas operaciones de mutación y cruza diseñadas específicamente para el

proble-ma de escalamiento multidimensional. Asimismo, se introduce una estrategia tipo

divide y vencerás para aplicar el algoritmo genético propuesto sobre conjuntos

grandes de datos.

4.1.

Representación de los individuos

La representación binaria de los individuos es usada usualmente en los

algorit-mos genéticos, sin embargo, para nuestro algoritmo genético se ha decidido hacer

uso de una representación real, debido a que en el problema de escalamiento

multi-dimensional cada objeto n-dimensional del espacio original debe ser representado

por un punto en el plano Euclidiano, de modo que cada punto es representado

por una pareja de coordenadas (x,y). En nuestra representación, un cromosoma es

(38)

una secuencia de números reales, donde cada par consecutivo es la representación

en el plano Euclidiano, de un objeto en el espacio n-dimensional original de una

posible solución del escalamiento multidimensional (ver figura 4.1).

O

O

, . . . ,

O

Objetos

Cromosoma

(X1

2

1 m

originales

, . . . ,

de

números reales Y)1 (X2 Y)2 (X Y )m m

Figura 4.1: Cromosoma de 2m números reales que representa una posible solución

del escalamiento multidimensional dem objetosn-dimensionales.

El tamaño de esta representación depende de la cantidad de objetos

origina-les, es decir, para m objetos originales, la representación está formada por 2m

números reales, sin embargo, esta representación no depende de la cantidad de

atributos de describen a los objetos originales, debido a que independientemente

de la cantidad de atributos que describen a los objetos originales, el objeto siempre

será representados por dos números reales.

4.2.

Población inicial

Comúnmente, la población inicial de un algoritmo genético está formada por

individuos generados aleatoriamente, es decir, cada cromosoma es una cadena

arbitraria de 0’s y 1’s, o de números reales si es que la representación es de

números reales como en nuestro algoritmo. Sin embargo, las poblaciones aleatorias

pueden provocar que los algoritmos genéticos necesiten más generaciones para

encontrar una buena solución. Para nuestro algoritmo genético, se ha diseñado

una heurística para la creación de una población inicial que no sea construida de

manera completamente aleatoria, la cual permita tener una mejor aproximación

(39)

en menos generaciones.

Debido a que en el escalamiento multidimensional se busca preservar las distancias

entre objetos originales, sobre el plano Euclidiano, en nuestro caso, para crear una

población de individuos (una secuencia de números reales) como los mostrados en

la figura 4.1 procedemos de la siguiente manera:

Supongamos que se tiene un conjunto de m objetosn-dimensionales mezclados e

incompletos.

1 2 3 4 . . n-1 n

o

1

o

2

o

m . . 23.2 34 74.9 74.9 . . . . . . . . . . . . 16 6.23 12.4 18.9 . . . . . . . . . . 74.9 41.6 11.3 8.01 3.66 4.2 74.9 59.1 83 10 91 23 74 62

o

m-1 62 3.07

Atributos seleccionados

34 10

( , ) (83,74.9) . . (12.4 16, )(8.01 91, ) Individuo

aleatoriamente

Figura 4.2: Creación de un individuo.

Para crear un individuo, se seleccionan aleatoriamente dos atributos de los

objetos originales y con estos atributos, se proyectan los m objetos sobre el plano

Euclidiano. Esto puede hacerse siempre y cuando los dos atributos seleccionados

sean numéricos. En el caso de que alguno de estos atributos o ambos no sean

numéricos ó algunos valores sean desconocidos, entonces se generan aleatoriamente

valores numéricos para el o los atributos no numéricos o los valores deconocidos

en cada uno de los m objetos de la muestra. De esta forma, un individuo en la

población será una secuencia de números reales, donde cada par consecutivo es

la representación en el plano Euclidiano de un objeto en el espacio original (ver

(40)

solución de la representación del conjunto de objetos originales sobre el plano

Euclidiano. Debido a que los objetos originales están descritos por n atributos,

a lo más se pueden formar Q = n(n−1)/2 proyeccciones bidimencionales. Por ejemplo en la figura 4.3(b-d) se muestran las Q = 3(3−1)/2 = 3 proyecciones bidimensionales de los objetos en tres dimensiones que aparecen en 4.3(a).

(a) Objetos tridimensionales

con atributos x, y, z. (b) Proyección bidimensionalusando los atributos x, z.

(c) Proyección bidimensional

usando los atributos x, y. (d) Proyección bidimensionalusando los atributos y, z.

Figura 4.3: Proyecciones bidimensionales de objetos en tres dimensiones.

Para formar una población de tamaño T (parámetro dado por el usuario), si

TQ, entonces, se seleccionan T pares aleatorios de atributos con lo que se obtendrá de cada par de atributos seleccionando un individuo de la población.

Por otro lado, si T>Q, entonces, se generan Q individuos y posteriormente se generan T-Q individuos que son variantes de la mejor proyección de acuerdo al

STRESS, los cuales se obtienen moviendo cada punto aleatoriamente dentro de

(41)

Objetos

tridimensionales P=3 proyeccionesbidimensionales

STRESS

Mejor Proyección

K mejores Proyecciones

Variantes de la mejor proyección

Población de tamaño T

Figura 4.4: Creación de una población de individuos de tamaño T.

4.3.

Operadores específicos de cruza y mutación

En esta sección se introducen nuevas operaciones de mutación y cruza que han

sido diseñadas específicamente para el problema de escalamiento

multidimensio-nal. Estas operaciones están basadas en tratar de hacer coindicir las distancias

entre los objetos originales y las distancias entre las representaciones de éstos,

dejando de lado las operaciones convencionales usadas en los algoritmos genéticos

las cuales no están diseñadas para encontrar mejores representaciones de los

ob-jetos originales, lo cual puede ocasionar que se necesiten más generaciones para

encontrar buenas soluciones, o incluso que el algoritmo genético no converja a una

(42)

4.3.1.

Cruza

La operación de cruza es el principal medio de producción de nuevos individuos

[JW05], el objetivo de esta operación, es combinar las mejores características de

dos individuos para producir nuevos individuos que puedan representar una mejor

solución. En este trabajo se ha diseñado una nueva operación de cruza, la cual

busca obtener nuevos individuos que representen mejor un conjunto dem objetos

n-dimensionales O={O1, O2, ..., Om} sobre el plano Euclidiano.

Inicialmente se toman de forma aleatoria dos individuosP yQ de una población:

P ={(x1,1, x1,2),(x2,1, x2,2), ...,(xm,1, xm,2)}

Q={(y1,1, y1,2),(y2,1, y2,2), ...,(ym,1, ym,2)}

y posteriormente se obtienen las matrices de distancias M(O), M(P) y M(Q), donde la matriz M(O) de distancias entre objetos originales (datos mezclados e incompletos) es obtenida calculando las distancias entre cada par de objetos

me-diante la función HOEM [Wil97]. Las matrices de distancias M(P) y M(Q) de los individuosP yQ respectivamente, son obtenidas calculando la distancia entre

cada par de puntos, en cada uno de los individuos, usando la distancia Euclidiana

[Cox94].

M(O) =       

D1,1 D1,2 . . . D1,m ..

. ... . .. ...

Dm,1 Dm,2 · · · Dm,m

      

dondeDi,j =HOEM(Oi, Oj)

M(P) =       

dx1,1 dx1,2 . . . dx1,m

..

. ... . .. ...

dxm,1 dxm,2 · · · dxm,m

      

, di,j =

q

(43)

M(Q) =       

dy1,1 dy1,2 . . . dy1,m

..

. ... . .. ...

dym,1 dym,2 · · · dym,m

      

, di,j =

q

(yi,1 −yi,2)2+ (yj,1−yj,2)2

Posteriormente, se obtienen las sumasS(Oi),S(Pi) yS(Qi) de las distancias de cada punto al resto de los puntos mediante la suma por columnas en las matrices

de distancias, tanto de los individuos P y Q como en la matriz de distancias de

los objetos originales. (ver ejemplo en la figura 4.5).

(1,2) (2,2) (1,1) (2,1) (1,2) (2,2) (1,1) (2,1) 0 1 1 1.41 + || 3.41 S(O)i 1 0 1.41 1 + || 3.41 1 1.41 0 1 + || 3.41 1.41 1 1 0 + || 3.41

(1.1,1.9) (2.5,2) (.8,.2) (2,1.2) (1.1,1.9) (2.5,2) (.8,.2) (2,1.2) 0 1.4036 1.7263 1.1402 + || 4.2701 S(Q)i 1.4036 0 2.4759 0.9434 + || 4.8229 1.7263 2.4759 0 1.5620 + || 5.7642 1.1402 0.9434 1.5620 0 + || 3.6456

(a) Matriz de distancias de los objetos n-dimensionales

(c) Matriz de distancias del individuo Q

(1,2.3) (2,1.9) (.75,1) (3,.8) (1,2.3) (2,1.9) (.75,1) (3,.8) 0 1.0770 1.3238 2.5 + || 4.9008 S(P)i 1.0770 0 1.5403 1.4866 + || 4.1039 1.3238 1.5403 0 2.2589 + || 5.1230 2.5 1.4866 2.2589 0 + || 6.2455

(b) Matriz de distancias del individuo P

M(P)= M(O)=

M(Q)=

Figura 4.5: Ejemplos de matrices de distancias de objetosn-dimensionales

origina-les y de los individuosP yQy sus correspondientes sumas de distanciasS(O),S(P)

yS(Q).

Como resultado de la operación de cruza entre los individuos P yQ, se obtiene un nuevo individuo R. Cada par consecutivo de números reales que representa a

(44)

un objetos Oi en el nuevo individuo R será el par consecutivo de números reales correspondiente en el individuo P ó en el individuo Q que dentro del individuo al que corresponde mantenga la suma de distancias más parecida a la suma de

distancias correspondiente en los objetos originales. En otras palabras, Oi será representado en el nuevo individuo R por su par consecutivo de números reales correspondiente enP si|S(Oi)−S(Pi)|<|S(Oi)−S(Qi)|; por otro lado, Oi será representado por su par consecutivo de números reales correspondiente en Q si |S(Oi)−S(Qi)|<|S(Oi)−S(Pi)|. En caso de que S(Pi) yS(Qi) sean iguales,Oi podría ser representado por cualquiera de ambos pares consecutivos de números

reales, en nuestro algoritmo, lo representamos por el punto correspondiente en el

individuo P. Esta operación de cruza permite crear nuevos individuos formados por los puntos (pares de números reales) dePo deQ que mantienen distancias más

parecidas a las distancias entre los objetos originales, por lo que estos individuos

representan mejores soluciones que los individuos de generaciones anteriores.

En la figura 4.6 se presentan los puntos (pares de números reales) de un

indi-viduo sobre el plano Euclidiano, que son el resultado de la cruza de dos individos

P y Q cuyas matrices de distancias se muestran en la figura 4.5.

4.3.2.

Mutación

Con la finalidad de explorar más rápidamente el espacio de soluciones, la

opera-ción de mutaopera-ción proporciona un mecanismo para generar aleatoriamente nuevos

individuos y de esta forma mantener una mayor diversidad dentro la población

[QW11]. En este trabajo se introduce una nueva operación de mutación, específica

para el problema de escalamiento multidimensional. Esta operación está basada

en el posicionamiento local de tercias de puntos, de tal forma que las distancias

entre estos tres puntos coincidan exactamente con las distancias de sus

correspon-dientes objetosn-dimensionales.

(45)

0 1 2 3

0 1 2 3 0

1 2 3

0 1 2 3

0 1 2 3

0 1 2 3

(1,2) (2,2)

(1,1) (2,1) (0.75,1)

(1,2.3) (2,1.9) (3,0.8) 0 1 2 3

0 1 2 3

(0.75,1) (1.1,1.9) (2,1.9) (2,1.2) (1.1,1.9) (0.8,0.2) (2.5,2) (2,1.2)

(a) Objetos n-dimensionales (b) Individuo P

con STRESS=0.4080

(c) IndividuoQ

con STRESS=0.3766

(d) IndividuoR obtenido de la cruza de P yQ

con STRESS=0.1868

Figura 4.6: Cruza de los individuosP yQ.

puntos (parejas de números reales) a,b y c de dicho individuo, que representan a

los objetos n-dimensionales A, B y C respectivamente. Los puntos a,b y c serán

reposicionados hacia nuevos puntos a’, b’ y c’ de la siguiente manera:

1. Para permitir la exploración de diferentes partes del espacio de búsqueda,

el punto a se posicionará aleatoriamente en una posición a’ alrededor del

punto a dentro de una vecindad con radior dado por el usuario. (ver figura

4.7(b)).

2. El puntob es movido a su posición correcta respecto de a’, es decir, la

dis-tancia entrea’ yb’ debe ser igual a la distancia que existe entre los objetos

A y B en el espacion-dimensional original (ver figura 4.7(c)). Para obtener

(46)

Figura 4.7: Diagrama de mutación en un individuo.

al punto a’ con b, como se explica a continuación.

En la figura 4.8, la distancia D es obtenida mediante la función HOEM [Wil97] entre los objetos n-dimensionales originales Ay B;d es la distancia

Euclidiana [Cox94] entre a’ y b que son los puntos que representan en el

plano Euclidiano a los objetos n-dimensionales originales A y B. El punto

buscado b’=(x,y) es el punto sobre la recta que pasa por los puntos a’ y b

tal que la distancia Euclidiana entre a’ y b’ es igual a la distancia D entre

los objetos n-dimensionales originales A y B.

El punto buscado b’ se encuentra sobre la circunferencia con centro en el

(47)

D

Objetos n-dimensionales

originales A, B

b’=(x,y)

r=D-d b=(b

Representaciones bidimensionales a’, b

y posición de b’

x ,b y

d

x y B

A

)

a’=(a’ ,a’ )

Figura 4.8: Posicionamiento del punto b’.

r2 = (bxx)2 + (byy)2 (4.1) Además, el punto b’ también se encuentra sobre la recta que pasa por los

puntos a’ y b descrita por la ecuación:

y=m(xa0x) +a0y (4.2)

donde,

m= bya

0 y bxa0x

(4.3)

es la pendiente de la recta (4.2).

Sustituyendo (4.2) en (4.1) se tiene la siguiente ecuación de segundo grado

en términos de x:

r2 = (bxx)2+ (by −(m(xa0x) +a 0 y))

(48)

Realizando operaciones algebraicas para obtener la forma canónica de la

ecuación cuadrática, αx2+βx+γ = 0, se obtuvieron las siguientes constan-tes:

α= 1

β = 2(−m2a

0

x+ma

0

ybymbx)

m2+1 γ = m2a0x2−2ma

0

xa

0

y+a0y2+2byma

0

x−2bya

0

yr2+b2x+b2y

m2+1 Mediante la fórmula general:

x= −β±

β24αγ

2α (4.5)

y aplicando (4.2) encontramos las soluciones {(x1, y1),(x2, y2)}, las cuales

representan las coordenadas de los puntos sobre los que se intersectan la

recta (4.2) y la circunferencia (4.1). El punto b0 = (x, y) será la solución que cumpla que la distancia que existe entre los punto b0 y a0 sea igual a la distancia D entre los objetos originalesA y B.

3. El punto c es movido a su posición correcta respecto de a’ y b’ (ver figura

4.7(d)), es decir, la distancia entre los puntos c’ y a’ así como la distancia

entre c’ y b’, deben ser iguales a las distancias en el espacio n-dimensional

original entre los objetos C y A y los objetos C y B respectivamente.

En la figura 4.9, D1 y D2 son las distancias HOEM [Wil97] entre objetos

n-dimensionales originales, donde D1 es la distancia entre los objetos A y

C, y D2 es la distancia entre los objetos B y C. Los puntos a’,b’ y c sobre

el plano Euclidiano representan a los objetos n-dimensionales originales A, B y C respectivamente. c’ es la posición a la que se trasladará el punto c

(49)

Objetos n-dimensionales originales A, B y C

Representaciones bidimensionales a’, b’

y posición dec’

B

A

c y

b

c

a’=(a’ ,a’ )x y c’=(x,y) b’=(b’ ,b’ )x y

d1 d2

C

D

1

D2

Figura 4.9: Posicionamiento del punto c’.

y c0, respectivamente sean iguales a las distanciasD1 yD2 entre los objetos

n-dimensionales originales, respectivamente.

El punto c’ se encuentra sobre la circunferencia con centro en el punto

a0 = (a0x, a0y) y radio d1 descrita por la ecuación:

d21 = (a0xx)2+ (a0yy)2 (4.6) Además, el puntoc’ también se encuentra sobre la circunferencia con centro

en el punto b0 = (b0x, b0y) y radio d2 descrita por la ecuación:

d22 = (b0xx)2+ (b0yy)2 (4.7) Entonces,c’ es un punto de intersección de las circunferencias (4.6) y (4.7),

de las cuales mediante operaciones algebraicas obtenemos el siguiente

(50)

x2+y2−2a0xx−2a0yy+ (a0x2+a0y2−d21) = 0 (4.8) x2+y2−2b0xx−2b0yy+ (b0x2 +b0y2−d21) = 0 (4.9) Del cual, restando las ecuaciones y despejando x obtenemos la siguiente

ecuación:

x=−+ν (4.10)

con las constantes:

µ

=

b

0

ya0y

b0

xa0x

ν

=

d

2 1+d

2

2−a0x2−a0y2+b0x2+b0y2 2(b0

xa0x)

Para encontrar el valor de y sustituimos (4.10) en la ecuación (4.9) y obte-nemos:

(−+ν)2+y2−2b0x(−+ν)−2b0yy=d21b0x2−b0y2 (4.11) Al desarrollar la ecuación anterior obtenemos:

αy2 +βy+γ = 0 (4.12)

con las constantes:

(51)

β=−2µν−2b0y

γ =−d2

2+b2x+b2y +ν2−2νb 0 x

Al aplicar la fórmula general para ecuaciones de segundo grado con una

in-cógnita (4.5), encontramos las soluciones{y1, y2}de las cuales al sustituirlas

en la ecuación (4.10), obtenemos los puntos de intersección{(x1, y1),(x2, y2)}

entre las circunferencias (4.6) y (4.7). De los puntos encontrados,c’ será

asig-nado al punto más cercano al punto c, en caso de que ambos puntos estén

a la misma distancia se tomará c0 = (x1, y1).

4.4.

Algoritmo genético

En esta sección, sobre la base de los operadores genéticos de cruza y mutación

así como el proceso de creación de una población inicial, introducidos

anterior-mente, se presenta el algorítmo genético propuesto AGP, para el problema de

escalamiento multidimensional, que mostramos en el cuadro “Algoritmo 2”.

Para medir la calidad de los individuos se han usado como funciones de aptitud

(fitness) las funciones STRESS [Kru64a] ó SSTRESS [TdL77]. El algoritmo

gené-tico propuesto inicia con la creación de una población de individuos, los cuales son

obtenidos mediante proyecciones bidimensionales sobre el plano Euclidiano de los

objetos n-dimensionales originales (ver sección 4.2). Posteriormente el algoritmo

genético propuesto estará buscando mejores representaciones sobre el plano

Eu-clidiano del conjunto de objetos n-dimensionales originales mediante una cierta

cantidad de generaciones, valor dado por el usuario (maxGeneraciones). En cada

generación es creada una NUEVAPOBLACION de tamaño T, de la cual se

espe-ra que sus individuos representen mejor a los objetos n-dimensionales originales

sobre el plano Euclidiano que los individuos de la POBLACION anterior.

Enton-ces la NUEVAPOBLACION pasará a la siguiente generación como POBLACION

(52)

Algoritmo 2 AGP /*Algoritmo genético propuesto*/

Entrada: Grupo /*Conjunto de objetos mezclados e incompletos*/, maxGeneraciones,

T /*tamaño de la poblacion*/,

M /*Cantidad de mejores individuos en la población*/, PM /*Probabilidad de mutación*/

Salida: rf /*puntos bidimensionales que representan a los objetos originales*/

1: POBLACION ← PoblaciónInicial(T,Grupo);

2: for i=1 hasta MaxGeneraciones do

3: Evaluar la aptitud de cada individuo en POBLACION;

4: NUEVAPOBLACION← M mejores individuos de POBLACION;

5: forj=1 hasta T-M do

6: seleccionar aleatoriamente dos individuos P y Q de POBLACION;

7: R=Cruza(P,Q);

8: if (probabilidadDeMutación(PM))then

9: R’← Mutación(R);

10: NUEVAPOBLACION← NUEVAPOBLACION∪ {R0};

11: else

12: NUEVAPOBLACION← NUEVAPOBLACION∪ {R};

13: end if

14: end for

15: POBLACION ←NUEVAPOBLACION;

16: end for

17: Evaluar la aptitud de cada individuo de POBLACION y obtener el individuo con menor STRESS;

(53)

población en cada generación se evalúan los T individuos de POBLACION, se

seleccionan los M mejores y se agregan a la NUEVAPOBLACION.

Para completar los T individuos de la NUEVAPOBLACION, se obtienen T-M

individuos R como resultado de la operación de cruza entre pares de individuos P

y Q, tomados al azar de la POBLACION (ver seccion 4.3.1). Para los individuos

R obtenidos de la operación de cruza, se calcula la probabilidad de mutación, para

la cual se genera un número aleatorio l (0 ≤ l ≤ 100), si lP M ( P M valor fijo dado por el usuario con 0 ≤ P M ≤ 100 ). Entonces, se obtiene el individuo R’ como resultado de la operación de mutación (ver seccion 4.3.2) aplicada sobre

el individuo R, y se agrega el individuo R’ a la NUEVAPOBLACION, en caso de

que l > P M, entonces, el individuo R, sin sufrir ningún cambio, es agregado a la NUEVAPOBLACION. Al término de la búsqueda de mejores individuos durante

las maxGeneraciones, se evalúa cada individuo de la población final mediante la

función de aptitud (fitness) y se obtiene el individuo con el valor de STRESS más

pequeño, el cual tomamos como la mejor representación sobre el plano Euclidiano

de los objetos mezclados n-dimensionales originales, encontrado por el algoritmo

genético propuesto usando los parámentros dados.

4.4.1.

Análisis de complejidad de AGP

A continuación presentamos el análisis de la complejidad del algoritmo

gené-tico propuesto AGP, para lo cual, analizaremos por separado la complejidad de

cada paso de AGP, a saber: cálculo de las matrices de distancias, evaluación de

la función de STRESS, generación de la población inicial y de las operaciones de

Referencias

Documento similar

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)

If certification of devices under the MDR has not been finalised before expiry of the Directive’s certificate, and where the device does not present an unacceptable risk to health

In addition to the requirements set out in Chapter VII MDR, also other MDR requirements should apply to ‘legacy devices’, provided that those requirements