• No se han encontrado resultados

TESIS de Maestría en. Ingeniería en Sistemas de la Información

N/A
N/A
Protected

Academic year: 2022

Share "TESIS de Maestría en. Ingeniería en Sistemas de la Información"

Copied!
261
0
0

Texto completo

(1)

TESIS de Maestría en

Ingeniería en Sistemas de la Información

"DESCUBRIMIENTO DE CONOCIMIENTO MEDIANTE LA INTEGRACIÓN DE ALGORITMOS DE EXPLOTACIÓN DE

LA INFORMACIÓN"

Tesista: Lic. E.I.S.I. Marcelo Ubaldo López Nocera

Director: Dr. Ramón García Martínez (UNLa)

Codirectora: Dra. Zulma Cataldi

(2)

DEDICATORIA

A mis padres Norma y Ubaldo.

A mis hijas Venezia y Aldana.

A mi esposa Alejandra.

A mis amigos y familiares en general.

A la memoria de Edgardo, mi primer mentor en la Maestría.

A quienes lean este trabajo con interés.

A quienes encuentren aquí alguna fuente de inspiración que los lleve a continuar alguna de las líneas de investigación propuestas.

(3)

AGRADECIMIENTOS

A Ramón, por su paciencia, consideración y consejos, por su búsqueda continua de la mejora y por los gratos momentos compartidos durante la labor.

A Zulma, por su apoyo y aliento constante.

A Oscar, quien me orientó para encontrar el camino.

A mi familia, por la bondadosa paciencia conque sobrellevaron todas las horas que les robé para poder llevar adelante esta tesis.

A la Facultad Regional Buenos Aires y a la Escuela de Posgrado de la Universidad Tecnológica Nacional, por la gran formación que me brindaron.

A Ariel, por su apoyo y desinteresada colaboración.

A todos, en general, los que me ayudaron para seguir adelante y llegar a buen puerto.

A quienquiera que sea que, desde algún lugar del éter, haya inspirado alguna idea original que pudiera aparecer en el presente trabajo.

(4)

RESUMEN

En Minería de Datos se parte, supuestamente, de dominios equivalentes o directamente indistinguibles entre sí a los efectos experimentales. En el presente trabajo se postulará que esto no es así, y que la caracterización de los dominios en uso durante la fase experimental tiene amplia injerencia en los resultados observados y finalmente obtenidos. Se partirá de un experimento previo, diseñado para un cierto algoritmo de agrupamiento en combinación con otro determinado algoritmo de inducción y se extenderá el estudio a otras combinaciones de algoritmos. El mencionado trabajo experimental preexistente se ha replicado y extendido para caracterizar los distintos dominios que se podrían definir, incluyendo un procedimiento para generarlos. Por otra parte, se define un protocolo para encontrar las características del dominio que mejor es explicado por los algoritmos de descubrimiento de conocimiento seleccionados con base en procesos de explotación de información. Se da luego una prueba de concepto del protocolo propuesto y se ofrecen finalmente algunas conclusiones del trabajo de investigación realizado.

Palabras Clave: Minería de Datos, caracterización de dominios, algoritmos, agrupamiento, inducción, procedimiento para generación de dominios, protocolo, prueba de concepto.

(5)

ABSTRACT

Data Mining is supposed to work with equivalent or directly indistinguishable domains towards experimental purposes. This thesis pretends to state this is not so, and the characterization of the domains in use during the test phase has extensive interference in the observed and finally obtained results. The thesis is based on a previous experiment, designed for a certain clustering algorithm given in combination with another given induction algorithm, and the study will then be extended to other combinations of algorithms. The mentioned previously existent experimental work has been replicated and extended in order to characterize the different domains that could be defined, including a procedure to generate them. On the other hand, this thesis defines a protocol for finding the domain characteristics that is best explained by the knowledge discovery algorithms selected on the basis of information exploitation processes. A concept proof of the proposed protocol is also given and finally some conclusions of the research work are offered.

Keywords: Data Mining, domains characterization, algorithms, clustering, induction, domains generation procedure, protocol, concept proof.

(6)

INDICE

1. INTRODUCCIÓN ... 1

1.1. Contexto de la Tesis ... 1

1.2. Objetivos de la Tesis ... 2

1.2.1. Objetivos Generales ... 2

1.2.2. Objetivos Específicos ... 2

1.2.3. Metodología de Desarrollo ... 3

1.2.3.1. Etapa 1 ... 4

1.2.3.2. Etapa 2 ... 4

1.2.3.3. Etapa 3 ... 5

1.2.3.4. Etapa 4 ... 5

1.2.4. Consideraciones Adicionales ... 6

1.3. Visión General de la Tesis ... 7

1.4. Producción Científica Derivada de Resultados Parciales de la Tesis ... 8

2. ESTADO DE LA CUESTIÓN ... 9

2.1. Algoritmos de Clasificación ... 10

2.1.1. Una Introducción Teórica General a los Algoritmos de Clasificación ... 10

2.1.2. Algoritmos Probabilísticos ... 13

2.1.2.1. Algoritmo naive Bayes ... 13

2.1.2.2. Algoritmo de Rocchio ... 14

2.1.2.3. Algoritmo NNC o KNN... 15

2.1.3. Redes Neuronales ... 16

2.1.3.1. Una Introducción a las Redes Neuronales ... 16

2.1.3.2. Algoritmo SOM ... 16

2.1.4. Algoritmos Jerárquicos ... 22

2.1.5. Algoritmos Particionales ... 24

2.1.5.1 Una Introducción Teórica General a los Algoritmos Particionales ... 24

2.1.5.2 Algoritmo K-means ... 26

2.1.5.3 Algoritmo Bisecting K-means y Bisecting K-means con Refinamiento ... 28

2.1.5.4 Algoritmos Genéticos ... 30

2.2. Algoritmos de Inducción ... 31

2.2.1. Introducción a los Algoritmos de Inducción ... 31

2.2.2. La familia TDIDT de Algoritmos de Inducción ... 31

2.2.2.1 Una Introducción Teórica a los Algoritmos de la Familia TDIDT... 32

2.2.2.2. Algoritmo ID3 ... 37

2.2.2.3. Algoritmo C4.5 ... 41

2.2.2.4. Algoritmo C5.0 ... 45

2.2.3. Otros Algoritmos de Inducción ... 46

2.2.3.1 Algoritmos de Inducción no Pertenecientes a la Familia TDIDT ... 46

2.2.3.2 Algoritmo AQ15 ... 46

2.2.3.3 Algoritmo CN2 ... 47

2.2.3.4 Algoritmo M5 ... 48

(7)

3.1. Modelo Tradicional de Caracterización de Dominios ... 52

3.2. Calidad del Proceso de Descubrimiento de Conocimiento ... 54

3.3. Integración de los Algoritmos de Agrupamiento e Inducción ... 56

3.4. Rendimientos de las Distintas Combinaciones de Algoritmos ... 57

3.5. Resumen de las Preguntas de Investigación ... 59

4. SOLUCION PROPUESTA ... 62

4.1. Una Propuesta de Solución Aplicada en Forma Experimental al Problema Delimitado ... 63

4.1.1. Preparación de las Experiencias a Realizar ... 63

4.1.2. Presentación de las Variables a Utilizar ... 64

4.1.3. Panorama General de la Ejecución de las Experiencias ... 64

4.1.3.1. Introducción a la Ejecución de las Experiencias ... 65

4.1.3.2. Descripción de las Bases de Datos a Utilizar en la Ejecución de las Experiencias ... 65

4.1.3.3. Descripción del Banco de Pruebas a Utilizar en la Ejecución de las Experiencias ... 71

4.1.3.4. Determinación de las Variables a Utilizar en la Ejecución de las Experiencias ... 72

4.1.3.5. Detalle de las Corridas a Llevar a Cabo en la Ejecución de las Experiencias ... 73

