Está en la página 1de 106

INSTITUTO POLITCNICO NACIONAL

CENTRO DE INVESTIGACIN EN COMPUTACIN

Clasificador Hbrido de Patrones


basado en la Lernmatrix de Steinbuch y
el Linear Associator de Anderson-Kohonen

que para obtener el grado de


MAESTRO EN CIENCIAS DE LA COMPUTACIN

presenta
RAL SANTIAGO MONTERO
Director de tesis: Dr. Cornelio Yez Mrquez
Codirector de tesis: Dr. Juan Luis Daz de Len Santiago

Mxico, D. F.

Junio de 2003

Agradecimientos

Al pueblo de Mxico
Al Instituto Politcnico Nacional
Al Centro de Investigacin en Computacin

Dedicatoria
A Lucia, Fernanda y Rodrigo.
A mi madre.
En memoria de mi padre.

ndice
Resumen .................................................................................................................................
Abstract...................................................................................................................................
Glosario ..................................................................................................................................
ndice de tablas y figuras .........................................................................................................
1

Introduccin................................................................................................................1
1.1. Objetivo.................................................................................................................1
1.2. Motivacin ............................................................................................................2
1.3. Planteamiento del problema ...................................................................................3
1.4. Contribuciones.......................................................................................................4
1.5. Organizacin de la tesis .........................................................................................4

Antecedentes ...............................................................................................................6
2.1 Memorias asociativas..............................................................................................6
2.1.1. Conceptos bsicos de memorias asociativas................................................6
2.1.2. Lernmatrix de Steinbuch ............................................................................9
2.1.3. Linear Associator de Anderson-Kohonen ................................................. 10
2.1.4. Memoria asociativa Hopfield.................................................................... 12
2.2 Reconocimiento de patrones ................................................................................. 16
2.2.1. Conceptos bsicos del reconocimiento de patrones ................................... 16
2.2.2. Clasificacin de patrones..........................................................................17
2.2.3. Clasificadores de mnima distancia........................................................... 19
2.2.4. Enfoque neuronal .....................................................................................23
2.2.5. Enfoque probabilstico-estadstico ............................................................27
2.2.6. Enfoque sintctico-estructural .................................................................. 29
2.2.7. Gnesis del enfoque asociativo para clasificacin de patrones .................. 35

Estado del arte .......................................................................................................... 37

Herramientas matemticas ...................................................................................... 39


4.1. Sumatorias........................................................................................................... 39
4.2. Operador mximo ................................................................................................ 40
4.3. Operaciones matriciales ....................................................................................... 40
4.4. Vectores n-dimensionales ....................................................................................41

vi
4.5. Producto interno y producto externo de vectores .................................................. 42
4.5.1. Producto interno....................................................................................... 42
4.5.2. Producto externo ...................................................................................... 43
4.5.3. Producto de una matriz y un vector........................................................... 43
4.6. Traslacin de ejes ................................................................................................43
5

Desarrollo.................................................................................................................. 47
5.1. El CHA................................................................................................................ 48
5.1.1. Algoritmo del CHA.................................................................................. 48
5.2. El CHAT ............................................................................................................. 54
5.2.1. Interpretacin terica del CHAT............................................................... 55
5.2.1. Algoritmo del CHAT................................................................................ 55

Disquisiciones experimentales.................................................................................. 61
6.1. Bases de datos...................................................................................................... 61
6.1.1. Iris plants database ................................................................................... 62
6.1.2. Wine recognition data .............................................................................. 62
6.1.3. Contaceptive method choice..................................................................... 63
6.1.4. Credit Approval........................................................................................64
6.2. Metodologa.........................................................................................................64
6.3. Estudio comparativo entre el CHAT y otros algoritmos de clasificacin...............65
6.3.1. Iris plants database ...................................................................................65
6.3.2. Contraceptive method choice.................................................................... 69
6.3.3. Credit Approval........................................................................................ 74
6.3.4. Wine recognition data .............................................................................. 77

Conclusiones y trabajo futuro.................................................................................. 81


7.1. Conclusiones ....................................................................................................... 81
7.2. Trabajo futuro...................................................................................................... 82

Apndice A: Simbologa.................................................................................................... 84
Apndice B: CHAT 1.0., manual de uso ........................................................................... 86
Apndice C: KNN 1.0., manual de uso ............................................................................. 91
Bibliografa........................................................................................................................ 95

Resumen
En este trabajo de tesis se muestra la creacin de un nuevo algoritmo para la
clasificacin de patrones en el dominio real, eficiente y de baja complejidad
computacional, denominado Clasificador Hbrido Asociativo con Traslacin (CHAT).
Con el CHAT se establece un nuevo enfoque en la clasificacin de patrones, el enfoque
asociativo.
El CHAT est basado en la combinacin ingeniosa de dos modelos de memorias
asociativas, la Lernmatrix y el Linear Associator. El CHAT combina los principios de
lgebra de matrices que utiliza el Linear Associator y el criterio de clasificacin de la
Lernmatrix; superando ampliamente las limitaciones que presentan dichas memorias
asociativas en el que este nuevo clasificador se basa.
En el presente trabajo de tesis se prueba el CHAT con diferentes bases de datos
publicas. Los resultados experimentales muestran un alto rendimiento en la clasificacin
de los patrones contenidos en estas bases de datos.
El CHAT puede rivalizar con los clasificadores ms utilizados en las tareas de
discriminacin de patrones; adems, cuenta con caractersticas deseables en un
clasificador, como son: eficacia, bajo costo computacional y baja dependencia de
factores heursticos. Lo anterior hace del CHAT una herramienta til para el rea de
Reconocimiento de Patrones, con posibilidades reales de convertirse en un factor
importante para el desarrollo de esta rea en el mbito de la investigacin nacional.

viii

Abstract

The creation of a new algorithm for the classification of patterns in the real domain is
presented in this thesis, efficient an with low computational complexity and it is called
Associative Hybrid Classifier with translation (CHAT). With the CHAT algorithm, a new
approach for the classification of patterns its creates, the associative approach.

The CHAT algorithm is the combination of operations from two models of associative
memories; the Lernmatrix and the Linear Associator. The CHAT algorithm combine matrix
algebra of the Linear Associator in the learning phase and the criterion of the Lernmatrix in
the recovering phase, overcoming some of the restriction in both models.

In this thesis, the CHAT is tested with different public databases. Experimental results that
the algorithm has high performance in the process of classification of patterns within this
public databases.

The CHAT algorithm can be compared with the most classifiers used on patterns
discrimination. Also, the CHAT algorithm has some ideal characteristics as a classifier:
efficient, with low computational complexity and with low dependence of the heuristics
factors. Thus, the CHAT algorithm is a new classifier as well as useful tool in the area of
Pattern Recognition, with real possibilities to become an important factor to develop in this
area in the national and international research.

Glosario.

Clase: son los grupos o conjuntos de patrones que representan un mismo tipo de concepto
(Marqus de S, 2001; Schrmann, 1996).
Patrones abstractos: son representaciones de conceptos.
Patrones concretos: son representaciones de objetos con una manifestacin fsica.
Patrones: son representaciones abstractas de un objeto en el mundo fsico . Los cuales
exhiben cierta regularidad en una coleccin de observaciones conectadas en el
tiempo, en el espacio o en ambas, y que pueden servir como modelo (Schrmann,
1996).
Rasgos o caractersticas: primitivas o atributos obtenidas de los objetos a travs de una
serie de observaciones, las cuales son susceptibles de ser trasladadas a una medida o
cualidad (Schrmann, 1996).
Reconocimiento de patrones: Es la rama cientfica se encarga de emular la habilidad
humana de reconocer objetos, mediante tcnicas y mtodos que sean implementados
en mquinas desarrolladas y construidas para este fin (Duda, Hart & Stork 2001;
Marqus de S, 2001).
Similaridad : concepto que est presente y forma parte esencial del RP. Se reconoce que
dos objetos se parecen o son similares, por que tienen atributos que les son comunes
y cuyas medidas o cualidades relativas se ajustan a un grado de variacin. Por lo
regular este concepto se aplica, no entre un conjunto de objetos, sino entre un objeto
y su prototipo.
Vector de rasgos o vector de caractersticas: Es la organizacin de rasgos en un vector
columna; que podrn contener valores cualitativos, cuantitativos o ambos (Duda,
Hart & Stork 2001; Kuncheva, 2002; Schrmann, 1996).

ndice de tablas y figuras


Fig. 2.1

Tipos de caractersticas ...................................................................................... 16

Fig. 2.2

Mapeo en una representacin abstracta de generacin / clasificacin de patrones.17

Fig. 2.3

Modelo cannico de un clasificador. ..................................................................18

Fig. 2.4

Representacin del perceptron ...........................................................................24

Fig. 2.5

Asignacin de smbolos .....................................................................................35

Fig. 2.6

Autmata resultante ...........................................................................................35

Fig. 4.1

Grfica de la ecuacin y=3x-2...........................................................................44

Fig. 4.2

Grfica de (x-2)+(y+2)=25 ..............................................................................44

Fig. 4.3

Grfica de x+y=25...........................................................................................45

Fig. 4.4

Grfica de los puntos X y Z................................................................................ 45

Fig. 4.5

Representacin de X' y Z'...................................................................................46

Tabla 6.1 Descripcin de rasgos (Iris plants) ..................................................................... 62


Tabla 6.2 Descripcin de rasgos (Wine recognition data)................................................... 63
Tabla 6.3 Descripcin de rasgos (Cmc)..............................................................................64
Fig. 6.1

Rendimiento del 1-NN, base de datos Iris plants ................................................ 66

Fig. 6.2

Rendimiento del 3-NN base de datos Iris plants. ................................................ 67

Fig. 6.3

Rendimiento del clasificador C-means, base de datos Iris plants......................... 67

Fig. 6.4

Rendimiento del clasificador C-means difuso, base de datos Iris plants .............. 68

Fig. 6.5

Rendimiento obtenido por el C-means difuso usando funciones de disimilaridad68

Fig. 6.6

Rendimiento del CHAT con la base de datos Iris plants ..................................... 69

Tabla 6.4 Comparacin del rendimiento de los clasificadores (Iris plants) ......................... 69
Fig. 6.7

Rendimiento del 1-NN con la base de datos Cmc ............................................... 70

Fig. 6.8

Rendimiento del 3-NN con la base de datos Cmc. .............................................. 71

Fig. 6.9

Rendimiento del C-means con la base de datos Cmc ..........................................71

Fig. 6.10 Rendimiento del C-means difuso con la base de datos Cmc................................ 72
Fig. 6.11 Rendimiento del C-means difuso usando funciones de disimilaridad.................. 72
Fig. 6.12 Rendimiento del CHAT con la base de datos Cmc ............................................. 73

Tabla 6.5 Comparacin del rendimiento de los clasificadores (Cmc) ................................. 73


Fig. 6.13 Rendimiento del 1-NN con la base de datos Credit............................................. 74
Fig. 6.14 Rendimiento del 3-NN con la base de datos Credit............................................. 75
Fig. 6.15 Rendimiento del C-means con la base de datos Credit........................................ 75
Fig. 6.16 Rendimiento del C-means difuso con la base de datos Credit ............................. 76
Fig. 6.17 Rendimiento del C-means difuso usando funciones de disimilaridad.................. 76
Fig. 6.18 Rendimiento del CHAT con la base de datos Credit ...........................................77
Tabla 6.6 Comparacin del rendimiento de los clasificadores (Credit) ...............................77
Fig. 6.19 Rendimiento del 1-NN con la base de datos Wine .............................................. 78
Fig. 6.20 Rendimiento del 3-NN con la base de datos Wine .............................................. 79
Fig. 6.21 Rendimiento del C-means difuso usando funciones de disimilaridad.................. 79
Fig. 6.22 Rendimiento del CHAT con la base de datos Wine ............................................80
Tabla 6.7 Comparacin del rendimiento de los clasificadores (Wine) ................................ 80

Captulo 1

Introduccin
En este trabajo de tesis se muestra que las memorias asociativas son tiles en las
tareas de clasificacin de patrones; adems, a partir del resultado principal de la tesis,
que consiste en la creacin de un nuevo algoritmo para clasificar patrones, el CHAT
(Clasificador Hbrido Asociativo con Traslacin), se establece el nacimiento del
nuevo enfoque asociativo para clasificacn de patrones, el cual promete convertirse en
un campo fructfero en esta rea. La base inicial de este trabajo de tesis se sustenta en
dos modelos pioneros de memorias asociativas: la Lernmatrix y el Linear Associator.
El CHAT puede rivalizar con los clasificadores ms utilizados en las tareas de
discriminacin de patrones; adems, cuenta con caractersticas deseables en un clasificador, como son: eficacia, bajo costo computacional y no dependencia determinante
de factores heursticos. Lo anterior hace del CHAT una herramienta til para el rea
de Reconocimiento de Patrones, con posibilidades reales de convertirse en un factor
importante para el desarrollo de esta rea en el mbito de la investigacin nacional e
internacional.
En la seccin 1.1 de este captulo introductorio se plasma el objetivo de la tesis,
y en las secciones 1.2 y 1.3, se incluyen la motivacin que dio lugar a este trabajo de
tesis y el planteamiento del problema, respectivamente. Despus, en la seccin 1.4 se
enuncian las contribuciones originales; para finalizar, en la seccin 1.5, se describe la
organizacin del trabajo escrito.

1.1.

Objetivo

Crear un nuevo algoritmo para la clasificacin de patrones en el dominio real,


eficiente y de baja complejidad computacional, basado en la combinacin de modelos
conocidos de memorias asociativas. Agregar, con este algoritmo, un nuevo enfoque
en la clasificacin de patrones: el asociativo. Mostrar la utilidad prctica del enfoque
asociativo, a travs de la aplicacin del nuevo algoritmo en procesos de clasificacin en
diferentes bases de datos pblicas y hacer un estudio experimental comparativo entre
el nuevo algoritmo y otros algoritmos ya establecidos en la clasificacin de patrones,
basados en otros enfoques.
1

1. Introduccin

1.2.

Motivacin

El reconocer objetos es una tarea cotidiana y automtica que realiza la especie


humana. Esta habilidad que ha desarrollado el ser humano le ha servido, en su evolucin, para identificar su entorno en tareas que van desde identificar alimentos hasta
reconocer virus; esta habilidad es fundamental en la vida y desarrollo del hombre.
Existe una infinidad de problemas que involucran el reconocimiento de objetos.
Desafortunadamente, las capacidades del humano estn limitadas cuando su habilidad
de reconocer objetos se emplea en tareas repetitivas o que requieren de un alto grado
de especializacin para tratar dicho problema.
Desde los inicios de la computacin se ha buscado simular, por medio de mquinas,
la habilidad de reconocer objetos (Marqus de S, 2001; Duda, Hart & Strork, 2001).
A lo largo del tiempo, dentro de la novel ciencia de la computacin, se ha desarrollado
un rea que aborda esta tarea, el Reconocimiento de Patrones (RP).
Durante varias dcadas, han aparecido diversos enfoques o metodologas, que son
susceptibles de implementarse en mquinas, para simular la habilidad humana de reconocer objetos. Se han creado diferentes algoritmos, denominados clasificadores, que
resuelven el problema de forma parcial; algunos con mayor xito que otros. Estos clasificadores estn basados en una variedad de enfoques, desde los sustentados por slidas
teoras matemticas hasta los basados fuertemente en tcnicas heursticas (Marqus
de S, 2001; Duda, Hart & Strork, 2001; Shalko, 1992).
Una metodologa en el RP, conocida desde hace varias dcadas, es la denominada como memorias asociativas; tiene como propsito fundamental recuperar correctamente patrones completos a partir de patrones de entrada, los cuales pueden estar
alterados con ruido (Amari, 1972; Anderson & Rosenfeld, 1990; Daz-de-Len & Ynez,
1999; Hopfield, 1982; Kohonen, 1972; Ritter, Daz-de-Len & Susser, 1999).
Este enfoque tiene sus bases en el concepto de memoria para almacenar y recuperar
informacin, y est sustentado por teoras matemticas establecidas, como el lgebra
lineal, la morfologia matemtica o las lgebras min-max.
Hasta ahora, las memorias asociativas se han utilizado en reconocimiento de patrones, y algunos autores reconocidos (Duda, Hart & Stork, 2001) afirman lo siguiente
respecto de la clasificacin de patrones: In acts of associative memory, the system
takes in a pattern and emits another pattern which is representative of a general group
of patterns. It thus reduces the information somewhat, but rarely to the extent that
pattern classification does.
Lo anterior ha motivado que este trabajo de tesis tenga como propsito fundamental crear, disear y aplicar algoritmos, basados en modelos conocidos de memorias
asociativas, que realicen tareas de clasificacin de patrones, y muestren que es posible
obtener clasificadores eficientes, con la combinacin ingeniosa de mtodos matemticos,
especficamente geomtricos, con los modelos matemticos subyacentes en las memorias asociativas.

1. Introduccin

1.3.

Planteamiento del problema

Uno de los problemas ms apremiantes a resolver en la tarea de clasificacin de


