Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2003 CIC MAESTRIA Santiago Montero PDF
2003 CIC MAESTRIA Santiago Montero PDF
T E S I S
presenta
Al pueblo de México
Al Instituto Politécnico Nacional
Al Centro de Investigación en Computación
Dedicatoria
A Lucia, Fernanda y Rodrigo.
A mi madre.
En memoria de mi padre.
v
Índice
Resumen .................................................................................................................................
Abstract...................................................................................................................................
Glosario ..................................................................................................................................
Índice de tablas y figuras .........................................................................................................
1 Introducción................................................................................................................1
1.1. Objetivo.................................................................................................................1
1.2. Motivación ............................................................................................................2
1.3. Planteamiento del problema ...................................................................................3
1.4. Contribuciones.......................................................................................................4
1.5. Organización de la tesis .........................................................................................4
2 Antecedentes ...............................................................................................................6
2.1 Memorias asociativas..............................................................................................6
2.1.1. Conceptos básicos 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 básicos del reconocimiento de patrones ................................... 16
2.2.2. Clasificación de patrones..........................................................................17
2.2.3. Clasificadores de mínima distancia........................................................... 19
2.2.4. Enfoque neuronal .....................................................................................23
2.2.5. Enfoque probabilístico-estadístico ............................................................27
2.2.6. Enfoque sintáctico-estructural .................................................................. 29
2.2.7. Génesis del enfoque asociativo para clasificación de patrones .................. 35
3 Estado del arte .......................................................................................................... 37
4 Herramientas matemáticas ...................................................................................... 39
4.1. Sumatorias........................................................................................................... 39
4.2. Operador máximo ................................................................................................ 40
4.3. Operaciones matriciales ....................................................................................... 40
4.4. Vectores n-dimensionales ....................................................................................41
vi
El CHAT puede rivalizar con los clasificadores más utilizados en las tareas de
discriminación de patrones; además, cuenta con características deseables en un
clasificador, como son: eficacia, bajo costo computacional y baja dependencia de
factores heurísticos. 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 investigación 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 it’s 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
(Marqués de Sá, 2001; Schürmann, 1996).
Patrones abstractos: son representaciones de conceptos.
Patrones concretos: son representaciones de objetos con una manifestación física.
Patrones: son representaciones abstractas de un objeto en el mundo físico . Los cuales
exhiben cierta regularidad en una colección de observaciones conectadas en el
tiempo, en el espacio o en ambas, y que pueden servir como modelo (Schürmann,
1996).
Rasgos o características: primitivas o atributos obtenidas de los objetos a través de una
serie de observaciones, las cuales son susceptibles de ser trasladadas a una medida o
cualidad (Schürmann, 1996).
Reconocimiento de patrones: Es la rama científica se encarga de emular la habilidad
humana de reconocer objetos, mediante técnicas y métodos que sean implementados
en máquinas desarrolladas y construidas para este fin (Duda, Hart & Stork 2001;
Marqués 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 variación. 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 características: Es la organización de rasgos en un vector
columna; que podrán contener valores cualitativos, cuantitativos o ambos (Duda,
Hart & Stork 2001; Kuncheva, 2002; Schürmann, 1996).
Índice de tablas y figuras
Fig. 2.1 Tipos de características ...................................................................................... 16
Fig. 2.2 Mapeo en una representación abstracta de generación / clasificación de patrones.17
Fig. 2.3 Modelo canónico de un clasificador. ..................................................................18
Fig. 2.4 Representación del perceptron ...........................................................................24
Fig. 2.5 Asignación de símbolos .....................................................................................35
Fig. 2.6 Autómata resultante ...........................................................................................35
Fig. 4.1 Gráfica de la ecuación y=3x-2...........................................................................44
Fig. 4.2 Gráfica de (x-2)²+(y+2)²=25 ..............................................................................44
Fig. 4.3 Gráfica de x²+y²=25...........................................................................................45
Fig. 4.4 Gráfica de los puntos X y Z................................................................................ 45
Fig. 4.5 Representación de X' y Z'...................................................................................46
Tabla 6.1 Descripción de rasgos (Iris plants) ..................................................................... 62
Tabla 6.2 Descripción de rasgos (Wine recognition data)................................................... 63
Tabla 6.3 Descripción 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 Comparación 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 Comparación 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 Comparación 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 Comparación del rendimiento de los clasificadores (Wine) ................................ 80
Capítulo 1
Introducción
En este trabajo de tesis se muestra que las memorias asociativas son útiles en las
tareas de clasificación de patrones; además, a partir del resultado principal de la tesis,
que consiste en la creación de un nuevo algoritmo para clasificar patrones, el CHAT
(Clasificador Híbrido Asociativo con Traslación), se establece el nacimiento del
nuevo enfoque asociativo para clasificacón de patrones, el cual promete convertirse en
un campo fructífero 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 más utilizados en las tareas de
discriminación de patrones; además, cuenta con características deseables en un clasi-
ficador, como son: eficacia, bajo costo computacional y no dependencia determinante
de factores heurísticos. 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 investigación nacional e
internacional.
1.1. Objetivo
Crear un nuevo algoritmo para la clasificación de patrones en el dominio real,
eficiente y de baja complejidad computacional, basado en la combinación de modelos
conocidos de memorias asociativas. Agregar, con este algoritmo, un nuevo enfoque
en la clasificación de patrones: el asociativo. Mostrar la utilidad práctica del enfoque
asociativo, a través de la aplicación del nuevo algoritmo en procesos de clasificación en
diferentes bases de datos públicas y hacer un estudio experimental comparativo entre
el nuevo algoritmo y otros algoritmos ya establecidos en la clasificación de patrones,
basados en otros enfoques.
1
1. Introducción 2
1.2. Motivación
El reconocer objetos es una tarea cotidiana y automática que realiza la especie
humana. Esta habilidad que ha desarrollado el ser humano le ha servido, en su evolu-
ción, 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.
Durante varias décadas, han aparecido diversos enfoques o metodologías, que son
susceptibles de implementarse en máquinas, para simular la habilidad humana de re-
conocer objetos. Se han creado diferentes algoritmos, denominados clasificadores, que
resuelven el problema de forma parcial; algunos con mayor éxito que otros. Estos clasi-
ficadores están basados en una variedad de enfoques, desde los sustentados por sólidas
teorías matemáticas hasta los basados fuertemente en técnicas heurísticas (Marqués
de Sá, 2001; Duda, Hart & Strork, 2001; Shalkoff, 1992).
Este enfoque tiene sus bases en el concepto de memoria para almacenar y recuperar
información, y está sustentado por teorías matemáticas establecidas, como el álgebra
lineal, la morfologia matemática o las álgebras min-max.
Lo anterior ha motivado que este trabajo de tesis tenga como propósito funda-
mental crear, diseñar y aplicar algoritmos, basados en modelos conocidos de memorias
asociativas, que realicen tareas de clasificación de patrones, y muestren que es posible
obtener clasificadores eficientes, con la combinación ingeniosa de métodos matemáticos,
específicamente geométricos, con los modelos matemáticos subyacentes en las memo-
rias asociativas.
1. Introducción 3
En el año de 1961, un alemán llamado Karl Steinbuch ideó y desarrolló una memo-
ria asociativa denominada Lernmatrix (Steinbuch, 1961; Steinbuch & Frank, 1961);
esta memoria ha estado olvidada por la comunidad científica y no se han realizado in-
vestigaciones suficientes sobre ella hasta la fecha. La Lernmatrix volvió a formar parte
del interés científico cuando se incluyó dentro del estado del arte de la tesis donde se
desarrollaron las memorias alfa-beta (Yánez-Márquez, 2002), y se publicó un informe
técnico (Yánez-Márquez & Díaz de León, 2001a), con lo que se revive el interés sobre
esta antigua memoria. Por otro lado, el Linear Associator (Anderson & Rosenfeld,
1990; Kohonen, 1989) de manera simultánea e independiente fue desarrollado por el
neurofisiólogo James A. Anderson y por el ingeniero finlandés 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 clasificación de
patrones en el dominio real.
1.4. Contribuciones
Una nueva memoria asociativa.
Dentro del capítulo 3, se hace una recopilación de los trabajos más recientes rela-
cionados con el tema de esta tesis, tanto en el área de memorias asociativas como en
el de reconocimiento de patrones.
El capítulo 4 incluye las herramientas matemáticas que se utilizan dentro del tra-
bajo de tesis. Las matrices, vectores y operaciones entre ellos son descritos en este
capítulo, y también se menciona el concepto de traslación de ejes y los operadores
sigma y máximo, junto con ejemplos que los ilustran.
Antecedentes
Este capítulo consta de dos secciones. En la sección 2.1 se describen los conceptos
básicos sobre memorias asociativas y los dos modelos en que se basa el clasificador
presentado en este trabajo de tesis; en la sección 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 re-
conocimiento de patrones, que se inicia precisamente con esta tesis.
Los conceptos básicos son conocidos desde hace más de tres décadas, 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).
6
2. Antecedentes 7
x −→ M −→ y
El patrón de entrada está representado por un vector columna denotado por x y
el patrón de salida, por el vector columna denotado por y.
Cada uno de los patrones de entrada forma una asociación con el correspondi-
ente patrón de salida. La notación para una asociación es similar a la de una pareja
ordenada; por ejemplo, los patrones x y y del esquema forman la asociación (x, y).
{(xµ , yµ ) | µ = 1, 2, ..., p}
A los patrones que conforman las asociaciones del conjunto fundamental, se les
llama patrones fundamentales.
Es posible que los patrones fundamentales sean alterados con diferentes tipos de
ruido. Para diferenciar un patrón alterado del correspondiente patrón fundamental,
ek es una versión alterada del
usaremos la tilde en la parte superior; así, el patrón x
k
patrón fundamental x , y el tipo de alteración que representa xek se evidenciará en el
contexto específico donde se use.
se dice que la recuperación es perfecta. Una memoria perfecta es aquella que realiza
recuperaciones perfectas para todos los patrones fundamentales.
Naturalmente, también los patrones de salida pueden ser alterados; por ejemplo,
si y3 es un patrón fundamental, entonces y
e3 representa una versión alterada de y3 .
Abundemos en la caracterización de los patrones de entrada, de salida y de la
matriz M.
xµ ∈ An y yµ ∈ Am ∀µ ∈ {1, 2, ..., p}
La j-ésima componente de un vector columna se indica con la misma letra del vec-
tor, pero sin negrilla, colocando a j como subíndice (j ∈ {1, 2, ..., n} o j ∈ {1, 2, ..., m}
según corresponda). La j-ésima componente de un vector columna xµ se representa
por
2. Antecedentes 9
xµj
Ejemplos:
El Linear Associator tiene una fuerte restricción: los vectores de entrada xµ deben
ser ortonormales. Esta condición de ortonormalidad se puede resumir en la siguiente
expresión:
1 si µ = ω
(xµ )t ·xω = δ µω = (2.9)
0 si µ 6= ω
donde δ µω es la conocida delta de Kronecker (Moore, 1968).
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 término µ6=ω yµ · (xµ )t ·xω no es 0
Este último término, llamado cross-talk, representa el ruido producido por la in-
teracción entre los patrones de entrada, y tiene como consecuencia inmediata que la
recuperación no es perfecta, excepto si el número de patrones almacenados es pequeño
comparado con la dimensión n de los vectores de entrada. Algunos investigadores afir-
man que ese número pequeño de patrones debe estar entre 0,1n y 0,2n (Anderson &
Rosenfeld, 1990; Hassoun, 1995; Ritter, Sussner & Díaz-de-León, 1998).
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.
Ω = {ω 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 información, reducción de información o etiquetado
de información (Shalkoff, 1992). Este mapeo entre el espacio de interpretación y el
espacio de características se hace mediante una relación G para cada clase; lo ideal es
que esta función 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 patrón a una clase específica.
D : Rn −→ Ω
En el modelo canónico de un clasificador (Duda, Hart & Stork 2001), mostrado en
la figura 2.3, se considera un conjundo de c funciones discriminantes.
gi : Rn −→ R i = 1, 2, ...c
Típicamente el patrón x es asignado en la clase ω i ,si el valor de gi (x) es máximo;
a esto se le conoce como “maximum membership rule”.
Las regiones para cada clase ω i son el conjunto de puntos para los cuales la i-esima
función discriminante tiene el más alto valor. Todos los puntos en la región i-esima
serán asignados en la clase ω i . Estas regiones serán determinadas por el clasificador D
mediante el conjunto de funciones discriminantes G. Las fronteras de las regiones son
llamadas fronteras de clasificación, y contienen los puntos que no pueden pertenecer a
una clase en particular (Kuncheva, 2002).
Enfoques de entrenamiento
Existen básicamente dos enfoques:
Existen diversos clasificadores que emplean este método, entre los cuales los más
conocidos son el clasificador euclidiano, el KNN y el c-Means (Friedman, M, 1999). Se
darán algunos conceptos y definiones que son necesarios para el mejor entendimiento de
este tipo de metodología; también se presenta uno de los clasificadores básicos dentro
de este enfoque, el clasificador euclideano.
Métricas
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 función 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 función está
representada por una métrica.
Intuitivamente, y dado que los patrones con los que se trabaja tienen todos los
rasgos numéricos, un patrón puede verse como un vector en un espacio en Rn , para un
n en particular. Ahora, una métrica es una forma de medir la distancia entre dos de
estos vectores, así, diremos que un patrón tiene una mayor similaridad a otro cuando
la distancia entre ellos sea menor. Usualmente, la forma más sencilla de encontrar
esta distancia es con base en el famoso teorema de Pitágoras 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 sección nos ocuparemos
de las formas de medir.
Definición de métrica
Aunque intuitivamente ya se tiene idea de que una métrica es una forma de medir
una distancia, la definición formal es la siguiente:
2. d(x, y) = d(y, x)
" n #1 n
X 1 X
d1 (x, y) = |xi − yi |1 = |xi − yi | (2.12)
i=1 i=1
2. Distancia euclideana. r = 2.
" n #1
X 2
3. Distancia infinito. r −→ ∞.
" n #1
X r
2 1
−2 10
Ejemplo 2.4 Sean x =
9 y y = −3
, calcular la distancia entre ellos
4 −1
de acuerdo a las métricas city-block, euclideana e infinito.
P
4
d1 (x, y) = |xi − yi | = |2 − 1| + |−2 − 10| + |9 − (−3)| + |4 − (−1)|
i=1
= 1 + 12 + 12 + 5 = 30
· ¸ 12 h i1
P
4
2 2 2 2 2 2
d2 (x, y) = |xi − yi | = |2 − 1| + |−2 − 10| + |9 − (−3)| + |4 − (−1)|
i=1
1
= [1 + 144 + 144 + 25] 2 = 17. 72
El Clasificador Euclideano
El clasificador euclideano es un clasificador que toma precisamente la distancia
euclideana para determinar cuándo un patrón es más similar a otro. La distancia
euclideana es un caso especial de las métricas 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 tamaño del segmento de recta que une a dos puntos, y es la que
normalmente se utiliza en geometría analítica y en análisis vectorial. Un patrón puede
ser visto como un vector en Rn , por lo que el análisis que haremos sobre él será
puramente vectorial, y es conveniente expresar esta distancia en forma alterna.
x1 y1
x2 y2
Definición 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
X 2
2
d2 (x, y) = (xi − yi ) (2.15)
i=1
o en forma vectorial:
£ ¤1
d2 (x, y) = (x − y)T (x − y) 2 (2.16)
donde (x − y)T es el vector transpuesto del vector (x − y).
2 1
−2 10
Ejemplo 2.6 Sean x =
9 y y = −3 . Entonces la distancia euclideana
4 −1
entre x y y de acuerdo a la ecuación 2.15 es:
" 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
1
= [314] 2 = 17. 72
12
−1
£ ¤ 1 ¡ ¢ 12
d2 (x, y) = (y − x)T (y − x) 2 =
−1 12 12 −5
12
−5
1 1
= [1 + 144 + 144 + 25] 2 = [314] 2 = 17. 72
2. Antecedentes 19
contrapartes biológicas. Cada una de estas neuronas sólo 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 podían, en principio, implementarse en
sistemas de procesos de cómputo. Frank Rosemblatt presentó posteriormente en el año
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 diseño fue también su punto débil; existen
tareas en RP que un perceptron no es capaz de resolver, como lo mostraron Minsky
& Paper (Minsky & Papert, 1969). Esto provocó que el interés en las redes neuronales
decayera. No fue hasta la aparición del trabajo de Hopfield (Hopfield,.1982; Hopfield,
1984) que el interés renaciera en este tipo de algoritmos.
Existen muchos tipos de redes neuronales que funcionan como clasificadores, desde
el simple perceptron hasta las más avanzadas.
Perceptron
Minsky and Papper (Minsky, M. & Papert, S. (1969) describen al perceptron como
un algoritmo estocástico de gradiente descendente, que intenta la separación 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
patrón 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 función
escalón a la suma de los productos de pesos y entradas (Kishan, Chilukuri & Sanjay,
1997).
2. Antecedentes 21
x0
w0
x1
w1
f(x0,...,xn )
w2
x2
. wn
.
.
xn
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 patrón de entrada.
Para espacios n-dimensiónales debe existir al menos un hiperplano que pueda sepa-
rar un conjunto n-dimensionales en regiones. Un hiperplano n dimensional está definido
por la ecuación:
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 región:
w0 + w1 x1 + ... + wn xx < 0
El vector de pesos w será ajustado a través 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 posición de la superficie de decisión es un hiperplano entre las dos clases
(Haykin,. 1999).
w = (w1 , w2 , ..., wn )
y x un patrón 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 cada iteración, si x provoca una salida con valor —1, pero w · x > 0, entonces
los pesos deberán ser cambiados, lo mismo para salida 1 y w · x < 0.
Los pesos se modificarán en cada iteración 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:
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 evalúan 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 serán asignados de forma aleatoria, para este ejemplo w0 = −1 y w1 = −0.
36. Así, para la primera iteración 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 sufrirán cambio alguno. Este mismo resultado se obtiene
para todo el conjunto de esta clase.
En este caso los pesos deberán ajustarse, y de acuerdo con el algoritmo se debe
sugerir un η, en este caso η = 0,1. Así, los nuevos pesos serán:
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.
Existen diferentes tipos de clasificadores dentro de este enfoque; desde los paramétri-
cos, como el clasificador Bayesiano, hasta los clasificadores no paramétricos o también
llamados modelos de técnica libre, como el KNN o las ventanas Parzen (Kuncheva,
2000). Todos estos clasificadores y sus variantes están basados en modelos probabilís-
ticos. Dentro de los clasificadores estadísticos se cuenta con los árboles de decisión y
tablas (Marqués de Sá, 2000).
2. Determinar cada una de las clases Ck que formarán parte del sistema.
3. Determinar, con base en la muestra y en la cardinalidad de cada clase, las prob-
abilidades P (Ck ).
4. Determinar los rasgos útiles que se van a utilizar para clasificar, y elaborar cada
distribución de probabilidad p(X | Ck ) la cual va a ser dependiente del número
y naturaleza de cada rasgo de la variable aleatoria vectorial X.
5. Para clasificar un patrón desconocido de entrada X, aplicar la siguiente regla:
la clase del k patrón más cercano, siendo k una constante entera arbitraria. Este proceso
es en términos computacionales caro, para conjuntos de datos relativamente grandes
(Webb, 1999).
Ejemplo 2.10 Este ejemplo mostrará en funcionamento del KNN, con k = 1 y usando
la métrica euclidiana.
µ ¶ µ ¶ µ ¶
1. 2 4. 3 2. 3
Sean los vectores x1 = , x2 = , x3 = , con x1 y x3
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 patrón que se desea clasificar
0. 5
De a cuerdo con el algoritmo del KNN:
· µ ¶¸ 12
£ ¤ 12 ¡ ¢ 2. 5
T
d(x1 ,x4 ) = (x4 − x1 ) (x4 − x1 ) = 2. 5 −2. 5 · = (12. 5)1/2 = 3. 53
−2. 5
· µ ¶¸ 1
£ ¤ 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
La alta eficacia que presenta en problemas reales el KNN, hacen de este algoritmo
uno de los más usados.
2. Antecedentes 26
La clasificación en este enfoque opera con información simbólica, con una analogía
entre la estructura de algún patrón y la sintaxis de un lenguaje, que estará determinado
por una gramática que hace atractivo este enfoque.
Definición 2.12 Una cadena o palabra w es una secuencia finita de símbolos del
alfabeto Σ. La longitud de w se denota |w| .
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 concatenación de w1 y w2 .
La materia prima para trabajar en esta teoría son los símbolos y secuencias de
símbolos. Sin embargo, hay que notar que la teoría no incluye una semántica o sig-
nificado de los símbolos 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 más palpable sobre esta ventaja son las computadoras: una com-
putadora procesa símbolos 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
máquina.
La siguiente definición es una de las más importantes en esta teoría, puesto que todo
el desarrollo subsecuente se enfocará a generar y reconocer estos objetos matemáticos:
los lenguajes formales.
Ejemplo 2.22 Sea £1 = {a} y £2 = {a, b}∗ , entonces el lenguaje del ejemplo 2.20
se puede representar como la concatenación de £1 y £2 de la siguiente forma: £ =
£1 £2 = {a} {a, b}∗ = {a, aa, ab, aaa, aab, aba, abb, ...}.
Gramáticas
Ejemplo 2.24 Sea G = (Σ, N, S, P ), con Σ = {a, b}, N = {S, B}, y P = {S → aB, B → aB|bB|ε}.
La parte más interesante en la gramática es el conjunto de producciones y nos dice lo
siguiente: que el símbolo S sólo puede ser sustituido por la cadena aB, donde a es un
símbolo 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 derivación:
Finalmente, como abba pudo ser producida por la gramática G, entonces esta ca-
dena 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 gramáticas según la forma de sus producciones. la llamada jerarquía de
Chomsky es la siguiente:
Autómatas
1. Máquinas de Turing. Son máquinas que reconocen los lenguajes generados por
las gramáticas sin restricción. Las computadoras son un caso especial de este
tipo de autómata. Utilizan un concepto llamado cinta infinita que es el análogo
a la memoria de una computadora.
3. Autómatas 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 gramáticas libres de contexto.
4. Autómatas Finitos. Son los más sencillos y reconocen los lenguajes generados
por las gramáticas regulares.
1. Σ es un alfabeto de entrada.
3. q0 ∈ Q es el estado inicial.
1. Se tiene una cadena w, se lee el primer símbolo y se toma q0 como estado actual.
2. Con el estado actual y el símbolo leído, se utiliza la función T para saber cuál
es el estado siguiente.
2. Antecedentes 30
3. Se lee el siguiente símbolo y se repite el paso 2 hasta que no haya más símboloes
por leer.
Así, las mediciones que vamos a tomar como rasgos son a) líneas de tamaño fijo
en una dirección; b) vértices que forman 90◦ con la otra línea.
Luego, según el paso 2 hay que asignar a cada rasgo un símbolo, así, a las líneas
de tamaño fijo en una dirección les llamaremos L y a los vértices que forman 90◦ con
la otra línea le llamaremos V . Así, podemos darnos cuenta, que para identificar un
cuadrado tenemos que comenzar en un vértice de tipo V , luego tenemos que encontrar
4 veces la siguiente secuencia: una línea L y un vértice V, figura 2.5.
De esta forma, proponemos que la gramática 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 autómata generado que reconoce este lenguaje sería:
Como se puede notar, aunque la gramática es muy simple, funciona para reconocer
un tipo de objetos sin importar la rotación.
2. Antecedentes 32
Las bases teóricas de las actividades que se realizan en el GRAI provienen de áreas
tan interesantes y útiles como la Morfología Matemática, el Álgebra de Imágenes, la
Teoría del Control, las Matemáticas Discretas, las Redes Neuronales, las Memorias
Asociativas, el Reconocimiento de Patrones, la Teoría de la Información y la Teoría de
las Transformadas Matemáticas, entre otras.
Como tema del presente trabajo de tesis, la cual forma parte de esa media docena,
durante el año 2002 se planteó la creación del enfoque asociativo para reconocimiento
y clasificación de patrones. Así, los miembros del GRAI fueron testigos del nacimiento
de un nuevo enfoque en reconocimiento automático de patrones: el enfoque asociativo,
el cual se ha revelado como una alternativa real en clasificación automática de patrones
n-dimensionales reales.
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; Yáñez-
Márquez, 2001a) y el Linear Associator (Anderson & Tosenfeld, 1990; Kohonen, 1989,
Yáñez-Márquez, 2002b), no fueron diseñadas para la clasificación de patrones. Stein-
buch, creador de la Lermatrix, no dejó ningún trabajo que sustente el funcionamiento
de la Lernmatrix de forma matemática, y en el caso del Linear Associator el cual
si quedó fundamentado matemáticamente, aún sigue siendo referencia en el área de
memorias asociativas.
33
3. Estado del arte 34
Uno de los clasificadores más utilizados es el KNN (Cover & Hart, 1967), con
más de 40 años dentro del área del reconocimiento de patrones, siendo uno de los
clasificadores más 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
más usados en el ámbito de los clasificadores de patrones por los investigadores. Estas
características hacen del KNN un clasificador ideal para la comparación del CHAT al
reunir ambos la sencillez de los algoritmos.
El KNN tiene tres principales limitaciones (Huang & et. al. 2002), el excesivo
tiempo de cómputo, el requerimiento de una gran capacidad de almacenamiento de
memoria, y la sensibilidad a los patrones ruidosos. El trabajo de investigación sobre
el KNN se centra en disminuir estas limitaciones del clasificador al tratar de reducir
el tamaño del conjunto de patrones con los cuales se ha de determinar a qué clase
pertenece un patrón desconocido (Bandyopadhyay & Maulik, 2002; Ho, Liu, & Liu,
2002; Huang & et. al. 2002; Wu, Ianekiev & Govindaraju, 2002; Rueda & Oommen,
2002).
Herramientas matemáticas
4.1. Sumatorias
P
En matemáticas se introduce la notación para facilitar la escritura de la suma
de los elementos de una sucesión y se pueden escribir de la siguiente manera:
n
X
am + am+1 + am+2 + ... + an = ai
i=m
Donde m y n son enteros y m ≤ n.El número m se denomina límite inferior de la
suma y n se llama límite superior. El símbolo i es un símbolo convencional y puede
ser sustituido por cualquier otro.
43 + 53 + 63
3
X
i2
i=−2
P
entonces, i toma valores que van de -2 a 3 y mediante la notación se representa
a la suma de los elementos de la sucesión:
35
4. Herramientas matemáticas 36
6
12
x =
3
8
12
al aplicar el operador máximo al conjunto de componentes del vector x, tenemos:
4
_
xi = 12
i=0
a11 a12 ··· a1j ··· air
a21 a22 ··· a2j ··· a2r
.. .. .. ..
. . . .
ai1 ai2 ··· aij ··· air
.. .. .. ..
. . . .
am1 am2 ··· amj · · · amr
a11 + b11 a12 + b12 ··· a1n + b1n
a21 + b21 a22 + b22 ··· a2n + b2n
A + B = (aij + bij ) = .. .. ..
. . .
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.
Definición 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:
por lo anterior, los vectores se sujetan a las definiciones citadas en las sección
anterior.
Desde el punto de vista del análisis vectorial se hace el estudio de los vectores de dos
formas, analítica y geométrica. En la forma analítica tenemos que un vector se sujeta
a la siguiente definición cuando el vector es de dimensión dos y se desea representarlo
en el plano bidimensional.
b = (b1 , b2 , . . . , bn )
por lo tanto el producto esta definido y esta dado por:
a1 a1 b1 a1 b2 · · · a1 bn
a2 ¡ ¢ a2 b1 a2 b2 · · · a2 bn
a · b = . · b1 b2 · · · bn = . .. ..
.
. .. . .
am am b1 am b2 · · · am bn
dando por resultado una matriz de dimensión m × n.
Ejemplo 4.10 Sea y = 3x−2 una ecuación algebraica donde (x,y) es un punto en R2 .
Si x se sustituye por un conjunto de valores en R podemos obtener la representación
geométrica de la ecuación
10
0
-5 -2.5 0 2.5 5
-5 x
-10
-15
Ejemplo 4.11 Sea una circunferencia con radio 5 y centro en el punto (2,-2) tiene
la ecuación:
(x − 2)2 + (y + 2)2 = 25
y
2.5
x
-2.5 0 2.5 5
0
-2.5
-5
Ahora, si elegimos los ejes coordenados de tal manera que su origen sea el centro de
la circunferencia, se tiene una ecuación más sencilla, esto es, la ecuación se transforma
en:
4. Herramientas matemáticas 41
x2 + y 2 = 25
y 5
1
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
-1
x
-2
-3
-4
-5
Figura 4.3:Gráfica de x2 + y 2 = 25
Cuando los ejes están dados en un problema determinado y se desea encontrar ejes
diferentes pero paralelos a los originales, se dice que se hace una traslación de ejes.
Si (x,y) representa un punto P con respecto a un conjunto de ejes determinado, y
(x’, y’) es la representación de P después 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 números reales (5, 4)
y (10, 12) de acuerdo con la Definición 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 geométricamente por los segmentos
−−→ −→
rectilíneos dirigidos OX y OZ respectivamente.
10
7.5
2.5
0
0 2.5 5 7.5 10
x0 = (−3, −4)
y
z 0 = (3, 4)
Donde los nuevos puntos X’ y Z’ están representados en la siguiente gráfica.
y 4
3.5
3
2.5
2
1.5
1
0.5
0
-3 -2.5 -2 -1.5 -1 -0.5
-0.5 0 0.5 1 1.5 2 2.5 3
-1
x
-1.5
-2
-2.5
-3
-3.5
-4
Desarrollo
Es aquí, en este capítulo, donde se presenta la parte sustantiva del presente trabajo
de tesis.
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 recu-
peración 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 sólo
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 recuperación perfecta en todo su conjunto fundamental). Además el CHA
es un clasificador que se comporta como una memoria asociativa perfecta, según los
conceptos y definiciones expuestas en el capítulo 2, bajo condiciones más débiles que
las que se requieren para las dos memorias asociativas clásicas mencionadas.
Hay algunos casos en que el CHA falla en su tarea de clasificación. Para superar
estas limitaciones, se ideó y diseñó una nueva versión del CHA, mediante la adición de
un nuevo paso al algoritmo: la traslación ingeniosa de los ejes coordenados. La nueva
versión, denominada CHAT, Clasificador Híbrido Asociativo con Traslación,
se desarrolla y ejemplifica en la segunda sección.
43
5. Desarrollo 44
5.1. El CHA
En el trascurso de este trabajo se diseñó una nueva memoria asociativa. Esta
memoria asociativa, denominada CHAT, está basada en la combinación de las fases
de aprendizaje del Linear Associator y la fase de recuperación 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, Yáñez-Márquez & Diaz de León,
2002), bajo el título de Clasificador Híbrido de Patrones. Esta memoria ya muestra las
posibilidades de poder clasificar patrones que no están 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 combinación de fases no es posible re-
cuperar y clasificar patrones con alguna determinada configuración. Esto nos presenta
dificultades al aplicar el CHA en problemas serios de clasificación. Para remediar lo
anterior, se creó el CHAT.
Ejemplo 5.1 Cinco patrones de dimensión 2 con valores reales, aglutinados en dos
clases diferentes:
µ ¶ µ ¶
1 2 1 3 4 5 0
y =y = y y =y =y =
0 1
Para la fase de aprendizaje, de acuerdo con el inciso 3 del algoritmo, se calculan
los términos yµ · (xµ )t usando la expresión 2.4 y el clasificador C se obtiene a partir
de las expresiones 2.5 y 2.6:
5
X µ ¶
µ µ t −8. 9 8. 0
C= y · (x ) = (5.1)
−19. 5 −9. 9
µ=1
El inciso 4 del algoritmo indica que la fase de recuperación se lleva acabo de acuerdo
con la expresión 2.3.
µ ¶ µ ¶ µ ¶ µ ¶
−8. 9 8. 0 −4. 1 66. 89 1
· = → → clase 1
−19. 5 −9. 9 3. 8 42. 33 0
µ ¶ µ ¶ µ µ ¶ ¶
−8. 9 8. 0 −4. 8 76. 32
1
· = → → clase 1
−19. 5 −9. 9 4. 2 52. 02
0
µ ¶ µ ¶ µ ¶ µ ¶
−8. 9 8. 0 −6. 3 25. 67 0
· = → → clase 2
−19. 5 −9. 9 −3. 8 160. 47 1
µ ¶ µ ¶ µ ¶ µ ¶
−8. 9 8. 0 −6. 2 30. 38 0
· = → → clase 2
−19. 5 −9. 9 −3. 1 151. 59 1
µ ¶ µ ¶ µ ¶ µ ¶
−8. 9 8. 0 −7. 0 38. 3 0
· = → → clase 2
−19. 5 −9. 9 −3. 0 166. 2 1
Ejemplo 5.2 Ahora probemos el clasificador con dos patrones que no pertencen al
conjunto fundamental:
µ ¶ µ ¶ µ ¶ µ ¶
−8. 9 8. 0 −4. 0 83. 6 1
· = → → clase 1
−19. 5 −9. 9 6. 0 18. 6 0
µ ¶ µ ¶ µ ¶ µ ¶
−8. 9 8. 0 −6. 0 21. 2 0
· = → → clase 2
−19. 5 −9. 9 −4. 0 117. 6 1
Nota 5.3 Resulta evidente que este problema de clasificación 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 As-
sociator, debido a que los patrones de entrada no son ortonormales, como lo exige la
expresión 2.9.
Ejemplo 5.4 Cuatro patrones de dimensión 3 con valores reales, aglutinados en dos
clases diferentes:
5. Desarrollo 46
El inciso 4 del algoritmo indica que la fase de recuperación se lleva acabo de acuerdo
con la expresión 2.3.
µ ¶ 12. 0 µ ¶ µ ¶
22. 0 4. 0 23. 0 529. 0 1
· 3. 0 = −→ −→ clase 1
3. 0 17. 0 23. 0 340. 0 0
11. 0
µ ¶ 10. 0 µ ¶ µ ¶
22. 0 4. 0 23. 0 500. 0 1
· 1. 0 = −→ −→ clase 1
3. 0 17. 0 23. 0 323. 0 0
12. 0
µ ¶ 2. 0 µ ¶ µ ¶
22. 0 4. 0 23. 0 352. 0 0
· 8. 0 = −→ −→ clase 2
3. 0 17. 0 23. 0 418. 0 1
12. 0
µ ¶ 1. 0 µ ¶ µ ¶
22. 0 4. 0 23. 0 311. 0 0
· 9. 0 = −→ −→ clase 2
3. 0 17. 0 23. 0 409. 0 1
11. 0
Ejemplo 5.5 Ahora probemos el clasificador con dos patrones que no pertencen al
conjunto fundamental:
5. Desarrollo 47
µ ¶ 9. 8 µ ¶ µ ¶
22. 0 4. 0 23. 0 488. 0 1
· 1. 4 = −→ −→ clase 1
3. 0 17. 0 23. 0 320. 0 0
11. 6
µ ¶ 2. 2 µ ¶ µ ¶
22. 0 4. 0 23. 0 369. 0 0
· 7. 7 = −→ −→ clase 2
3. 0 17. 0 23. 0 427. 3 1
12. 6
Ejemplo 5.7 Seis patrones de dimensión 5 con valores reales, aglutinados en tres
clases diferentes:
5
X 24. 6 20. 9 4. 3 7. 5 3. 8
C= yµ · (xµ )t = 2. 1 4. 2 2. 5 21. 6 23. 8 (5.3)
µ=1 2. 2 3. 9 26. 2 22. 4 1. 9
El inciso 4 del algoritmo indica que la fase de recuperación se lleva acabo de acuerdo
con la expresión 2.3.
12. 0
24. 6 20. 9 4. 3 7. 5 3. 8 10. 0 550. 4 1
2. 1 4. 2 2. 5 21. 6 23. 8 ·
2. 0 = 206. 2 −→ 0 −→ clase 1
2. 2 3. 9 26. 2 22. 4 1. 9 4. 0 211. 2 0
2. 0
12. 6
24. 6 20. 9 4. 3 7. 5 3. 8 10. 9 580. 75 1
2. 1 4. 2 2. 5 21. 6 23. 8 ·
2. 3 = 196. 43 −→ 0 −→ clase 1
2. 2 3. 9 26. 2 22. 4 1. 9 3. 5 212. 31 0
1. 8
1. 0
24. 6 20. 9 4. 3 7. 5 3. 8 2. 0 198. 8 0
2. 1 4. 2 2. 5 21. 6
23. 8 · 1. 0 = 536. 2 −→ 1 −→ clase 2
2. 2 3. 9 26. 2 22. 4 1. 9 11. 0 305. 4 0
12. 0
1. 1
24. 6 20. 9 4. 3 7. 5 3. 8 2. 2 203. 83 0
2. 1 4. 2 2. 5 21. 6
23. 8 · 1. 5 = 525. 1 −→ 1 −→ clase 2
2. 2 3. 9 26. 2 22. 4 1. 9 10. 6 310. 16 0
11. 8
1. 0
24. 6 20. 9 4. 3 7. 5 3. 8 2. 0 208. 6 0
2. 1 4. 2 2. 5 21. 6
23. 8 · 13. 0 = 304. 4 −→ 0 −→ clase 3
2. 2 3. 9 26. 2 22. 4 1. 9 11. 0 598. 9 1
1. 0
1. 2
24. 6 20. 9 4. 3 7. 5 3. 8 1. 9 214. 91 0
2. 1 4. 2 2. 5 21. 6
23. 8 · 13. 2 = 311. 16 −→ 0 −→ clase 3
2. 2 3. 9 26. 2 22. 4 1. 9 11. 4 612. 96 1
0. 9
Ejemplo 5.8 Ahora probemos el clasificador con tres patrones que no pertencen al
conjunto fundamental :
5. Desarrollo 49
11. 4
24. 6 20. 9 4. 3 7. 5 3. 8 10. 6 549. 64 1
2. 1 4. 2 2. 5 21. 6 23. 8 ·
1. 9 = 216. 51 −→ 0 −→ clase 1
2. 2 3. 9 26. 2 22. 4 1. 9 4. 1 212. 41 0
2. 3
1. 1
24. 6 20. 9 4. 3 7. 5 3. 8 2. 1 204. 31 0
2. 1 4. 2 2. 5 21. 6 23. 8 ·
1. 3 = 548. 2 −→ 1 −→ clase 2
2. 2 3. 9 26. 2 22. 4 1. 9 10. 5 304. 38 0
12. 9
1. 1
24. 6 20. 9 4. 3 7. 5 3. 8 2. 5 229. 91 0
2. 1 4. 2 2. 5 21. 6 23. 8 ·
13. 8 = 325. 57 −→ 0 −→ clase 3
2. 2 3. 9 26. 2 22. 4 1. 9 11. 56 634. 95 1
1. 2
Ejemplo 5.10 2 patrones de dimensión 2 con valores reales, aglutinados en dos clases
diferentes:
Nota 5.11 El ejemplo anterior nos muestra los efectos causados cuando tenemos al
menos un patrón 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 sección mostraremos ejemplos, en los que se puede observar cómo el CHA
se transforma en CHAT y así supera las limitaciones mencionadas de las dos memo-
rias asociativas, el Linear Associator y la Lernmatrix y además, de qué manera se
transforma en un clasificador de alto rendimiento, al agregar la traslación de ejes.
p
1X µ
x̄ = x (5.5)
p
j=1
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:
0
xµ = xµ − x̄ (5.6)
El inciso 4 del algoritmo indica que la fase de recuperación se lleva acabo de acuerdo
con la expresión 2.3.
5. Desarrollo 53
µ ¶ µ ¶ µ ¶ µ ¶
−2. 1 0 −2. 1 4. 41 1
· = −→ −→clase 1
µ 2. 1 0¶ µ 0. 0¶ µ −4. 41 ¶ µ ¶0
−2. 1 0 2. 1 −4. 41 0
· = −→ −→clase 2
2. 1 0 0. 0 4. 41 1
Ejemplo 5.13 2 patrones de dimensión 3 con valores reales, aglutinados en dos clases
diferentes:
Probemos el clasificador con otros patrones desconocidos pero que pertenecen a las
clases involucradas en el ejemplo.
1. 9
x3 = 3. 8
5. 5
A la segunda clase:
6. 4
x = 7. 2
4
9. 7
El inciso 4 del algoritmo indica que la fase de recuperación se lleva a cabo de
acuerdo con la expresión 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 recuperación del conjunto no es perfecta
y patrones que pertenecen a la clase 1 son clasificados como clase 2.
Con la de traslación de ejes se prueba el mismo conjunto de fundamental y los
patrones desconocidos en la fase de aprendizaje.
A la primera clase pertenece el patrón:
2. 0
x = 3. 0
1
6. 0
A la segunda clase:
6. 0
x2 = 8. 0
10. 0
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:
µ ¶ µ ¶
10 1 20 0
y = y y =
0 1
Para la fase de aprendizaje, de acuerdo con el inciso 3 del algoritmo, se calculan
los términos yµ · (xµ )t usando la expresión 2.4 y el clasificador C se obtiene a partir
de las expresiones 2.5 y 2.6:
5
X µ ¶
µ µ t −2. 0 −2. 5 −2. 0
C= y · (x ) = (5.9)
2. 0 2. 5 2. 0
µ=1
El inciso 4 del algoritmo indica que la fase de recuperación se lleva acabo de acuerdo
con la expresión 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
−2. 0
µ ¶ 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
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 recuperación se lleva acabo de acuerdo
con la expresión 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
Capítulo 6
Disquisiciones experimentales
En cada una de las bases de datos, un renglón representa un patrón, con la primera
columna señalando la clase a la cual pertenece el patrón de la fila respectiva. Las sub-
secuentes columnas en la misma fila contienen datos que representan las características
del objeto.
57
6. Disquisiciones experimentales 58
Rasgos Descripción
1 Clase: 1:Iris Setosa,2:Iris Versicolour, 3:Iris Virginia
2 Largo del sépalo en centímetros
3 Ancho del sépalo en centímetros
4 Largo del pétalo en centímetros
5 Ancho del pétalo en centímetros
Rasgo Descripción
1 Clase
2 Alcohol
3 Ácido málico
4 Cenizas
5 Alcalinidad de la ceniza
6 Magnesio
7 Total de fenoles
8 Flavonoides
9 Fenoles No-flavonoides
10 Proanthocyanins*
11 Intensidad del color
12 Matiz
13 OD280/OD315 de vino diluido*
14 Proline*
Los datos se agrupan en 3 clases, la clase 1 para quien no usa algún método con
629 patrones, la clase 2 para las mujeres que tienen un método a largo plazo con
333 patrones y la clase 3 para aquellas que llevan un método a corto plazo con 511
patrones, en total 1,473 patrones.
6. Disquisiciones experimentales 60
Rasgo Descripción
1 Clase
2 Edad
3 Grado educativo
4 Grado educativo de la pareja
5 Número de niños ya concebidos
6 Religión
7 Trabajo
8 Ocupación de la pareja
9 Índice del estandar de vida
10 Riesgo de vida
6.2. Metodología
Una vez obtenidos todos los resultados se procede a realizar un análisis de éstos,
donde se establece como clasificación correcta, si la clase resultante es igual a
la clase ya establecida para cada uno de los vectores de rasgos sometidos a la
clasificación; calculando así un porcentaje de clasificaciones.
Los clasificadores que se han tomado en cuenta para esta comparación 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. Además, de estos 2 clasificadores se tomaron los estudios comparativos
que se realizaron en la tesis de maestría 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.
Rendimiento 1-KNN
98
7
.6
96
0
0
.0
.0
.0
96
96
96
3
3
.3
.3
.3
.3
.3
96
95
95
95
95
95
7
.6
94
3
3
.3
.3
.3
94
93
93
93
7
.6
92
0
.0
92
3
.3
92
91
Porcentaje
0
.0
90
90
7
.6
88
0
.0
88
3
.3
88
87
86
84
82
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
ClasificaciÛn
Fig. 6.1: Rendimiento del 1-NN ante la base de datos Iris plants.
6. Disquisiciones experimentales 63
Rendimiento 3-KNN
100
3
.3
95
0
0
.0
.0
3
3
95
.3
.3
94
94
7
7
.6
.6
.6
93
93
0
0
.0
.0
92
92
92
3
.3
92
92
7
.6
91
90
3
3
.3
.3
.3
.3
7
.6
89
89
89
89
90
0
.0
88
3
.3
88
87
Porcentaje
85
7
.6
80
80
75
70
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
ClasificaciÛn
Fig 6.2: Rendimiento del 3-NN, con la base de datos Iris plants.
100.00% % % % % % % % % % % %
9 .33 8.67 9.33 9.33 9.33 9.33 8.67 8.67 9.33 9.33 9.13
8 8 8 8 8 8 8 8 8 8 8
80.00%
Eficiencia
60.00%
40.00%
20.00%
0.00%
Prom.
1
10
Prueba
Fig. 6.3: Rendimiento del clasificador C-means.
6. Disquisiciones experimentales 64
100.00% % % % % % % % % % % %
.33 9.33 9.33 9.33 0.00 9.33 9.33 9.33 9.33 9.339.40
89 8 8 8 9 8 8 8 8 8 8
80.00%
Eficiencia
60.00%
40.00%
20.00%
0.00%
10
Prom.
1
9
Prueba
Fig. 6.4: Rendimiento del clasificador C-means difuso.
100.00% % % % % % % % % % % %
6 .00 6.00 4.00 6.00 6.00 6.00 6.00 6.00 5.33 4.00 5.53
90.00% 9 9 9 9 9 9 9 9 9 9 9
80.00%
70.00%
Eficiencia
60.00%
50.00%
40.00%
30.00%
20.00%
10.00%
0.00%
Prom.
1
10
Prueba
Fig 6.5: Rendimiento del clasificador C-means difuso usando funciones de disimilaridad.
6. Disquisiciones experimentales 65
Rendimiento del CHM
.67
99.00
98
.00
.00
.67
98
98
98.00
.33
.33
.33
97
.00
.00
.00
97
97
97
.67
97
97
97
97.00
.33
.33
96
96
96
Porcentaje
.67
96.00
.33
.33
.33
95
.00
.00
.00
95
95
95
95
95
95
95.00
94.00
93.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
ClasificaciÛn
Fig 6.6: Rendimiento del CHAT con la base de datos Iris plants.
110
100
Porcentaje
90
80
70
60
1-NN 3-NN C-means C-means dif. C-means DFD CHAT
Mejor rendimiento 96.67 95.33 89.33 90 96 98.67
Peor rendimiento 87.33 80.67 88.67 89.33 94 95
Promedio 93.3 90.79 89.13 89.4 95.53 96.56
Clasificador
Mejor rendimiento Peor rendimiento Promedio
Los resultados obtenidos mostrados en la tabla 6.4 nos permiten ver que el rendimien-
to para la mejor clasificación fue para el CHAT; además, vemos que el rendimiento
6. Disquisiciones experimentales 66
Rendimiento 1-KNN
50
.10
.29
45
44
.80
.20
45
.91
.82
41
.19
41
40
40
.35
.92
39
.32
.20
40
38
.91
37
.40
.97
36
.91
.89
36
35
.36
.21
35
.39
33
33
33
35
33
33
.59
32
30
30
Porcentaje
25
20
15
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
ClasificaciÛn
Rendimiento 3-KNN
.74
.55
8
. 17
.2
.14
45
.57
42
6
42
42
42
.45
.2
.10
41
.43
.42
40
40
.66
0
39
.02
39
.6
.57
38
40
38
37
37
37
.51
7
36
.04
.2
.19
34
34
34
.21
35
32
31
30
Porcentaje
25
20
15
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
ClasificaciÛn
100.00%
90.00%
80.00%
70.00%
Eficiencia
60.00%
50.00% % % %
% % % % .00 5.99 4.47 %
40.00% .80 3.80 3.42 .80 35 .42 4%
33 3 3 33 3 3 33 31.8
% %
30.00% .75 .90
22 21
20.00%
10.00%
0.00%
1
10
Prom.
Prueba
100.00%
90.00%
80.00%
70.00%
Eficiencia
60.00%
50.00% 6% 5%
% 89% 5% % 40.1 40.5 7% % 2%
.84 37. .4 % .8 4 37.4 .45 .8
40.00% 3 4 34 .40 34 34 34
31 %
30.00% .10
22
20.00%
10.00%
0.00%
Prom.
1
10
Prueba
Fig. 6.10: Rendimiento del C-means difuso con la base de datos Cmc.
100.00%
90.00%
80.00%
70.00% %
28 % % %
E ficiencia
2 % 57. 91 84 75 %
60.00% . 0
51
.
52
. % 52
. . 10 48
%
51 22 50 % .
50.00% % 4 5. . 9 2 47
88 %
. .9
1 41
40.00% 36 34
30.00%
20.00%
10.00%
0.00%
Prom.
1
10
Prueba
Rendimiento del CHM
70
.86
.65
.06
.05
.01
.98
.89
.66
.40
. 66
58
.34
58
.30
58
58
58
57
.60
57
60
57
.14
57
. 83
.79
.77
55
55
55
.48
54
54
53
53
53
.47
51
49
.01
50
45
Porcentaje
40
30
20
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Clasificaciones
70
60
50
Porcentaje
40
30
20
10
0
1-NN 3-NN C-means C-means dif. C-means DFD CHAT
Mejor rendimiento 45.1 42.74 35.99 40.16 57.28 58.86
Peor rendimiento 30.59 31.21 21.9 22.1 34.91 45.01
Promedio 37.23 38.1 31.84 34.82 47.48 55.47
Clasificador
Los resultados obtenidos mostrados en la tabla 6.5 nos permiten ver que nueva-
mente el rendimiento para la mejor clasificación fue para el CHAT; además 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 sólo el 21 %.
Rendimiento 1-KNN
80
.79
.76
. 39
.74
. 67
.07
70
66
66
.47
66
.95
.77
65
65
65
5
. 25
.90
. 37
62
.9
61
61
.25
59
59
58
58
57
60
. 57
. 97
. 36
52
.70
50
.28
49
.47
47
50
45
44
Porcentaje
40
30
20
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
ClasificaciÛn
Rendimiento 3-KNN
70
.80
.61
.52
.36
.00
.86
.32
.13
63
.85
61
61
61
61
60
.03
60
60
.81
58
.11
.41
60
.55
57
55
55
.27
54
.14
53
.00
51
50
.93
49
50
45
.47
.33
38
Porcentaje
40
37
30
20
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
ClasificaciÛn
100.00%
80.00%
Eficiencia
60.00% .8 1% .81
% 1% .81% .81% .81% .81% .81% .81% .81%
50 50 .8 1% 50.8 50 50 50 50 50 50 50
50
40.00%
20.00%
0.00%
Prom.
1
10
Prueba
100.00%
80.00%
% 7%
Eficiencia
% % % % 5% % % 5%
60.00% 0.65 0.65 .65% 0.65 0.81 50.6 0.65 0.65 50.6 0.65 50.6
5 5 50 5 5 5 5 5
40.00%
20.00%
0.00%
1
Prom.
10
Prueba
Fig. 6.16: Rendimiento del C-means difuso con la base de datos Credit.
100.00%
80.00%
Eficiencia
60.00% 6% 6% % % % % 1%
.4 .4 37 46 .37 7% 37% .46 7% 7%
41 41 9. 1. 9 9 .3
9. 41 9.3 9.3 40.2
3 4 3 3 3 3 3
40.00%
20.00%
0.00%
Prom.
1
10
Prueba
Rendimiento del CHM
70
.56
.56
.56
.53
.53
.53
.53
.53
.40
.33
.2 0
.17
.17
.17
.17
.17
.17
.07
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
60
50
.83
.44
38
38
Porcentaje
40
30
20
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Clasificaciones
80
70
60
50
Porcentaje
40
30
20
10
0
1-NN 3-NN C-means C-means dif. C-means DFD CHAT
Mejor rendimiento 66.79 63.8 50.81 50.65 41.46 61.58
Peor rendimiento 44.47 37.33 50.81 50.65 39.37 38.44
Promedio 58.33 54.88 50.81 50.67 40.21 59.08
Clasificador
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 gráficas, el
rendimiento del CHAT en casi constante para todas las clasificaciones.
Rendimiento 1-KNN
.49
.63
.85
.31
.26
80
.53
.11
.92
75
74
. 21
.96
73
. 62
73
.13
73
. 83
.88
72
.98
72
.93
71
.34
. 08
70
69
69
69
68
68
67
67
70 .50
66
66
62
.49
60
56
50
Porcentaje
40
30
20
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
ClasificaciÛn
Rendimiento 3_KNN
1
37
93
68
55
24
29
24
8
93
72
80
74.
74.
73.
73.
73.
73.
73.
73.
9
72.
72.
3
68
3
0
1
69.
69.
68.
4
66.
70
9
80
8
8
83
60.
59.
59.
59
57.
60
55.
83
47.
50
Porcentaje
40
30
20
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
ClasificaciÛn
120.00%
% % %
.96 % .96 % 96 6% 8%
100.00% 96 2 .26 96 2.26 7% 51% % 1% 96. 2.2 91.8
9 9 . 8 . 27 . 5 9
87 88 86
. 88
80.00%
Eficiencia
60.00%
40.00%
20.00%
0.00%
Prom.
1
10
Prueba
Rendimiento del CHM
7
98
.1
.82
.82
97
.48
.48
.48
.48
.48
.48
.48
96
96
97 96
96
96
96
96
96
96
96
.15
.86
95
.37
94
.31
.30
95
.11
.95
94
94
94
94
.48
.48
93
Porcentaje
94
93
93
93
.04
92
92
91
90
89
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Clasificaciones
110
100
90
80
Porcentaje
70
60
50
40
30
20
1-NN 3-NN C-means DFD CHAT
Mejor rendimiento 75.49 74.81 96.96 97.17
Peor rendimiento 58.49 47.83 86.27 92.04
Promedio 69.55 67.55 91.88 95.31
Clasificador
En este capítulo se presentan las conclusiones obtenidas de los resultados del pre-
sente trabajo de tesis, una vez desarrolladas las ideas que inicialmente se propusieron a
lo largo de los capítulos anteriores, plasmando de manera puntual el cumplimiento de
los objetivos propuestos. Conjuntamente con las conclusiones, daremos algunas de las
posibles tareas que se podrán 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 adecuada-
mente, pueden funcionar como clasificadores de patrones, no solamente en casos
raros o aislados, sino en la clasificación de patrones contenidos en bases de datos
públicas, probadas reiteradamente con métodos de clasificación reconocidos. La
eficiencia que presentan los clasificadores asociativos se encuentra a la altura de
los clasificadores más longevos, estudiados y probados que existen actualmente
basados en otros tipos de enfoque.
78
7. Conclusiones y trabajo futuro 79
6. Probar exhaustivamente el CHAT con más bases de datos y comparar los resul-
tados con otros clasificadores (Ayaquica-Martínez, 2002; Kuncheva, 2000; Mar-
qués de Sá, 2001).
7. Llevar a cabo experimentos en los que el CHAT acepte patrones con rasgos no
numéricos.
Apéndice A
Simbología
81
A. Simbología 82
Figura 1: Presentación
Dentro de esta ventana sólo se aprecia una opción; 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 opción configura y opera
el CHAT para utilizar un conjunto fundamental escogido de forma aleatoria en cada
clasificación. Esto se muestra en la figura 2.
Figura 2.
83
B. CHAT 1.0, manual de uso 84
Figura 3
Figura 4
Para poder indicar la ruta de los archivos basta con aplicar el botón adjunto a cada
barra, lo que hace que se muestre una ventana donde podemos buscar la dirección
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
Figura 7
B. CHAT 1.0, manual de uso 87
Figura 8
Aquí podemos observar los diferentes parámetros necesarios para la operación del
programa; para poder ingresar la ruta como la mostrada en la figura 8 basta con aplicar
el botón adjunto a la barra, este botón hace mostrar la ventana de búsqueda de ruta,
figura 5. Las demás variables se ingresan de forma manual o a través de los botones
adjuntos a cada barra.
Figura 1.
88
C. KNN 1.0, manual de uso 89
Figura 2.
La ventana de la figura 2 nos permite ingresar todos los parámetros necesarios para
la clasificación mediante el KNN. Para ingresar la ruta del archivo que contiene la base
de datos, basta con hacer clic en el botón adjunto a la barra Edit1; este botón hará
que se muestre la ventana de búsqueda de ruta, la cual nos permitirá viajar a través
de los diferentes directorios. La ventana se muestra en la figura 3.
Figura 3.
Figura 4.
El siguiente paso es colocar todos los parámetros en sus diferentes casillas. El pro-
grama recibe un factor K que puede estar entre 1 y 100, igual rango para el número de
clases, dimensión del patrón, patrones de entrenamiento y clasificaciones. Un ejemplo
se muestra en la figura 5.
Figura 5.
Figura 6
Figura 7.
Bibliografía
[1] Abe, S. (2001). Pattern classification, Neuro-Fussy Methods and their Compari-
son, 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.
[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.
[13] Demeniconi, C., Peng J. & Gunopulos, D. (2002). Locally Adaptive Metric
Nearest-Neighbor Classification, IEEE Transations on Pattern Análisis and Ma-
chine Intellegence, vol. 24, no. 9,1281-1285.
92
BIBLIOGRAFÍA 93
[14] Díaz-de-León, J. L. & Yáñez, C. (1999). Memorias asociativas con respuesta per-
fecta y capacidad infinita, Memoria del TAINA’99, México, D.F., 23-38.
[17] Dietel, H. M. & Dietel, P. J. (1999). Como programar en C++, México: Pearson.
[18] Duda, R. O., Hart, P. E. & Stork, D. G. (2001). Pattern Classification, USA: John
Wiley & Sons.
[20] Fisher, R. A., (1936). The use of multiple measurements in taxonomic problems,
Anual Eugenics, 7, Part II, 179-188.
[22] Forina, M. et al, (1991), An extendible Package for Data Exploration, Classifi-
cation and Correlation. Institute of Pharmaceutical and Food Analisys and Tech-
nologies, 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.
[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.
[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 col-
lective 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 clas-
sification, 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 Análisis 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.
[48] Lu, Y. & Tan, C. L. (2002). Combination of múltiple classifiers using probabilistic
dictionary and its application to pastcode recognition, Pattern Recognition, 35
(2002), 2823-2832.
[49] Marqués de Sá, J. P. (2001). Pattern Recognition, Concepts, Methods and Appli-
cation, 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 Clas-
sifiers, IEEE Transations on Pattern Análisis and Machine Intellegence, vol. 24,
no. 5, 591-602.
[54] Nakano, K. (1972). Associatron-A model of associative memory, IEEE Transac-
tions on Systems, Man, and Cybernetics, SMC-2, 3, 380-388.
[55] Nicola, G., Masulli, F. & Sperduti, A. (2002). Theorical and experimental análisis
of a two-stage system for classification, IEEE Transations on Pattern Análisis 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 Pro-
cessors, (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 bidirec-
tional associative memories, Neural Networks, 12, 851-867.
[63] Rueda, L. & Oommen, B. J. (2002). On optimal pairwise linear classifiers for nor-
mal distributions the two-dimensional case, IEEE Transations on Pattern Análisis
and Machine Intellegence, vol. 24, no. 2, 274-273 .
BIBLIOGRAFÍA 96
[70] Shalkoff, R. (1992). Pattern recognition, Statical, Structural and Neural Approach-
es, USA: John Wiley.
[71] Sonka, M., Vaclav, H. & Boyle, R. (1999). Imagen Processing, Analysis and Ma-
chine 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] Yáñez-Márquez, C. & Diaz de León, J. L. (2001a). Lernmatrix de Steinbuch, IT
48, Serie Verde, CIC-IPN, México.
[77] Yáñez-Márquez, C. & Diaz de León, J. L. (2001b). Linear Associator de Anderson-
Kohonen, IT 50, Serie Verde, CIC-IPN, México.
[78] Yáñez-Márquez, C. & Diaz de León, J. L. (2001c). Memoria Asociativa Hopfield,
IT 52, Serie Verde, CIC-IPN, México.
[79] Yáñez-Márquez, C. & Diaz de León, J. L. & Sánchez-Garfias, F. A. (2003), Re-
conocimiento de patrones. Enfoque sintáctico-estructural, IT 84, Serie Verde, CIC-
IPN, México.