4.2. Una Propuesta de Clasificación Taxonómica Aplicada a los Dominios a Utilizar ... 73

4.3. Análisis de la Eficiencia de la Aplicación del Proceso de Experimentación a los Tipos de Dominios Dados ... 88

4.4. Descripción de los Diagramas de Kiviat como Herramientas de Utilidad para la Visualización de los Datos Obtenidos como Resultados Experimentales ... 91

4.5. Descripción del Protocolo de Caracterización de Dominios Propuesto en el Presente Trabajo... 93

4.5.1. Detalle del Procedimiento Utilizado para la Generación de Dominios en Forma Previa a la Ejecución de las Experiencias ... 93

4.5.2. Descripción del Protocolo para la Identificación de Dominios ... 94

4.6. Descripción de la Prueba de Concepto a Utilizar en la Implementación de la Solución ... 95

5. RESULTADOS EXPERIMENTALES OBTENIDOS ... 98

5.1. Presentación del Esquema Completo de Laboratorio ... 98

5.2. Descripción del Contenido de las Tablas que Constituyen cada una de las Bases de Datos Utilizadas en el Esquema Experimental... 100

5.2.1. Contenido de la Tabla de Experiencias ... 100

5.2.2. Contenido de la Tabla de Iteraciones ... 101

5.2.3. Contenido de la Tabla de Escenarios ... 102

5.2.4. Contenido de la Tabla de Gráficos ... 103

5.2.5. Contenido de la Tabla de Graficaciones ... 104

5.2.6. Contenido de la Tabla de Reglas Correctamente Cubiertas ... 104

5.3. Presentación del Banco de Pruebas de Laboratorio ... 105

5.4. Descripción de los Gráficos Obtenidos como Resultado del Proceso Experimental Efectuado ... 106

(8)

Efectuado ... 107

5.6. Análisis Completo De La Performance de las Corridas que Posibilitaron la Obtención de los Resultados Experimentales ... 110

6. INTERPRETACIÓN DE LOS RESULTADOS EXPERIMENTALES OBTENIDOS ... 111

6.1. Introducción al Esquema Experimental Desarrollado en relación a la Interpretación de los Resultados Obtenidos como Consecuencia de la Experimentación Llevada a cabo en el Presente Trabajo ... 111

6.2. Análisis Cualitativo y Cuantitativo de los Resultados Obtenidos Experimentalmente ... 112

6.3 Comparación entre los Resultados Experimentales Obtenidos en el Presente Trabajo y los Resultados Experimentales Previamente Existentes ... 135

6.4 Descripción del Conjunto de Proposiciones Experimentales Aplicables a los Resultados Obtenidos Experimentalmente ... 135

6.5 Descripción del Conjunto de Conclusiones Experimentales Enunciables como Corolario de los Resultados Obtenidos Experimentalmente ... 136

6.6 Detalle de las Futuras Líneas de Investigación Experimentales a Seguir como Consecuencia de los Resultados de Laboratorio Obtenidos Experimentalmente... 146

7. CONCLUSIONES, APORTES Y FUTURAS LÍNEAS DE INVESTIGACIÓN ... 148

7.1 Conclusiones Generales ... 148

7.2 Aportes ... 152

7.3 Futuras Líneas de Investigación ... 155

7.4 Resumen Final ... 156

8. ANEXOS ... 157

8.1. Contenido Ampliado de la Tabla de Experiencias ... 157

8.2. Ubicación en el Apéndice Electrónico de la Tabla de Experiencias ... 172

8.3. Contenido Ampliado de la Tabla de Iteraciones ... 172

8.4. Ubicación en el Apéndice Electrónico de la Tabla de Iteraciones ... 179

8.5. Contenido Ampliado de la Tabla de Escenarios ... 181

8.6. Ubicación en el Apéndice Electrónico de la Tabla de Escenarios ... 182

8.7. Contenido Ampliado de la Tabla de Gráficos ... 183

8.8. Ubicación en el Apéndice Electrónico de la Tabla de Gráficos ... 187

(9)

8.10. Ubicación en el Apéndice Electrónico de la Tabla de Graficaciones ... 192

8.11. Contenido Ampliado de la Tabla de Reglas Correctamente Cubiertas ... 193

8.12. Ubicación en el Apéndice Electrónico de la Tabla de Reglas Correctamente Cubiertas... 194

8.13. Ubicación en el Apéndice Electrónico de los Gráficos ... 197

8.14. Ubicación en el Apéndice Electrónico de los Datos Fuente para los Diagramas de Kiviat ... 198

8.15. Ubicación en el Apéndice Electrónico de los Diagramas de Kiviat ... 199

8.16. Listado de las Características a Tener en Cuenta al Analizar la Performance de las Experiencias de Laboratorio Realizadas ... 201

8.17. Ejemplo de las Características Tenidas en Cuenta al Analizar la Performance de las Experiencias de Laboratorio Realizadas ... 202

8.18. Ubicación en el Apéndice Electrónico de los Resultados de los Análisis de Rendimiento para las Distintas Combinaciones de Algoritmos... 204

8.19 Ubicación en el Apéndice Electrónico de los Porcentajes de Reglas Correctamente Cubiertas para cada una de las Combinaciones Posibles de Pares de Algoritmos de Clustering e Inducción para los Escenarios Correspondientes a Dominios Catalogados Como Medianos ... 204

8.20 Ubicación en el Apéndice Electrónico de los Porcentajes de Reglas Correctamente Cubiertas para cada una de las Combinaciones Posibles de Pares de Algoritmos de Clustering e Inducción para los Escenarios Correspondientes a Dominios Catalogados Como Hipercomplejos ... 205

8.21 Ubicación en el Apéndice Electrónico de los Porcentajes de Reglas Correctamente Cubiertas para cada una de las Combinaciones Posibles de Pares de Algoritmos de Clustering e Inducción para los Escenarios Correspondientes a Dominios Catalogados Como Complejos ... 206

8.22 Ubicación en el Apéndice Electrónico de los Porcentajes de Reglas Correctamente Cubiertas para cada una de las Combinaciones Posibles de Pares de Algoritmos de Clustering e Inducción para los Escenarios Correspondientes a Dominios Catalogados Como Oscilantes ... 206

8.23 Ubicación en el Apéndice Electrónico de los Diagramas de Kiviat Representados para cada una de las Combinaciones Posibles de Pares de Algoritmos de Clustering e Inducción ... 207

8.24 Ubicación en el Apéndice Electrónico de las Tablas de Valores Obtenidos para cada una de las Combinaciones Posibles de Pares de Algoritmos de Clustering e Inducción ... 209

8.25 Ubicación en el Apéndice Electrónico de los Porcentajes Promedio de Reglas Correctamente Cubiertas para cada una de las Combinaciones Posibles de Pares de Algoritmos de Clustering e Inducción, Consolidados por Zona de los Respectivos Diagramas de Kiviat ... 210

(10)

para el Comportamiento de todos los Algoritmos Utilizados en la Experimentación, Consolidadas por Sector ... 210

8.27 Ubicación en el Apéndice Electrónico de los Datos de Comparación entre los Resultados Experimentales Obtenidos en el Presente Trabajo y los Resultados Experimentales Previamente Existentes ... 211

8.28 Ubicación en el Apéndice Electrónico de los Datos de Soporte de la Conclusión Experimental 1, de la Conclusión Experimental 2 y de la Conclusión Experimental 3 ... 213

8.29 Ubicación en el Apéndice Electrónico de los Datos de Soporte de la Conclusión Experimental 4, de la Conclusión Experimental 5, de la Conclusión Experimental 6, de la Conclusión Experimental 7, de la Conclusión Experimental 8, de la Conclusión Experimental 9, de la Conclusión Experimental 10 y de la Conclusión Experimental 11 ... 214