patrones, dentro del rea de reconocimiento de patrones, es lograr la creacin y diseo
de una metodologa que tenga un bajo costo computacional, un grado mnimo de
heurstica, y que sea factible de implementarse en computadoras. Cada uno de los
enfoques hasta ahora existentes, tienen en un grado mayor o menor la ausencia de
alguna o algunas de las caractersticas mencionadas, hecho que limita su eficacia o
eficiencia.
Actualmente los investigadores a nivel mundial tratan, mediante diferentes mtodos, de optimizar los clasificadores ya conocidos, combinar los difentes enfoques o
los diferentes clasificadores, intentando reducir las limitaciones de cada algoritmo o
combinacin particular.
En este trabajo de tesis se atacar el problema de clasificar patrones en el dominio
real, a travs de la creacin y diseo de un algoritmo que combine, de manera eficaz y
eficiente, algunos mtodos matemticos, especficamente geomtricos, con los modelos
matemticos que sustentan el diseo y operacin de algunos modelos de memorias
asociativas.
Todas las memorias asociativas constan de dos fases: la fase de aprendizaje y la
fase de recuperacin. Existen diversos modelos de memorias asociativas y cada una
implementa estas fases de manera diferente (Hassoun, 1993; Yez-Mrquez, 2002).
En el ao de 1961, un alemn llamado Karl Steinbuch ide y desarroll una memoria asociativa denominada Lernmatrix (Steinbuch, 1961; Steinbuch & Frank, 1961);
esta memoria ha estado olvidada por la comunidad cientfica y no se han realizado investigaciones suficientes sobre ella hasta la fecha. La Lernmatrix volvi a formar parte
del inters cientfico cuando se incluy dentro del estado del arte de la tesis donde se
desarrollaron las memorias alfa-beta (Ynez-Mrquez, 2002), y se public un informe
tcnico (Ynez-Mrquez & Daz de Len, 2001a), con lo que se revive el inters sobre
esta antigua memoria. Por otro lado, el Linear Associator (Anderson & Rosenfeld,
1990; Kohonen, 1989) de manera simultnea e independiente fue desarrollado por el
neurofisilogo James A. Anderson y por el ingeniero finlands Teuvo Kohonen.
El trabajo relevante de esta tesis es combinar de cierta manera estos dos modelos
de memorias asociativas, para crear un algoritmo de memoria asociativa que supera
ampliamente a la Lernmatrix y al Linear Associator, en la tarea de clasificacin de
patrones en el dominio real.
Dentro de este trabajo, se someter el nuevo clasificador a distintas bases de
datos pblicas que sirven como parmetro para probar clasificadores (UCI Machine
Learning Data Bases Repository, del ICS, de la universidad de California, Irvine:
http://ftp.ics.uci.edu/pub/machine-learning-databases).

1. Introduccin

1.4.

Contribuciones
Una nueva memoria asociativa.
Un nuevo algoritmo para la clasificacin de patrones.
Un nuevo enfoque en el reconocimiento de patrones en tareas de clasificacin.

1.5.

Organizacin de la tesis

Las secciones 1.1., 1.2., 1.3 y 1.4 que ya se han presentado, describen el objetivo,
la motivacin, el planteamiento del problema y las contribuciones. De estas cuatro
secciones, resalta la seccin 1.4., donde se enlistan las aportaciones originales que
ofrece el presente trabajo de tesis.
A continuacin se explica la organizacin del resto del documento de tesis.
El captulo 2 da un panorama de las bases en que se fundamenta la presente tesis
y consta de dos secciones.
La primera seccin est dedicada al rea de memorias asociativas, describiendo los
modelos de memorias asociativas en las que se basa el presente trabajo de tesis; en
la segunda seccin se da un panorama del reconocimiento de patrones, se mencionan
conceptos y definiciones fundamentales para la comprensin del reconocimiento de
patrones, as como de los enfoques ms importantes que atacan la tarea de clasificacin
de patrones.
Dentro del captulo 3, se hace una recopilacin de los trabajos ms recientes relacionados con el tema de esta tesis, tanto en el rea de memorias asociativas como en
el de reconocimiento de patrones.
El captulo 4 incluye las herramientas matemticas que se utilizan dentro del trabajo de tesis. Las matrices, vectores y operaciones entre ellos son descritos en este
captulo, y tambin se menciona el concepto de traslacin de ejes y los operadores
sigma y mximo, junto con ejemplos que los ilustran.
El captulo 5 es la parte medular del trabajo de tesis. Es all donde se lleva a
cabo el desarrollo del nuevo Clasificador Hbrido Asociativo con Traslacin
(CHAT), el cual marca el inicio de un nuevo enfoque en la clasificacin de patrones,
el enfoque asociativo. Este captulo describe el desarrollo del CHAT en dos etapas; la
primera presenta cmo la combinacin ingeniosa de fases de dos memorias asociativas
da como resultado un clasificador, el Clasificador Hbrido Asociativo (CHA), el
cual manifiesta limitaciones; en la segunda etapa se muestra cmo estas limitaciones
son superadas al incluir en el CHA una traslacin de ejes. Esto da por resultado un
clasificador eficaz y eficiente, cualidades buscadas por la comunidad cientfica para un
algoritmo de clasificacin de patrones.

1. Introduccin

En el captulo 6 se exhibe una serie de experimentos que muestran el rendimiento


del nuevo algoritmo de clasificacin, el CHAT. Este rendimiento se compara con los
obtenidos por otros algoritmos de clasificacin, basados en diferentes enfoques. La
comparacin se realiza con clasificadores muy estudiados y probados, tales son: el KNN
y el C-means. Estos clasificadores, junto con variantes de los mismos, son probados
con diferentes bases de datos pblicas, diseadas para probar clasificadores.
El captulo 7 consta de dos secciones; la primera seccin contiene las conclusiones
y la segunda, el trabajo futuro, en donde se enumeran diferentes aspectos no cubiertos
por el actual trabajo de tesis.
El documento de tesis finaliza con tres Apndices: la Simbologa empleada en todo
el trabajo constituye el Apndice A; un Manual, donde se describe el uso del programa
que implementa el nuevo Clasificador Hbrido Asociativo con Traslacin, constituye el
Apndice B; y otro Manual, donde se explica el uso del programa donde se implement
el clasificador KNN para los fines de comparacin con el CHAT, forma el Apndice C.
Para concluir, se presentan las referencias bibliogrficas.

Captulo 2

Antecedentes
Este captulo consta de dos secciones. En la seccin 2.1 se describen los conceptos
bsicos sobre memorias asociativas y los dos modelos en que se basa el clasificador
presentado en este trabajo de tesis; en la seccin 2.2, por otro lado, se describe el
rea denominada reconocimiento de patrones, y se explica brevemente cada uno de
los diferentes enfoques, para finalmente mencionar el nuevo enfoque asociativo de reconocimiento de patrones, que se inicia precisamente con esta tesis.

2.1.

Memorias asociativas

En la primera parte de esta seccin se presentan los conceptos bsicos relacionados


con el diseo y funcionamiento de las memorias asociativas. Las dos partes restantes
se enfocan a los dos modelos en que se basa esta tesis, la Lernmatrix y el Linear
Associator.

2.1.1.

Conceptos bsicos de memorias asociativas

Por su naturaleza, el problema que representa el funcionamiento de las memorias


asociativas se divide en dos fases claramente distinguibles:
1. Fase de aprendizaje (generacin de la memoria asociativa)
2. Fase de recuperaci
on (operacin de la memoria asociativa)
Para estar en condiciones de realizar el planteamiento del problema, es preciso previamente proporcionar los conceptos bsicos, las notaciones y la nomenclatura relacionados con el diseo y funcionamiento de las memorias asociativas.
Los conceptos bsicos son conocidos desde hace ms de tres dcadas, y se presentan
como originalmente fueron establecidos en las referencias (Kohonen, 1972, 1977, 1987,
1989; Anderson, 1972; Anderson & Bower, 1977; Anderson & Rosenfeld, 1990; Hassoun,
1993, 1995, 1997).

2. Antecedentes

El propsito fundamental de una memoria asociativa es recuperar patrones completos a partir de patrones de entrada que pueden estar alterados con ruido aditivo,
sustractivo o combinado. De acuerdo con esta afirmacin, una memoria asociativa M
puede formularse como un sistema de entrada y salida, idea que se esquematiza a
continuacin:
x M

El patr
on de entrada est representado por un vector columna denotado por x y
el patr
on de salida, por el vector columna denotado por y.
Cada uno de los patrones de entrada forma una asociaci
on con el correspondiente patrn de salida. La notacin para una asociacin es similar a la de una pareja
ordenada; por ejemplo, los patrones x y y del esquema forman la asociacin (x, y).
Para facilitar la manipulacin algebraica de los patrones de entrada y de salida, los
denotaremos con las mismas letras negrillas, x y y, agregndoles nmeros naturales
como superndices para efectos de discriminacin simblica. Por ejemplo, a un patrn
de entrada x1 le corresponder un patrn de salida y1 , y ambos formarn la asociacin
(x1 , y1 ); del mismo modo, para un nmero entero positivo k especfico, la asociacin
correspondiente ser (xk , yk ).
La memoria asociativa M se representa mediante una matriz cuya componente
ij-sima es mij (Palm, Schwenker, Sommer & Strey, 1997); la matriz M se genera a
partir de un conjunto finito de asociaciones conocidas de antemano: este es el conjunto
fundamental de asociaciones, o simplemente conjunto f undamental. Se denota por
p la cardinalidad del conjunto fundamental (p es un nmero entero positivo).
Si es un ndice, el conjunto fundamental se representa de la siguiente manera:
{(x , y ) | = 1, 2, ..., p}
A los patrones que conforman las asociaciones del conjunto fundamental, se les
llama patrones fundamentales.
La naturaleza del conjunto fundamental proporciona un importante criterio para
clasificar las memorias asociativas. Si se cumple que x = y {1, 2, ..., p}, se
dice que la memoria es autoasociativa; de otro modo, la memoria es heteroasociativa
(Kohonen,1972). Para una memoria heteroasociativa se puede afirmar lo siguiente:
{1, 2, ..., p} para el que se cumple que x 6= y .
Es posible que los patrones fundamentales sean alterados con diferentes tipos de
ruido. Para diferenciar un patrn alterado del correspondiente patrn fundamental,
ek es una versin alterada del
usaremos la tilde en la parte superior; as, el patrn x
k
ek se evidenciar en el
patrn fundamental x , y el tipo de alteracin que representa x
contexto especfico donde se use.

e como entrada (
Si al presentarle a la memoria M un patrn alterado x
{1, 2, ..., p}), M responde con el correspondiente patrn fundamental de salida y ,

2. Antecedentes

se dice que la recuperacin es perfecta. Una memoria perfecta es aquella que realiza
recuperaciones perfectas para todos los patrones fundamentales.
Naturalmente, tambin los patrones de salida pueden ser alterados; por ejemplo,
e3 representa una versin alterada de y3 .
si y3 es un patrn fundamental, entonces y
Abundemos en la caracterizacin de los patrones de entrada, de salida y de la
matriz M.
Primeramente se requiere la especificacin de dos conjuntos a los que llamaremos
arbitrariamente A y B. La importancia de estos dos conjuntos radica en que las componenetes de los vectores columna que representan a los patrones, tanto de entrada
como de salida, sern elementos del conjunto A, y las entradas de la matriz M sern
elementos del conjunto B.
No hay requisitos previos ni limitaciones respecto de la eleccin de estos dos conjuntos, por lo que no necesariamente deben ser diferentes o poseer caractersticas especiales. Esto significa que el nmero de posibilidades para escoger A y B es infinito;
a continuacin se ejemplifican algunas de ellas:
A = B = R, donde R es el smbolo que representa al conjunto de los nmeros
reales.
A = R y B = {0, 1}.
A = B = {0, 1}.
A = B = {1, 1}.
A = R y B = {1, 1}.
A = Z y B = {1, 1}, donde Z es el conjunto de los nmeros enteros.
AZyBZ
Ya que se tienen especificados los conjuntos A y B, es necesario establecer las
dimensiones de los patrones, tanto de entrada como de salida.
Sean m, n nmeros enteros positivos. Se denota por n la dimensin de los patrones
de entrada, y por m la dimensin de los patrones de salida; claramente, nada impide
que los valores de m y de n sean iguales. An ms, uno de los requisitos que debe
cumplir una memoria autoasociativa es que la dimensin de los patrones de entrada
sea igual a la dimensin de los patrones de salida; por otro lado, si en una memoria
sucede que m 6= n, es evidente que la memoria debe ser heteroasociativa.
Cada vector columna que representa un patrn de entrada tiene n componentes
cuyos valores pertenecen al conjunto A, y cada vector columna que representa un
patrn de salida posee m componentes cuyos valores pertenecen al conjunto A. Es
decir:
x An y y Am {1, 2, ..., p}
La j-sima componente de un vector columna se indica con la misma letra del vector, pero sin negrilla, colocando a j como subndice (j {1, 2, ..., n} o j {1, 2, ..., m}
segn corresponda). La j-sima componente de un vector columna x se representa
por

2. Antecedentes

xj
Ejemplos:

La
La
La
La

i-sima componente del vector columna x se representa por xi


tercera componente del vector columna x5 se representa por x53
j-sima componente del vector columna y se representa por yj
l-sima componente del vector columna y se representa por yl

Al usar el superndice t para indicar el transpuesto de un vector, se obtienen las


siguientes expresiones para los vectores columna que representan a los patrones fundamentales de entrada y de salida, respectivamente:

x1
x
2
t
x = (x1 , x2 , ..., xn ) = . An
..
xn

t
y = (y1 , y2 , ..., ym
) =

y1
y2
..
.

ym

Am

Con lo anterior, es ya posible presentar el planteamiento del problema general de


las memorias asociativas:
1. Fase de aprendizaje. Encontrar los operadores adecuados y una manera de generar una matriz
del conjunto fundamental
2 M
que almacene

las p asociaciones
1
1
2
p
p

n
x , y , x , y , ..., (x , y ) , donde x A y y Am {1, 2, ..., p}.
Si {1, 2, ..., p} tal que x 6= y , la memoria ser heteroasociativa; si m = n
y x = y {1, 2, ..., p}, la memoria ser autoasociativa.
2. Fase de recuperacin. Hallar los operadores adecuados y las condiciones suficientes
para obtener el patrn fundamental de salida y , cuando se opera la memoria M
con el patrn fundamental de entrada x ; lo anterior para todos los elementos del
conjunto fundamental y para ambos modos: autoasociativo y heteroasociativo.
Exhibir y caracterizar, adems, el ruido que puede soportar la memoria en el
e , para entregar una salida perfecta y .
patrn de entrada x

2.1.2.

Lernmatrix de Steinbuch

Karl Steinbuch fue uno de los primeros investigadores en desarrollar un mtodo


para codificar informacin en arreglos cuadriculados conocidos como crossbar (Simpson, 1990). La importancia de la Lernmatrix (Steinbuch, 1961; Steinbuch & Frank,
1961) se evidencia en una afirmacin que hace Kohonen en su artculo de 1972 (Kohonen, 1972), donde apunta que las matrices de correlacin, base fundamental de su
innovador trabajo, vinieron a sustituir a la Lernmatrix de Steinbuch.

2. Antecedentes

10

La Lernmatrix es una memoria heteroasociativa que puede funcionar como un


clasificador de patrones binarios si se escogen adecuadamente los patrones de salida;
es un sistema de entrada y salida que al operar acepta como entrada un patrn binario
x An , A = {0, 1} y produce como salida la clase y Ap que le corresponde
(de entre p clases diferentes), codificada sta con un mtodo simple, a saber: para
representar la clase k {1, 2, ..., p}, se asignan a las componentes del vector de salida
y los siguientes valores: yk = 1, y yj = 0 para j = 1, 2..., k 1, k + 1, ...p.
El siguiente esquema (crossbar ) ilustra la fase de aprendizaje para la Lernmatrix de
Steinbuch, al incorporar la pareja de patrones de entrenamiento (x , y ) An Ap .

y1
y2
..
.

x1
m11
m21
..
.

x2
m12
m22
..
.

xj
m1j
m2j
..
.

xn
m1n
m2n
..
.

yi
..
.

mi1
..
.

mi2
..
.

mij
..
.

min
..
.

yp

mp1

mp2

mpj

mpn

(2.1)

Cada uno de los componentes mij de M, la Lernmatrix de Steinbuch, tiene valor


cero al inicio, y se actualiza de acuerdo con la regla mij + mij , donde:

+ si xi = 1 = yj
si xi = 0 y yj = 1
(2.2)
mij =

0 en otro caso
siendo una constante positiva escogida previamente.

La fase de recuperacin consiste en encontrar la clase a la que pertenece un vector


de entrada x An dado. Encontrar la clase significa obtener las coordenadas del
vector y Ap que le corresponde al patrn x ; en virtud del mtodo de construccin
de los vectores y la clase debera obtenerse sin ambigedad.
La i-sima coordenada yWi del vector de clase y Ap se obtiene como lo indica la
siguiente expresin, donde es el operador mximo:
hP
i
(
Pn
W
n
= p

1
si
m
.x
m
.x
j=1 ij j
j=1 hj j
h=1
(2.3)
yi =
0 en otro caso

2.1.3.

Linear Associator de Anderson-Kohonen

Respecto a la creacin de este modelo de memoria asociativa, es pertinente mencionar un hecho curioso, que se ha presentado en personajes dedicados a otras ramas

2. Antecedentes

11

de la ciencia: James A. Anderson y Teuvo Kohonen obtuvieron resultados asombrosamente similares a pesar de que trabajaron independientemente y sin tener noticia uno
del otro, hasta tiempo despus de que aparecieron los artculos; adems, estos autores
tienen formaciones profesionales totalmente diferentes: Anderson es neurofisilogo y
Kohonen es fsico e ingeniero elctrico (Anderson & Rosenfeld, 1990; Kohonen, 1989).
Para presentar el Linear Associator, consideremos de nuevo el conjunto fundamental {(x , y ) | = 1, 2, ..., p} con:

A = {0, 1},

x =

x1
x2
..
.
xn

An

y =

y1
y2
..
.

ym

Am

La fase de aprendizaje consiste de dos etapas:


1. Para cada una de las p asociaciones (x , y ) se encuentra la matriz y (x )t de
dimensiones m n

y1
y
2
(2.4)
y (x )t = . (x1 , x2 , ..., xn )
..

ym

y1 x1 y1 x2 y1 xj y1 xn
y2 x1 y2 x2 y2 xj y2 xn

..
..
..
..

.
.
.
.

(2.5)
y (x )t =
y x y x y x y xn
i 2
i j
i
i 1

.
..
..
..
..
.
.
.




ym x1 ym x2 ym xj ym xn

2. Se suman la p matrices para obtener la memoria


M=

p
X

=1

y (x )t = [mij ]mn

(2.6)

de manera que la ij-sima componente de la memoria M se expresa as:


mij =

p
X

yi xj

(2.7)

=1

La fase de recuperacin consiste en presentarle a la memoria un patrn de entrada


x , donde {1, 2, ..., p} y realizar la operacin

p
X
M x =
y (x )t x
(2.8)
=1

2. Antecedentes

12

El Linear Associator tiene una fuerte restriccin: los vectores de entrada x deben
ser ortonormales. Esta condicin de ortonormalidad se puede resumir en la siguiente
expresin:

1 si =
(2.9)
(x )t x = =

0 si 6=
donde es la conocida delta de Kronecker (Moore, 1968).

Si se cumple la condicin que se manifiesta en la expresin 2.9, entonces la recuperacin es perfecta para todo el conjunto fundamental; es decir:
M x = y

(2.10)

Sin embargo, si los vectores de entrada no son ortonormales, suceden dos cosas:

1. el factor (x )t x no es 1

P
2. el trmino 6= y (x )t x no es 0

Este ltimo trmino, llamado cross-talk, representa el ruido producido por la interaccin entre los patrones de entrada, y tiene como consecuencia inmediata que la
recuperacin no es perfecta, excepto si el nmero de patrones almacenados es pequeo
comparado con la dimensin n de los vectores de entrada. Algunos investigadores afirman que ese nmero pequeo de patrones debe estar entre 0,1n y 0,2n (Anderson &
Rosenfeld, 1990; Hassoun, 1995; Ritter, Sussner & Daz-de-Len, 1998).

2.2.

Reconocimiento de patrones

2.2.1.

Conceptos bsicos del reconocimiento de patrones

En RP cada rasgo o caracterstica de un objeto se le asigna una variable, x1 , x2 , ..., xn .


Estas variables son organizadas como un vector columna, que podrn contener valores
cualitativos, cuantitativos o ambos (Duda, Hart & Stork 2001; Kuncheva, 2002; Schrmann, 1996), llamado vector de rasgos o vector de caractersticas; para los fines de esta
tesis, las variables slo contendrn valores reales.

Fig. 2.1. : Tipos de caracterstisticas

2. Antecedentes

13

El vector de rasgos ser la representacin formal de un patrn, tal que:



x1
x2

x = .
..
xn

es un patrn y podr ser representado como un punto en espacio Rn . El espacio


real Rn es llamado espacio de caractersticas.
Nota 2.1 Generalmente, las estructuras de datos que son utilizadas en los sistemas
de reconocimiento de patrones son de dos tipos: vectores y datos relacionados (cadenas
o palabras) (Pal, 1999). En este trabajo de tesis solo trataremos con vectores.

Definicin 2.2 Sea un conjunto de clases , tal que a se le denomina espacio


de interpretacin:

= { 1 , 2 , ..., i }
Como se muestra en el diagrama de la figura 2.2, el RP se puede caracterizar
como un proceso de mapeo de informacin, reduccin de informacin o etiquetado
de informacin (Shalko, 1992). Este mapeo entre el espacio de interpretacin y el
espacio de caractersticas se hace mediante una relacin G para cada clase; lo ideal es
que esta funcin sea biyectiva, pero existen casos, como lo muestran las clases 1 y
2 , que algunos patrones puedan pertenecer a distintas clases a la vez. Esto dificulta
el proceso de asignar un patrn a una clase especfica.

Figura 2.2. : Representacin abstracta de generacin / clasificacin de patrones.

2. Antecedentes

2.2.2.

14

Clasificacin de patrones

Esta tarea del RP es una de las ms antiguas y ms estudiadas. Los trabajos


en la clasificacin de patrones tienen ms de cinco dcadas y dentro de ellos, se han
desarrollado varias metodologas y decenas de algoritmos para clasificar. Algunos de
ellos desde la dcada de los 50s y que an hoy son tema de estudio. Tal es el caso del
clasificador KNN (Dasarathy, 1991).
La tarea de clasificacin bsicamente consiste en hacer particiones del espacio de
caractersticas para formar regiones, donde a cada regin se le asignar una categora o
clase. Los diferentes patrones debern ser asignados en alguna de las posibles regiones
creadas en el espacio de caractersticas.
En problemas reales, la descripcin completa de las clases no es conocida. En lugar
de sta, se tiene un conjunto finito y generalmente reducido de patrones que proveen
informacin parcial sobre un problema especfico.
El objetivo principal en la tarea de clasificacin es: disear y construir extractores
de caractersticas o clasificadores que puedan llevar a cabo la segmentacin del espacio
de caractersticas de forma eficiente (Pal, 1999).
Un clasificador es cualquier funcin:
D : Rn
En el modelo cannico de un clasificador (Duda, Hart & Stork 2001), mostrado en
la figura 2.3, se considera un conjundo de c funciones discriminantes.
G = {g1 (x), g2 (x), ..., gc (x)}
donde:
gi : Rn R

i = 1, 2, ...c

Tpicamente el patrn x es asignado en la clase i ,si el valor de gi (x) es mximo;


a esto se le conoce como maximum membership rule.
D(x) = i gi (x) = max {gi (x)}
i=1,...c

Figura 2.3.: Modelo cannico de un clasificador.

2. Antecedentes

15

Las funciones discriminantes segmentan el espacio de caracteristicas Rn en regiones


de decisin o regiones de clasificacin (Kuncheva, 2002).
Las regiones para cada clase i son el conjunto de puntos para los cuales la i-esima
funcin discriminante tiene el ms alto valor. Todos los puntos en la regin i-esima
sern asignados en la clase i . Estas regiones sern determinadas por el clasificador D
mediante el conjunto de funciones discriminantes G. Las fronteras de las regiones son
llamadas fronteras de clasificacin, y contienen los puntos que no pueden pertenecer a
una clase en particular (Kuncheva, 2002).
Enfoques de entrenamiento
Existen bsicamente dos enfoques:
Supervisado. En este enfoque se debe contar con un conjunto de patrones, en
los cuales se tiene determinada previamente la clase a la cual estn asociados
cada uno de ellos y se denomina generalmente conjunto de entrenamiento. En
el caso de las memorias asociativas este conjunto recibe el nombre de conjunto
fundamental.
No supervisado. Se trata de encontrar agrupamientos de patrones que formen las
diferentes clases existentes en un determinado problema mediante la similaridad
entre stos.

2.2.3.

Clasificadores de mnima distancia

Los clasificadores diseados dentro de este enfoque emplean aprendizaje supervisado; generalmente son empleados si el conjunto de patrones de entrenamiento forman
agrupamientos por cada clase existente en un problema dado. Esto da lugar a poder
emplear una funcin de distancia para su clasificacin. Cada clase involucrada en el
problema es representada por un patrn llamado centro del agrupamiento, determinado por la media aritmtica del conjunto de patrones de entrenamiento de cada clase.
Este centro del agrupamiento permite al clasificador determinar una clase determinada
a la cual pertenece un nuevo vector si la distancia es mnima con respecto de los otros
centros de agrupamiento involucrados, representativos de las otras clases.
Existen diversos clasificadores que emplean este mtodo, entre los cuales los ms
conocidos son el clasificador euclidiano, el KNN y el c-Means (Friedman, M, 1999). Se
darn algunos conceptos y definiones que son necesarios para el mejor entendimiento de
este tipo de metodologa; tambin se presenta uno de los clasificadores bsicos dentro
de este enfoque, el clasificador euclideano.
Mtricas
Si tenemos un conjunto de patrones clasificados, es decir, que de antemano sabemos a qu clase pertenecen cada uno de ellos, y tambin supongamos que tenemos

2. Antecedentes

16

otro conjunto de patrones, los cuales no han sido clasificados. Una forma "simple"de
clasificar estos ltimos patrones, es decir no clasificados, es encontrar una funcin que
nos diga con qu clase tienen una mayor similaridad cada uno de ellos. Aunque casi
todos los enfoques de reconocimiento de patrones se basan en esta idea, la funcin est
representada por una mtrica.
Intuitivamente, y dado que los patrones con los que se trabaja tienen todos los
rasgos numricos, un patrn puede verse como un vector en un espacio en Rn , para un
n en particular. Ahora, una mtrica es una forma de medir la distancia entre dos de
estos vectores, as, diremos que un patrn tiene una mayor similaridad a otro cuando
la distancia entre ellos sea menor. Usualmente, la forma ms sencilla de encontrar
esta distancia es con base en el famoso teorema de Pitgoras extendido a un espacio
n-dimensional, que se conoce como distancia euclideana. Sin embargo, no es la nica
forma de medir la distancia entre dos puntos, por lo que en esta seccin nos ocuparemos
de las formas de medir.
Definicin de mtrica
Aunque intuitivamente ya se tiene idea de que una mtrica es una forma de medir
una distancia, la definicin formal es la siguiente:
Definicin 2.3 Sean x, y y z tres puntos en Rn . Una mtrica o norma denominada
d(x, y), es una funcin d : Rn Rn R+ , que cumple con las siguientes propiedades:
1. d(x, y) 0 y d(x, y) = 0 si y slo si x = y.
2. d(x, y) = d(y, x)
3. d(x, y) d(x, z) + d(z, y) (Desigualdad del tringulo).
En general, existe un nmero infinito de funciones que cumplen con la definicin
anterior, y por tanto, la distancia entre dos puntos calculada por una mtrica puede
ser completamente distinta a la calculada por otra. Pensando en funcin de que una
mtrica nos servir para definir la forma en cmo un patrn tienen una mayor similaridad a otro, podemos esperar un funcionamiento radicalmente distinto de un sistema
de clasificacin con base en la mtrica seleccionada.
Las mtricas de Minkowski
Unas de las mtricas ms utilizadas, son las llamadas mtricas de Minkowski.
Minkowski fue un brillante fsico y matemtico Ruso de fines del siglo XIX y principios
del XX que fue maestro de Albert Einstein. Sus trabajos en el campo de la fsica
se enfocaron principalmente a la relatividad, en el continuo espacio-tiempo y a la
electrodinmica y muchos de sus resultados le son atribuidos al propio Einstein. Sus
trabajos en matemticas incluyen las formas cuadrticas, las fracciones continuas y en
la forma en como una figura de una forma puede caber en otra figura de otra forma,
que a la postre sera la base de la Morfologa Matemtica.

2. Antecedentes

17

La forma general de las mtricas de Minkowski es la siguiente:


dr (x, y) =

" n
X
i=1

#1
r

|xi yi |

(2.11)

Donde r es un nmero entero positivo. Dependiendo de r, es la forma en como se


comporta la mtrica. Existen 3 valores que son los ms comunes y que definen tres
distancias conocidas:
1. Distancia city-block. r = 1.

d1 (x, y) =

" n
X
i=1

#1

n
X

|xi yi |1

i=1

|xi yi |

(2.12)

2. Distancia euclideana. r = 2.

d2 (x, y) =

" n
X
i=1

#1
2

|xi yi |2

(2.13)

3. Distancia infinito. r .
d (x, y) = lm

" n
X
i=1

|xi yi |r

2
1
2
10

Ejemplo 2.4 Sean x =


9 y y = 3
4
1
de acuerdo a las mtricas city-block, euclideana e

d1 (x, y) =

4
P

i=1

#1

= m
ax |xi yi |
i

(2.14)

, calcular la distancia entre ellos

infinito.

|xi yi | = |2 1| + |2 10| + |9 (3)| + |4 (1)|

= 1 + 12 + 12 + 5 = 30

d2 (x, y) =

4
P

i=1

|xi yi |

12

i1
h
2
2
2
2 2
= |2 1| + |2 10| + |9 (3)| + |4 (1)|
1

= [1 + 144 + 144 + 25] 2 = 17. 72

d (x, y) = m
ax |xi yi | = m
ax [|2 1| , |2 10| , |9 (3)| , |4 (1)|]
i

= m
ax [1, 12, 12, 5] = 12

2. Antecedentes

18

El Clasificador Euclideano
El clasificador euclideano es un clasificador que toma precisamente la distancia
euclideana para determinar cundo un patrn es ms similar a otro. La distancia
euclideana es un caso especial de las mtricas de Minkowski para el caso en que r = 2.
Esta norma es, intuitivamente, la que se utiliza para medir una distancia, ya que
equivale a medir el tamao del segmento de recta que une a dos puntos, y es la que
normalmente se utiliza en geometra analtica y en anlisis vectorial. Un patrn puede
ser visto como un vector en Rn , por lo que el anlisis que haremos sobre l ser
puramente vectorial, y es conveniente expresar esta distancia en forma alterna.

x1
y1
x2
y2

Definicin 2.5 Sean x, y dos puntos en Rn , es decir, x =


... y y = ... .
xn
yn
La distancia euclideana entre x y y, denotada d2 (x, y) se calcula de la siguiente forma:
" n
#1
2
X
2
(xi yi )
d2 (x, y) =

(2.15)

i=1

o en forma vectorial:

1
d2 (x, y) = (x y)T (x y) 2

(x y)T

(2.16)

es el vector transpuesto del vector (x y).

1
2
10
2

Ejemplo 2.6 Sean x =


9 y y = 3 . Entonces la distancia euclideana
1
4
entre x y y de acuerdo a la ecuacin 2.15 es:
donde

" 4
# 12
X
1

d2 (x, y) =
(yi xi )2 = (1 2)2 + (10 (2))2 + (3 9)2 + (1 4)2 2
i=1

= [314] 2 = 17. 72

y de acuerdo a la ecuacin 2.16 es:

d2 (x, y) =

1
(y x)T (y x) 2 =
1
1

12
1

12

= [1 + 144 + 144 + 25] 2 = [314] 2 = 17. 72

12
1
12

5
12
5

2. Antecedentes

19

Algoritmo 2.7 Algoritmo del clasificador euclideano.


1. Se escoge una muestra de patrones clasificada de antemano en n clases {C1 , C2 , .., Cn }
y la mtrica d2 ser la distancia euclideana.
2. Con
Pbase en la muestra y para cada clase Ci , calculamos el patrn representante
xj , donde k es el nmero de elementos en la muestra que pertenecen a Ci .
i = k1
xj Ci

3. Se generan funciones discriminantes dij (x) para cada par de clases Ci , Cj , de


( )T ( + )

forma que dij (x) = (i j )T x i j 2 i j .


4. En el momento de clasificar, el patrn x ser clasificado en la clase i, si se cumple
lo siguiente:
j, j 6= i, dij (x) 0



1. 2
4. 3
2. 3
Ejemplo 2.8 Sean los vectores x1 =
, x2 =
, x3 =
, con x1 , x3
3. 0
0. 7
3. 1
miembros de la clase C1 y x2miembro de la clase C2 . Determinar la clase a la que
2. 7
.
pertenece el patrn x4 =
1. 5
Como ya se tiene la muestra clasificada en 2 clases, comenzaremos por calcular los
vectores medios de cada
una de las
clases.

1. 75
4. 3
1
. y 2 = x2 =
. Ahora, como solamente
1 = 2 (x1 + x3 ) =
3. 05
0. 7
tenemos dos clases, una funcin discriminante es suficiente, que sera: d12 (x) = (1

T
2 )T x (1 2 ) 2 (1 +2 ) = 2. 55 2. 98 x + 2. 1263
Finalmente, probaremos el clasificador con todos los vectores:2. 55 6. 05 + 2.
98 3. 75 = 4. 252 5/2 = 2. 1263

1. 2
+ 2. 1263 = 2. 55 1. 2 + 2. 98 3. 0 + 2.
d12 (x1 ) = 2. 55 2. 98
3. 0
1263 = 8. 006 3 > 0 x1 C1

4. 3
d12 (x2 ) = 2. 55 2. 98
+ 2. 1263 = 2. 55 4. 3 + 2. 98 0. 7 + 2.
0. 7
1263 = 6. 752 7 < 0 x2 C2

2. 3
d12 (x3 ) = 2. 55 2. 98
+ 2. 1263 = 2. 55 2. 3 + 2. 98 3. 1 + 2.
3. 1
1263 = 5. 499 3 > 0 x3 C1

2. 7
d12 (x4 ) = 2. 55 2. 98
+ 2. 1263 = 2. 55 2. 7 + 2. 98 1. 5 + 2.
1. 5
1263 = 0. 288 7 < 0 x4 C2

2.2.4.

Enfoque neuronal

En 1943 McCulloch & Pitts (McCulloch & Pitts, 1943) propusieron una teora
general del procesamiento de la informacin basado en redes de interrupcin binaria,
las cuales son llamadas eufemsticamente neuronas, aunque ellas estn lejos de sus

2. Antecedentes

20

contrapartes biolgicas. Cada una de estas neuronas slo puede tomar como valores de
salida 1 o 0, donde 0 representa un estado inactivo de la neurona y 1 un estado activo.
McCulloch & Pitts mostraron que tales redes podan, en principio, implementarse en
sistemas de procesos de cmputo. Frank Rosemblatt present posteriormente en el ao
de 1958 un modelo neural llamado perceptron junto con su regla de aprendizaje, el cual
est basado en el gradiente descendiente. El gradiente modifica una matriz, nombrada
matriz de acoplamiento o pesos, dependiendo del comportamiento de las neuronas.
Sin embargo, la simplicidad de este diseo fue tambin su punto dbil; existen
tareas en RP que un perceptron no es capaz de resolver, como lo mostraron Minsky
& Paper (Minsky & Papert, 1969). Esto provoc que el inters en las redes neuronales
decayera. No fue hasta la aparicin del trabajo de Hopfield (Hopfield,.1982; Hopfield,
1984) que el inters renaciera en este tipo de algoritmos.
Las redes neuronales pueden aplicarse a tareas de clasificacin o regresin; utilizan
tanto el enfoque de entrenamiento supervisado como el no supervisado. La arquitectura
de la red incluye tres tipos de capas, la de entrada, la oculta y la de salida. Este tipo
de redes pueden llegar a ser muy complejas, se caracterizan por tener un conjunto
de pesos los cuales se van modificando, y funciones de activacin con las cuales se
determina cmo la informacin ser transmitida a las capas siguientes (Marqus de
S, 2001).
En el enfoque generalmente existen dos etapas claras: la de entrenamiento, donde
mediante un conjunto de patrones la red va ajustando el conjunto de pesos que tiene
asociados, hasta obtener en la capa de salida una clasificacin correcta de los patrones
de entrenamiento; y la segunda etapa, donde se somete un conjunto de patrones mayor
al conjunto de entrenamiento para probar su rendimiento. Una clara desventaja, ampliamente referida, es el grado de heurstica implicada en el diseo de los clasificadores
bajo este enfoque.
Existen muchos tipos de redes neuronales que funcionan como clasificadores, desde
el simple perceptron hasta las ms avanzadas.
Perceptron
Minsky and Papper (Minsky, M. & Papert, S. (1969) describen al perceptron como
un algoritmo estocstico de gradiente descendente, que intenta la separacin lineal de
un conjunto de datos de entrenamiento n-dimensional.
El perceptron tiene una sola salida y n entradas. El valor que toma la salida
esta determinada por un conjunto de valores, llamados pesos, y los valores de las
entradas. Este valor que toma la salida determina la clase a la cual pertenece un
patrn representado por un vector, cuyos componentes son los valores de las entradas
del perceptron. Es un algoritmo que emplea aprendizaje supervisado.
Un perceptron puede ser representado por un solo nodo que aplica una funcin
escaln a la suma de los productos de pesos y entradas (Kishan, Chilukuri & Sanjay,
1997).

2. Antecedentes

21

x0
x1
x2
.
.
.

w0
w1
w2

f(x0,...,xn)

wn

xn

Figura 2.4. : Representacin del perceptron

De la figura 2.4., w0 , w1 , ..., wn son los valores que representan a los pesos del
perceptron y x0 , x1 , ..., xn son los valores del patrn de entrada.
Para espacios n-dimensinales debe existir al menos un hiperplano que pueda separar un conjunto n-dimensionales en regiones. Un hiperplano n dimensional est definido
por la ecuacin:
w0 + w1 x1 + ... + wn xx = 0
El cual podr dividir un espacio n-dimensional en dos regiones. Donde para una
de las regiones que forma el hiperplano:
w0 + w1 x1 + ... + wn xx > 0
Para la otra regin:
w0 + w1 x1 + ... + wn xx < 0
El vector de pesos w ser ajustado a travs de un algoritmo desarrollado por
Rosenblatt (Rosenblatt, 1958) y se demuestra que si los patrones usados para entrenar
el perceptron se pueden agrupar en clases linealmente separables, entonces, el algoritmo
converge. La posicin de la superficie de decisin es un hiperplano entre las dos clases
(Haykin,. 1999).
Algoritmo de entrenamiento para el perceptron.
Un proceso iterativo, llamado algoritmo de entrenamiento para el perceptron, es
usado para obtener de manera automtica los pesos que separan las clases.
Sea w un vector de pesos de la forma:
w = (w1 , w2 , ..., wn )
y x un patrn de entrada de la forma:
x = (x1 , x2 , ..., xn )
Entonces el producto punto w x est definido. Si el producto w x > 0, entonces
la salida ser 1 y 1 si w x < 0.

2. Antecedentes

22

En el algoritmo no se especfica inicialmente un valor para los pesos w. Los valores


de w se escogen aleatoriamente al comienzo del proceso. Los patrones de entrenamiento son evaluados repetidamente y la respuesta obtenida es sensada, si la salida es la
deseada, w no sufre cambios, por el contrario, si no se obtiene una respuesta satisfactoria entonces w deber ser modificado, esto a manera de que se reduzca el margen
de error en la respuesta del algoritmo.
En cada iteracin, si x provoca una salida con valor 1, pero w x > 0, entonces
los pesos debern ser cambiados, lo mismo para salida 1 y w x < 0.
Los pesos se modificarn en cada iteracin con salida no deseada, de acuerdo con
la siguiente regla:
w0 = w + w
Siendo w0 el nuevo valor para los pesos.
Para el caso en que w x >0. Entonces (w + w) x deber ser menor que w x,
esto puede lograrse si w es -x, siendo una constante positiva, entonces:
(w + w) x = (w x) x = w x xx < w x
Para el caso en que w x <0. Entonces (w + w) x deber ser menor que w x,
esto puede lograrse si w es -x, siendo una constante positiva, entonces:
(w + w) x = (w + x) x = w x + xx > w x
Este proceso de modificacin de los pesos se repetir cada vez que se obtenga una
salida no deseada. El proceso se detendr cuando se encuentre un w , tal que w separe
linealmente a los patrones de entrenamiento.
Ejemplo 2.9 Este ejemplo muestra el funcionamiento del algoritmo de entrenamiento
del perceptron. Se aplica el algoritmo con 7 patrones de entrenamiento uno-dimensional.
Cuatro de ellos en una de las clases y los otros 3 en la clase restante. Los patrones
de entrenamiento estn agrupados en clases linealmente separables, por lo que la convergencia est garantizada. Los pesos inicialmente se escogern de forma aleatoria y
el algoritmo intentar encontrar los valores de los pesos para determinar el hiperplano
que separa las clases.
Sea el conjunto de patrones uno-dimensional: {0. 0, 0. 17, 0. 33, 0. 5}, donde los
elementos pertenecen a la clase cuya salida es: -1, y sea el conjunto {0. 67, 0. 83, 1. 0},
donde los elementos pertenecen a la clase cuya salida es: 1.
Al aplicar el algoritmo se evalan cada uno de los componente de ambas clases;
generalmente stos se aplican sin seguir un orden determinado.
Evaluamos los patrones en el algoritmo para determinar los pesos. Los valores de
los pesos sern asignados de forma aleatoria, para este ejemplo w0 = 1 y w1 = 0.
36. As, para la primera iteracin tenemos:

w0 + w1 x1 = (1) + (0. 36)(0. 17) = 1. 061 < 0 = La salida ser -1.

2. Antecedentes

23

Por lo tanto, los pesos no sufrirn cambio alguno. Este mismo resultado se obtiene
para todo el conjunto de esta clase.

w0 + w1 x1 = (1) + (0. 36)(0. 83) = 1. 2 < 0 = La salida ser -1.


En este caso los pesos debern ajustarse, y de acuerdo con el algoritmo se debe
sugerir un , en este caso = 0,1. As, los nuevos pesos sern:
w00 = w0 + x0 = (1) + (0. 1)(1) = 0. 9
w10 = w1 + x1 = (0. 36) + (0. 1)(0. 83) = 0. 28
Nuevamente es evaluado un patrn, ahora con los nuevos pesos. En el caso de los
patrones de la clase con salida -1 todos darn un resultado satisfactorio, por lo que slo
evaluaremos los patrones de la clase con salida 1. Entonces para el siguiente patrn
tenemos:
w00 + w10 x1 = (. 9) + (0. 28)(0. 67) = 1. 087 6
Una vez ms los pesos deber ser modificados, dado que esperbamos un resultado
positivo. Los nuevos pesos sern:
w00 = w0 + x0 = (0. 9) + (0. 1)(1) = 0. 8
w10 = w1 + x1 = (0. 28) + (0. 1)(0. 67) = 0. 213
Volvemos a evaluar alguno de los patrones de la clase. As:
w00 + w10 x1 = (. 8) + (0. 212)(1. 0) = 1. 012
Como podemos observar, al ajustar los pesos, la salida tiende a obtener el valor
esperado. Este proceso se repetir hasta que en la salida se tenga un resultado satisfactorio. Para este ejemplo, los valores de los pesos que den una salida esperada para
todos los patrones, quedan: w0 = 0. 2 y w1 = 0. 3.
Como se muestra en el ejemplo, los valores de los pesos se van ajustando hasta que
el valor de la salida converge en un valor esperado.

2.2.5.

Enfoque probabilstico-estadstico

El enfoque probabilstico-estadstico es clsico en el rea del reconocimiento de


patrones. Este enfoque se basa en mtodos y frmulas de la teora de probabilidad y
estadstica. Los modelos probabilsticos se usan para distribuir los vectores de rasgos
en clases mediante un conjunto de patrones, de los cuales se conoce su distribucin en
las clases previamente. Los algoritmos creados en este enfoque usan, por lo tanto, un
entrenamiento supervisado, que le indicar al algoritmo cmo aplicar la clasificacin
(Marqus de S, 2001).

2. Antecedentes

24

Existen diferentes tipos de clasificadores dentro de este enfoque; desde los paramtricos, como el clasificador Bayesiano, hasta los clasificadores no paramtricos o tambin
llamados modelos de tcnica libre, como el KNN o las ventanas Parzen (Kuncheva,
2000). Todos estos clasificadores y sus variantes estn basados en modelos probabilsticos. Dentro de los clasificadores estadsticos se cuenta con los rboles de decisin y
tablas (Marqus de S, 2000).
El clasificador Bayesiano no forma parte del presente trabajo de tesis, pero su
importancia en el enfoque hace indispensable su mencin. Este clasificador se desarrolla
bajo el marco terico de la probabilidad. Se usan probabilidades a priori, para estimar
la probabilidad a posteriori de que un determinado patrn pertenezca a cierta clase.
Algortimo del clasificador Bayesiano.
1. Obtener una muestra representativa S de los objetos a clasificar.
2. Determinar cada una de las clases Ck que formarn parte del sistema.
3. Determinar, con base en la muestra y en la cardinalidad de cada clase, las probabilidades P (Ck ).
4. Determinar los rasgos tiles que se van a utilizar para clasificar, y elaborar cada
distribucin de probabilidad p(X | Ck ) la cual va a ser dependiente del nmero
y naturaleza de cada rasgo de la variable aleatoria vectorial X.
5. Para clasificar un patrn desconocido de entrada X, aplicar la siguiente regla:
X Ci , si di > dj i 6= j, con dk = ln(P (Ck )) + ln(p(X | Ck ))

(2.17)

Clasificador KNN (K-Nearest Neighbours Method)


El algoritmo NN ha recibido una atencin considerable desde su creacin hasta
nuestro das. La sencillez conceptual, con la cual se concibi el algoritmo, ha hecho del
NN un mtodo muy popular entre los investigadores. Una revisin integral est hecha
por Dasarathy (Dasarathy, 1991), donde se incluyen muchos de las ms importantes
contribuciones hechas en el estudio de NN (Webb, 1999). Este es, tal vez, conceptualmente hablando, el ms sencillo algoritmo de clasificacin presentado junto con su
regla de decisin (Schrmann, 1996; Webb, 1999).
El mtodo requiere un conjunto de patrones etiquetados, tambin conocidos como
conjunto de prototipos. Este conjunto de patrones es usado para clasificar un conjunto
de patrones de prueba, con lo cual se podr medir el rendimiento del clasificador.
El mtodo del NN calcula la distancia de un patrn de prueba respecto a cada
miembro del conjunto de prototipos, ordena las distancias de menor a mayor y retiene

2. Antecedentes

25

la clase del k patrn ms cercano, siendo k una constante entera arbitraria. Este proceso
es en trminos computacionales caro, para conjuntos de datos relativamente grandes
(Webb, 1999).
Un hecho importante de mencionar es la mtrica que se emplee en el algoritmo.
Obviamente el resultado de las distancias depender de la mtrica empleada. Normalmente se emplea la mtrica euclidiana, pero se puede emplear cualquier otra (Webb,
1999).
Ejemplo 2.10 Este ejemplo mostrar en funcionamento del KNN, con k = 1 y usando
la mtrica euclidiana.

1. 2
4. 3
2. 3
, x2 =
, x3 =
, con x1 y x3
Sean los vectores x1 =
3. 0
0. 7
3. 1
que pertenecen a la clase
C1 y x2 que pertenece a la clase C2 , el conjuto de patrones
3. 7
prototipo y sea x4 =
el patrn que se desea clasificar
0. 5
De a cuerdo con el algoritmo del KNN:
Primero se calcular la distancia ente el patrn x4 y cada uno de los patrones
prototipo. De acuerdo con 2.16.

12

12

2. 5
T
= (12. 5)1/2 = 3. 53
d(x1 ,x4 ) = (x4 x1 ) (x4 x1 ) = 2. 5 2. 5
2. 5

12

0. 6 2
T
d(x2 ,x4 ) = (x4 x2 ) (x4 x2 ) = 0. 6 0. 2
= (0. 76)1/2 = 0. 8717
0. 2

12

12

1. 4
T
d(x3 ,x4 ) = (x4 x3 ) (x4 x3 ) = 1. 4 2. 6
= (8. 72)1/2 = 2. 95
2. 6
Se ordenan las distancias de menor a mayor:
d(x2 ,x4 )
d(x3 ,x4 )
d(x1 ,x4 )

0. 8717
2. 95
3. 53

Por lo tanto el patrn x4 pertenece a la clase 2.


La alta eficacia que presenta en problemas reales el KNN, hacen de este algoritmo
uno de los ms usados.

2. Antecedentes

2.2.6.

26

Enfoque sintctico-estructural

Este enfoque est basado en la teora de los lenguajes y en la teora de autmatas,


que establecen si una determinada estructura pertenece a cierto lenguaje al cumplir
con un conjunto de reglas establecidas llamado gramtica. As, en lugar de analizar
los rasgos cuantitativos de los patrones, se hace nfasis en la interrelacin de estas
caractersticas con las cuales se podr discernir si pertenece al lenguaje. La estructura
que se puede determinar por medio de estas interrelaciones de los rasgos hace posible
que los patrones puedan ser tratados como palabras, donde sea factible establecer
reglas gramaticales que nos permitan establecer un determinado lenguaje.
La clasificacin en este enfoque opera con informacin simblica, con una analoga
entre la estructura de algn patrn y la sintaxis de un lenguaje, que estar determinado
por una gramtica que hace atractivo este enfoque.
Al introducir la teora de los lenguajes formales se disean clasificadores sintcticos llamados parsers que pueden clasificar un patrn determinado, el cual ser
presentado como una cadena de smbolos y se decidir si pertenece al lenguaje o no.
Teora de Autmatas y Lenguajes Formales
La teora de autmatas y lenguajes formales es una de las teoras ms importantes
que existen dentro de las ciencias de la computacin, puesto que explica el porqu
funcionan las computadoras como las conocemos. El principal objetivo de esta teora
es modelar lenguajes y estudiar los sistemas que generan y reconocen a los mismos;
es precisamente esta ltima caracterstica la que ms adelante nos va a servir en el
reconocimiento de patrones. Los principales avances en esta disciplina fueron hechos
por Noam Chomsky en las dcadas de los 40 y 50 del siglo XX. Comenzaremos este
estudio breve sobre esta teora con algunas definiciones bsicas.
Definicin 2.11 Un alfabeto es un conjunto finito de smbolos, por ejemplo el
conjunto de las letras minsculas {a, b, c, .., z}.
Definicin 2.12 Una cadena o palabra w es una secuencia finita de smbolos del
alfabeto . La longitud de w se denota |w| .
Definicin 2.13 La concatenacin de dos cadenas w1 y w2 , es la cadena w1 w2 de
longitud |w1 | + |w2 |
Definicin 2.14 Denotamos al smbolo nulo y a la cadena de longitud 0.
Definicin 2.15 Sea un V . Denotamos como V a la cerradura de V y es el
conjunto de todas las posibles cadenas que se pueden hacer con los smbolos de V ,
incluyendo a .

Ejemplo 2.16 Sea = {a, d, e, p, r} un alfabeto. w = padre es una cadena sobre ,


puesto que p, a, d, r, e ; |w| = 5.

2. Antecedentes

27

Ejemplo 2.17 Sean w1 = pad, y w2 = re, dos cadenas sobre el mismo alfabeto del
ejemplo anterior. La cadena w = w1 w2 = padre, es la concatenacin de w1 y w2 .
Ejemplo 2.18 Sea V = {a} , donde es el alfabeto de los ejemplos anteriores.
La cerradura de V es V = {, a, aa, aaa, ...}.
La materia prima para trabajar en esta teora son los smbolos y secuencias de
smbolos. Sin embargo, hay que notar que la teora no incluye una semntica o significado de los smbolos y las cadenas. Esto es importante puesto que se nos permite
modelar y procesar ideas sin preocuparnos por el significado que puedan tener las
mismas. El ejemplo ms palpable sobre esta ventaja son las computadoras: una computadora procesa smbolos que pertenecen al alfabeto {0, 1}, y aunque aparentemente
puede hacer muchas funciones, el significado de las mismas se lo da el usuario, no la
mquina.
La siguiente definicin es una de las ms importantes en esta teora, puesto que todo
el desarrollo subsecuente se enfocar a generar y reconocer estos objetos matemticos:
los lenguajes formales.
Definicin 2.19 Un lenguaje formal es un conjunto finito, o infinito contable, de
palabras sobre un alfabeto. Evidentemente .
Ejemplo 2.20 Sea = {a, b}, es el lenguaje definido de la siguiente forma: =
{w|w comienza con una a} = {a, aa, ab, aaa, aab, aba, abb, ...}.
Al igual que podemos concatenar cadenas, tambin se pueden concatenar lenguajes.
Esta propiedad es muy importante, puesto que nos da una idea de cmo se pueden
construir lenguajes complejos a partir de otros ms sencillos. La definicin formal es
la siguiente:
Definicin 2.21 Sean 1 y 2 dos lenguajes. la concatenacin de 1 y 2 , denotada
1 2 = {w|w = w1 w2 , w1 1 y w2 2 }
Ejemplo 2.22 Sea 1 = {a} y 2 = {a, b} , entonces el lenguaje del ejemplo 2.20
se puede representar como la concatenacin de 1 y 2 de la siguiente forma: =
1 2 = {a} {a, b} = {a, aa, ab, aaa, aab, aba, abb, ...}.
Gramticas
Definicin 2.23 Una gramtica G es una tupla (, N, S, P ), donde:
1. es un alfabeto. Los elementos de se llaman comnmente smbolos terminales.
2. N es un conjunto de smbolos llamados no-terminales y N = .

2. Antecedentes

28

3. S N, es llamado el smbolo inicial.


4. P es un conjunto de reglas de produccin o reglas de reescritura"del tipo ,
donde y son cadenas compuestas de smbolos terminales y no terminales,
con la restriccin de que debe de contener al menos un no-terminal.
Ejemplo 2.24 Sea G = (, N, S, P ), con = {a, b}, N = {S, B}, y P = {S aB, B aB|bB|}.
La parte ms interesante en la gramtica es el conjunto de producciones y nos dice lo
siguiente: que el smbolo S slo puede ser sustituido por la cadena aB, donde a es un
smbolo terminal y B uno no-terminal. Ahora, B puede ser sustituido por 3 distintas
cadenas aB, bB o , de aqu que | represente a una .o"en las producciones. Supongamos
que queremos ver si la cadena abba puede ser producida a partir de G, entonces se hace
la siguiente derivacin:
S G aB =G abB =G abbB =G abbaB =G abba = abba.
Primero, el smbolo =G representa la relacin derivacin usando la gramtica G
y significa que se ha ocupado una regla de produccin para transformar una cadena en
otra. Ahora, cuando queremos producir una cadena a partir de G, siempre se comienza
con el smbolo inicial, en este caso S, y se ocupa alguna regla se sustitucin para el
mismo. Aqu, slo tenemos una opcin que es S aB, entonces S slo puede derivar
la cadena aB y se escribe: S G aB. Luego, tenemos una cadena formada por un
terminal a y un no terminal B, entonces tenemos que sustituir de alguna forma el
no-terminal con otra regla, en este caso elegimos B bB, as, la cadena aB puede
derivar la cadena abB y se escribe aB =G abB. El proceso contina hasta que se llega
a una cadena formada exclusivamente de smbolos terminales y es cuando terminamos
la derivacin (ntese tambin que se hizo uso del smbolo nulo, que por su naturaleza
puede o no puede ser escrito).
Finalmente, como abba pudo ser producida por la gramtica G, entonces esta cadena pertenece al lenguaje aceptado por G y se expresa abba (G).
Dado que las producciones pueden tener una gran cantidad de variantes, Chomsky
clasific las gramticas segn la forma de sus producciones. la llamada jerarqua de
Chomsky es la siguiente:
1. Tipo 0. Gramticas sin restricciones. Tienen producciones de la forma
donde y son cadenas arbitrarias sobre el conjunto N.
2. Tipo 1. Gramticas sensibles al contexto. Tienen producciones de la forma A
B, con , y A, B N, o de la forma S . Algunos lenguajes naturales
como el alemn suelen tener estructuras de este tipo.
3. Tipo 2. Gramticas libres de contexto. Tienen producciones de la forma A ,
donde A N y .
4. Tipo 3. Gramticas regulares. Tienen producciones de la forma A B o
A , con y B N y se les llama regular por la derecha. Tambin
pueden ser regulares por la izquierda y las producciones son de la forma:A B
o A , con y B N.

2. Antecedentes

29

La jerarqua de Chomsky es importante puesto que para cada tipo de gramtica,


existe un autmata que las reconoce y ms an, existe un mtodo para hacerlo. Los
detalles sobre autmatas y su relacin con las gramticas se presentarn en la siguientes
secciones.
Autmatas
Un autmata es un modelo matemtico que nos permite reconocer palabras que
pertenecen a un lenguaje formal. En general, la idea detrs de cualquier tipo de autmata est en tener un conjunto de estados que nos indican cundo comienza el reconocimiento, cundo se est en un estado intermedio y cundo se termina el reconocimiento. Existen varios tipos de autmatas, los cuales se enlistan a continuacin.
1. Mquinas de Turing. Son mquinas que reconocen los lenguajes generados por
las gramticas sin restriccin. Las computadoras son un caso especial de este
tipo de autmata. Utilizan un concepto llamado cinta infinita que es el anlogo
a la memoria de una computadora.
2. Autmatas linealmente restringidos. Son los autmatas que reconoces lenguajes
generados por las gramticas sensibles al contexto.
3. Autmatas de Pila. Utilizan una estructura de datos tipo FIFO (First In-First
Out : Primero en Entrar, Primero en Salir) para simular una memoria restringida.
Reconocen los lenguajes generados por gramticas libres de contexto.
4. Autmatas Finitos. Son los ms sencillos y reconocen los lenguajes generados
por las gramticas regulares.

Definicin 2.25 Un Autmata Finito AF es una tupla (, Q, qo , F, T ) donde:


1. es un alfabeto de entrada.
2. Q, es un conjunto finito de estados.
3. q0 Q es el estado inicial.
4. F Q es un conjunto de estados finales y
5. T es una funcin T : Q Q..
La forma de reconocer es la siguiente:
1. Se tiene una cadena w, se lee el primer smbolo y se toma q0 como estado actual.
2. Con el estado actual y el smbolo ledo, se utiliza la funcin T para saber cul
es el estado siguiente.

2. Antecedentes

30

3. Se lee el siguiente smbolo y se repite el paso 2 hasta que no haya ms smboloes


por leer.
4. Si al terminar de leer la cadena, nos encontramos en un estado final, entonces
la cadena pertenece al lenguaje que acepta el autmata, denominado (AF ). Si
no, no pertenece.
Equivalencia entre un AF y una Gramtica
En esta ltima parte de esta seccin mostraremos cmo se puede crear un autmata
a partir de una gramtica.
Algoritmo 2.26 Algoritmo para convertir una gramtica regular en un AF .
1. Sea G = (, N, S, P ) y AF = (, Q, qo , F, T ) , donde los alfabetos de G y AF
son los mismos e inicialmente, Q = N, q0 = S, T = y F =
2. Para cada transicin t en P hacer los pasos siguientes:
3. Si t es de la forma A aB, con A, B N y a , aadir a T una relacin de
la forma ((A, a), B).
4. Si t es de la forma A a, con A N y a , aadir a F y a Q un estado X
y aadir a T una relacin de la forma ((A, a), X).
5. Si t es de la forma A , con A N, aadir A a F
6. Si t es de la forma A aw, con A N , a y w N , aadir a Q un
estado X , aadir a T una relacin de la forma ((A, a), X) y repetir los datos 3
a 6 para una produccin del tipo X w.
Ejemplo 2.27 Disear un clasificador basado en el enfoque sintctico-estructural para
identificar cuadrados de una longitud l en una imagen. Una fase de preprocesamiento
de la imagen permite obtener lneas del tamao deseado en alguna direccin, puntos
donde se cortan dos lneas y la apertura entre las lneas que forman.
Queremos identificar cuadrados de un tamao dado, pero no sabemos si los cuadrados estn o no rotados y adems, lo nico que podemos identificar son lneas de tamao
fijo, vrtices y ngulos en cada vrtice.
De acuerdo al paso 1 de la fase de entrenamiento, tenemos que identificar los rasgos
que nos son tiles para describir nuestros patrones. Como lo nico que puedo medir
son algunas caractersticas geomtricas de la imagen, es lo que se va a aprovechar.
Supongamos que podemos recorrer una figura por su permetro, entonces para identificar un cuadrado, necesitamos comenzar en un vrtice, luego encontrar una lnea del
tamao deseado en alguna direccin, enseguida en ese punto identificar un vrtice que
forme 90 con la otra lnea ( se supone que los ngulos se miden siempre en el mismo
sentido), luego identificar que esa lnea es de longitud l y repetir lo mismo para los
cuatro vrtices.

2. Antecedentes

31

As, las mediciones que vamos a tomar como rasgos son a) lneas de tamao fijo
en una direccin; b) vrtices que forman 90 con la otra lnea.
Luego, segn el paso 2 hay que asignar a cada rasgo un smbolo, as, a las lneas
de tamao fijo en una direccin les llamaremos L y a los vrtices que forman 90 con
la otra lnea le llamaremos V . As, podemos darnos cuenta, que para identificar un
cuadrado tenemos que comenzar en un vrtice de tipo V , luego tenemos que encontrar
4 veces la siguiente secuencia: una lnea L y un vrtice V, figura 2.5.

Figura 2.5. Asignacin de smbolos

De esta forma, proponemos que la gramtica para este tipo de cadenas sea la que
tiene las siguientes reglas:
S V LV LV LV LV
con N = {S, P } y = {L, V }.
Y un el autmata generado que reconoce este lenguaje sera:

Figura 2.6. : Autmata resultante

Como se puede notar, aunque la gramtica es muy simple, funciona para reconocer
un tipo de objetos sin importar la rotacin.

2. Antecedentes

2.2.7.

32

Gnesis del enfoque asociativo para clasificacin de patrones

En las postrimeras del ao 1997, inmerso en el ambiente juvenil del incipiente


Centro de Investigacin en Computacin del Instituto Politcnico Nacional, se inici
el aglutinamiento de una masa crtica de elementos humanos proclives a incursionar de manera seria y profesional en esas fascinantes disciplinas llamadas Robtica y
Reconocimiento de Patrones, y en los apasionantes recovecos del Procesamiento, el
Anlisis y el lgebra de Imgenes.
Como resultado de ese aglutinamiento naci el GRAI, acrnimo de la expresin:
Grupo de Robtica y Anlisis de Imgenes. Este grupo tiene por lema la siguiente
mxima: Es mejor equivocarse por actuar y experimentar, que salvarse del
error al precio de no hacer nada.
En la actualidad, el GRAI cuenta entre sus filas con investigadores, profesores,
alumnos de maestra y de doctorado del CIC-IPN, y algunas personas de otras instituciones con intereses congruentes con los propsitos y acciones del grupo.
Las bases tericas de las actividades que se realizan en el GRAI provienen de reas
tan interesantes y tiles como la Morfologa Matemtica, el lgebra de Imgenes, la
Teora del Control, las Matemticas Discretas, las Redes Neuronales, las Memorias
Asociativas, el Reconocimiento de Patrones, la Teora de la Informacin y la Teora de
las Transformadas Matemticas, entre otras.
La actividad ha sido productiva y creciente. El GRAI tiene en su haber un premio
nacional "Luis Enrique Erro", una presea "Lzaro Crdenas", un proyecto REDIIConacyt, media decena de proyectos CGPI-IPN, la autora de un libro y la edicin de
otro, varios captulos de libro, algunos artculos en revista internacional o nacional,
media decena de graduados en maestra y tres de doctorado, y ms de media docena
de tesis en proceso.
Como tema del presente trabajo de tesis, la cual forma parte de esa media docena,
durante el ao 2002 se plante la creacin del enfoque asociativo para reconocimiento
y clasificacin de patrones. As, los miembros del GRAI fueron testigos del nacimiento
de un nuevo enfoque en reconocimiento automtico de patrones: el enfoque asociativo,
el cual se ha revelado como una alternativa real en clasificacin automtica de patrones
n-dimensionales reales.
El primer clasificador de patrones basado en el enfoque asociativo es el CHAT, creado, diseado y aplicado en el marco de los trabajos cientficos realizados por miembros
del GRAI, y presentado en este trabajo de tesis. El novedoso algoritmo fusiona, de alguna manera, dos prominentes ramas de las ciencias de la computacin: la calsificacin
automtica de patrones en el dominio real por un lado, y la aplicacin de las memorias
asociativas, por el otro. En el diseo del clasificador se han tomado libremente las ventajas de dos modelos de memorias asociativas, la Lernmatrix de Steinbuch y el Linear
Associator de Anderson-Kohonen, evitando, al mismo tiempo, sus desventajas.

Captulo 3

Estado del arte


En el campo de las memorias asociativas, que es el marco en el que se desarrolla este trabajo, no existen referencias sobre la tarea especfica de la clasificacin de
patrones; los trabajos ms recientes son los realizados en el desarrollo de las memorias morfolgicas (Ritter, Sussner, Diaz-de-Len, 1999) y de las memorias (YezMrquez, 2002). Estos trabajos no estn enfocados directamente a la clasificacin, sino
al reconocimiento de patrones.
Por otro lado, las dos memorias en que est basado el producto de este trabajo
de tesis (CHAT), la Lernmatrix (Steinbuch, 1961; Steinbuch & Frank, 1961; YezMrquez, 2001a) y el Linear Associator (Anderson & Tosenfeld, 1990; Kohonen, 1989,
Yez-Mrquez, 2002b), no fueron diseadas para la clasificacin de patrones. Steinbuch, creador de la Lermatrix, no dej ningn trabajo que sustente el funcionamiento
de la Lernmatrix de forma matemtica, y en el caso del Linear Associator el cual
si qued fundamentado matemticamente, an sigue siendo referencia en el rea de
memorias asociativas.
El campo donde compite directamente el CHAT es la tarea de clasificacin de
patrones. Existe un vasto campo donde residen varios enfoques que atacan este problema, desde los sustentados fuertemente por una base terica como la probabilidad,
hasta enfoques donde el grado de heurstica es muy alto; tal es el caso de las redes
neuronales.
Actualmente, existen tres reas donde el trabajo dedicado a la investigacin de la
clasificacin de patrones se est enfocando. La primera es la de buscar aumentar el
rendimiento de los clasificadores ya conocidos, mediante la optimizacin del proceso o
de alguno de los componentes del mismo (Bandyopadhyay & Maulik, 2002; Demeniconi, Peng & Gunopulos, 2002; Ho, Liu, & Liu, 2002; Huang, & et. al., 2002; Rueda
& Oommen, 2002; Wu, Ianekiev & Govindaraju, 2002); la segunda rea es la de buscar combinaciones entre los clasificadores ya conocidos, ya sea combinando etapas o
resultados de unos sirviendo de entradas para otros (Acharya & et. al., 2003; Kittler
& Alkoot, 2003; Kuncheva, 2002; Lu & Tan, 2002; Murua, 2002; Nicola, Masulli &
Sperduti, 2002); y la tercera se refiere a la bsqueda de unificar enfoques (Abe, 2001;
ar
unas, 2001).
33

3. Estado del arte

34

Este trabajo de tesis se centra en mostrar un nuevo algoritmo: el CHAT. Uno de


los puntos principales ser mostrar el comportamiento de este clasificador frente a
clasificadores slidos en el rea, tanto en su base terica como prctica.
Uno de los clasificadores ms utilizados es el KNN (Cover & Hart, 1967), con
ms de 40 aos dentro del rea del reconocimiento de patrones, siendo uno de los
clasificadores ms longevos y estudiados de la actualidad; las sencillez del algoritmo
y su alta efectividad (Ho, Liu & Liu, 2002) hacen de este clasificador, uno de los
ms usados en el mbito de los clasificadores de patrones por los investigadores. Estas
caractersticas hacen del KNN un clasificador ideal para la comparacin del CHAT al
reunir ambos la sencillez de los algoritmos.
Exiten otros clasificadores en el rea de reconocimiento de patrones, pero stos
requieren de condiciones diferentes al CHAT o KNN, tal es el caso del clasificador
Bayesiano que requiere de la funcin de densidad de probabilidad o de las ventanas
Parzen (Duda, Hart & Stork, 2001); otros como las redes neuronales tienen una gran
cantidad de heurstica implcita en su funcionamiento y aunque est presente en el
KNN, sta es menor (limitada al valor de k).
El KNN tiene tres principales limitaciones (Huang & et. al. 2002), el excesivo
tiempo de cmputo, el requerimiento de una gran capacidad de almacenamiento de
memoria, y la sensibilidad a los patrones ruidosos. El trabajo de investigacin sobre
el KNN se centra en disminuir estas limitaciones del clasificador al tratar de reducir
el tamao del conjunto de patrones con los cuales se ha de determinar a qu clase
pertenece un patrn desconocido (Bandyopadhyay & Maulik, 2002; Ho, Liu, & Liu,
2002; Huang & et. al. 2002; Wu, Ianekiev & Govindaraju, 2002; Rueda & Oommen,
2002).
La caracterstica ms importante en el CHAT es que requiere de un conjunto fundamental reducido, por lo que su complejidad computacional es mucho menor que la
del KNN para lograr la tarea de clasificacin, como se muestra en los hechos experimentales y que repercute directamente en el tiempo de cmputo.
Un algoritmo que se toma en cuenta con fines comparativos es el C-means, usando
funciones de disimilaridad (Ayaquica, 2002), el cual muestra un mejor rendimiento
frente al C-means y C-means difuso. Los resultados comparativos mostrarn que el
CHAT es superior en rendimiento a estos algoritmos ya establecidos.

Captulo 4

Herramientas matemticas
En virtud de que las memorias asociativas se representan por medio de matrices,
es preciso exponer algunos conceptos ya conocidos sobre las notaciones, el uso de las
matrices y los vectores, que sern usados de manera intensiva en los captulos 5 y 6.

4.1.

Sumatorias

P
En matemticas se introduce la notacin
para facilitar la escritura de la suma
de los elementos de una sucesin y se pueden escribir de la siguiente manera:
am + am+1 + am+2 + ... + an =

n
X

ai

i=m

Donde m y n son enteros y m n.El nmero m se denomina lmite inferior de la


suma y n se llama lmite superior. El smbolo i es un smbolo convencional y puede
ser sustituido por cualquier otro.
Ejemplo 4.1 Sea la suma de los elementos de la sucesin:
43 + 53 + 63
esta sucesin se puede representar a travs de la notacin sigma, de la siguiente
forma:
6
X

i3

i=4

Ejemplo 4.2 Si la notacin de sumatoria es:


3
X

i2

i=2

entonces, i toma valores que van de -2 a 3 y mediante la notacin


a la suma de los elementos de la sucesin:
35

se representa

4. Herramientas matemticas

36

(2)2 + (1)2 + (0)2 + (1)2 + (2)2 + (3)2


Ejemplo 4.3 Sea la suma de los elementos de la sucesin:

3a3 + 4a4 5a5 + 6a6 7a7 + 8a8


esta sucesin se puede representar a travs de la notacin sigma, de la siguiente
forma:
3a3 + 4a4 5a5 + 6a6 7a7 + 8a8 =

4.2.

8
X
(1)i iai
i=3

Operador mximo

W
El operador mximo se denota con el smbolo
y se aplica a un conjunto de
componentes para dar como resultado el valor mximo de todos ellos.
Ejemplo 4.4 Sea un conjunto de componentes contenidos en un vector de dimensin
5:

6
12

x =
3
8
12

al aplicar el operador mximo al conjunto de componentes del vector x, tenemos:


4
_

xi = 12

i=0

4.3.

Operaciones matriciales

Notacin 4.5 Las matrices se representan con esta notacin: si m, n y r son nmeros
enteros positivos, A = [aij ]mr representa una matriz de dimensiones m r, cuya ijsima entrada es aij , y B = [bij ]rn representa una matriz de dimensiones r n, cuya
ij-sima entrada es bij .
Definicin 4.6 Una matriz A es un arreglo rectangular de mr nmeros dispuestos
en m renglones y r columnas.

4. Herramientas matemticas

37

a11 a12
a21 a22

..
..
.
.

ai1 ai2

..
..
.
.
am1 am2

a1j
a2j
..
.

aij
..
.

amj

air
a2r

..
.

air

..
.
amr

Definicin 4.7 Suma de matrices: Sean A y B dos matrices de m n.Entonces


la suma de A y B es la matriz m n, A + B dada por:

a11 + b11
a21 + b21

A + B = (aij + bij ) =
..

a12 + b12
a22 + b22
..
.

a1n + b1n
a2n + b2n
..
.

am1 + bm1 am2 + bm2

amn + bmn

es decir, A + B es la matriz m n que se obtiene al sumar las componentes


correspondientes de A y B.
Definicin 4.8 Producto de matrices: Sea A una matriz m r, y sea B una matriz
de r n. Entonces el producto de AB est definido y es una matriz C de m n, en
donde cada componente de la matriz cij est dado:

cij = ai1 b1j + ai1 b1j + + air brj


Es decir, que si el nmero de columnas de A es igual al nmero de renglones de B,
entonces se dice que A y B son compatibles bajo la multiplicacin.

4.4.

Vectores n-dimensionales

Dentro de la literatura del lgebra lineal se considera a un vector como un tipo


especial de matriz (Lang, S. 1976, Grossman, S.I. 1996, Leithold, L. 1998). As, ciertas
combinaciones en los valores de m, n y r, dan lugar a casos especficos, los cuales vale
la pena mencionar porque simplifican las operaciones:
Si m = 1 y r = 1, a consta de una nica entrada, a11 . En este caso se trata de
un nmero que indicaremos con la letra a sin subndices.
Si m = 1 y r > 1, a es un vector fila con r entradas: a = {a11 , a12 , ..., a1r }. Se
eliminar el subndice 1 que corresponde a m para simplificar la notacin, y el
vector fila se denotar as: a = {a1 , a2 , ..., ar }.

4. Herramientas matemticas

38

Si r > 1 y n = 1, b es un vector columna con r entradas:

b11
b21

b= .
.
.
br1
Se eliminar el subndice 1 que corresponde
vector columna se denotar as:

b1
b2

b= .
..
br

a r para simplificar la notacin, y el

por lo anterior, los vectores se sujetan a las definiciones citadas en las seccin
anterior.
Desde el punto de vista del anlisis vectorial se hace el estudio de los vectores de dos
formas, analtica y geomtrica. En la forma analtica tenemos que un vector se sujeta
a la siguiente definicin cuando el vector es de dimensin dos y se desea representarlo
en el plano bidimensional.
Definicin 4.9 Vector en un plano bidimensional es un par ordenado de nmero
reales (x, y).Donde a los nmeros x, y, se denominan componentes del vector.
Sea el vector bidimensional x el par ordenado de nmeros reales (x, y). Si A es
el punto (x,y) y O es el origen en el plano, entonces el vector x puede representarse

geomtricamente por el segmento rectilneo dirigido OA, denominado representacin


del vector x.

4.5.

Producto interno y producto externo de vectores.

Estos productos entre vectores que en la literatura se denominan producto punto


o interno y producto externo, aqu sern tratados como el producto entre matrices,
donde los vectores debern cumplir con los requisitos de la definicin de producto
matricial.

4.5.1.

Producto interno

Sea a una matriz de 1 r, donde a = {a1 , a2 , ..., ar } y sea b una matriz de r 1


donde

b1
b2

b=.
..
br

4. Herramientas matemticas

39

por lo tanto el producto esta definido, tal que:



b1

b2

a b = a1 a2 ar . = (a1 b1 + a2 b2 + + ar br )
.
.
br
como resultado tenemos un escalar.

4.5.2.

Producto externo

Sea A una matriz de m 1, donde:

a1
a2

a= .
..
am

y sea B una matriz de 1 n, tal que:

b = (b1 , b2 , . . . , bn )
por lo tanto el producto esta definido y esta dado por:

a1
a1 b1 a1 b2
a2
a2 b1 a2 b2

a b = . b1 b2 bn = .
..
.
.
..
.
am
am b1 am b2
dando por resultado una matriz de dimensin m n.

4.6.

a1 bn
a2 bn

..
.

am bn

Producto de una matriz y un vector.

El producto de una matriz A de dimensin m n y un vector de columna x de


dimension n esta definido (Gill, Murray & Wright, 1989). Denotado como Ax, da como
resultado un vector de dimensin m, donde cada componente del vector resultante est
dado por:
(Ax)i =

n
X

aij xj

j=1

4.7.

Traslacin de ejes

Un sistema coordenado nos permite asociar una grfica (concepto geomtrico) con
una ecuacin (concepto algebraico), donde una ecuacin algebraica es un enunciado
en el que se establece la igualdad de dos expresiones, las cuales contienen variables.

4. Herramientas matemticas

40

Ejemplo 4.10 Sea y = 3x2 una ecuacin algebraica donde (x,y) es un punto en R2 .
Si x se sustituye por un conjunto de valores en R podemos obtener la representacin
geomtrica de la ecuacin

y
10
5
0
-5

-2.5

2.5

5
x

-5
-10
-15

Figura 4.1: Grfica de

y = 3x 2

La forma de la grfica no se ve modificada por la posicin de los ejes coordenados,


pero su ecuacin s es afectada.
Ejemplo 4.11 Sea una circunferencia con radio 5 y centro en el punto (2,-2) tiene
la ecuacin:
(x 2)2 + (y + 2)2 = 25
y

-2.5

2.5

2.5

-2.5

-5

Figura 4.2:Grfica de

(x 2)2 + (y + 2)2 = 25

Ahora, si elegimos los ejes coordenados de tal manera que su origen sea el centro de
la circunferencia, se tiene una ecuacin ms sencilla, esto es, la ecuacin se transforma
en:

4. Herramientas matemticas

41

x2 + y 2 = 25

5
4
3
2
1
0

-5

-4

-3

-2

-1

-1

5
x

-2
-3
-4
-5

Figura 4.3:Grfica de

x2 + y 2 = 25

Cuando los ejes estn dados en un problema determinado y se desea encontrar ejes
diferentes pero paralelos a los originales, se dice que se hace una traslacin de ejes.
Si (x,y) representa un punto P con respecto a un conjunto de ejes determinado, y
(x, y) es la representacin de P despus de que los ejes son trasladados a un nuevo
origen que tiene coordenadas (h,k) con respecto a los ejes originales, entonces(Leithold,
L. 1998):
x0 = x h y y0 = y k

(4.1)

Ejemplo 4.12 Sean los vectores x, z los pares ordenados de nmeros reales (5, 4)
y (10, 12) de acuerdo con la Definicin 4.8, entonces existen los puntos X, Z con
coordenada (5, 4) y (11, 12). Donde el punto O con coordenada (0,0) es el origen,
entonces los vectores x, z pueden representarse geomtricamente por los segmentos

rectilneos dirigidos OX y OZ respectivamente.

y
10

7.5

2.5

2.5

7.5

10
x

Figura 4.4:Grfica de los puntos X y Z

4. Herramientas matemticas

42

ahora, tomaremos de manera arbitraria un punto H con coordenadas (8,8) como


un nuevo origen y de acuerdo con la expresin 4.1, los vectores x y z tendrn la
representacin en los nuevos ejes marcados por el origen H como:
x0 = (3, 4)
y
z 0 = (3, 4)
Donde los nuevos puntos X y Z estn representados en la siguiente grfica.

-3

-2.5 -2

4
3.5
3
2.5
2
1.5
1
0.5
0

-1.5 -1

-0.5
-0.5
-1
-1.5
-2
-2.5
-3
-3.5
-4

0.5

1.5

2.5

Figura 4.5: representacin de X y Z.

3
x

Captulo 5

Desarrollo
Es aqu, en este captulo, donde se presenta la parte sustantiva del presente trabajo
de tesis.
El captulo est dividido en dos secciones; en la primera, se muestra el desarrollo
de un clasificador de patrones en el dominio real, que da lugar a la creacin de un
nuevo enfoque, el asociativo, para la tarea de clasificacin de patrones, que es una
rama del reconocimiento de patrones.
En la segunda seccin se presenta otra versin del primer clasificador que se ha
creado bajo el enfoque asociativo de clasificacn de patrones; esta nueva versin, a
travs de un proceso de traslacin de ejes, convierte a la primera versin en un clasificador robusto capaz de competir con los clasificadores ms longevos y estudiados,
basados en otros enfoques.
El clasificador de la primera seccin se denomina CHA, Clasificador Hbrido
Asociativo, y est basado en dos memorias asociativas pioneras: la Lernmatrix de
Steinbuch y el Linear Associator de Anderson-Kohonen.
El CHA supera ampliamente las limitaciones que presentan cada una de estas
memorias asociativas, lo cual se logra al combinar las fases de aprendizaje o recuperacin de ambas de forma ingeniosa. El CHA, puede aceptar valores reales en las
componentes de sus vectores de entrada ( a diferencia de la Lernmatrix, que slo
acepta valores binarios, 1 y 0) y a sus vectores de entrada no se les exige que sean
ortonormales (los vectores de entrada del Linear Associator deber ser ortonormales,
para tener recuperacin perfecta en todo su conjunto fundamental). Adems el CHA
es un clasificador que se comporta como una memoria asociativa perfecta, segn los
conceptos y definiciones expuestas en el captulo 2, bajo condiciones ms dbiles que
las que se requieren para las dos memorias asociativas clsicas mencionadas.
Hay algunos casos en que el CHA falla en su tarea de clasificacin. Para superar
estas limitaciones, se ide y dise una nueva versin del CHA, mediante la adicin de
un nuevo paso al algoritmo: la traslacin ingeniosa de los ejes coordenados. La nueva
versin, denominada CHAT, Clasificador Hbrido Asociativo con Traslacin,
se desarrolla y ejemplifica en la segunda seccin.
43

5. Desarrollo

5.1.

44

El CHA

En el trascurso de este trabajo se dise una nueva memoria asociativa. Esta


memoria asociativa, denominada CHAT, est basada en la combinacin de las fases
de aprendizaje del Linear Associator y la fase de recuperacin de la Lernmatrix. Al
combinar de esta forma las fases se eliminan las limitantes de ambas. Esta parte
del trabajo de tesis fue presentada en el CIARP 2002, VII Congreso Iberoamericano
de Reconocimiento de Patrones (Santiago-Montero, Yez-Mrquez & Diaz de Len,
2002), bajo el ttulo de Clasificador Hbrido de Patrones. Esta memoria ya muestra las
posibilidades de poder clasificar patrones que no estn en la fase de aprendizaje de la
memoria asociativa y puede asignarlos acertadamente a una determinada clase.
Como se ilustra en los ejemplos, con la sola combinacin de fases no es posible recuperar y clasificar patrones con alguna determinada configuracin. Esto nos presenta
dificultades al aplicar el CHA en problemas serios de clasificacin. Para remediar lo
anterior, se cre el CHAT.

5.1.1.

Algoritmo del CHA

1. Sea un conjunto fundamental de patrones de entrada de dimensin n con valores


reales en sus componentes (a la manera del Linear Associator), que se aglutinan
en m clases diferentes.
2. A cada uno de los patrones de entrada que pertenece a la clase k se le asigna el
vector formado por ceros, excepto en la coordenada k-sima, donde el valor es
uno (a la manera de la Lernmatrix).
3. La fase de aprendizaje es similar a la del Linear Associator.
4. La fase de recuperacin es similar a la que usa la Lernmatrix.
Este algoritmo simple nos permite disear un clasificador de patrones, como se
ilustra en el siguientes ejemplos:
Ejemplo 5.1 Cinco patrones de dimensin 2 con valores reales, aglutinados en dos
clases diferentes:
A la primera clase pertenecen dos patrones:

4. 1
4. 8
y x2 =
x1 =
3. 8
4. 2
Tres patrones pertenecen a la segunda clase:

6. 3
6. 2
, x3 =
x3 =
3. 8
3. 1

y x4 =

7. 0
3. 0

Lo anterior significa, de acuerdo con el inciso 2 del algoritmo, que los patrones de
salida son los siguientes:

5. Desarrollo

45

y =y =

1
0

y y =y =y =

0
1

Para la fase de aprendizaje, de acuerdo con el inciso 3 del algoritmo, se calculan


los trminos y (x )t usando la expresin 2.4 y el clasificador C se obtiene a partir
de las expresiones 2.5 y 2.6:
C=

5
X
=1

y (x ) =

8. 9
19. 5

8. 0
9. 9

(5.1)

El inciso 4 del algoritmo indica que la fase de recuperacin se lleva acabo de acuerdo
con la expresin 2.3.

8. 9
19. 5

8. 9
19. 5

8. 9
19. 5

8. 9
19. 5

8. 9
19. 5


8. 0

9. 9

8. 0

9. 9

8. 0

9. 9

8. 0

9. 9
8. 0
9. 9

4. 1
3. 8

66. 89
42. 33

76. 32
52. 02

1
0

6. 3
25. 67
0
=

3. 8
160. 47
1

6. 2
30. 38
0
=

3. 1
151. 59
1

7. 0
38. 3
0
=

3. 0
166. 2
1
4. 8
4. 2

clase 1

clase 1

clase 2

clase 2

clase 2

Ejemplo 5.2 Ahora probemos el clasificador con dos patrones que no pertencen al
conjunto fundamental:

8. 9
19. 5

8. 9
19. 5

4. 0
83. 6
1

clase 1
6. 0
18. 6
0

8. 0
6. 0
21. 2
0

clase 2
9. 9
4. 0
117. 6
1
8. 0
9. 9

Nota 5.3 Resulta evidente que este problema de clasificacin no puede ser resuelto
por la Lernmatrix de Steinbuch, ya que los patrones de entrada no son binarios, como
lo requiere ese modelo. Por otro lado, tampoco es posible resolverlo por el Linear Associator, debido a que los patrones de entrada no son ortonormales, como lo exige la
expresin 2.9.

Ejemplo 5.4 Cuatro patrones de dimensin 3 con valores reales, aglutinados en dos
clases diferentes:

5. Desarrollo

46

A la primera clase pertenecen dos patrones:

12. 0
10. 0
x1 = 3. 0 y x2 = 1. 0
11. 0
12. 0

Dos patrones pertenecen a la segunda clase:

2. 0
1. 0
x3 = 8. 0 , y x4 = 9. 0
12. 0
11. 0

Lo anterior significa, de acuerdo con el inciso 2 del algoritmo, que los patrones de
salida son los siguientes:

1
0
1
2
3
4
y y =y =
y =y =
0
1
Para la fase de aprendizaje, de acuerdo con el inciso 3 del algoritmo, se calculan
los trminos y (x )t usando la expresin 2.4 y el clasificador C se obtiene a partir
de las expresiones 2.5 y 2.6:
C=

5
X

=1

22. 0 4. 0 23. 0
y (x ) =
3. 0 17. 0 23. 0

(5.2)

El inciso 4 del algoritmo indica que la fase de recuperacin se lleva acabo de acuerdo
con la expresin 2.3.

12. 0
22. 0 4. 0 23. 0
529.
0
3. 0 =

3. 0 17. 0 23. 0
340. 0
11. 0

10. 0
22. 0 4. 0 23. 0
500. 0
1. 0 =

3. 0 17. 0 23. 0
323. 0
12. 0

2. 0
22. 0 4. 0 23. 0
352. 0

8. 0 =

3. 0 17. 0 23. 0
418. 0
12.
0

1. 0
22. 0 4. 0 23. 0
311. 0

9. 0 =

3. 0 17. 0 23. 0
409. 0
11. 0

1
0
1
0
0
1
0
1

clase 1
clase 1
clase 2
clase 2

Ejemplo 5.5 Ahora probemos el clasificador con dos patrones que no pertencen al
conjunto fundamental:

5. Desarrollo

9. 8
22. 0 4. 0 23. 0
488.
0
1. 4 =

3. 0 17. 0 23. 0
320. 0
11. 6

2. 2
22. 0 4. 0 23. 0
369.
0
7. 7 =

3. 0 17. 0 23. 0
427. 3
12. 6

47

1
0
0
1

clase 1
clase 2

Nota 5.6 En el ejemplo anterior se ha cambiado la dimensin de los patrones de


entrada a 3. El clasificador tiene nuevamente recuperacin perfecta y tambin ha recuperado patrones que no pertenecen al conjunto fundamental de manera correcta, al
agrupar cada patrn en su respectiva clase.
Ejemplo 5.7 Seis patrones de dimensin 5 con valores reales, aglutinados en tres
clases diferentes:
A la primera clase pertenecen dos patrones:

12
12. 6
10
10. 9

1
2

x =
2 y x = 2. 3
4
3. 5
2
1. 8

Dos patrones pertenecen a la segunda clase:


1
1. 1
2
2. 2

3
4

x =
1 y x = 1. 5
11
10. 6
12
11. 8

Y dos patrones para la tercera clase:


1
1. 2
2
1. 9

5
6

x = 13 y x =
13. 2
11
11. 4
1
0. 9

Lo anterior significa, de acuerdo con el inciso 2 del algoritmo, que los patrones de
salida son los siguientes:



1
0
0
1
2
3
4
5
6

, y =y = 1
y y = y = 0
y =y = 0
0
0
1

Para la fase de aprendizaje, de acuerdo con el inciso 3 del algoritmo, se calculan


los trminos y (x )t usando la expresin 2.4 y el clasificador C se obtiene a partir
de las expresiones 2.5 y 2.6:

5. Desarrollo

48

24. 6 20. 9 4. 3 7. 5 3. 8
C=
y (x )t = 2. 1 4. 2 2. 5 21. 6 23. 8
=1
2. 2 3. 9 26. 2 22. 4 1. 9
5
X

(5.3)

El inciso 4 del algoritmo indica que la fase de recuperacin se lleva acabo de acuerdo
con la expresin 2.3.

24. 6 20. 9 4. 3 7. 5
2. 1 4. 2 2. 5 21. 6
2. 2 3. 9 26. 2 22. 4

24. 6 20. 9 4. 3 7. 5
2. 1 4. 2 2. 5 21. 6
2. 2 3. 9 26. 2 22. 4

24. 6 20. 9 4. 3 7. 5
2. 1 4. 2 2. 5 21. 6
2. 2 3. 9 26. 2 22. 4

24. 6 20. 9 4. 3 7. 5
2. 1 4. 2 2. 5 21. 6
2. 2 3. 9 26. 2 22. 4

24. 6 20. 9 4. 3 7. 5
2. 1 4. 2 2. 5 21. 6
2. 2 3. 9 26. 2 22. 4

24. 6 20. 9 4. 3 7. 5
2. 1 4. 2 2. 5 21. 6
2. 2 3. 9 26. 2 22. 4

12.
0

10. 0
3. 8
550. 4
1

= 206. 2 0 clase 1
23. 8
2.
0

4. 0
1. 9
211. 2
0
2. 0

12.
6


10. 9
3. 8
580.
75
1

= 196. 43 0 clase 1
23. 8
2.
3

3. 5
1. 9
212. 31
0
1. 8

1. 0


2. 0
3. 8
198.
8
0

23. 8 1. 0 = 536. 2 1 clase 2


11. 0
1. 9
305. 4
0
12. 0

1. 1


2. 2
3. 8
203.
83
0

23. 8 1. 5 = 525. 1 1 clase 2


10. 6
1. 9
310. 16
0
11. 8

1. 0


2. 0
3. 8
208. 6
0

23. 8 13. 0 = 304. 4 0 clase 3


11. 0
1. 9
598. 9
1
1. 0

1. 2


1. 9
3. 8
214. 91
0

23. 8 13. 2 = 311. 16 0 clase 3


11. 4
1. 9
612. 96
1
0. 9

Ejemplo 5.8 Ahora probemos el clasificador con tres patrones que no pertencen al
conjunto fundamental :

5. Desarrollo

24. 6 20. 9 4. 3 7. 5
2. 1 4. 2 2. 5 21. 6
2. 2 3. 9 26. 2 22. 4

24. 6 20. 9 4. 3 7. 5
2. 1 4. 2 2. 5 21. 6
2. 2 3. 9 26. 2 22. 4

24. 6 20. 9 4. 3 7. 5
2. 1 4. 2 2. 5 21. 6
2. 2 3. 9 26. 2 22. 4

49

11.
4


10. 6
3. 8
549. 64
1

= 216. 51 0 clase 1
23. 8
1.
9

4. 1
1. 9
212. 41
0
2. 3

1.
1


2. 1
3. 8
204. 31
0

= 548. 2 1 clase 2
23. 8
1.
3

10. 5
1. 9
304. 38
0
12. 9

1. 1


2. 5
3. 8
229.
91
0

= 325. 57 0 clase 3
23. 8
13.
8

11. 56
1. 9
634. 95
1
1. 2

Nota 5.9 Nuevamente el clasificador ha recuperado todo su conjunto fundamental de


forma correcta, para tener una vez ms recuperacion perfecta. Lo mismo ha ocurrido
al someter al clasificador, patrones que no pertenecen al conjunto fundamental clasificndolos de manera correcta, aqu las dimensiones tanto de los patrones de entrada
como los de salida que codifican las clases, son diferentes y no han influido en el
comportamiento del clasificador.

Ejemplo 5.10 2 patrones de dimensin 2 con valores reales, aglutinados en dos clases
diferentes:
A la primera clase pertenece el patrn:

2. 1
1
x =
3. 8
A la segunda clase:
2

x =

6. 3
3. 8

Lo anterior significa, de acuerdo con el inciso 2 del algoritmo, que los patrones de
salida son los siguientes:

1
0
1
2
y y =
y =
0
1

5. Desarrollo

50

Para la fase de aprendizaje, de acuerdo con el inciso 3 del algoritmo, se calculan


los trminos y (x )t usando la expresin 2.4 y el clasificador C se obtiene a partir
de las expresiones 2.5 y 2.6:
C=

5
X

=1

2. 1 3. 8
y (x ) =
6. 3 3. 8

(5.4)

El inciso 4 del algoritmo indica que la fase de recuperacin se lleva a cabo de


acuerdo con la expresin 2.3.


2. 1 3. 8
2. 1
18. 85
0

clase 2?
6. 3 3. 8 3. 8 27. 67
1
2. 1 3. 8
6. 3
27. 67
0

clase 2
6. 3 3. 8
3. 8
54. 13
1
Nota 5.11 El ejemplo anterior nos muestra los efectos causados cuando tenemos al
menos un patrn de entrada de magnitud mucho mayor a las magnitudes de los otros
patrones de entrada, el clasificador tiende a asignar los patrones de menor magnitud
a la clase cuyos patrones tienen la mayor magnitud.

5.2.

El CHAT

En esta seccin mostraremos ejemplos, en los que se puede observar cmo el CHA
se transforma en CHAT y as supera las limitaciones mencionadas de las dos memorias asociativas, el Linear Associator y la Lernmatrix y adems, de qu manera se
transforma en un clasificador de alto rendimiento, al agregar la traslacin de ejes.
El ejemplo 5.10 muestra una desventaja para la clasificacin de patrones agrupados
en un mismo cuadrante del plano, con una clase con patrones cuya magnitud es mucho
mayor a la magnitud de los patrones de las otras clases presentes en el problema de
clasificacin. Esto para efectos prcticos representa una gran desventaja, dado que en
el rea de clasificacin de patrones es una constante que los patrones de las clases a
clasificar se encuentren en el mismo plano y con magnitudes diferentes en sus vectores.
La solucin, que en el presente trabajo se realiza para resolver este problema, es
la traslacin de ejes, con el nuevo origen situado en el centroide de los vectores que
representan a los patrones de entrada.
el vector medio de
Sean x1 , x2 , ...x un conjunto de patrones de entrada, y sea x
todos ellos (Gonzlez & Woods, 2001), donde:

1X
x
x
=
p
j=1

(5.5)

5. Desarrollo

51

Trasladando los ejes a un nuevo origen cuyas coordenadas son las del vector medio
de los patrones de entrada del conjunto fundamental, se crea un nuevo conjunto de
0
0
0
patrones trasladados x1 , x2 , ..., xp , donde:

x = x x

(5.6)

x con {1, 2, ..., p}


Una vez trasladado todo el conjunto de patrones de entrada, se procede con el
algoritmo descrito en la seccin anterior. Este proceso de traslacin se hace tambin
con todo nuevo patrn de entrada que se desee clasificar.

5.2.1.

Interpretacin terica del CHAT

En esencia el CHAT utiliza las representaciones vectoriales de los patrones para


clasificar. Esto lo hace mediante la medicin del menor ngulo entre un vector prototipo, de alguna de las clases contenidas en la memoria del clasificador y un vector
desconocido del cual se desea obtener su clase asociada. Para una medicin del ngulo
antes mencionado, y obtener una asociacin ms precisa con su clase, es necesaria la
traslacin de ejes a un punto, en el espacio de caractersticas, donde los ngulos entre
vectores, representantes de las diferentes clases involucradas, sean significativos para
clases distintas y muy reducidos para la misma clase.

5.2.2.

Algoritmo del CHAT

1. Sea un conjunto fundamental de patrones de entrada de dimensin n con valores


reales en sus componentes (a la manera del Linear Associator), que se aglutinan
en m clases diferentes.
2. A cada uno de los patrones de entrada que pertenece a la clase k se le asigna el
vector formado por ceros, excepto en la coordenada k-sima, donde el valor es
uno (a la manera de la Lernmatrix).
3. Se calcula el vector medio del conjunto de patrones muestra o prototipos con
que se cuente.
4. Se toman las coordenadas del vector medio a manera de centro de un nuevo
conjunto de ejes coordenados.
5. Se realiza la traslacin de todos los patrones del conjunto fundamental.
6. Aplicamos la fase de aprendizaje, que es similar a la del Linear Associator.

5. Desarrollo

52

7. Aplicacos la fase de recuperacin, que es similar a la que usa la Lernmatrix.


8. Trasladamos todo patrn a clasificar en los nuevos ejes.
9. Procedemos a clasificar los patrones desconocidos.

Ejemplo 5.12 Sea el mismo conjunto de patrones del ejemplo 5.10:


A la primera clase pertenece el patrn:

2. 1
1
x =
3. 8
A la segunda clase:
2

x =

6. 3
3. 8

Se realiza la traslacin de los vectores de entrada, de acuerdo con 5.5, entonces


tenemos que:
p

1X 1
x =
x
=
p
2
j=1

2. 1
3. 8

6. 3
3. 8


4. 2
=
3. 8

donde de acuerdo con 5.6 los patrones de entrada ahora son:


0
2. 1
4. 2
2. 1

=
x1 =
3. 8
3. 8
0. 0

6. 3
4. 2
2. 1
20
x =

=
3. 8
3. 8
0. 0
Lo anterior significa, de acuerdo con el inciso 2 del algoritmo, que los patrones de
salida son los siguientes:

1
0
10
20
y y =
y =
0
1
Para la fase de aprendizaje, de acuerdo con el inciso 3 del algoritmo, se calculan
los trminos y (x )t usando la expresin 2.4 y el clasificador C se obtiene a partir
de las expresiones 2.5 y 2.6:
C=

5
X

=1

2. 1 0
y (x ) =
2. 1 0

(5.7)

El inciso 4 del algoritmo indica que la fase de recuperacin se lleva acabo de acuerdo
con la expresin 2.3.

5. Desarrollo

53

2. 1
2. 1
2. 1
2. 1


0
2. 1
4. 41
1

clase 1
0 0. 0 4. 41

0
0
2. 1
4. 41
0

clase 2
0
0. 0
4. 41
1

Ejemplo 5.13 2 patrones de dimensin 3 con valores reales, aglutinados en dos clases
diferentes:
A la primera clase pertenece el patrn:

2. 0
x1 = 3. 0
6. 0

A la segunda clase:

6. 0
x2 = 8. 0
10. 0

Lo anterior significa, de acuerdo con el inciso 2 del algoritmo, que los patrones de
salida son los siguientes:

1
0
1
2
y y =
y =
0
1
Para la fase de aprendizaje, de acuerdo con el inciso 3 del algoritmo, se calculan
los trminos y (x )t usando la expresin 2.4 y el clasificador C se obtiene a partir
de las expresiones 2.5 y 2.6:
C=

5
X

=1

2. 0 3. 0 6. 0
y (x ) =
6. 0 8. 0 10. 0

(5.8)

El inciso 4 del algoritmo indica que la fase de recuperacin se lleva a cabo de


acuerdo con la expresin 2.3.


2. 0
2. 0 3. 0 6. 0
49.
0
0
3. 0 =

clase 2?
6. 0 8. 0 10. 0
96. 0
1
6.
0


6. 0
2. 0 3. 0 6. 0
96.
0
0
8. 0 =

clase 2
6. 0 8. 0 10. 0
200. 0
1
10. 0
Probemos el clasificador con otros patrones desconocidos pero que pertenecen a las
clases involucradas en el ejemplo.
A la primera clase pertenece el patrn:

5. Desarrollo

A la segunda clase:

54

1. 9
x3 = 3. 8
5. 5

6. 4
4

x = 7. 2
9. 7

El inciso 4 del algoritmo indica que la fase de recuperacin se lleva a cabo de


acuerdo con la expresin 2.3.


1. 9
2. 0 3. 0 6. 0
48. 2
0
3. 8 =

clase 2?
6. 0 8. 0 10. 0
96. 8
1
5. 5


6. 4
2. 0 3. 0 6. 0
92. 6
0

7. 2 =

clase 2
6. 0 8. 0 10. 0
193. 0
1
9. 7

De acuerdo con el algoritmo del CHA, la recuperacin del conjunto no es perfecta


y patrones que pertenecen a la clase 1 son clasificados como clase 2.
Con la de traslacin de ejes se prueba el mismo conjunto de fundamental y los
patrones desconocidos en la fase de aprendizaje.
A la primera clase pertenece el patrn:

2. 0
1

x = 3. 0
6. 0
A la segunda clase:

6. 0
x2 = 8. 0
10. 0
Se realiza la traslacin de los vectores de entrada, de acuerdo con 5.5, entonces
tenemos que:


p
2. 0
6. 0
4. 0
1 X 1
x =
3. 0 + 8. 0 = 5. 5
x
=
p j=1
2
6. 0
10. 0
8. 0
donde de acuerdo con 5.6 los patrones de entrada ahora son:

2. 0
4. 0
2. 0
0
x1 = 3. 0 5. 5 = 2. 5
6. 0
8. 0
2. 0

5. Desarrollo

55


6. 0
4. 0
2. 0
0
x2 = 8. 0 5. 5 = 2. 5
10. 0
8. 0
2. 0

Lo anterior significa, de acuerdo con el inciso 2 del algoritmo, que los patrones de
salida son los siguientes:

1
0
10
20
y y =
y =
0
1
Para la fase de aprendizaje, de acuerdo con el inciso 3 del algoritmo, se calculan
los trminos y (x )t usando la expresin 2.4 y el clasificador C se obtiene a partir
de las expresiones 2.5 y 2.6:
C=

5
X

=1

2. 0 2. 5 2. 0
y (x ) =
2. 0
2. 5
2. 0

(5.9)

El inciso 4 del algoritmo indica que la fase de recuperacin se lleva acabo de acuerdo
con la expresin 2.3.


2,0
2. 0 2. 5 2. 0
14.
25
1
2. 5 =

clase 1
2. 0
2. 5
2. 0
14. 25
0
0
2.


2. 0
2. 0 2. 5 2. 0
14. 25
0
2. 5 =

clase 2
2. 0
2. 5
2. 0
14. 25
1
2. 0

Se procede ahora a probar el Clasificador Hbrido Asociativo con Traslacin (CHAT)


con los vectores que no pertenecen al conjunto fundamental.
A la primera clase pertenece el patrn:

1. 9
x3 = 3. 8
5. 5
A la segunda clase:


6. 4
4

x = 7. 2
9. 7

donde de acuerdo con 5.6 los patrones de entrada ahora son:


1. 9
4. 0
2. 1
0
x3 = 3. 8 5. 5 = 1. 7
5. 5
8. 0
2. 5

5. Desarrollo

56

6. 4
4. 0
2. 4
0
x4 = 7. 2 5. 5 = 1. 7
9. 7
8. 0
1. 7

El inciso 4 del algoritmo indica que la fase de recuperacin se lleva acabo de acuerdo
con la expresin 2.3.


2. 1
2. 0 2. 5 2. 0
13. 45
1

1. 7 =

clase 1
2. 0
2. 5
2. 0
13. 45
0
2.
5


2. 4
2. 0 2. 5 2. 0
12. 45
0
1. 7 =

clase 2
2. 0
2. 5
2. 0
12. 45
1
1. 7

Captulo 6

Disquisiciones experimentales
En este captulo se muestra experimentalmente el rendimiento del CHAT: Clasificador Hbrido Asociativo con Traslacin, ante conjuntos de patrones contenidos
en 4 bases de datos pblicas; estos patrones estn agrupados en clases. Los aspectos
de inters que se tomaron en cuenta para realizar los experimentos son los mismos que
se han registrado en la literatura sobre clasificadores, donde el punto de inters radica
esencialmente en el porcentaje de clasificacin correcta del conjunto de patrones contenidos en las bases respectivas. Las bases de datos pblicas se encuentran en la UCI
Machine Learning Data Bases Repository, del ICS, de la universidad de California,
Irvine: http://ftp.ics.uci.edu/pub/machine-learning-databases.
Las bases de datos que fueron usadas en los experimentos son:
-Iris plants database.
-Wine recognition data.
-Contraceptive method choice (cmc).
-Credit approval database.
En cada una de las bases de datos, un rengln representa un patrn, con la primera
columna sealando la clase a la cual pertenece el patrn de la fila respectiva. Las subsecuentes columnas en la misma fila contienen datos que representan las caractersticas
del objeto.
Los experimentos se llevaron a cabo en una PC genrica con procesador Pentium
II a 350MHz, 128 MBytes de RAM y un disco duro de 6 Gbytes, con sistema operativo
Windows 2000 de Microsoft. El programa se realiz en el lenguaje C++ y se utiliz
el compilador de Borland, C++ Builder 5 . Las bases de datos se almacenaron en
archivos secuenciales, as como los resultados obtenidos de la clasificacin.

6.1.

Base de datos

A continuacin se exhiben breves comentarios respecto de cada una de las bases


de datos que se usaron para llevar a cabo los experimentos.

57

6. Disquisiciones experimentales

6.1.1.

58

Iris plants database

Esta es tal vez la base de datos ms conocida que se encuentra en la literatura del
reconocimiento de patrones. Usada por Fisher (Fisher, 1936), es un clsico en el campo
y una referencia frecuente hasta nuestros das (Duda, Hart, & Strork, 2001; Gonzalez
& Woods, 2001). El conjunto de datos contiene 3 clases de 50 instancias cada una,
donde cada clase hace referencia a un tipo de planta de iris (Iris Setosa, Iris Versicolor
e Iris Virginia). Cada patrn que representa una planta de iris tiene 4 atributos, ms
uno que representa la clase. En esta base de datos los rasgos que representan el largo
y ancho de los ptalos estn altamente correlacionados.
Informacin de los atributos
Rasgos
1
2
3
4
5

Descripcin
Clase: 1:Iris Setosa,2:Iris Versicolour, 3:Iris Virginia
Largo del spalo en centmetros
Ancho del spalo en centmetros
Largo del ptalo en centmetros
Ancho del ptalo en centmetros
Tabla 6.1: Descripcin de rasgos (Iris plants).

6.1.2.

Wine recognition data

Esta base de datos presenta los resultados de un anlisis qumico de vinos producidos en una misma regin de Italia pero que provienen de diferentes cultivos (Forina,
et al, 1991). Los patrones estn agrupados en 3 clases con una distribucin de 59 patrones para la clase 1, 71 patrones para la clase 2 y 48 patrones para la clase 3. El
anlisis determina las cantidades de 13 constituyentes encontrados en cada uno de los
tres tipos de vinos. En el contexto de clasificadores, es un buen problema para probar
un nuevo clasificador.

6. Disquisiciones experimentales

59

Informacin de los atributos


Rasgo
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Descripcin
Clase
Alcohol
cido mlico
Cenizas
Alcalinidad de la ceniza
Magnesio
Total de fenoles
Flavonoides
Fenoles No-flavonoides
Proanthocyanins*
Intensidad del color
Matiz
OD280/OD315 de vino diluido*
Proline*

Tabla 6.2: Descripcin de rasgos (Wine recognition data).

6.1.3.

Contraceptive method choice

La base de datos es un subconjunto de la Encuesta Nacional de Indonesia en


el Control Anticonceptivo. Los ejemplos son de mujeres casadas quienes no estaban
embarazadas o no saban si lo estaban al momento de la entrevista. El problema es el de
predecir el uso de mtodos anticonceptivos de una mujer basados en sus caractersticas
socio-econmicas y demogrficas.
Los datos se agrupan en 3 clases, la clase 1 para quien no usa algn mtodo con
629 patrones, la clase 2 para las mujeres que tienen un mtodo a largo plazo con
333 patrones y la clase 3 para aquellas que llevan un mtodo a corto plazo con 511
patrones, en total 1,473 patrones.

6. Disquisiciones experimentales

60

Informacin de los atributos


Rasgo
1
2
3
4
5
6
7
8
9
10

Descripcin
Clase
Edad
Grado educativo
Grado educativo de la pareja
Nmero de nios ya concebidos
Religin
Trabajo
Ocupacin de la pareja
ndice del estandar de vida
Riesgo de vida

Tabla 6.3: Descripcin de rasgos (Cmc).

6.1.4.

Credit approval database

En esta base de datos se encuentra recabada la informacin de personas sujetas


a crdito por parte de alguna institucin financiera la cual, con base en los datos
obtenidos, formula una aprobacin o no, de crdito para el cliente. No existe informacin complementaria a esta base de datos y la descripcin de datos se omite por ser
de tipo confidencial; se sabe que existen 2 clase distribuidas de la siguiente forma: 307
patrones para la clase 1 y 383 para la clase 2 para un total de 690 patrones.

6.2.

Metodologa
Se forma un vector de rasgos (tambin conocido como vector patrn o vector
caracterstico) con dimensin igual al nmero de caractersticas representadas
en el patrn; dado que la primera columna de la base de datos seala la clase,
no se incluir en el vector de rasgos.
Cada componente del vector de rasgos toma sus valores de cada uno de los valores
contenidos en el patrn, respetando el orden ya establecido. Este procedimiento
se hace con cada uno de los patrones de la base de datos.
Posteriormente se obtiene del conjunto de vectores un vector prototipo o vector
medio (Gonzalez & Woods, 2001).
Una vez obtenido el vector medio, en el punto terminal de este vector establecido
por sus n-componentes se determina el centroide del conjunto de vectores de
rasgos.
Mediante este centroide se hace una traslacin de todos los vectores de rasgos,
respetando el orden de la base de datos original.

6. Disquisiciones experimentales

61

Trasladados los vectores de rasgos, se toma un subconjunto de vectores de caractersticas de forma aleatoria de cada una de las clases involucradas; cada clase
aportar al conjunto fundamental un nmero igual de vectores de rasgos para ser
utilizados en la fase de aprendizaje y en la fase de recuperacin del Clasificador
Hbrido Asociativo con Traslacin.
Ya que se ha obtenido el CHAT en la fase de aprendizaje, se someten al clasificador los vectores de rasgos uno a uno y se procede a la clasificacin, obteniendo
en cada caso un nmero que representa la clase.
Una vez obtenidos todos los resultados se procede a realizar un anlisis de stos,
donde se establece como clasificacin correcta, si la clase resultante es igual a
la clase ya establecida para cada uno de los vectores de rasgos sometidos a la
clasificacin; calculando as un porcentaje de clasificaciones.

6.3.

Estudio comparativo entre el CHAT y otros algoritmos de clasificacin

En esta seccin mostramos el rendimiento que se obtuvo del Clasificador Hbrido


Asociativo con Traslacin (CHAT) en cada una de las base de datos descritas anteriormente en este captulo; adems se confrontan estos resultados con los obtenidos en
estas mismas bases de datos por diversos clasificadores, los resultados mostrados estn
en porcentajes de correcta clasificacin de los patrones contenidos en las diversas bases
de datos.
Los clasificadores que se han tomado en cuenta para esta comparacin son el ya
muy conocido KNN (K- Nearest Neighbours) con dos variantes, 1-NN y KNN con K=3.
Estos clasificadores fueron implementados en su totalidad en lenguaje C++ bajo el
ambiente visual del compilador C++ Builder 5 de Borland, bajo las mismas condiciones
que el CHAT. Adems, de estos 2 clasificadores se tomaron los estudios comparativos
que se realizaron en la tesis de maestra Algoritmo C-means difuso usando funciones
de disimilaridad (Ayaquica, 2002) y se sometieron estas mismas bases de datos a
los clasificadores c-means y c-means difuso contra el rendimiento presentado por el
c-means difuso usando funciones de disimilaridad.
En el caso de los clasificadores 1-NN y 3-NN se ha utilizado un conjunto prototipo
de 5 y 8 elementos por cada clase respectivamente, todos escogidos de forma aleatoria, para el CHAT se ha utilizado un conjunto fundamental de 4 patrones por clase
tambin escogidos de manera aleatoria.

6.3.1.

Iris plants database

Con esta base de datos se realizaron 20 pruebas de clasificacin para el clasificador


CHAT y los KNN. Los resultados tomados del trabajo de tesis de maestra slo
presentan 10 pruebas de clasificacin y se han tomado directamente del trabajo.

6. Disquisiciones experimentales

62

El punto central en este problema de clasificacin es determinar de forma correcta


cada uno de los patrones al asignarlos a su clase respectiva; los porcentajes mostrados
en las grficas son los obtenidos por el clasificador sobre toda la base de datos.
Rendimiento1-KNN

94
.6
7

95
.3
.0
0
91
.3
3
92

90
.0
0

92

90

87
.3
3

88
.0
0

88
.6
7

Porcentaje

96
.6
7

.0
0
95
.3
3
96

3
95
.3
93
.3
3

92
.6
7

94

93
.3
3

96
.0
0

3
95
.3

3
93
.3
3

95
.3

96

96
.0
0

98

88

86

84

82
1

10

11

12

13

14

15

16

Clasificacin

Fig. 6.1: Rendimiento del 1-NN ante la base de datos Iris plants.

17

18

19

20

6. Disquisiciones experimentales

63

Rendimiento3-KNN

95
.3
3
88
.6
7

90
.6
7

92
.6
7

92
.0
0

89
.3
3

89
.3
3

87
.3
3

93
.3
3
94
.0
0

94
.0
0

92
.6
7

89
.3
3
89
.3
3

91
.3
3

88
.0
0

85

80
.6
7

Porcentaje

90

92
.6
7
92
.0
0

95

93
.3
3

100

80

75

70
1

10

11

12

13

14

15

16

17

18

19

20

Clasificacin

Fig 6.2: Rendimiento del 3-NN, con la base de datos Iris plants.

100.00%

%
%
%
%
%
%
%
%
%
% %
.33 8.67 9.33 9.33 9.33 9.33 8.67 8.67 9.33 9.33 9.13
9
8
8
8
8
8
8
8
8
8
8
8

60.00%
40.00%
20.00%

Prueba
Fig. 6.3: Rendimiento del clasificador C-means.

Prom.

10

0.00%
1

Eficiencia

80.00%

6. Disquisiciones experimentales

100.00%

89

64

%
%
% %
%
%
%
%
%
%
%
.33 9.33 9.33 9.33 0.00 9.33 9.33 9.33 9.33 9.339.40
8 8
8
8
8
8
9
8
8
8

Eficiencia

80.00%
60.00%
40.00%
20.00%

Prom.

10

0.00%

Prueba

Prom.

10

%
%
%
%
%
%
%
% %
% %
.00 6.00 4.00 6.00 6.00 6.00 6.00 6.00 5.33 4.00 5.53
6
9
9
9
9
9
9
9 9
9
9
9

100.00%
90.00%
80.00%
70.00%
60.00%
50.00%
40.00%
30.00%
20.00%
10.00%
0.00%

Eficiencia

Fig. 6.4: Rendimiento del clasificador C-means difuso.

Prueba
Fig 6.5: Rendimiento del clasificador C-means difuso usando funciones de disimilaridad.

6. Disquisiciones experimentales

65

98
.67

RendimientodelCHM

97
.00

95
.33

97
.00

95
.33

95
.00

95.00

95
.00

95
.33
95
.67

95
.00

96.00

97
.00

96
.67

97
.33
97
.33

97
.33
96
.33

96
.33

Porcentaje

97.00

98
.00

98.00

97
.67
98
.00

99.00

94.00

93.00
1

10 11 12 13 14 15 16 17 18 19 20

Clasificacin

Fig 6.6: Rendimiento del CHAT con la base de datos Iris plants.
110

Porcentaje

100

90

80

70

60

1-NN

3-NN

C-means

C-meansdif.

C-meansDFD

CHAT

Peorrendimiento

96.67
87.33

95.33
80.67

89.33
88.67

90
89.33

96
94

98.67
95

Promedio

93.3

90.79

89.13

89.4

95.53

96.56

Mejorrendimiento

Mejorrendimiento

Clasificador
Peorrendimiento

Promedio

Tabla 6.4: Comparacin del rendimiento de los clasificadores (Iris plants).

Los resultados obtenidos mostrados en la tabla 6.4 nos permiten ver que el rendimiento para la mejor clasificacin fue para el CHAT; adems, vemos que el rendimiento

6. Disquisiciones experimentales

66

en general nunca es menor al 95 %. En cambio, para los clasificadores basados en el


algoritmo KNN, el rendimiento baj hasta el 80 %, mientras que para las variantes del
C-means se reportan rendimientos constantes.

6.3.2.

Cmc (Contraceptive method choice)

En esta base de datos el problema es determinar el mtodo anticonceptivo de una


mujer indonesia con base en el patrn que describe sus caractersticas socio-econmicas
y demogrficas.
Se realizaron nuevamente 20 pruebas de clasificacin tanto para los KNN como
para el CHAT y se plasman los resultados en este trabajo los resultados obtenidos en
la tesis de maestra sin alteracin.

30
.59

36
.32
35
.91
33
.91

32
.39
33
.89
33
.97

36
.20

37
.92

33
.21
35
.40

35

40
.91

41
.20
40
.82

41
.80

33
.36

40

39
.19
38
.35

45

44
.29

50

45
.10

Rendimiento1-KNN

Porcentaje

30
25
20
15
10
5
0
1

10 11 12 13 14 15 16 17 18 19 20
Clasificacin

Fig. 6.7: Rendimiento del 1-NN con la base de datos Cmc.

6. Disquisiciones experimentales

67

37

39

.02
38
.42

40
.2

. 17
.10
42

.14
41

.51

31

.21

34

34
.2

7
36
.57
37
.6

37

40
34
.04

.19
32

35

.66

.57

.55
42

.45
42
39

40

38

45

.43
42
.2

.74

Rendimiento3-KNN

Porcentaje

30
25
20
15
10
5
0
1

10

11

12

13

14

15

16

17

18

19

20

Clasificacin

Prueba
Fig. 6.9: Rendimiento del C-means con la base de datos Cmc.

Prom.

10

%
%
%
%
%
.00 5.99 4.47
4%
.80
.42
3
35
3
33
1.8
33
3
%
.90
21

%
.75
22

%
%
%
.80 3.80 3.42
3
33
3

100.00%
90.00%
80.00%
70.00%
60.00%
50.00%
40.00%
30.00%
20.00%
10.00%
0.00%

Eficiencia

Fig. 6.8: Rendimiento del 3-NN con la base de datos Cmc.

68

Prom.

10

6% 5%
7%
% 2%
% 40.1 40.5
4
7.4
8
.45 .8
.
3
34 34
34

%
.40
31
%
.10
22

% 89% 5%
.84 37.
.4
4
3
34

100.00%
90.00%
80.00%
70.00%
60.00%
50.00%
40.00%
30.00%
20.00%
10.00%
0.00%

Eficiencia

6. Disquisiciones experimentales

Prueba
Fig. 6.10: Rendimiento del C-means difuso con la base de datos Cmc.

100.00%
90.00%

E ficiencia

80.00%
70.00%
60.00%
50.00%

51

28
2 % 57.
0
.

.
36

40.00%

88

.
51

91

.
52

84

%
4

5.

%
22
1
.9
34

.
52
%

75

%
.
50

10

%
41

% .
9 2 47

48

30.00%
20.00%
10.00%

Prueba
Fig. 6.11: Rendimiento del C-means difuso usando funciones de disimilaridad.

Prom.

10

0.00%

6. Disquisiciones experimentales

69

RendimientodelCHM

.34

.01

55

53
. 83
57

.66

.01
55
.30
58
.86
57
.98
55
. 66

58
.48

.79
10

40

30

20

10

0
1

11

12

13

14

15

16

17

18

19

Clasificaciones

Fig. 6.12: Rendimiento del CHAT con la base de datos Cmc.


70

60

50

Porcentaje

Porcentaje

45

50

51

53

.14

54

.89
58
.05

.47

49

53

.77

57

.40

.06

57

.60
58
54

60

58

.65

70

40

30

20

10

1-NN

3-NN

C-means

C-meansdif.

C-meansDFD

CHAT

Mejorrendimiento

45.1

42.74

35.99

40.16

57.28

58.86

Peorrendimiento
Promedio

30.59
37.23

31.21
38.1

21.9
31.84

22.1
34.82

34.91
47.48

45.01
55.47

Clasificador

Mejorrendimiento

Peorrendimiento

Promedio

Tabla 6.5:Comparacin del rendimiento de los clasificadores (Cmc).

20

6. Disquisiciones experimentales

70

Los resultados obtenidos mostrados en la tabla 6.5 nos permiten ver que nuevamente el rendimiento para la mejor clasificacin fue para el CHAT; adems vemos que
el rendimiento en general nunca es menor al 45 %. En cambio, para los clasificadores
basados en el algoritmo KNN, el rendimiento baj hasta el 31 %, mientras que para
las variantes del C-means se reportan rendimientos de slo el 21 %.

6.3.3.

Credit approval database

Los patrones se agrupan en dos clases dentro de la base de datos: + y -, para fines
de poder operarar los programas que implementan los clasificadores KNN y CHAT
se ha asignado 1 a la clase + y 2 a la clase -. Cada patrn en la base de datos est
compuesto por 15 rasgos, 6 de los cuales son numricos y estos son los nicos que se
utilizaron para los clasificadores implementados, eliminando 4 rasgos booleanos y 5
nominales.
Se realizaron 20 pruebas de clasificacin en el caso del 1-NN, 3-NN y CHAT,
dejando de forma inalterada los resultados obtenidos para el C-means, C-means difuso
y C-means usando funciones de disimilaridad.
Rendimiento1-KNN

66
. 39
. 57
52

58
.47

.70

44

47

49

.90

62

. 25

.47
65
.0

.76
59
. 36

. 97
58
45

50

66

. 37
61
.77
65
. 67

.74
50

.28

60

Porcentaje

65

61

57

.25
59
.9

.95

66

70

.79

80

40
30
20
10
0
1

10

11

12

13

14

15

16

Clasificacin

Fig. 6.13: Rendimiento del 1-NN con la base de datos Credit.

17

18

19

20

6. Disquisiciones experimentales

71

55
.11
61
.36

60
.86
60
.13

49
.00

61
.00
38
.47
37
.33

45
.93

50
.14

50
Porcentaje

51
.27
53
.55

54
.41

60
.32

60

63
.80

70

58
.85
61
.61
57
.03
61
.52
55
.81

Rendimiento3-KNN

40

30

20

10

10 11 12 13 14 15 16 17 18 19 20

Clasificacin

Fig. 6.14: Rendimiento del 3-NN con la base de datos Credit.

100.00%

Eficiencia

80.00%
60.00%

.8
50

1%

%
1% .81% .81% .81% .81% .81% .81% .81%
.81
1% 50.8
8
50
50
50
50
50
50
50
50
.
50

40.00%
20.00%

Prueba

Fig. 6.15: Rendimiento del C-means con la base de datos Credit.

Prom.

10

0.00%

6. Disquisiciones experimentales

72

Eficiencia

100.00%
80.00%
60.00%

% 5%
%
%
%
%
% 5%
% 7%
.65 0.65 .65% 0.65 0.81 50.6
.65 0.65 50.6 0.65 50.6
0
0
5
5
5
5
5
5
5
50

40.00%
20.00%
Prom.

10

0.00%

Prueba

Fig. 6.16: Rendimiento del C-means difuso con la base de datos Credit.

100.00%

Eficiencia

80.00%
60.00%
40.00%

%
%
%
%
6%
6%
1%
7% 37% .46
7%
7%
46 .37
.4
.4
37
3
.
.
.
.3
.3 40.2
.
1
1
1
1
9
9
9
9
9
9
4
4
4
4
3
3
3
3
3
3

20.00%

Prueba
Fig. 6.17: Rendimiento del C-means difuso usando funciones de disimilaridad.

Prom.

10

0.00%

6. Disquisiciones experimentales

73

.40
61
.17
61
.53
61
.17
61
.56
61
.53
61
.33
61
.53
61
.53
61
.17
61
.17
61
.2 0

61

70

61
.53
61
.56
61
.07
61
.17
61
.56
61
.17

RendimientodelCHM

60

38
.83

38
.44

40

30

20

10

0
1

10

11

12

13

14

15

16

17

18

19

Clasificaciones

Fig. 6.18: Rendimiento del CHAT con la base de datos Credit.


80

70

60

50

Porcentaje

Porcentaje

50

40

30

20

10

Mejorrendimiento
Peorrendimiento
Promedio

1-NN

3-NN

C-means

C-meansdif.

C-meansDFD

66.79

63.8

50.81

50.65

41.46

61.58

44.47
58.33

37.33
54.88

50.81
50.81

50.65
50.67

39.37
40.21

38.44
59.08

Clasificador

Mejorrendimiento

Peorrendimiento

Promedio

Tabla 6.6: Comparacin del rendimiento de los clasificadores (Credit).

CHAT

20

6. Disquisiciones experimentales

74

Para esta base de datos el mejor resultado fue para el 1-NN con el 66.79 %, seguido
por el 3-NN. El clasificador CHAT se mantiene muy cerca de estos dos clasificadores
y es muy superior a las variantes de C-means. Pero como se observa en las grficas, el
rendimiento del CHAT en casi constante para todas las clasificaciones.

6.3.4.

Wine recognition data

Esta base de datos se est volviendo clsica en la prueba de clasificadores en el


mundo, que muchos de los investigadores la utilizan para mostrar los rendimientos
de diferentes clasificadores. Los patrones estn agrupados en 3 clases y el objetivo es
determinar a cul de las tres clases pertenece un patrn que representa un tipo de vino.
En esta prueba de comparacin no se elaboraron las pruebas para los clasificadores
C-means y C-means difuso, por lo que no se presentarn estos resultados.

60

.92
72
.53
73
.31

.11

66
. 08
71

.63

72

74
.50

62

67
.93
67
.98
68
. 83
75

56
.49

70

69
. 62
73
.26
69
.96
69
.13

80

.49
70
. 21
68
.88
66
.34
73
.85

Rendimiento1-KNN

Porcentaje

50
40
30
20
10
0
1

10

11

12

13

14

15

16

Clasificacin

Fig. 6.19: Rendimiento del 1-NN con la base de datos Wine.

17

18

19

20

6. Disquisiciones experimentales

75

17

18

55
9

80
59.

55.
59

83
57.

59.
8

50

66.
4

73.

9
73.
29
73.
24

69.
3

73.

93
74.
8

3
69.
0
8
47.
83

60

Porcentaje

72.

72
74.
37
73.
93
73.
24
60.
8

70

68.
68
72.

80

68

Rendimiento3_KNN

40
30
20
10
0
1

10

11

12

13

14

15

16

19

20

Clasificacin

Fig. 6.20: Rendimiento del 3-NN con la base de datos Wine.

120.00%

Eficiencia

100.00%

%
%
%
96
% .96
%
.96
6% 8%
% 96.
% 51%
.26 96
.26
96
1
%
7
2
2
2.2 91.8
5
7
8
.
.
9
9
9
.
2
.
88
88
87
86

80.00%
60.00%
40.00%
20.00%

Prueba
Fig. 6.21: Rendimiento del C-means difuso usando funciones de disimilaridad.

Prom.

10

0.00%

6. Disquisiciones experimentales

76

96
.48
96
.48
96
.48
96
.82

94
.30
93
.95

94
.37

93
.48
93
.48

94
.11

95

92
.04

93
92
91
90
89
1

10

11

12

13

14

15

16

17

18

19

Clasificaciones

Fig. 6.22: Rendimiento del CHAT con la base de datos Wine.

110

100

90

80

Porcentaje

Porcentaje

94
.31
95
.15

94
.86

96

96
.48
96
.48
96
.48

96
.48

97

94

96
.82

98

97
.1

RendimientodelCHM

70

60

50

40

30

20

Mejorrendimiento
Peorrendimiento
Promedio

1-NN

3-NN

C-meansDFD

CHAT

75.49
58.49

74.81
47.83

96.96
86.27

97.17
92.04

69.55

67.55

91.88

95.31

Clasificador

Mejorrendimiento

Peorrendimiento

Promedio

Tabla 6.7: Comparacin del rendimiento de los clasificadores (Wine).

20

6. Disquisiciones experimentales

77

En esta ltima base de datos el clasificador CHAT muestra un rendimiento muy


superior a los KNN y vuelve a superar a la variante del clasificador C-means.

Captulo 7

Conclusiones y trabajo futuro


En este captulo se presentan las conclusiones obtenidas de los resultados del presente trabajo de tesis, una vez desarrolladas las ideas que inicialmente se propusieron a
lo largo de los captulos anteriores, plasmando de manera puntual el cumplimiento de
los objetivos propuestos. Conjuntamente con las conclusiones, daremos algunas de las
posibles tareas que se podrn desarrollar para el cabal entendimiento de lo que aqu se
establece, dando la pauta a futuros investigadores sobre los puntos no cubiertos, pero
que pudiesen ser abordados de forma inmediata.

7.1.

Conclusiones

1. Los experimentos sugieren que las memorias asociativas, combinadas adecuadamente, pueden funcionar como clasificadores de patrones, no solamente en casos
raros o aislados, sino en la clasificacin de patrones contenidos en bases de datos
pblicas, probadas reiteradamente con mtodos de clasificacin reconocidos. La
eficiencia que presentan los clasificadores asociativos se encuentra a la altura de
los clasificadores ms longevos, estudiados y probados que existen actualmente
basados en otros tipos de enfoque.
2. En este trabajo se da a conocer un producto original basado en el paradigma de
memorias asociativas.
3. Con este nuevo producto original, denominado CHAT, Clasificador Hbrido
Asociativo con Traslacin, se agrega un nuevo clasificador, dentro del rea
del reconocimiento de patrones.
4. Se inicia con este trabajo un nuevo enfoque en la clasificacin de patrones: el
enfoque asociativo.
5. Los resultados experimentales dan evidencia de la utilidad prctica del CHAT
en procesos de clasificacin.
6. El CHAT, a travs de los resultados experimentales, presenta un rendimiento semejante al de otros clasificadores y en la mayora de los casos superior a
78

7. Conclusiones y trabajo futuro

79

los reportados o probados en el presente trabajo. De esta forma, ponemos a la


disposicin de la investigacin nacional e internacional un producto til para
problemas de clasificacin.
7. Se superan las mayores desventajas de los dos modelos de memorias asociativas
en los que se basa el CHAT; por una parte, la imposibilidad de la Lernmatrix
de aceptar valores reales, y por otra, la fuerte restriccin de ortonormalidad de
los patrones de entrada que se debe cumplir en el Linear Associator.
8. La sencillez del algoritmo con el cual se llevan a cabo las dos etapas que conforman al CHAT, tiene repercusiones directas en su complejidad computacional y
tiempo de respuesta.
9. Los resultados experimentales sugieren que con un conjunto fundamental relativamente reducido, el CHAT puede generalizar de forma adecuada para llevar a
cabo su tarea de clasificacin, y esto nuevamente contribuye a un menor costo
computacional.

7.2.

Trabajo futuro

Es esta seccin presentaremos ideas tentativas que pueden ser atacadas de manera
directa a fin de contribuir al desarrollo del CHAT y del nuevo enfoque asociativo para
clasificacin de patrones. Se explica brevemente cada idea, y se incluyen una o varias
referencias bibliogrficas que le permitirn al investigador interesado, introducirse en
el tema.
1. Encontrar la base terica en la cual se sustenta el buen funcionamiento del
CHAT (Duda, Hart, & Stork, 2001; Gill, Murray & Wright, 1989; Grimaldi,
1998; Grossman, 1996).
2. Hacer un estudio comparativo ms amplio del CHAT con otros clasificadores
basados en diferentes enfoques ( Abe, 2001; ar
unas, 2001; Shalko, 1992;).
3. Experimentar el CHAT en combinacin con otros clasificadores, ya sea recibiendo los resultados de otros o iniciando el proceso de clasificacin (Acharya &
et. al., 2003; Kittler & Alkoot, 2003; Kuncheva, 2002; Lu & Tan, 2002; Murua,
2002; Nicola, Masulli & Sperduti, 2002).
4. Realizar trabajos que busquen optimizar el algoritmo propuesto (Bandyopadhyay
& Maulik, 2002; Demeniconi, Peng & Gunopulos, 2002; Ho, Liu, & Liu, 2002;
Huang, & et. al., 2002; Rueda & Oommen, 2002; Wu, Ianekiev & Govindaraju,
2002).
5. Investigar sobre la combinacin del CHAT con alguna o algunas memorias asociativas recientes o pasadas (Daz-de-Len & Yez 1999; Ritter, Diaz-de-Leon
& Sussner, 1999; Ritter, Sussner, & Diaz-de-Leon, 1998; Yez-Mrquez, 2002;
Yez-Mrquez & Diaz de Len, 2001a; Yez-Mrquez & Diaz de Len, 2001b).

7. Conclusiones y trabajo futuro

80

6. Probar exhaustivamente el CHAT con ms bases de datos y comparar los resultados con otros clasificadores (Ayaquica-Martnez, 2002; Kuncheva, 2000; Marqus de S, 2001).
7. Llevar a cabo experimentos en los que el CHAT acepte patrones con rasgos no
numricos.

Apndice A

Simbologa

memorias
,
M
W
mij
B

x
y
A
(x, y)
(xk , yk )
{(x , y ) | = 1, 2, ..., p}
ek
x
xj
(x )t
n
m
p
mW
ij
V

ij
5
4

memorias asociativas
operadores originales en que se basan las memorias
memoria asociativa, memoria asociativa morfolgica max
memoria asociativa morfolgica min
ij-sima componente de la memoria asociativa M
conjunto al que pertenecen las componentes mij
pertenencia de un elemento a un conjunto
vector columna que corresponde a un patrn de entrada
vector columna que corresponde a un patrn de salida
conjunto al que pertenecen las componentes de x y y
asociacin de un patrn de entrada con uno de salida
asociacin de la k-sima pareja de patrones
conjunto fundamental
versin alterada del patrn fundamental xk
j-sima componente de un vector columna x
transpuesto del vector x
dimensin de los patrones de entrada
dimensin de los patrones de salida
nmero de parejas del conjunto fundamental
incremento en mij
operador mximo
operador mnimo
producto usual entre vectores o matrices
producto cruz (entre conjuntos)
delta de Kronecker (afecta a los ndices i y j)
producto mximo (entre matrices)
producto mnimo (entre matrices)

81

A. Simbologa
(x, y)
(x, y)
P = [pij ]mr

d
d
e
e

82
operacin binaria con argumentos x y y
operacin binaria con argumentos x y y
matriz P de dimensiones m r y componente ij-sima pij
cuantificador universal
cuantificador existencial
operador max
operador max
operador min
operador min
smbolo que representa a las dos operaciones d y e
memorias tipo V
memorias tipo
operacin para calcular la distancia de Hamming
operacin lgica or exclusiva

Apndice B

CHAT 1.0, manual de uso


En este apndice se presenta el procedimiento de operacin del programa que
implementa el CHAT. El algoritmo fue desarrollado en el compilador visual C++
Builder 5 de Borland, bajo la plataforma Windows 2000 de Microsoft.
El programa se inicia con la ejecucin del archivo ClasificadorH.exe. Al iniciar su
ejecucin el programa presenta la ventana de inicio, representada en la figura 1.

Figura 1: Presentacin
Dentro de esta ventana slo se aprecia una opcin; este comando despliega dos
opciones, donde la primera configura y opera el CHAT de forma manual, lo cual
quiere decir que se opera con un conjunto fundamental definido previamente y que
deber ser obtenido de un archivo secuencial. La segunda opcin configura y opera
el CHAT para utilizar un conjunto fundamental escogido de forma aleatoria en cada
clasificacin. Esto se muestra en la figura 2.

Figura 2.
83

B. CHAT 1.0, manual de uso

B.0.1.

84

Forma manual.

Al iniciar el programa en forma manual, la ventana de la figura 3 se muestra en


la pantalla. Existen tres botones: configuracin, aprendizaje, y recuperacin y clasificacin; con el primer botn se muestra una ventana con la que podemos configurar
el CHAT, mientras que el botn .A prendizaje y recuperacin"nos permite utilizar el
conjunto fundamental cargado en la configuracin, generar la memoria del CHAT y
probar el rendimiento del CHAT al tratar de recuperar el conjunto fundamental. Con
el botn lasificacin", podemos someter toda la base de datos al proceso de clasificacin y obtener as mismo el rendimiento obtenido por el CHAT. Los rendimientos
sern mostrados en las barras "Edit1 2"Edit2".
.

Figura 3
Al ingresar a la ventana de configuracin debemos indicarle al programa, la ubicacin de los archivos secuenciales que contendrn al conjunto fundamental y a la base
de datos a clasificar; adems de ingresar la ruta de los archivos, tenemos qu determinar tres parmetros, los cuales tienen una etiqueta que indica el tipo de variable. La
ventana de configuracin se muestra en la figura 4.

B. CHAT 1.0, manual de uso

85

Figura 4
Para poder indicar la ruta de los archivos basta con aplicar el botn adjunto a cada
barra, lo que hace que se muestre una ventana donde podemos buscar la direccin
donde se ubican los archivos secuenciales, figura 5.

Figura 5
Una vez ubicada la ruta de cada uno de los archivos secuenciales, sta es presentada
dentro de las barras, como se muestra en la figura 6.

B. CHAT 1.0, manual de uso

86

Figura 6
Ya obtenida la ruta de los archivos se procede a configurar los parmetros propios
del CHAT. En la figura 6 vemos descritas las diferentes variables a ingresar.
Dependiendo de las caractersticas de la base de datos a clasificar los datos pueden
variar. Este programa puede configurar el CHAT para recibir n clases; los patrones
pueden tener cualquier dimensin, y la variable para los patrones en la fase de aprendizaje tomar de forma equitativa el nmero de patrones para cada clase. Las variables
pueden quedar configuradas como se muestra en la figura 7.

Figura 7

B. CHAT 1.0, manual de uso

87

El botn Aplicar carga todos los parmetros en el programa, se procede a cerrar la


ventana mediante el botn as designado y se regresa a la ventana de la figura 3, en la
cual podremos ya aplicar los botones Aprendizaje y recuperacin y Clasificacin. Para
cambiar el conjunto fundamental o la base de datos, es necesario cerrar la ventana de
la figura 3, lo que nos regresar a la ventana principal, volviendo a iniciar el proceso
de forma manual.

B.0.2.

Forma automtica.

Esta opcin se distingue de la manual porque no necesita que se le proporcione un


conjunto fundamental especfico, el programa elige un conjunto de manera aleatoria.
Al ingresar a esta opcin se muestra la ventana de configuracin y operacin, figura 8.

Figura 8
Aqu podemos observar los diferentes parmetros necesarios para la operacin del
programa; para poder ingresar la ruta como la mostrada en la figura 8 basta con aplicar
el botn adjunto a la barra, este botn hace mostrar la ventana de bsqueda de ruta,
figura 5. Las dems variables se ingresan de forma manual o a travs de los botones
adjuntos a cada barra.
Terminado el proceso de ingreso de variables, al hacer clic en el botn Aplicar,
el programa realiza el nmero de clasificaciones asignadas con diferentes conjuntos
fundamentales aleatorios.
Si se desea realizar una nueva serie de clasificaciones, se procede a cerrar la ventana,
regresando a la ventana principal e iniciar el proceso nuevamente.

Apndice C

KNN 1.0, manual de uso


En este apndice se muestra el uso del programa diseado para implementar el
clasificador KNN, el cual forma parte de las disquisiciones experimenteles y es til
para realizar el estudio comparativo. Este clasificador fue implementado en C++ a
travs del compilador C++ Builder 5 de Borland, bajo la plataforma Windows 2000
de Microsoft.
El programa se inicia mediante la ejecucin del archivo knn.exe; el programa presenta la ventana de inicio, representada en la figura 1.

Figura 1.
Dentro de la ventana de la figura 1 se observan dos botones; el botn Aplicar abre
una ventana con la cual podremos configurar las distintas variables y rutas que usar
el clasificador implementado para clasificar, como lo muestra la figura 2.

88

C. KNN 1.0, manual de uso

89

Figura 2.
La ventana de la figura 2 nos permite ingresar todos los parmetros necesarios para
la clasificacin mediante el KNN. Para ingresar la ruta del archivo que contiene la base
de datos, basta con hacer clic en el botn adjunto a la barra Edit1; este botn har
que se muestre la ventana de bsqueda de ruta, la cual nos permitir viajar a travs
de los diferentes directorios. La ventana se muestra en la figura 3.

Figura 3.
Ya ubicado el archivo, se selecciona y se hace clic en el botn Aceptar ; este botn
coloca la ruta del archivo en la barra Edit1 y nos regresa a la ventana de configuracin,
la cual ya muestra la ruta en la barra, figura 4.

C. KNN 1.0, manual de uso

90

Figura 4.
El siguiente paso es colocar todos los parmetros en sus diferentes casillas. El programa recibe un factor K que puede estar entre 1 y 100, igual rango para el nmero de
clases, dimensin del patrn, patrones de entrenamiento y clasificaciones. Un ejemplo
se muestra en la figura 5.

Figura 5.
La clasificacin se realiza mediante el botn as designado, y el programa procede a
mostrar para este ejemplo la ventana con los resultados de la clasificacin; en la figura
6 se muestra la ventana de porcentaje para la configuracin anterior al clasificar la
clase 1 de la base de datos Iris plant.

C. KNN 1.0, manual de uso

91

Figura 6
Finalmente, el resultado de la mejor clasificacin y el conjunto de patrones prototipos con los cuales se logr este porcentaje, son mostrados en las barras de la ventana
de configuracin, figura 7.

Figura 7.

Bibliografa
[1] Abe, S. (2001). Pattern classification, Neuro-Fussy Methods and their Comparison, Grat Britain: Springer-Verlag.
[2] Acharya, U. R. & et. al. (2003). Classification of Herat rate data using artificial
neural network and fuzzy equivalence relation, Pattern Recognition, 36 (2003),
61-81.
[3] Ammeraal, L. (1997). STL for C++ programmers, USA: John Wiley & Sons.
[4] Amari, S. (1977). Neural theory of association and concept-formation, Biological
Cybernetics, 26, 175-185.
[5] Anderson, J. A. (1972). A simple neural network generating an interactive memory, Mathematical Biosciences, 14, 197-220.
[6] Anderson, J. A. & Rosenfeld, E. (Eds.) (1990). Neurocomputing: Fundations of
Research, Cambridge: MIT Press.
[7] Anderson, J. A., Silverstein, J., Ritz, S. & Jones, R. (1977). Distinctive features,
categorical perception, and probability learning: some applications of a neural
model, Psichological Review, 84, 413-451.
[8] Anderson, J. R. & Bower, G. (1977). Memoria Asociativa, Mxico: Limusa.
[9] Ayaquica-Martnez, I. O. (2002). Algoritmo C-means usando funciones de disimilarida, Tesis de maestra, CIC-IPN, Mxico.
[10] Bandyopadhyay, S. & Maulik, U. (2002). Ecient prototy reordering in nearest
neighbor classifation, Pattern Recognition, 35 (2002), 2791-2799.
[11] Daconta, C. M. (1995). C++ pointers andDynamic memory manayement, USA:
John Wiley & Sons.
[12] Dasarathy, B. V. (1991). Nearest Neighbor (NN) Norms: NN pattern Classification
Techniques, USA:IEEE Computer Society Pres
[13] Demeniconi, C., Peng J. & Gunopulos, D. (2002). Locally Adaptive Metric
Nearest-Neighbor Classification, IEEE Transations on Pattern Anlisis and Machine Intellegence, vol. 24, no. 9,1281-1285.

92

BIBLIOGRAFA

93

[14] Daz-de-Len, J. L. & Yez, C. (1999). Memorias asociativas con respuesta perfecta y capacidad infinita, Memoria del TAINA99, Mxico, D.F., 23-38.
[15] Daz-de-Len, J. L., Yez-Mrquez, C. & Snchez-Garfias, F. A. (2003a), Reconocimiento de patrones. Enfoque probabilstico-estadstico, IT 83, Serie Verde,
CIC-IPN, Mxico.
[16] Daz-de-Len, J. L., Yez-Mrquez, C. & Snchez-Garfias, F. A. (2003b), Clasificador euclideano de patrones, IT 80, Serie Verde, CIC-IPN, Mxico.
[17] Dietel, H. M. & Dietel, P. J. (1999). Como programar en C++, Mxico: Pearson.
[18] Duda, R. O., Hart, P. E. & Stork, D. G. (2001). Pattern Classification, USA: John
Wiley & Sons.
[19] Eckel, B: (1995). Thinking in C++, USA: Prentice Hall.
[20] Fisher, R. A., (1936). The use of multiple measurements in taxonomic problems,
Anual Eugenics, 7, Part II, 179-188.
[21] Friedman, M. & Kandel, A. (2000). Introduction to Pattern Recognition (Statistical, Structural, Neural and Fuzzy logic Approaches), Singapore, World Scientific.
[22] Forina, M. et al, (1991), An extendible Package for Data Exploration, Classification and Correlation. Institute of Pharmaceutical and Food Analisys and Technologies, Via Brigata Salerno, 16147 Genoa, Italy.
[23] Gill, P. E., Murray, W. & Wright, M. H. (1989). Numerical Linear Algebra and
Optimization, vol. 1, USA: Adisson Wesley.
[24] Gonzlez, R. C. & Woods, R. E. (2001). Digital Image Processing,USA: Prentice
Hall.
[25] Grimaldi, R. P. (1998). Matemticas discreta y combinatoria, Mxico: Addison
Wesley.
[26] Grossman, S. I. (1996). Algebra lineal, Mxico: McGraw-Hill.
[27] Haykin, S. (1999). Neural Networks, A Comprehensive Foundation, USA: Prentice
Hall.
[28] Haralick, R. M., Sternberg, S. R. & Zhuang, X. (1987). Image analysis using
mathematical morphology, IEEE Transactions on Pattern Analysis and Machine
Intelligence, PAMI-9, 4, 532-550.
[29] Hassoun, M. H. (Ed.) (1993). Associative Neural Memories, New York: Oxford
University Press.
[30] Hassoun, M. H. (1995). Fundamentals of Artificial Neural Networks, Cambridge:
MIT Press.

BIBLIOGRAFA

94

[31] Ho, S. Y., Liu, C. C. & Liu, S. (2002). Disign of an optimal nearest neighbor
classifier using an intelligent genetic algorithm, Pattern Recognition Letters, 23
(2002), 1495-1503.
[32] Hopfield, J.J. (1982). Neural networks and physical systems with emergent collective computational abilities, Proceedings of the National Academy of Sciences,
79, 2554-2558.
[33] Hopfield, J.J. (1984). Neurons with graded respose have collective computational
properties like those of two-state neurons, Proceedings of the National Academy
of Sciences, 81, 3088-3092.
[34] Huang, Y. S., & et. al. (2002). Prototype optimization for nearest-neighbor classification, Pattern Recognition, 35 (2002), 1237-1245.
[35] Kittler, J. & Alkoot, F.M. (2003). Sum vesus Vote Fusion in Multiple Classifier
Systems, IEEE Transations on Pattern Anlisis and Machine Intellegence, vol.
25, no. 1, 110-115.
[36] Kishan, M., Chilukuri, K. M. & Sanjay, R. (1997). Elements of Artificial Neural
Networks, USA: MIT Press.
[37] Kohonen, T. (1972). Correlation matrix memories, IEEE Transactions on Computers, C-21, 4, 353-359.
[38] Kohonen, T. (1974). An adaptive associative memory principle, IEEE Transactions on Computers, C-24, 4, 444-445.
[39] Kohonen, T. (1987). Content-Addressable Memories, Berlin: Springer-Verlag.
[40] Kohonen, T. (1989). Self-Organization and Associative Memory, Berlin: SpringerVerlag.
[41] Kohonen, T. (1997). Self-Organizing Maps, Berlin: Springer.
[42] Kohonen, T. & Ruohonen, M. (1973). Representation of associated data by matrix
operators, IEEE Transactions on Computers, C-22, 701-702.
[43] Kuncheva, L. I. (2000). Fuzzy Classifier Design, Germany: Physica-Verlag.
[44] Kuncheva, L. I. (2002). A theoritical Study on Six Classifier Fusion Strategies,
IEEE Transations on Pattern Anlisis and Machine Intellegence, vol. 24, no. 2,
281-286.
[45] Lang, S. (1976). Algebra lineal, Mxico: Fondo Educativo Interamericano.
[46] Leithold, L. (1994). Matemticas previas al clculo, Mxico: Harla.
[47] Lewis, R. H. & Papadimitriou, C. H. (1998). Element of the theory of compatation,
USA: Prentice-Hall.

BIBLIOGRAFA

95

[48] Lu, Y. & Tan, C. L. (2002). Combination of mltiple classifiers using probabilistic
dictionary and its application to pastcode recognition, Pattern Recognition, 35
(2002), 2823-2832.
[49] Marqus de S, J. P. (2001). Pattern Recognition, Concepts, Methods and Application, Germany: Springer.
[50] McCulloch, W. & Pitts, W. (1943). A logical calculus of the ideas immanent in
nervous activity, Bulletin of Mathematical Biophysics, 5, 115-133.
[51] McEliece, R., Posner, E., Rodemich, E. & Venkatesh, S. (1987). The capacity
of the Hopfield associative memory, IEEE Transactions on Information Theory,
IT-33, 4, 461-482.
[52] Minsky, M. & Papert, S. (1969). Perceptrons, Cambridge: MIT Press.
[53] Murua, A. (2002). Upper Bounds for Error Rates of Linear Combinations of Classifiers, IEEE Transations on Pattern Anlisis and Machine Intellegence, vol. 24,
no. 5, 591-602.
[54] Nakano, K. (1972). Associatron-A model of associative memory, IEEE Transactions on Systems, Man, and Cybernetics, SMC-2, 3, 380-388.
[55] Nicola, G., Masulli, F. & Sperduti, A. (2002). Theorical and experimental anlisis
of a two-stage system for classification, IEEE Transations on Pattern Anlisis and
Machine Intellegence, vol 24, no. 7, 893-904.
[56] Pal, S. (1999). Neuro - Fuzzy, Pattern Recognition: Methods in Soft Computing,
USA: John Wiley & Sons.
[57] Palm, G., Schwenker, F., Sommer F. T. & Strey, A. (1997). Neural associative
memories, In A. Krikelis & C. C. Weems (Eds.), Associative Processing and Processors, (pp. 307-326). Los Alamitos: IEEE Computer Society.
[58] Pandya, A. S. (1996). Pattern recognition with neural networks in C++, Great
Britain: Springer-Verlag.
[59] Rosenblatt, F. (1958). The Perceptron: A probabilistic model for information
storage and organization in the brain, Psychological Review, vol. 65, 386-408.
[60] Pitas, I. (2000). Digital Image Processing Algorithms and Applications, J. Wiley
Sons, Inc.
[61] Ritter, G. X., Sussner, P. & Diaz-de-Leon, J. L. (1998). Morphological associative
memories, IEEE Transactions on Neural Networks, 9, 281-293.
[62] Ritter, G. X., Diaz-de-Leon, J. L. & Sussner, P. (1999). Morphological bidirectional associative memories, Neural Networks, 12, 851-867.
[63] Rueda, L. & Oommen, B. J. (2002). On optimal pairwise linear classifiers for normal distributions the two-dimensional case, IEEE Transations on Pattern Anlisis
and Machine Intellegence, vol. 24, no. 2, 274-273 .

BIBLIOGRAFA

96

[64] Snchez-Garfias, F. A., Daz-de-Len, J. L. & Yez, C. (2003), Reconocimiento


automtico de patrones. Conceptos bsicos, IT 79, Serie Verde, CIC-IPN, Mxico
[65] Santiago-Montero, R., Yez-Mrquez, C. & Diaz de Len, J. L (2002). Clasificador hbrido de patrones basado en la Lenmarix de Steinbuch y el Linear Associator de Anderson-Kohonen, Research on computing science, Reconocimiento de
patrones, avances y perspectivas, 449-460. Mxico: CIC-IPN.
[66] ar
unas, R. (2001). Statistical and Neural Classifiers, An integrated Approach to
disign, England: MIT Press.
[67] Schrmann, J. (1996). Pattern classification, A unified view of statistical and
neural approaches, USA: John Wiley.
[68] Seed, G. (1996). An Introduction to object-oriented programming in C++, Great
Britain: Springer-Verlag.
[69] Serra, J. (1992). Image Analysis and Mathematical Morphology, Volume 2: Theoretical Advances, London: Academic Press.
[70] Shalko, R. (1992). Pattern recognition, Statical, Structural and Neural Approaches, USA: John Wiley.
[71] Sonka, M., Vaclav, H. & Boyle, R. (1999). Imagen Processing, Analysis and Machine Vision, USA: ITP.
[72] Steinbuch, K. (1961). Die Lernmatrix, Kybernetik, 1, 1, 36-45.
[73] Steinbuch, K. & Frank, H. (1961). Nichtdigitale Lernmatrizen als Perzeptoren,
Kybernetik, 1, 3, 117-124.
[74] Webb, A. (1999). Statical Pattern Recognition, USA: Oxford University Press.
[75] Wu, Y., Ianekiev, K. & Govindaraju, V. (2002). Improved k-nearest neighbor
classification, Pattern Recognition, 35 (2002), 2311-2318.
[76] Yez-Mrquez, C. & Diaz de Len, J. L. (2001a). Lernmatrix de Steinbuch, IT
48, Serie Verde, CIC-IPN, Mxico.
[77] Yez-Mrquez, C. & Diaz de Len, J. L. (2001b). Linear Associator de AndersonKohonen, IT 50, Serie Verde, CIC-IPN, Mxico.
[78] Yez-Mrquez, C. & Diaz de Len, J. L. (2001c). Memoria Asociativa Hopfield,
IT 52, Serie Verde, CIC-IPN, Mxico.
[79] Yez-Mrquez, C. & Diaz de Len, J. L. & Snchez-Garfias, F. A. (2003), Reconocimiento de patrones. Enfoque sintctico-estructural, IT 84, Serie Verde, CICIPN, Mxico.
[80] Yez-Mrquez, C. (2002). Memorias Asociativas Basadas en Relaciones de Orden y Operadores Binarios, Tesis doctoral, CIC-IPN, Mxico.