8.30 Ubicación en el Apéndice Electrónico de los Datos de Soporte de la Conclusión Experimental 12, de la Conclusión Experimental 13, de la Conclusión Experimental 14, de la Conclusión Experimental 15, de la Conclusión Experimental 16, de la Conclusión Experimental 17 y de la Conclusión Experimental 18 ... 215

8.31 Ubicación en el Apéndice Electrónico de los Datos de Soporte de la Conclusión Experimental 19, de la Conclusión Experimental 20, de la Conclusión Experimental 21, de la Conclusión Experimental 22, de la Conclusión Experimental 23, de la Conclusión Experimental 24 y de la Conclusión Experimental 25 ... 216

8.32 Ubicación en el Apéndice Electrónico de los Datos de Soporte de la Conclusión Experimental 26, de la Conclusión Experimental 27, de la Conclusión Experimental 29, de la Conclusión Experimental 30, de la Conclusión Experimental 31, de la Conclusión Experimental 32 y de la Conclusión Experimental 33 ... 216

8.33 Ubicación en el Apéndice Electrónico de los Datos de Soporte de la Conclusión Experimental 28 ... 217

8.34 Ubicación en el Apéndice Electrónico de los Datos de Soporte de la Conclusión Experimental 34 ... 218

8.35 Estructura del Árbol de Directorios del Apéndice Electrónico que Acompaña al Presente Trabajo en Formato Digital ... 219

8.36 Operación del Banco de Pruebas del Apéndice Electrónico ... 221

9. REFERENCIAS ... 224

(11)

INDICE DE FIGURAS

Figura Descripción Sección Página

2.1 Método utilizado por el algoritmo ID3 para la construcción de árboles de decisión

2.2.2.2 40

2.2 Método utilizado por el algoritmo C4.5 para la construcción de árboles de decisión

2.2.2.2 42

4.1 Ejemplo de registro de la tabla Experience 4.1.3.2 66 4.2 Ejemplo de registro de la tabla Experience_iteration 4.1.3.2 67 4.3.a Ejemplo de registro de la tabla Scenario 4.1.3.2 68 4.3.b Ejemplo de registro de la tabla Scenario 4.1.3.2 68 4.3.c Ejemplo de registro de la tabla Scenario 4.1.3.2 68 4.3.d Ejemplo de registro de la tabla Scenario 4.1.3.2 68 4.3.e Ejemplo de registro de la tabla Scenario 4.1.3.2 68

4.4 Ejemplo de registro de la tabla Graph 4.1.3.2 69

4.5 Ejemplo de registro de la tabla Graph_experience 4.1.3.2 70

4.6 Ejemplo de registro de la tabla Tablita 4.1.3.2 71

4.7 Gráfica que representa el estudio de dominios variando la cantidad de clases que los rigen, para

distinta cantidad de atributos que tienen los ejemplos [Kogan, 2007]

4.2 74

4.8 Conformación del grupo A de la clasificación taxonómica de dominios en función de los gráficos

representados a partir de los atributos de dominio propiamente dichos utilizados en [Kogan, 2007]

4.2 77

4.9 Conformación del grupo A de la clasificación taxonómica de dominios, en función de la denominación aplicada a los gráficos representados

a partir de los atributos de dominio propiamente dichos utilizados en [Kogan, 2007]

4.2 79

(12)

4.10 Gráfica que representa el estudio de dominios variando la cantidad de clases que los rigen, para

distinta cantidad de valores posibles que puede tomar cada atributo

[Kogan, 2007]

4.2 80

4.11 Conformación del grupo B de la clasificación taxonómica de dominios, en función de los gráficos

representados a partir de los atributos de dominio propiamente dichos utilizados en

[Kogan, 2007]

4.2 81

4.12 Conformación del grupo B de la clasificación taxonómica de dominios, en función de la denominación aplicada a los gráficos representados

a partir de los atributos de dominio propiamente dichos utilizados en [Kogan, 2007]

4.2 81

4.13 Gráfica que representa el estudio de dominios variando la cantidad de valores posibles que puede tomar cada uno de los atributos que conforman las reglas, para distinta cantidad de reglas que indican

la pertenencia a cada clase [Kogan, 2007]

4.2 82

4.14 Conformación del grupo C de la clasificación taxonómica de dominios, en función de los gráficos

representados a partir de los atributos de dominio propiamente dichos utilizados en

[Kogan, 2007]

4.2 83

4.15 Conformación del grupo C de la clasificación taxonómica de dominios, en función de la denominación aplicada a los gráficos representados

a partir de los atributos de dominio propiamente dichos utilizados en [Kogan, 2007]

4.2 83

(13)

4.16 Gráfica que representa el estudio de dominios variando la especificidad del cubrimiento de cada

regla sobre sus ejemplos asociados, para distinta cantidad de estos

[Kogan, 2007]

4.2 84

4.17 Conformación del grupo D de la clasificación taxonómica de dominios, en función de losgráficos

representados a partir de los atributos orientados a los ejemplos utilizados en [Kogan, 2007]

4.2 86

4.18 Conformación del grupo D de la clasificación taxonómica de dominios, en función de la denominación aplicada a los gráficos representados

a partir de los atributos relacionados con los ejemplos, utilizados en [Kogan, 2007]

4.2 86

4.19.a Conformación de los grupos A, B y C de la clasificación taxonómica de dominios, según los gráficos representados a partir de los atributos de

dominio propiamente dichos utilizados en [Kogan, 2007]

4.2 87

4.19.b Codificación cromática explicativa de la Figura 4.19.a

4.2 87

4.20 Conformación del grupo D de la clasificación taxonómica de dominios, según los gráficos representados a partir de los atributos relacionados

con los ejemplos, utilizados en [Kogan, 2007]

4.2 87

4.21 Clasificación taxonómica en grupos, en relación a los gráficos obtenidos en [Kogan, 2007]

4.2 88

4.22 Caracterización de los grupos, en relación a los gráficos obtenidos en [Kogan, 2007]

4.2 88

(14)

4.23 Representación del estudio de dominios variando el número de ejemplos que dan soporte a cada regla, para distinta concentración de las reglas que indican

la pertenencia a cada clase [Kogan, 2007]

4.3 91

4.24.a Ejemplo de Diagrama de Kiviat para una hipotética función de ocho variables

4.4 92

4.24.b Ejemplo de Diagrama de Kiviat para una hipotética función de ocho variables

4.4 92

4.25 Muestra de los datos utilizados para obtener el Diagrama de Kiviat que se muestra en la

Figura 4.26

4.6 96

4.26 Ejemplo de Diagrama de Kiviat obtenido para el juego de datos mostrado en la Figura 4.25

4.6 97

5.1 Diagrama de Kiviat correspondiente a la Figura 4.26 del presente trabajo, en el cual los sectores se

presentan en forma apilada en función del porcentaje de reglas correctamente cubiertas

5.5 108

5.2 Diagrama de Kiviat correspondiente a la Figura 4.26 del presente trabajo, en el cual los sectores se

presentan como gráfico de barras, en función del porcentaje de reglas correctamente cubiertas

5.5 109

6.1 Porcentaje de reglas correctamente cubiertas para cada una de las combinaciones posibles de variables

6.2 114

6.2 Diagrama de Kiviat que despliega los datos representados en Figura 6.1

6.2 115

6.3 Gráfico de barras que despliega los resultados comparativos de los datos representados en

Figura 6.1

6.2 115

(15)

6.4 Porcentaje de reglas correctamente cubiertas para cada una de las combinaciones posibles de variables, para los escenarios correspondientes a los

sectores veintiocho, veintinueve y treinta

6.2 119

6.5 Porcentaje de reglas correctamente cubiertas para cada una de las combinaciones posibles de pares de

algoritmos de clustering e inducción, para los escenarios correspondientes a dominios catalogados

como medianos

6.2 120

6.6 Porcentaje de reglas correctamente cubiertas para cada una de las combinaciones posibles de pares de

algoritmos de clustering e inducción, para los escenarios correspondientes a dominios catalogados

como hipercomplejos

6.2 121

6.7 Porcentaje de reglas correctamente cubiertas para cada una de las combinaciones posibles de pares de

algoritmos de clustering e inducción, para los escenarios correspondientes a dominios catalogados

como complejos

6.2 123

6.8 Porcentaje de reglas correctamente cubiertas para cada una de las combinaciones posibles de pares de

algoritmos de clustering e inducción, para los escenarios correspondientes a dominios catalogados

como oscilantes

5,1 124

6.9 Diagrama de Kiviat correspondiente al porcentaje de reglas correctamente cubiertas para la combinación entre SOM como algoritmo de clustering e ID3 de la familia TDIDT como algoritmo de inducción, para todos los escenarios en

estudio

6.2 125

(16)

6.10 Diagrama de Kiviat correspondiente al porcentaje de reglas correctamente cubiertas para la combinación entre SOM como algoritmo de clustering y M5 como algoritmo de inducción, para

todos los escenarios en estudio

6.2 125

6.11 Diagrama de Kiviat correspondiente al porcentaje de reglas correctamente cubiertas para la combinación entre K-means como algoritmo de clustering y M5 como algoritmo de inducción, para

todos los escenarios en estudio

6.2 126

6.12 Diagrama de Kiviat correspondiente al porcentaje de reglas correctamente cubiertas para la combinación entre KNN como algoritmo de clustering y M5 como algoritmo de inducción, para

todos los escenarios en estudio

6.2 126

6.13 Diagrama de Kiviat correspondiente al porcentaje de reglas correctamente cubiertas para la combinación entre SOM como algoritmo de clustering y CN2 como algoritmo de inducción,

para todos los escenarios en estudio

6.2 127

6.14 Diagrama de Kiviat correspondiente al porcentaje de reglas correctamente cubiertas para la combinación entre K-means como algoritmo de clustering y CN2 como algoritmo de inducción,

para todos los escenarios en estudio

6.2 127

6.15 Diagrama de Kiviat correspondiente al porcentaje de reglas correctamente cubiertas para la combinación entre K-means como algoritmo de clustering y CN2 como algoritmo de inducción,

para todos los escenarios en estudio

6.2 128

(17)

6.16 Diagrama de Kiviat correspondiente al porcentaje de reglas correctamente cubiertas para la combinación entre SOM como algoritmo de clustering y AQ15 como algoritmo de inducción,

para todos los escenarios en estudio

6.2 128

6.17 Diagrama de Kiviat correspondiente al porcentaje de reglas correctamente cubiertas para la combinación entre K-means como algoritmo de clustering y AQ15 como algoritmo de inducción,

para todos los escenarios en estudio

6.2 129

6.18 Diagrama de Kiviat correspondiente al porcentaje de reglas correctamente cubiertas para la combinación entre NNC como algoritmo de clustering y AQ15 como algoritmo de inducción,

para todos los escenarios en estudio

6.2 129

6.19 Porcentajes promedio de reglas correctamente cubiertas para cada una de las combinaciones posibles de pares de algoritmos de clustering e inducción, para los escenarios correspondientes a

dominios catalogados como medianos

6-2 130

6.20 Porcentajes promedio de reglas correctamente cubiertas para cada una de las combinaciones posibles de pares de algoritmos de clustering e inducción, para los escenarios correspondientes a

dominios catalogados como hipercomplejos

6.2 130

6.21 Porcentajes promedio de reglas correctamente cubiertas para cada una de las combinaciones posibles de pares de algoritmos de clustering e inducción, para los escenarios correspondientes a

dominios catalogados como complejos

6.2 130

(18)

6.22 Porcentajes promedio de reglas correctamente cubiertas para cada una de las combinaciones posibles de pares de algoritmos de clustering e inducción, para los escenarios correspondientes a

dominios catalogados como oscilantes

6.2 131

6.23 Porcentajes promedio de reglas correctamente cubiertas para cada una de las combinaciones posibles de pares de algoritmos de clustering e

inducción, consolidados por tipo de dominio

6.2 131

6.24 Grupo que mayor porcentaje de reglas cubrió para cada combinación entre un algoritmo de agrupamiento y otro de inducción, según la

experimentación llevada a cabo

6.2 131

6.25 Tipo de dominio que mayor porcentaje de reglas cubrió para cada combinación entre un algoritmo de

agrupamiento y otro de inducción, según la experimentación llevada a cabo

6.2 131

6.26 Porcentajes promedio de reglas correctamente cubiertas para cada una de las combinaciones posibles de pares de algoritmos de clustering e inducción, consolidados por zona de los respectivos

Diagramas de Kiviat

6.2 132

6.27 Características cualitativas más salientes encontradas para el comportamiento de todos los

algoritmos utilizados en la experimentación, consolidadas por sector

6.2 134

8.1 Ejemplo de lote de registros de la tabla Experience 8.1 171 8.2 Ejemplo de lote de registros de la tabla

Experience_iteration

8.3 179

8.3 Ejemplo de lote de registros de la tabla Scenario 8.5 182 8.4 Ejemplo de lote de registros de la tabla Graph 8.7 186

8.5 Ejemplo de lote de registros de la tabla 8.9 192

(19)

8.6 Ejemplo de lote de registros de la tabla Tablita 8.11 194 8.7 Análisis de diversas características de performance

experimental observadas, correspondientes a la combinación de algoritmos NNC VS M5

8.17 203

8.8 Estructura de árbol con los directorios principales que constituyen el apéndice

electrónico que acompaña este trabajo

8.35 220

(20)

GLOSARIO DE ACRONIMOS

Acrónimo Significado

AQ15 Algoritmo de inducción AQ15

BMU Best Matching Unit

C4.5 Algoritmo de inducción C4.5

C5.0 Algoritmo de inducción C5.0

CD Compact Disc

CLS Concept Learning Systems

CN2 Algoritmo de inducción CN2

DVD Digital Versatile Disk

GB Gigabyte

(21)

GNU GNU is Not Unix

GNU-GPL GNU General Public License

HDD Hard Disk Drive

ID3 Algoritmo de inducción Induction of Decision Trees

JAR Java Archive

JDBC Java Database Connectivity

JDK Java Development Kit

JRE Java Runtime Environment

KD Knowledge Discovery

K-means Algoritmo de agrupamiento K-medias

KNN Algoritmo de agrupamiento K-Nearest Neighbour

(22)

M5 Algoritmo de inducción M5

MB Megabyte

MDL Minimum Description Length

NN Algoritmo de agrupamiento Nearest Neighbour

NNC Algoritmo de agrupamiento Nearest Neighbour Cluster

PHP PHP Hypertext Preprocessor

SOM Algoritmo de agrupamiento Self Organizing Maps

SQL Structured Query Language

TDIDT Top Down Induction of Decision Trees

U-Matrix Unified Distance Matrix

URL Uniform Resource Locator

(23)

USB Universal Serial Bus

VS Versus

WEBSOM Aplicación Web que utiliza el algoritmo de clustering SOM

WEKA Waikato Environment for Knowledge Analysis

WWW World Wide Web

(24)

1. INTRODUCCIÓN

En este capítulo se presenta el contexto del presente trabajo (Sección 1.1), sus objetivos (Sección 1.2), la visión general de la tesis (Sección 1.3) y la producción científica derivada de resultados parciales de la misma (Sección 1.4).

1.1. Contexto de la Tesis

En Minería de Datos (Data Mining) se parte, supuestamente, de dominios equivalentes o directamente indistinguibles entre sí a los efectos experimentales. En [Kogan, 2007] se diseñó un experimento para analizar el rendimiento del proceso de descubrimiento de conocimiento para un determinado par (algoritmo de agrupamiento, algoritmo de inducción), a saber, SOM e ID3 de la familia TDIDT. Este trabajo, que no tenía en cuenta la caracterización de los dominios con los que se operó, ha sido adaptado (Sección 4.1), para justamente poder caracterizar los distintos dominios que se podrían definir. Se parte también de lo postulado como futura línea de investigación, tanto en [Kogan, 2007] como así también en [Britos, 2008], en cuanto a la extensión de la investigación a otro tipo de dominios y con la aplicación de otros pares de algoritmos como soporte (Sección 3.4).

El tema elegido implica analizar la evolución de la calidad del proceso de descubrimiento de conocimiento mediante el uso de la integración de los algoritmos de agrupamiento e inducción, al ir variando sus parámetros en condiciones de laboratorio. La integración de agrupamiento e inducción como técnica de descubrimiento de conocimiento será analizada en detalle más adelante en el presente trabajo, en función de la degradación de la calidad (Sección 3.2), y la variación de parámetros a utilizar (Sección 3.3).

(25)

_____________________________________________________________________________________________________________

1.2. Objetivos de la Tesis

Se presentan aquí los objetivos del presente trabajo, que se clasifican en generales (Sección 1.2.1) y específicos (Sección 1.2.1) y la metodología de desarrollo del trabajo aplicada para alcanzarlos (Sección 1.2.3), agregándoses también una serie de consideraciones adicionales al respecto (Sección 1.2.4).

1.2.1. Objetivos Generales

1) Analizar cómo se comporta la integración de los algoritmos de inducción y agrupamiento al ir variando sus parámetros en condiciones de laboratorio, en un marco teórico previamente definido.

2) Evaluar la calidad de las reglas obtenidas y la evolución de su variación como consecuencia de la modificación de los parámetros controlados en los experimentos dentro de porcentajes de fluctuación determinados mediante umbrales de confianza preestablecidos.

1.2.2. Objetivos Específicos

1) Identificar los parámetros del problema señalado y los límites de aceptación de los mismos. Esto conlleva:

a) Analizar la efectividad del método para cada uno de los dominios involucrados, definido un universo de estudio y un conjunto de datos previamente obtenido.

b) Discretizar los atributos clase, definiendo los rangos de efectividad del método por medio de intervalos porcentuales.

c) Aplicar métodos automáticos de descubrimiento de conocimientos (eg. SOM y TDIDT) para obtener las reglas que resulten de efectiva aplicación al presente estudio.

(26)

d) Definir las combinaciones de pares de parámetros que se aplicarán al presente estudio, considerando además rangos de variación lo más amplios posible para los valores que puedan tomar.

e) Sistematizar la complejidad de cada dominio en función de sus parámetros, lo cual implica además analizar la complejidad que cada dominio representa para la aplicación de mecanismo de descubrimiento de conocimiento.

f) Estudiar el comportamiento de la efectividad del método propuesto, toda vez que se introduce ruido en los ejemplos generados.

g) Utilizar atributos numéricos, de forma tal que el algoritmo de inducción pueda eventualmente generar condiciones de desigualdad entre atributos, y no sólo de equivalencia.

2) Plantear algunas definiciones necesarias, como el cubrimiento de una regla de inferencia sobre otra, el cubrimiento de una regla original por reglas descubiertas y el concepto de concentración de reglas que indican la pertenencia a una clase.

3) Diseñar e implementar el banco de pruebas necesario para llevar adelante las experiencias en cuestión. Esto incluye:

a) Tomar todos los pares posibles de algoritmos de clasificación e inducción y ver cuál es la combinación que ofrece mejor respuesta, en igualdad de condiciones experimentales dadas.

b) Para determinado par, someterlo a un conjunto dado pruebas, introduciendo diversos tipos de ruido, y observar en qué situación se desempeña mejor.

4) Analizar los distintos casos de experimentación llevados adelante, con el fin de generalizar los resultados y obtener las correspondientes conclusiones, construyendo un modelo que permitea explicar la conducta observada.

1.2.3. Metodología de Desarrollo

El trabajo se ha planificado en cuatro etapas, a saber: Etapa 1 (Sección 1.2.3.1), Etapa 2 (Sección 1.2.3.2), Etapa 3 (Sección 1.2.3.3) y Etapa 4 (Sección 1.2.3.4).

(27)

_____________________________________________________________________________________________________________

1.2.3.1. Etapa 1

Se recabó información en centros de investigación accesibles mediante la Internet, libros, journals, trabajos publicados en revistas especializadas y actas de congresos acerca de la teoría de base y los algoritmos de clustering e inducción existentes, junto con un estudio de su performance observada en determinadas condiciones de laboratorio, para precisar el estado del arte.

1.2.3.2. Etapa 2

Se diseñaron y realizaron experiencias de laboratorio, en condiciones simuladas, para evaluar la variación de calidad mencionada. Se contó con software de simulación específico, como por ejemplo Simulink y The Neural ToolBox [Demuth, Hagan y Beales, 2004] provistos con Matlab 6.11, o las herramientas análogas provistas por Scilab 3.1.12, integrando asimismo las aplicaciones para mapas autoorganizados ya existentes como SOM_PACK (The Self Organizing Maps Program Package3) y LVQ_PACK (The Learning Vector Quantization Program Package, V3.14) y las aplicaciones específicas para árboles desarrolladas por Quinlan [Quinlan, 1993], como así también las aplicaciones existentes en el mercado comercial, como KnowledgeSeeker5, Clementine6, DataEngine7, DecisionHouse8 o IntelligentMiner9 [Sal, 2007], e incluso aplicaciones de libre disponibilidad para Data Mining y Bussiness Intelligence, como Pentaho10..

1 Disponible su uso y consulta en:

http://www.mathworks.com/access/helpdesk/help/pdf_doc/nnet/nnet.pdf (vigente al 01/06/2012)

2 Disponible para su uso y consulta en: http://www.scilab.org/ (vigente al 01/06/2012)

3 Disponible para su uso y consulta en: http://www.cis.hut.fi/research (vigente al 01/06/2012)

4 Disponible para su uso y consulta en: http://www.cis.hut.fi/research/som-research (vigente al 01/06/2012)

5 Disponible para su uso y consulta en: http://www.angoss.com (vigente al 01/06/2012)

6 Disponible para su uso y consulta en: http://www.spss.com/clementine (vigente al 01/06/2012)

7 Disponible para su uso y consulta en: http://www.dataengine.de (vigente al 01/06/2012)

(28)

Se llevó adelante, entonces, una metodología cuantitativa, con la aplicación de instrumentos específicos en pos de la solución deseada. A tal efecto, se propuso tomar bases de datos preexistentes (por ejemplo, tomar una de las existentes en el repositorio del UCI Machine Learning Repository11), junto con una planilla de cálculo con datos preelaborados, como las desarrolladas por Saha12 en ocasión de su tesis de doctorado [Saha, 1998].

1.2.3.3. Etapa 3

Se llevó a cabo el análisis de las experiencias realizadas, incluyendo el procesamiento de los datos y la interpretación de la información obtenida. Por tratarse de una investigación basada sobre un análisis comparativo, el conocimiento fue validado en forma experimental.

1.2.3.4. Etapa 4

Se obtuvieron las conclusiones y se elaboró el informe final, incluyendo los aportes que se derivaron del trabajo, como así también las futuras líneas de investigación que surgieron del mismo.

8 Disponible para su uso y consulta en: http://www.quadstone.com/system/decision (vigente al 01/06/2012)

9 Disponible para su uso y consulta en: http://www.softwareibm.com/data/intelli-mine/

(vigente al 01/06/2012)

10 Disponible para su uso y consulta en: http://www.pentaho.com (vigente al 01/06/2012)

11 Las cuales se encuentran disponibles para su consulta y uso en: http://archive.ics.uci.edu/ml/index.html (vigente al 01/06/2012)

12 Las cuales se hallan disponibles para su consulta y uso en (en el caso de juegos de datos para SOM) en:

http://www.geocitrus.com/adotsaha/NN/SOMinExcel.html (vigente al 01/06/2012), o bien, (en el caso de juegos de datos para TDIDT) en: http://www.geocitrus.com/adotsaha/CTree/CtreeinExcel.html.). (vigente al 01/06/2012)

(29)

_____________________________________________________________________________________________________________

1.2.4. Consideraciones Adicionales

Para cumplir con los objetivos enunciados, en el presente trabajo se postula no solo que los dominios son distinguibles a los efectos experimentales, sino también que la caracterización de los dominios en uso durante la fase experimental tiene amplia injerencia en los resultados observados y finalmente obtenidos (Sección 3.1).

Se intenta asismismo extender el estudio a otras combinaciones (Sección 3.4) de pares de algoritmos de agrupamiento y de inducción (a saber: SOM VS AQ15, SOM VS CN2, SOM VS M5, KNN (también conocido como NNC) VS AQ15, KNN-NNC VS CN2, KNN-NNC VS M5, K-means VS AQ15, K-means VS CN2, K-means VS M5), como así también definir detalladamente un protocolo (Sección 4.5) para encontrar las características del dominio que mejor es explicado por los algoritmos seleccionados, y finalmente ofrecer una prueba de concepto (Sección 4.6) del protocolo propuesto, para luego así exponer las conclusiones del trabajo de investigación realizado (Sección 7.1) y plantear las futuras líneas de investigación (Sección 7.3).

Se intenta también medir la calidad de las reglas obtenidas y la variación o degradación de la misma como consecuencia de la modificación de los parámetros controlados en las experiencias a realizar (Sección 3.2).

Adicionalmente, el análisis que se plantea en el presente trabajo acerca de la integración de los distintos algoritmos de agrupamiento e inducción como mecanismo de descubrimiento de conocimiento (Sección 3.3) incluye la proposición de evaluar el rendimiento en el descubrimiento de reglas de las distintas combinaciones de algoritmos en cuestión y analizar cuál de todas ellas es la que brinda mejor cubrimiento en igualdad de condiciones experimentales dadas, haciendo especial hincapié sobre el tipo de dominio con el que se opera en cada caso, de modo tal de poder determinar cuál es entonces la mejor combinación para cada tipo de dominio utilizado (Sección 3.4). Para ello será fundamental tener en cuenta los dominios generados (Sección 4.1.1) y las variables o atributos utilizados (Sección 4.1.2).

(30)

1.3. Visión General de la Tesis

La estructura de la tesis comienza con un análisis del estado de la cuestión (Capítulo 2), capítulo en el cual se describen con sumo detalle las características de los algoritmos de clasificación e inducción, en particular los que son utilizados en la parte experimental del presente trabajo.

Luego de ello se delimita el problema a estudiar (Capítulo 3), para lo cual se discurre sobre el modelo tradicional de caracterización de dominios, se plantea un análisis de la calidad del proceso de descubrimiento de conocimiento, se plantea profundizar el estudio acerca de la integración entre algoritmos de agrupamiento e inducción y se postulan los rendimientos que podrían alcanzar las distinas combinaciones de algoritmos al ser sometidas a las experiencias de laboratorio que serán presentadas en el capítulo de la tesis dedicado a proponer la solución. Asimismo, se proponen las preguntas de investigación a ser respondidas en la presente tesis.

Se continúa con la proposición de una solución al problema propuesto (Capítulo 4), para lo cual se presenta el esquema de laboratorio con todos sus componentes, proponiéndose luego una clasificación taxonómica de dominios y también un análisis de la eficiencia de la aplicación del proceso de experimentación a cada dominio dado. Luego de ello, se introducen los Diagramas de Kiviat como herramientas útiles para la visualización de los datos experimentales y se describe el protocolo de caracterización de dominios propuesto, para terminar con la descripción de la prueba de concepto a utilizar.

Realizados los experimentos, se muestran los resultados experimentales obtenidos Capítulo 5), se completa la descripción del esquema experimental utilizado, se describe el contenido completo de las tablas que alojan los datos experimentales, se detalla el banco de pruebas confeccionado ad hoc, se describen los gráficos obtenidos como consecuencia de las experiencias realizadas, se ahonda el detalle de la referencia a los Diagramas de Kiviat y se analiza pormenorizadamente el rendimiento de las experiencias de laboratorio realizadas.

A colación de ello se interpretan dichos resultados expeimentales (Capítulo 6), se detalla el esquema de laboratorio a utilizar para llevar a cabo el análisis, se analizan cualitativa y cuantitativamente los datos, se comparan los resultados con los obrantes con anterioridad, se realizan las proposiciones experimentales pertinentes, se enuncia un conjunto de conclusiones experimentales y se propone una serie de futuras líneas de investigación experimentales.

(31)

_____________________________________________________________________________________________________________

Se cierra el trabajo con las correspondientes conclusiones finales (Capítulo 7), donde se detallan las conclusiones generales, incluyendo las respuestas a las preguntas de investigación formuladas previamente, se analizan los aportes realizados por el presente estudio y se enuncian las futuras líneas de investigación generales.

Posteriormente, a guisa de apéndices, se anexa el material complementario al trabajo (Capítulo 8) y se finaliza con las referencias bibliográficas (Capítulo 9).

1.4. Producción Científica Derivada de Resultados Parciales de la Tesis

Durante el desarrollo de esta tesis se han comunicado resultados parciales a través de diversas publicaciones que a continuación se detallan:

a) Congresos Nacionales:

[López Nocera et al., 2011] López Nocera, M., Pollo Cattaneo, F., Britos, P., García Martínez, R. (2011) Un protocolo de caracterización empírica de dominios para uso en explotación de la información. Artículo presentando en el VIII Workshop de Bases de Datos y Minería de Datos del XVII CONGRESO ARGENTINO DE CIENCIAS DE LA COMPUTACION (CACIC), desarrollado en la Facultad de Ciencias Informáticas de la Universidad Nacional de La Plata, (La Plata, Buenos Aires, Argentina, Octubre 2011).

b) Congresos Internacionales:

[López Nocera y García Martínez, 2012] López Nocera, M., García Martínez, R.

(2012) Variabilidad del comportamiento de agrupamiento e inducción basado en las características del dominio. Artículo presentando en el LATIN AMERICAN CONGRESS ON REQUIREMENTS ENGINEERING AND SOFTWARE TESTING (LACREST), a desarrollarse en Medellín, Colombia, en julio de 2012.

(32)

2. ESTADO DE LA CUESTIÓN

En este capítulo se presenta el estado de la cuestión en relación al estudio llevado a cabo en el presente trabajo.

Se comienza con una descripción de los algoritmos de clasificación (Sección 2.1), para lo cual se realiza una introducción teórica a los mismos (Sección 2.1.1), continuando con el desarrollo teórico de los algoritmos probabilísticos (Sección 2.1.2), comenzando con el algoritmo naive Bayes (Sección 2.1.2.1), a colación del cual son descriptos el algoritmo de Rocchio (Sección 2.1.2.2) y el algoritmo KNN, también conocido como NNC (Sección 2.1.2.3).

Se describe a continuación la teoría de redes neuronales (Sección 2.1.3), con una introducción general al tema (Sección 2.1.3.1), luego de la cual se describe en detalle el algoritmo SOM (Sección 2.1.3.2).

Luego de ello se procede a desarrollar en forma teórica los algoritmos jerárquicos (Sección 2.1.4).

A continuación de lo anterior se describen los algoritmos particionales (Sección 2.1.5), con una introducción general al tema (Sección 2.1.5.1), luego de la cual se describe en detalle el algoritmo K-means (Sección 2.1.5.2), como así también los algoritmos Bisecting K-means y Bisecting K-means con refinamiento (Sección 2.1.5.3) y, por último, se lleva a cabo el desarrollo teórico de los algoritmos genéticos (Sección 2.1.5.4).

Acto seguido se realiza el desarrollo teórico de los algoritmos de inducción (Sección 2.2), con una introducción teórica a los mismos (Sección 2.2.1), y luego de ello se pasa a analizar en detalle la familia de algoritmos TDIDT (Sección 2.2.2), para lo cual primeramente se hace una introducción teórica a los algoritmos de dicha familia (Sección 2.2.2.1), a continuación de lo cual se analizan en forma particular el algoritmo ID3 (Sección 2.2.2.2), el algoritmo C4.5 (Sección 2.2.2.3) y el algoritmo C5.0 (Sección 2.2.2.4).

Finalmente, se describe en forma teórica el resto de los algoritmos de inducción, que no pertenecen a la familia TDIDT, utilizados en la experimentación llevada a cabo en el presente trabajo (Sección 2.2.3), para lo cual se hace primeramente una introducción teórica (Sección 2.2.3.1), luego de lo cual se analizan en detalle el algoritmo AQ15

(33)

____________________________________________________________________________________________________________

(Sección 2.2.3.2), el algoritmo CN2 (Sección 2.2.3.3) y, por último, el algoritmo M5 (Sección 2.2.3.4).

2.1. Algoritmos de Clasificación

En esta sección se hace primero una introducción teórica general a los algoritmos de clasificación (Sección 2.1.1), profundizando luego el particular el desarrollo teórico de los algoritmos probabilísticos (Sección 2.1.2).

2.1.1. Una Introducción Teórica General a los Algoritmos de Clasificación

La idea de clasificación es bien conocida por quienes se dedican a la experimentación de este tipo. Sin entrar en disquisiciones formales, se trata de organizar los ejemplos del dominio en cuestión en alguna forma que permita después su mejor recuperación. En torno a ello, se han elaborado diversas técnicas y se ha buscado la automatización de las mismas.

En el presente apartado se describen algunas de las técnicas y algoritmos aplicables en clasificación automática, los conceptos básicos en que se basan tales algoritmos, así como los instrumentos necesarios para aplicarlos, con una estimación del alcance y posibilidades de cada uno de ellos.

Por lo general, cuando se habla de clasificación automática se distingue entre dos escenarios diferentes, que obviamente, requieren soluciones distintas. Estos escenarios reciben diversos nombres, pero básicamente consisten en lo siguiente: de un lado, una situación en la que se parte de una serie de clases o categorías conceptuales prediseñadas a priori, y en la que labor del clasificador (manual o automático) es asignar cada documento a la clase o categoría que le corresponda. En el segundo escenario posible, no hay categorías previas ni esquemas o cuadros de clasificación establecidos a priori. Los ejemplos se agrupan en función de ellos mismos, auto organizándose. Es lo que se conoce como clasificación automática no supervisada o clustering no supervisado porque se efectúa de forma totalmente automática, sin supervisión o asistencia manual [Figuerola et al., 2004].

(34)

El primer tipo o escenario se conoce como clasificación supervisada, no sólo porque requiere la elaboración manual o intelectual del cuadro o esquema de categorías sino también porque requiere un proceso de aprendizaje o entrenamiento por parte del clasificador, que debe ser supervisado manualmente en mayor o menor medida.

Como se ha dicho recién, en esta modalidad se parte de una serie de clases o categorías prediseñadas a priori, en las cuales hay que colocar a cada uno de los ejemplos del dominio. Conocida también como categorización, facilita la recuperación ad hoc, limitando las búsquedas a las clases o categorías que el usuario elige, basándose en el conocimiento intelectual que previamente tiene del tema.

Aunque hay gran cantidad de algoritmos capaces de hacer clasificación supervisada, la idea o enfoque básico es muy parecido: conseguir, de alguna manera, construir un patrón representativo de cada una de las clases o categorías y aplicar alguna función que permita estimar el parecido o similitud entre el o los ejemplos a clasificar y cada uno de los patrones de las categorías [He et al., 2003].

El patrón más parecido al ejemplo será el que nos indica a qué clase se deberá asignar ese ejemplo. Para la construcción de los patrones de las categorías se utilizan ejemplos clasificados manualmente de antemano. El proceso de formar esos patrones de cada clase a partir de esos ejemplos preclasificados se conoce como entrenamiento o aprendizaje, y la colección de ejemplos preclasificados utilizada se conoce como colección de entrenamiento [Figuerola et al., 2004].

Para poder llevar a cabo la clasificación automática es preciso contar entonces con una serie de elementos previos. Lo más importante es contar con una forma consistente de representar cada ejemplo, de manera que esa representación pueda generarse de forma automática. En este sentido, el formalismo más utilizado es el del bien conocido modelo vectorial, formulado por Gerard Salton ya en los años setenta y ampliamente utilizado en la actualidad [Salton et al., 1975].

Básicamente, cada ejemplo del dominio puede ser representado mediante un vector de parámetros. Cada parámetro lleva asociado un coeficiente o peso que trata de expresar la importancia o grado de representatividad de ese parámetro en ese vector o ejemplo. Este peso puede calcularse en forma automática a partir de diversos elementos, basándose en las frecuencias de los parámetros, tanto en toda la colección de ejemplos de entrenamiento con que se trabaje, como para cada uno en particular. Un mismo parámetro puede ser más o menos significativo en un contexto que en otro, de manera que tendrá también diferente

(35)

____________________________________________________________________________________________________________

en que se inscriba la colección de ejemplos, algunos parámetros cobran más importancia que otros.

Así, parámetros que aparecen en casi todos los ejemplos serían poco aprovechables para lograr una buena clasificación o agrupamiento en clases a partir de ellos.

Por otra parte, el tamaño o número de parámetros o cantidad de ocurrencias de los parámetros en cada ejemplo también juega un papel importante. Estos elementos son los que forman parte en el cálculo de los pesos.

Aunque hay muchas ecuaciones propuestas para estimar dichos pesos, todas se basan de una u otra forma en estos elementos y pueden ser obtenidos de manera automática [Figuerola et al., 2004].

Independientemente del algoritmo de clasificación que se utilice, en algún momento será preciso estimar la cercanía o distancia, esto es, el parecido o similitud entre dos ejemplos.

Si se ha representado cada documento mediante un vector, se puede aplicar alguna de las muchas funciones de similitud disponibles para estimar la cercanía o parecido entre dos vectores. Existen multitud de funciones de similitud, propuestas ya incluso desde los años cincuenta

[Goodman y Kruskal, 1954].

En realidad, trabajos experimentales han mostrado que los resultados obtenibles son muy parecidos con cualquiera de dichas funciones, lo cual se explica porque en realidad todas usan los mismos elementos de información [Van Rijsbergen, 1975].

En ocasiones, la diferencia hay que buscarla en la mayor o menor facilidad de implementación. La más conocida y utilizada de éstas es la llamada función del coseno, en referencia al coseno de ángulo que forman dos vectores que se representan en un espacio multivectorial. Se basa sobre el producto entre ambos vectores, aplicando un factor de normalización para obviar los efectos de la disparidad en los tamaños (número de parámetros) de los vectores o ejemplos. Otras, entre las más conocidas, son los coeficientes de Dice y de Jaccard, así como el coeficiente de solapamiento [Korfhage, 1997;

Kowalski, 1998].

Hay una buena cantidad de algoritmos propuestos para este tipo de clasificación. Entre los más utilizados se encuentran: los algoritmos probabilísticos, el algoritmo de Rocchio, el algoritmo del vecino más próximo, con sus variantes, y los algoritmos basados sobre redes neuronales [Figuerola et al., 2004].

(36)

2.1.2. Algoritmos Probabilísticos

En esta sección se comienza analizando el algoritmo naive Bayes (Sección 2.1.2.1), a colación del cual son descriptos el algoritmo de Rocchio (Sección 2.1.2.2) y el algoritmo NNC, también conocido como KNN (Sección 2.1.2.3).

2.1.2.1. Algoritmo naive Bayes

Los algoritmos probabilísticos se basan sobre la teoría probabilística, en especial en el teorema de Bayes. Éste permite estimar la probabilidad de un suceso a partir de la probabilidad de que ocurra otro suceso, del cual depende. De hecho, el algoritmo de este tipo más conocido, y también el más simple, es el denominado naive Bayes, propuesto desde hace bastante tiempo [Maron, 1961; Van Rijsbergen, 1975].

Básicamente, se trata de estimar la probabilidad de que un ejemplo pertenezca a una categoría. Dicha pertenencia depende de la posesión de una serie de características, de cada una de las cuales se conoce la probabilidad de que aparezcan en los ejemplos que pertenecen a la categoría en cuestión. Naturalmente, dichas características son los parámetros que conforman los ejemplos, y tanto su probabilidad de aparición en general, como la probabilidad de que aparezcan en los ejemplos de una determinada categoría, pueden obtenerse a partir de los ejemplos de entrenamiento. Para ello se utilizan las frecuencias de aparición en la colección de entrenamiento. Pero cuando las colecciones de aprendizaje son pequeñas, pueden producirse errores al estimar dichas probabilidades. Por ejemplo, cuando sucede que un determinado término no aparece nunca en esa colección de aprendizaje, pero sí en cambio aparece en los ejemplos a categorizar. Esto implica la necesidad de aplicar técnicas de suavizado o smoothing, a fin de evitar distorsiones en la obtención de las probabilidades.

Una vez que dichas probabilidades fueron obtenidas de la colección de entrenamiento, se puede estimar la probabilidad de que un nuevo ejemplo dado, que contiene un conjunto determinado de parámetros, pertenezca a cada una de las categorías preexistentes. Es a la más probable, obviamente, a la cual será asignado.

(37)

____________________________________________________________________________________________________________

Como se ha ya mencionado, la implementación del naive Bayes es sencilla y rápida y sus resultados son bastante buenos, como atestiguan numerosos trabajos experimentales [Lewis y Ringuette, 1994; Moens y Dumortier, 1999; Yang y Liu, 1999;

Chakrabarti, 2003; Figuerola et al., 2004].

2.1.2.2. Algoritmo de Rocchio

Por su parte, el llamado algoritmo de Rocchio, es bien conocido y aplicado en la realimentación de consultas. En este contexto, la idea es simple: formulada y ejecutada una primera consulta, el usuario examina los datos devueltos y determina cuáles le resultan relevantes y cuáles no. Con estos datos, el sistema genera automáticamente una nueva consulta, basándose en esos datos que el usuario señaló como relevantes o no relevantes.

En este mismo contexto, el algoritmo de Rocchio – en forma recursiva – proporciona un sistema para construir el vector de la nueva consulta, recalculando los pesos de los parámetros de ésta y aplicando un coeficiente a los pesos de la consulta inicial, otro a los de los datos relevantes y otro distinto a los de los no relevantes. En el ámbito de la categorización, el mismo algoritmo de Rocchio proporciona un sistema para construir los patrones de cada una de las clases o categorías de datos. Así, partiendo de una colección de entrenamiento categorizada manualmente de antemano y aplicando el modelo vectorial, se pueden construir vectores patrón para cada una de las clases, considerando como ejemplos positivos los datos de entrenamiento de esa categoría, y como ejemplos negativos los de las demás categorías [Rocchio, 1971; Figuerola et al., 2004].

El algoritmo de Rocchio es entonces una forma de construir patrones de cada clase. Una vez que se tienen los patrones de cada una de las clases, el proceso de entrenamiento o aprendizaje está concluido. Para categorizar nuevos datos, simplemente se estima la similitud entre el nuevo dato y cada uno de los patrones. El que arroja un índice mayor indica la categoría a la que se debe asignar ese dato. El algoritmo de Rocchio ha sido utilizado en tareas de categorización con buenos resultados [Lewis et al., 1996;

Figuerola et al., 2004].

(38)

2.1.2.3. Algoritmo NNC o KNN

Uno de los algoritmos utilizados en la experimentación llevada a cabo en el presente trabajo (Sección 6.2, por ejemplo) es el algoritmo del vecino más próximo (Nearest Neighbour, NN, también conocido como NNC (Nearest Neighbour Cluster) o KNN (K-Nearest Neighbour)), que es uno de los más sencillos de implementar. La idea básica es como sigue: si se cuantifica la similitud entre el ejemplo a clasificar y cada uno de los ejemplos de entrenamiento, la mayor de esas similitudes medidas es la que estará indicando a qué clase o categoría se debe asignar el ejemplo que se desea clasificar. Desde un punto de vista más práctico, el algoritmo del vecino más próximo puede aplicarse con cualquier programa de recuperación de tipo best match. Lo más frecuente es utilizar alguno basado sobre el modelo vectorial, pero, en realidad, esto no es imprescindible. Lo necesario es que sea best match y no de comparación exacta, como podría ser el caso de los booleanos [Figuerola et al., 2004].

El algoritmo se basa en localizar el ejemplo más similar o parecido al que se desea clasificar. Para esto no hay más que utilizar ese ejemplo, como si fuera una consulta, sobre la colección de entrenamiento. Una vez localizado el ejemplo de entrenamiento más similar, dado que éste ha sido previamente categorizado en forma manual, se sabe a qué categoría pertenece y, por ende, a qué categoría se debe asignar el ejemplo que se está clasificando. Una de las variantes más conocidas de este algoritmo es la del K-Nearest Neighbour o KNN, que consiste en tomar los k ejemplos más parecidos, en lugar de tomar sólo el primero. Como en esos k ejemplos los habrá, presumiblemente, de varias categorías, se suman los coeficientes de cada uno de los ejemplos de cada una de ellas. La que más puntos acumule, será la candidata idónea [Figuerola et al., 2004].

El KNN une a su sencillez una eficacia notable. Se observa que el proceso de entrenamiento no es más que la indización o descripción automática de los ejemplos, y que tanto dicho entrenamiento como la propia categorización pueden llevarse a cabo con instrumentos bien conocidos y disponibles para cualquiera. Por otra parte, numerosas pruebas experimentales han mostrado su eficacia; éste es el caso de los experimentos publicados sobre diversas colecciones de ejemplos de prueba [Yang, 1999;

Figuerola et al., 2004; Molina López y García Herrero, 2006].

Referencias

Documento similar

[r]

Contenidos Saneamiento autónomo Conceptos generales Diseño de alcantarillado Dedicación: 7h 11m Dedicación: 7h 11m Dedicación: 7h 11m Grupo grande/Teoría: 2h

Dedicación: 7h 11m Dedicación: 21h 36m Grupo grande/Teoría: 3h Aprendizaje autónomo: 4h 11m Grupo grande/Teoría: 6h Grupo mediano/Prácticas: 3h Aprendizaje autónomo: 12h

Título del contenido 4: Ensayos geotécnicos y sondeos Dedicación: 45h Dedicación: 23h Grupo mediano/Prácticas: 10h Grupo pequeño/Laboratorio: 10h Aprendizaje autónomo: 25h

Universitat Politècnica de Catalunya 5 / 7 (CAST) Módulo 4 (CAST) Módulo 5 Dedicación: 24h Dedicación: 48h Grupo grande/Teoría: 6h Grupo mediano/Prácticas: 2h

Grupo grande/Teoría: 8h Grupo mediano/Prácticas: 0h Grupo pequeño/Laboratorio: 6h Actividades dirigidas: 0h. Aprendizaje

En consecuencia, la mayoría de los países exigen a los diseñadores el cumplimiento de por lo menos alguno de los criterios de auto limpieza, los cuales varían de

Using a dynamic programming operation model in a power system with monthly reservoirs, we have observed differences of less than 5% in expected operation costs, using a 1 week