jesgadiaz/tesis/tesis_ing.pdf · Clasificación de patrones con Memorias Asociativas...
Transcript of jesgadiaz/tesis/tesis_ing.pdf · Clasificación de patrones con Memorias Asociativas...
-
INSTITUTO POLITCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERA MCANICA Y ELCTRICA
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
T E S I S
Q U E P A R A O B T E N E R E L T T U L O D E :
INGENIERO EN COMUNICACIONES Y ELECTRNICA
P R E S E N T A N
Sandra Paola Torres Jurado
Jess Garca Daz
MXICO, D.F. 2009
ASESORES: Dra. Mara Elena Acevedo Mosqueda
M. en C. Marco Antonio Acevedo Mosqueda
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
I
RESUMEN
En este trabajo presentamos la implementacin del modelo de Memoria Asociativa
Bidireccional BAM - como clasificador de patrones. El modelo de la BAM - es un
algoritmo basado en las memorias asociativas - que cuenta con la caracterstica de
recuperar todo lo que aprende y que adems funciona por s misma como un
clasificador, pero con un rendimiento escaso. Es por ello que resulta natural
considerarle como la base para el desarrollo de un clasificador de alto rendimiento,
aadiendo lo que sea requerido. En este trabajo se analiz el comportamiento de las
diferentes etapas que constituyen a la BAM -, de manera que se pudieron determinar
los algoritmos necesarios a aadir al modelo para lograr que funcionara como un
clasificador.
Parte fundamental del presente trabajo es el uso de la codificacin Johnson-Mbius
modificado, pues sin ste el algoritmo propuesto resulta ineficiente.
El porcentaje de recuperacin correcta del clasificador propuesto en este trabajo supera
a los mejores clasificadores existentes en la actualidad, lo cual habla a favor del modelo
BAM -, as como del modelo de Memorias Asociativas -.
El porcentaje de recuperacin ms alto encontrado en el estado del arte corresponde al
Clasificador Hbrido Asociativo Con Traslacin (CHAT), el cual es de 96.56%. El
resultado obtenido al aplicar el algoritmo de clasificacin propuesto en el presente
trabajo lo supera ampliamente, con un porcentaje de 99.33%.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
II
PLANTEAMIENTO DEL PROBLEMA
En la actualidad existen diversas aplicaciones donde el uso de un clasificador resulta
fundamental. La labor bsica de los clasificadores consiste en dividir un conjunto de
patrones que poseen ciertas caractersticas en pequeos subconjuntos llamados
clases, es decir la clasificacin de un patrn consiste en determinar la regin (clase) a
la que pertenece de ese conjunto. Lamentablemente la mayora de los clasificadores
existentes a la fecha no cuentan con un rendimiento lo suficientemente alto para ser
aplicados a determinadas tareas.
Los clasificadores son ampliamente usados en gran cantidad de reas de estudio. Por
ejemplo en la medicina, donde se maneja muchsima informacin que resulta necesario
clasificar, de manera que se le pueda brindar al especialista una mejor interpretacin de
la misma y de esta manera se puedan determinar las decisiones idneas que el mdico
debe tomar. Otra rea importante donde se utilizan clasificadores es la robtica
aplicada a procesos industriales, donde se persigue la meta de automatizar y optimizar
algn proceso de clasificacin de productos, reduciendo tiempo y costo. Otra rea
donde encontramos clasificadores es en la teledeteccin, pues nos permiten determinar
y clasificar un objeto, fenmeno o superficie a travs del anlisis de los datos y de esta
manera poder atacar determinado problema que se presente. En estas y muchas ms
aplicaciones se puede implementar un clasificador, puesto que su propsito es facilitar y
optimizar cierto proceso o tarea de una especifica rea de estudio.
Como se puede deducir de lo mencionado en el prrafo anterior, resulta de vital
importancia que los clasificadores cumplan con su labor de la mejor manera posible (o
en otras palabras, que su porcentaje de clasificacin correcta sea lo ms cercano al
100%), puesto que en el caso de la medicina puede depender la vida misma del
paciente del buen rendimiento del clasificador, o en el caso de la industria puede
significar mayor productividad y calidad.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
III
JUSTIFICACIN
Un clasificador puede ser muy til aplicado a tareas cartogrficas (un ejemplo es la creacin de un prototipo actualizado de mapa topogrfico digital). Tambin resulta til en el campo de la ingeniera biomdica, ya sea en el tratamiento de imgenes o en el anlisis y agrupamiento de datos mdicos, cuyo fin ltimo es proporcionar al profesional una ayuda en la toma de decisiones. O bien puede ser til en el campo de la informtica al momento de organizar documentos como lo hace un navegador WEB, el cual mediante una palabra clave ir clasificando los archivos que se deseen utilizar. stas y muchas ms aplicaciones, tanto para la investigacin como para la vida diaria, pueden resultar una herramienta muy importante para la simplificacin de una tarea especfica. Durante aos las ciencias de la computacin han buscado simular, a travs de la programacin, los diversos procesos que el cerebro humano realiza de forma automtica. El cerebro humano realiza cotidianamente asociaciones sobre objetos, personas, animales, etctera; estas clasificaciones permiten al ser humano identificar los diferentes aspectos de su entorno, y de esta manera puede interactuar con el mismo. Las asociaciones que el cerebro humano realiza son de una complejidad tal que difcilmente podran ser simuladas fielmente por medios electrnicos; sin embargo, en cierta forma esto se ha logrado (o al menos se han hecho grandes avances) mediante la implementacin de algoritmos matemticos, particularmente los relacionados al concepto de Memorias Asociativas. La memoria asociativa que maneja el cerebro ha sido observada y estudiada largamente, de manera que los algoritmos de Memorias Asociativas computacionales han tenido un crecimiento importante a lo largo del tiempo, logrndose que el porcentaje de asociaciones correctas sea cada vez mayor. Los modelos basados en el concepto de memorias asociativas se han desarrollado y estudiado desde los aos sesenta. Una de las aplicaciones principales que se les puede dar a estas memorias es la de implementarlas como clasificadores; esto es, organizar un conjunto de objetos mediante el anlisis de sus caractersticas dentro de determinadas clases. Las memorias asociativas han tenido una gran aceptacin por la efectividad que han demostrado tener en la clasificacin de diferentes bases de datos; en el presente proyecto utilizaremos el modelo de las memorias asociativas BAM -, el cual constituye unos de los modelos con mejor rendimiento en la actualidad. Con el paso del tiempo se han venido utilizando diversos algoritmos basados en
diferentes enfoques para la creacin de un clasificador; entre los que se encuentran el
Bayesian Network (K2), Bagging NB, Logitboost NB (basados en el enfoque bayesiano),
el k-nn (k-Nearest Neighbor) basado en el enfoque de mtricas, y el CHAT (Clasificador
Hbrido Asociativo con Traslacin) basado el enfoque asociativo.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
IV
Todos estos algoritmos han utilizado la base de datos Iris Plant para realizar sus
pruebas, las cuales nos permiten observar que el algoritmo CHAT ha obtenido el mayor
porcentaje de clasificacin con el 96.56% de clasificacin correcta.
El proyecto consistir en implementar esta memoria asociativa - como un clasificador,
lo cual no se ha realizado a la fecha. Se realizarn comparaciones con otros
clasificadores utilizando la base de datos Iris Plant, la cual contiene informacin sobre
tres tipos de flor de iris (Setosa, Virginica y Versicolor), tomando en cuenta las
caractersticas del spalo (largo y ancho) y ptalo (largo y ancho). Esta base de datos
ha sido utilizada para pruebas de varios algoritmos clasificadores a lo largo del tiempo
en todo el mundo, es por ello que en base a ella se realizarn las comparaciones que
nos permitirn concluir cuales son las ventajas de utilizar la BAM - como clasificador,
y en base a estos resultados se pueden idear nuevas aplicaciones para este modelo.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
V
OBJETIVOS
OBJETIVO GENERAL
Habilitar la Memoria Asociativa Bidireccional - (BAM -) como clasificador mediante la codificacin Johnson-Mbius modificada.
OBJETIVOS PARTICULARES
Implementar las memorias asociativas -.
Aplicar el cdigo Johnson-Mbius modificado, y la BAM - para la clasificacin de la base de datos Iris Plant.
Comparar la efectividad de la clasificacin de otros algoritmos con el propuesto por el trabajo.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
VI
Base de datos Iris Plant
Codificacin Johnson-Mbius
BAM - Obtiene las matrices
mx y min
MODELO PROPUESTO
A continuacin se muestra el diagrama a bloques de las dos etapas (etapa de
aprendizaje y etapa de recuperacin) en las que consiste el modelo propuesto en el
presente trabajo.
FASE DE APRENDIZAJE
Dentro de esta etapa se ingresar la informacin de la base de datos Iris Plant para posteriormente hacer las pruebas pertinentes. Esta base de datos ser codificada utilizando el cdigo Johnson- Mbius modificado con el fin de eliminar el ruido mezclado que la BAM - (Memoria Asociativa Bidireccional -) no puede manejar para recuperar los patrones. Una vez codificada la base de datos Iris Plant, ser introducida a la BAM - para generar el conjunto fundamental (matriz de aprendizaje) y as obtener mediante el operador las matrices mx y min.
FASE DE RECUPERACIN
En la fase de recuperacin se obtendr la clasificacin de un determinado patrn. Para
ello ser previamente codificado con el cdigo Johnson- Mbius modificado.
Posteriormente el patrn introducido ser operado con las matrices mx y min
generadas en la etapa de aprendizaje, para as obtener la informacin requerida
(vectores columna r y ) que nos permitir realizar su clasificacin. El anlisis de la
informacin obtenida se puede realizar de dos maneras (A y B), donde ambas consisten
en la mezcla de un par de algoritmos, pero aplicados en orden inverso.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
VII
Este par de algoritmos (que hemos denominado anlisis S/A y anlisis M) son descritos
a detalle en la seccin 3.3.2 y 3.3.3 respectivamente
En la opcin A se realiza primero el anlisis de los patrones aprendidos que contienen
exclusivamente ruido aditivo y exclusivamente ruido sustractivo (anlisis S/A), y
posteriormente se lleva a cabo el anlisis de los patrones con ruido mezclado (anlisis
M).
Si se opta por la opcin B se realizar lo mismo que en la opcin A, excepto porque
ahora se realizar primero el anlisis de los patrones con ruido mezclado (anlisis M) y
posteriormente el de los patrones con exclusivamente ruido aditivo y exclusivamente
ruido sustractivo (anlisis S/A).
En el captulo 4, donde se encuentran las pruebas realizadas, se mencionarn las
diferencias entre utilizar una u otra opcin.
Registro
Codificacin Johnson-Mbius
Operar el registro con las matrices mx y min
Obtener vectores r y
Realizar operacin AND r y
A B
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
VIII
Opera vector one-hot con el Linear
Associator
S
Se cumple el criterio de clasificacin?
S
Se obtiene la clasificacin
B
Contiene slo ceros?
Se analizan los patrones con ruido
mezclado
S
No
No es posible clasificarlo
No r AND es vector one-hot?
Opera vector one-hot con el Linear
Associator
r AND es vector one-hot?
Contiene slo ceros?
Se analizan los patrones con ruido
mezclado
Se obtiene la clasificacin
S
S No
No
No es posible clasificarlo
A
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
IX
NDICE
NDICE DE FIGURAS .................................................................................................... XI
NDICE DE TABLAS ..................................................................................................... XII
CAPTULO I .................................................................................................................... 1
1.1 INTRODUCCIN .................................................................................................. 1
1.2 RECONOCIMIENTO DE PATRONES .................................................................. 3
1.2.1 ENFOQUES DEL RECONOCIMIENTO DE PATRONES ............................... 4
1.2.2 ETAPAS DEL RECONOCIMIENTO DE PATRONES ..................................... 4
1.3 CLASIFICACIN ................................................................................................... 6
1.4 IMPORTANCIA DE LOS CLASIFICADORES Y APLICACIONES ........................ 7
1.5 MEMORIAS ASOCIATIVAS BIDIRECCIONALES (BAM) ..................................... 9
1.6 MEMORIAS ASOCIATIVAS BIDIRECCIONALES - (BAM -) Y SUS
APLICACIONES ......................................................................................................... 12
1.7 ESTADO DEL ARTE ........................................................................................... 12
1.7.1 CLASIFICADOR BAYESIANO ...................................................................... 13
1.7.2 K-NEAREST NEIGHBOR (K-NN) .................................................................. 17
1.7.3 CLASIFICADOR HBRIDO ASOCIATIVO CON TRASLACIN (CHAT) ....... 18
CAPTULO 2 ................................................................................................................. 21
2.1 MEMORIAS ASOCIATIVAS ................................................................................ 21
2.1.1 LERNMATRIX DE STEINBUCH ................................................................... 24
2.1.2 CORRELOGRAPH DE WILLSHAW, BUNEMAN & LONGUET-HIGGINS ..... 25
2.1.3 LINEAR ASSOCIATOR DE ANDERSON-KOHONEN .................................. 26
2.1.4 HOPFIELD .................................................................................................... 28
2.1.5 MEMORIAS ASOCIATIVAS y ................................................................. 30
2.1.5.1 MEMORIAS HETEROASOCIATIVAS - ............................................... 30
2.1.5.1.1 MEMORIAS HETEROASOCIATIVAS - TIPO V ............................ 31
2.1.5.1.2 MEMORIAS HETEROASOCIATIVAS - TIPO ............................ 31
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
X
2.1.5.2 MEMORIAS AUTOASOCIATIVAS - .................................................... 32
2.1.5.2.1 MEMORIAS AUTOASOCIATIVAS - TIPO V ................................. 32
2.1.5.2.2 MEMORIAS AUTOASOCIATIVAS - TIPO ................................. 33
CAPTULO 3 ................................................................................................................. 35
3.1 MEMORIAS ASOCIATIVAS BIDIRECCIONALES - ......................................... 35
3.2 ETAPA DE RECUPERACIN COMO FUNDAMENTO DE LA CLASIFICACIN
DE LA BAM - .......................................................................................................... 40
3.2.1 EJEMPLO ...................................................................................................... 41
3.3 LA CLASIFICACIN DE LA BAM - .................................................................. 45
3.3.1 ELEMENTOS DE LA BAM - QUE PERMITEN LA CLASIFICACIN ......... 46
3.3.2 ALGORITMO DE CLASIFICACIN (ANLISIS S/A) ..................................... 50
3.3.3 ALGORITMO DE CLASIFICACIN (ANLISIS M) ........................................ 53
3.4 DIAGRAMA DE FLUJO DEL ALGORITMO DE CLASIFICACIN PROPUESTO 55
3.5 CODIFICACIN JOHNSON-MBIUS MODIFICADO .......................................... 60
3.6 BASE DE DATOS IRIS PLANT ............................................................................ 62
CAPTULO 4 ................................................................................................................. 63
4.1 EJEMPLO DE CLASIFICACIN CON EL ANLISIS S/A .................................... 63
4.2 EJEMPLO DE CLASIFICACIN CON EL ANLISIS M ....................................... 74
4.3 PRUEBAS ............................................................................................................ 83
4.4 CONCLUSIONES ................................................................................................. 91
4.5 APORTACIONES Y TRABAJO FUTURO ............................................................ 91
APNDICE A..93
GLOSARIO ................................................................................................................... 98
BIBLIOGRAFA ........................................................................................................... 100
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
XI
NDICE DE FIGURAS
Figura 1.1 Etapas del Reconocimiento de Patrones ............................................................................. 5
Figura 1.2 Memoria Asociativa ................................................................................................................. 9
Figura 1.3 Esquema de la BAM como una caja negra ....................................................................... 10
Figura 2.1 Diagrama a bloques de una memoria asociativa ............................................................. 21
Figura 3.1 Diagrama a bloques de una Memoria Asociativa Bidireccional ..................................... 35
Figura 3.2 Diagrama a bloques de la BAM - .................................................................................... 35
Figura 3.3 Esquema del proceso en el sentido de x a y .................................................................... 37
Figura 3.4 Esquema del proceso en el sentido de y a x .................................................................... 38
Figura 3.5 Esquema del proceso en el sentido de x a y .................................................................... 40
Figura 3.6 Sistema de traduccin utilizando la BAM - ingresando patrn aprendido ............... 45
Figura 3.7 Sistema de traduccin utilizando la BAM - ingresando patrn con ruido ................. 46
Figura 4.1 Distribucin de los 20 registros de los atributos A1 y A2 de las clases versicolor y
virginica ...................................................................................................................................................... 64
Figura 4.2 Distribucin de los patrones aprendidos y el patrn a clasificar .................................... 65
Figura 4.3 Distribucin del patrn introducido sobre el plano cartesiano ........................................ 67
Figura 4.4 Posicin k=10 del patrn comparado con el patrn introducido .................................... 69
Figura 4.5 Posicin k=2 del patrn comparado con el patrn introducido ...................................... 70
Figura 4.6 Posicin k=4 del patrn comparado con el patrn introducido ...................................... 71
Figura 4.7 rea de los patrones aprendidos de la clase versicolor en sus cuadrantes I y III ...... 72
Figura 4.8 rea de los patrones aprendidos de la clase virginica en sus cuadrantes I y III ........ 73
Figura 4.9 reas de distribucin entre la clase vesicolor y la clase virginica ................................. 74
Figura 4.10 Distribucin de los patrones aprendidos y el patrn a clasificar .................................. 75
Figura 4.11 Identificacin de los valores de K que cumplen rk=0 y s-k=0 ........................................ 76
Figura 4.12 Distribucin de los patrones 13,18 y 19 respecto al patrn introducido ..................... 79
Figura 4.13 Distribucin de los patrones aprendidos de la clase versicolor respecto al patrn
introducido ................................................................................................................................................. 80
Figura 4.14 Distribucin el patrn introducido dentro del plano cartesiano .................................... 81
Figura 4.15 Analoga para los conjuntos 1 y 2 ..................................................................................... 83
Figura 4.16 Porcentajes de recuperacin del anlisis S/A y M (1) ................................................... 85
Figura 4.17 Porcentajes de recuperacin del anlisis S/A y M (2) ................................................... 86
Figura 4.18 Porcentajes de recuperacin del anlisis S/A y M combinados (1) ............................ 86
Figura 4.19 Porcentajes de recuperacin del anlisis S/A y M combinados (2) ............................ 87
Figura 4.20 Porcentajes de recuperacin del anlisis S/A y M del 70% al 80% ............................ 88
Figura 4.21 Porcentajes de recuperacin del anlisis S/A y M combinados del 70% al 80% .... 89
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
XII
NDICE DE TABLAS
Tabla 1.1 Asociaciones (x,y) ..................................................................................................... 10
Tabla 1.2 Ejemplos de patrones ruidosos .................................................................................. 11
Tabla 1.3 Porcentaje de efectividad de los algoritmos con enfoque Bayesiano ......................... 17
Tabla 1.4 Porcentaje de efectividad de los algoritmos con enfoque basado en mtrica ............ 18
Tabla 1.5 Porcentaje de efectividad del algoritmo con enfoque Asociativo ................................ 19
Tabla 2.1 Fase de aprendizaje para Learnmatrix de Steinbuch ................................................. 24
Tabla 2.2 Fase de aprendizaje para una red asociativa............................................................. 26
Tabla 2.3 Operacin ............................................................................................................... 30
Tabla 2.4 Operacin ............................................................................................................... 30
Tabla 3.1 Posibles combinaciones para la determinacin del patrn introducido ...................... 47
Tabla 3.2 Patrones posibles que se pueden formar con 4 bits ................................................... 48
Tabla 3.3 Patrn introducido 0111 ............................................................................................. 48
Tabla 3.4 Relacin entre el patrn x1 y el patrn introducido 0111 ............................................ 48
Tabla 3.5 Relacin entre el patrn x2 y el patrn introducido 0111 ............................................ 49
Tabla 3.6 Patrn introducido 0001 ............................................................................................. 49
Tabla 3.7 Relacin entre el patrn x1 y el patrn introducido 0001 ............................................ 49
Tabla 3.8 Relacin entre el patrn x2 y el patrn introducido 0001 ............................................ 49
Tabla 3.9 Patrn introducido 0100 ............................................................................................. 50
Tabla 3.10 Relacin entre el patrn x3 y el patrn introducido 0100 .......................................... 50
Tabla 3.11 Ejemplos de ruido aditivo para el valor 1010 ............................................................ 60
Tabla 3.12 Ejemplos de ruido sustractivo para el valor 1010 ..................................................... 60
Tabla 3.13 Ejemplos de ruido combinado para el valor 1010 .................................................... 61
Tabla 3.14 Ejemplos de codificacin Johnson-Mbius .............................................................. 62
Tabla 4.1 Atributos A1 y A2 pertenecientes a las clases versicolor y virginica ........................... 63
Tabla 4.2 Patrn a clasificar ...................................................................................................... 65
Tabla 4.3 Comparacin de la codificacin del atributo A1 del patrn introducido y un patrn en el
cuadrante I ................................................................................................................................ 68
Tabla 4.4 Comparacin de la codificacin del atributo A2 del patrn introducido y un patrn en el
cuadrante I ................................................................................................................................ 68
Tabla 4.5 Comparacin de la codificacin del atributo A1 del patrn introducido y un patrn en el
cuadrante III .............................................................................................................................. 69
Tabla 4.6 Comparacin de la codificacin del atributo A2 del patrn introducido y un patrn en el
cuadrante III .............................................................................................................................. 69
Tabla 4.7 Comparacin de la codificacin del atributo A2 del patrn introducido y un patrn en el
cuadrante II ............................................................................................................................... 70
Tabla 4.8 Comparacin de la codificacin del atributo A2 del patrn introducido y un patrn en el
cuadrante II ............................................................................................................................... 71
Tabla 4.9 Patrn a clasificar ...................................................................................................... 74
Tabla 4.10 Codificaciones obtenidas de los patrones k=n del atributo A1 ................................. 77
Tabla 4.11 Codificacin obtenida del patrn introducido del atributo A1 .................................... 78
Tabla 4.12 Codificaciones obtenidas de los patrones k=n del atributo A2 ................................. 78
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
XIII
Tabla 4.13 Codificacin obtenida del patrn introducido del atributo A2 .................................... 78
Tabla 4.14 Patrn a clasificar .................................................................................................... 80
Tabla 4.15 Combinaciones generadas de ruido mezclado con 2 atributos ................................ 81
Tabla 4.16 Combinaciones generadas de ruido mezclado con 3 atributos ................................ 81
Tabla 4.17 Nmero de patrones aprendidos por clase en los cuadrantes II y IV ....................... 82
Tabla 4.18 Resultado de pruebas realizadas ............................................................................. 84
Tabla 4.19 Resultado de pruebas del 70% al 80% de S/A y M .................................................. 88
Tabla 4.20 Resultado de pruebas del 70% al 80% de S/A y M combinados .............................. 88
Tabla 4.21 Porcentajes de recuperacin de los diferentes clasificadores .................................. 90
Tabla 4.22 Porcentaje de recuperacin del algoritmo propuesto ............................................... 90
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
1
CAPTULO I
1.1 INTRODUCCIN El tema del reconocimiento de patrones abarca un rea de estudio bastante amplia, y
es por ello que a lo largo de su evolucin se han venido utilizando diversas tcnicas
para tratar el tema, que bsicamente busca semejar el funcionamiento del cerebro
humano, en cuanto a percepcin y procesamiento de patrones se refiere.
Comprender en qu consiste el reconocimiento de patrones es fundamental para el
entendimiento de la importancia de la presente tesis, ya que est ntimamente ligado
con el proceso de clasificacin y recuperacin de patrones.
Antes de hablar del reconocimiento de patrones, es necesario definir qu es un patrn.
As pues, los patrones son entidades que tienen ciertas caractersticas, mismas que
exhiben cierta regularidad en una coleccin de observaciones conectadas en el
espacio, tiempo o en ambos, y que pueden servir como modelo.
Por ejemplo:
Tenemos una coleccin de imgenes de rostros humanos vistos de frente. Al
observarlos encontraremos los siguientes patrones:
La nariz se encuentra en el centro de los rostros de la coleccin.
Los labios se encuentran bajo la nariz.
Los ojos se encuentran sobre la nariz.
Las orejas se encuentran a los lados del rostro.
Las cejas se encuentran sobre los ojos.
De este modo hemos determinado las caractersticas principales que debe tener un
ente para poder decir que se trata de un rostro humano. Es decir, hemos propuesto el
patrn del rostro humano.
Ahora bien, estos patrones al encontrar ciertas similitudes pueden ser clasificables, y se
entiende por clasificacin al ordenamiento por clases o categoras de un objeto,
basndose en sus propiedades o caractersticas en cuestin.
Para que se pueda llegar a clasificar objetos, se necesitan herramientas
computacionales potentes que puedan identificar las propiedades o caractersticas de
cierto grupo de objetos.
Existen herramientas computacionales muy poderosas dentro del rea del
reconocimiento de patrones es por ello que en esta tesis se aborda el problema de la
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
2
clasificacin con el uso de las memorias asociativas, las cuales tienen como propsito
fundamental el de recuperar correctamente patrones completos a partir de los patrones
de entrada, los cuales pueden estar alterados con ruido. En el diseo de una memoria
asociativa tenemos dos etapas: la fase de aprendizaje y la fase de recuperacin; La
fase de aprendizaje es donde se genera la memoria asociativa a partir de las
asociaciones (entrada, salida) del conjunto fundamental, y la fase de recuperacin que
es donde la memoria asociativa opera sobre un patrn de entrada para obtener un
patrn de salida [1].
Dentro de este enfoque asociativo se trabajar ms especficamente con las Memorias
Asociativas Bidireccionales - (BAM -), modelo que est basado en las Memorias
Asociativas -, las cuales fueron creadas en el CIC (Centro de Investigacin en
Computacin) por el Dr. Cornelio Yez Mrquez [9]. Estas memorias estn
consideradas como las de mayor rendimiento en la actualidad [2].
El modelo de la BAM - siempre recupera de forma correcta todos los patrones
entrenados. En captulos posteriores se explicar el fundamento matemtico para
sostener lo dicho anteriormente.
La BAM - consta de 4 etapas, dos de ellas se utilizan en el sentido hacia adelante y
las dos restantes en sentido contrario, lo que permite la bidireccionalidad del modelo.
Para la creacin del clasificador slo se trabajar con las dos primeras etapas; las
cuales constan de dos memorias autoasociativas - mx y min, construidas a partir de
los patrones de entrada. La primera etapa consiste en obtener un vector llamado one-
hot a partir de un patrn de entrada, por lo tanto en la segunda etapa la tarea principal
es recuperar de manera acertada el patrn correspondiente [1].
Este modelo trabaja con valores binarios, y tiene la caracterstica de que puede
recuperar los patrones aprendidos cuando existe solamente un tipo de ruido en los
mismos: aditivo o sustractivo, pero no as cuando existe ruido mezclado. Es debido a
esto que resulta necesario implementar una codificacin sobre los patrones, para que
as, no exista ruido mezclado y se puedan recuperar los mismos.
A continuacin se explicarn algunos puntos importantes que resulta indispensable
mencionar, como el concepto de reconocimiento de patrones, que es un clasificador,
as como su importancia y aplicaciones, adems de mencionar brevemente en qu
consiste la Memoria Asociativa Bidireccional - (BAM -), aplicaciones y razones del
por qu se est trabajando con este modelo para la realizacin de un clasificador.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
3
1.2 RECONOCIMIENTO DE PATRONES A lo largo del siglo pasado se llevaron a cabo muchas investigaciones en el rea del
reconocimiento de patrones, en todas sus diversas reas.
Cuando se trabaja en este campo de estudio, se debe lidiar con la incapacidad de los
modelos actuales de reconocimiento de patrones en comparacin con la gran
complejidad del cerebro humano.
No obstante, en los ltimos aos ha existido un gran progreso en el rea y, aunque an
se est lejos de lograr que una mquina pueda hablar y entender al ser humano
completamente, los avances indican que las recompensas justificarn el esfuerzo.
El Reconocimiento de patrones es una tcnica de la inteligencia artificial y es empleado
por tecnologas como el procesamiento de lenguaje natural y la visin computacional
[5].
El Reconocimiento de Patrones incluye, entre sus principales tareas, la clasificacin y la recuperacin de patrones.
El reconocimiento de patrones se apoya de otras tcnicas de la Inteligencia Artificial
como [5]:
Lgica difusa
Minera de datos
Redes neuronales
Agentes
El uso de reconocimiento de patrones se puede ver en gran cantidad de problemas,
tales como terapias de lenguaje mediante el reconocimiento de la voz y sonidos,
procesamiento de imgenes de rayos X, de resonancia magntica nuclear (RMN), de
ultrasonido (donde se desarrollan tcnicas para mejorar la identificacin y seguimiento
de formas, como la actividad del feto en el tero) o en la ciruga plstica, donde se
puede generar una reconstruccin tridimensional de la parte del cuerpo a intervenir,
para as mostrar diferentes vistas al paciente y explicarle mejor en qu consistir su
tratamiento, el resultado final y las modificaciones que se le aplicaran durante una
operacin [5].
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
4
1.2.1 ENFOQUES DEL RECONOCIMIENTO DE PATRONES Los principales enfoques de Reconocimiento de Patrones son los siguientes [5] [7]: Enfoque estadstico-probabilstico. Este enfoque est basado en la teora de la probabilidad, y especficamente en el teorema de Bayes. Es el primer enfoque que existi. Clasificadores basados en mtricas. Se basan en el concepto de mtrica y espacios mtricos para poder realizar la clasificacin. Enfoque sintctico-estructural. Se basa en la teora de autmatas y lenguajes formales. Se enfoca ms en la estructura de los objetos que desea clasificar que en mediciones numricas.
Enfoque lgico-combinatorio. La modelacin del problema debe ser lo ms cercana posible a la realidad del mismo, sin hacer suposiciones que no estn fundamentadas. Se utiliza para conjuntos difusos adems de utilizar la lgica simblica, circuitos combinacionales y secuenciales. Enfoque Neuronal. Se basa en modelos matemticos de las neuronas biolgicas, esto es, emular la forma en cmo interactan nuestras neuronas. Enfoque Asociativo. Creado en el Centro de Investigacin en Computacin del IPN en 2002, utiliza los modelos de memorias asociativas para crear clasificadores robustos. Esta tesis girar en torno al enfoque asociativo, por lo que en el transcurso de ella se manejarn conceptos importantes como lo son las memorias asociativas [9].
1.2.2 ETAPAS DEL RECONOCIMIENTO DE PATRONES Dentro del sistema de reconocimiento de patrones, existen una serie de etapas que estn bien definidas [8]:
Pre procesado y adquisicin de datos.
Definicin de caractersticas.
Seleccin y extraccin de caractersticas.
Clasificacin.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
5
Figura 1.1 Etapas del Reconocimiento de Patrones
Pre procesado y adquisicin de datos Aqu los patrones son tratados de tal forma que se pueda trabajar de una forma ms sencilla y eficaz. Para ello se trata de eliminar el ruido que se produce por el proceso de adquisicin de los patrones. Definicin de caractersticas En esta etapa se lleva a cabo la bsqueda de las caractersticas que representen a los patrones para as clasificarlos de la forma ms adecuada. Su propsito es estudiar los descriptores de regin como caractersticas elegidas y verificar su validez. Seleccin y extraccin de caractersticas La seleccin de caractersticas consiste en remover las caractersticas que definitivamente no aportan informacin a la clasificacin. Con la extraccin de caractersticas lo que se pretende es mejorar el escenario en el que tendr que actuar el clasificador; se trata de trasladar el espacio de patrones a otro de igual o menor dimensin en el que se produzcan las mejoras deseadas. Una vez establecidas las condiciones favorables para la clasificacin, mediante todas las etapas anteriores, queda por ltimo analizar la forma en que se van a clasificar los patrones. Este punto es el de mayor importancia para el presente proyecto, por ello es necesario definir qu es un clasificador con mayor detenimiento. En la siguiente seccin se hablar con mayor detalle de la etapa de clasificacin.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
6
1.3 CLASIFICACIN La etapa ms importante del reconocimiento de patrones es la que corresponde a la
implementacin de un clasificador.
Un clasificador, o regla de clasificacin, es un proceso dentro del cual la tarea principal
consiste en dividir el espacio de un conjunto de caractersticas en regiones de decisin
asociadas a las clases, es decir que la clasificacin de patrones consiste en determinar
a qu subgrupo de un conjunto de patrones pertenece, tomando en cuenta sus
caractersticas.
El proceso de clasificacin se compone de tres fases:
La eleccin del modelo
Aprendizaje (entrenamiento del clasificador)
Verificacin de resultados
Para poder construir el clasificador en primer lugar deben estudiarse cmo se
distribuyen los patrones de cada clase y establecer una funcin discriminante adecuada
utilizando los prototipos disponibles. Posteriormente es necesario elegir un modelo,
para este caso se trabajar con las memorias asociativas bidireccionales - (BAM -)
[1]. Ahora bien, para poder construir el clasificador, utilizando el modelo de memorias
asociativas, es importante utilizar una herramienta para la construccin de ste, ya sea
utilizando software o hardware. Es importante sealar que en la presente tesis se
utilizar nicamente software.
El clasificador diseado est programado en visual C#, esto debido a que el lenguaje de
programacin C# resulta ser muy estable, rpido y adems es multiplataforma.
Una vez elegido el clasificador ste debe ajustarse a los datos del problema mediante
un proceso de aprendizaje, que en Reconocimiento de Patrones se realiza mediante un
conjunto de entrenamiento (conjunto fundamental) a cuyos elementos se llaman
patrones.
En el caso de este proyecto, los patrones son obtenidos de la base de datos Iris Plant;
esta base consta de 150 datos, los cuales se encuentran clasificados dentro de tres
clases diferentes de flor del iris (Setosa, Versicolor y Virginica).
Con estas muestras se empezar a entrenar el modelo utilizado en el clasificador. Se
quitarn muestras del conjunto fundamental, para realizar pruebas, y as obtener el
porcentaje de efectividad.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
7
1.4 IMPORTANCIA DE LOS CLASIFICADORES Y APLICACIONES Clasificar ha sido, y es hoy en da, un problema bsico para un amplio espectro de disciplinas, que se extiende de las ciencias bsicas a la ingeniera [3]. Dependiendo de la ciencia y del periodo histrico, el problema de clasificar se presenta de manera diferente. La clasificacin no slo facilita la manera de estudiar un fenmeno, sino que tambin ayuda a organizar y facilitar la informacin requerida. Uno de los propsitos fundamentales comn a todas las disciplinas, es el de dividir un conjunto de objetos en categoras (clasificar), para as poder simplificar el estudio de un determinado fenmeno. Estas categoras (clases) se construyen de manera tal que cada objeto sea similar, en cierta forma, a otro objeto del mismo grupo; y posteriormente objetos de distintos grupos tienden a ser diferentes [3]. A continuacin se presentan algunas aplicaciones importantes de clasificadores en diversas reas de la ciencia e ingeniera:
Imgenes geoespaciales:
Conforme transcurre el tiempo, a nivel mundial se vienen generando colecciones
de datos en escalas enormes, almacenadas en ordenadores, servidores.
Dentro de estas grandes colecciones de datos estn aquellas de tipo
geoespacial (imgenes satelitales entre otros), requeridas por las diversas
comunidades acadmicas y cientficas. La informacin actual disponible en la
Web, acerca de las imgenes de satlite, se limita a la informacin de
metadatos, como son las coordenadas geogrficas, la fecha de adquisicin, el
tipo de sensor y el modo de adquisicin. Esta restriccin limita seriamente la
utilidad de los datos para los usuarios. En aras de superar esta limitacin e
incrementar la utilidad de los datos geoespaciales, se requiere la adopcin de
nuevas tecnologas que hagan posible el acceso a la informacin de percepcin
remota en base a contenidos y semnticas. Dentro de los procedimientos que
hacen posible extraer mayor informacin de las imgenes, se encuentra la
clasificacin de las mismas.
La clasificacin de estas imgenes genera un aumento en su aplicabilidad a
tareas cartogrficas, un ejemplo sera la creacin de un prototipo actualizado de
mapa topogrfico digital. Los mapas topogrficos son una representacin del
relieve de la superficie terrestre.
Tienen la cualidad de que a travs de ellos se puede interpretar la forma de la
superficie de la tierra, sabiendo si hay montaas, valles, ros, etc. y dems
accidentes del terreno, que no se encuentran en un mapa normal. Tienen
informacin sobre ros, presas, lagos y ocanos.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
8
Indican todo aquello construido por el hombre como ciudades, poblaciones,
presas, lneas de electricidad, telfono, etc.
Se utilizan a menudo como mapas generales de consulta y sirven de base para
elaborar otros mapas y grficos, como los perfiles fluviales y los cortes
topogrficos. Asimismo, son utilizados para conseguir una buena orientacin
espacial [4].
Biomdica
En el mbito de la medicina es de gran inters el conservar e incrementar el
tamao de bases de datos que contengan informacin relacionada a clulas de
pacientes que padecen alguna enfermedad. Este inters se debe a que las
clulas contienen ciertas caractersticas, las cuales son indicadores de
determinadas enfermedades. As, una correcta clasificacin de la informacin
celular de un paciente permite realizar un diagnstico ms preciso sobre el
mismo.
En ocasiones se requiere caracterizar ncleos celulares de imgenes mdicas
de citologas para su posterior clasificacin en dos categoras: sano o patolgico.
En esta rea se pueden trabajar con distintos tipos de citologa: citologas de
tejido de mama, citologas peritoneales, citologas de pleura, de donde la
caracterstica principal bajo estudio que se extrae de los ncleos que se desea
clasificar es la distribucin de cromatina en los mismos.
El inters en el campo de la ingeniera biomdica es claro, puesto que se trata de
un conjunto de herramientas aplicables tanto al tratamiento de imgenes como al
anlisis y agrupamiento de datos mdicos, cuyo fin ltimo es proporcionar al
profesional una ayuda a la toma de decisiones [4].
Informtica
En esta rama se tienen diversas aplicaciones como lo es la clasificacin de
documentos, esto se utiliza comnmente al realizar bsquedas en internet a
travs de navegadores; mediante una palabra clave, el clasificador va discernir
entre todos los documentos de texto, multimedia (video, sonido y animaciones) y
software, que se encuentren en la red para as poder presentarle al usuario la
categora que desea.
Otra aplicacin importante dentro del rea de la informtica es la computacin
afectiva en la cual, mediante una imagen y el sonido de la voz de una persona,
se pueden identificar los diferentes estados de nimo que un ser humano puede
expresar, esto con el objetivo de crear robots capaces de reconocer y expresar
dichas emociones.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
9
En el reconocimiento del habla, se utiliza para identificar a las personas; esto es,
si una persona es mujer u hombre, anciano o nio, dependiendo de las
caractersticas de su voz [6].
Biometra
En el rea de la biometra, la identificacin de caractersticas del iris del ojo
puede arrojar informacin valiosa acerca del posible padecimiento de ciertas
enfermedades. La implementacin de un clasificador en esta rea resultara de
gran utilidad, pues basndose en ciertas caractersticas se puede clasificar el iris
de un ojo como tendente a representar alguna(s) enfermedad(es) u otra(s) [6].
Reconocimiento de Caracteres
Una labor cotidiana en el servicio postal es la de clasificar los sobres en base a
ciertas caractersticas, las cuales pueden ser el cdigo postal o el pas. Para
agilizar esta labor es posible implementar una herramienta que, utilizando una
tcnica de reconocimiento de caracteres basada en un clasificador, pueda
distinguir palabras sin importar el tipo de letra que haya sido utilizado para
escribirlas. Posteriormente, y una vez identificadas las palabras escritas en cada
sobre, un segundo clasificador sera capaz de ordenar los sobres en diferentes
categoras, ya sea por cdigo postal o pas. De modo que con el uso de
herramientas de clasificacin se agiliza enormemente el proceso [6].
1.5 MEMORIAS ASOCIATIVAS BIDIRECCIONALES (BAM) En la presente tesis trabajaremos con las Memorias Asociativas Bidireccionales - denominadas BAM -, las cuales se basan en el modelo de las Memorias - [1]. Para hablar de la BAM - debemos antes presentar la definicin general de Memorias Asociativas y de las Memorias Asociativas Bidireccionales (BAM). Cabe mencionar que el trmino BAM proviene de Bidirectional Associative Memory. Una Memoria Asociativa se puede definir como un sistema de entrada y salida como se
muestra a continuacin.
Figura 1.2 Memoria Asociativa
X Y
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
10
Donde x y y son los patrones de entrada y salida respectivamente. Cada patrn de
entrada forma una asociacin con el correspondiente patrn de salida (x,y).
Un ejemplo sera la correspondencia que tiene un nombre con su respectivo apellido en
este caso tenemos el nombre Vernica Saucedo, en donde se quiere a travs del
nombre obtener el apellido. Por lo tanto al ingresar el nombre que corresponde al patrn
de entrada x la memoria ser capaz de asociar ese nombre con el apellido
correspondiente (patrn de salida y), siempre y cuando lo haya aprendido con
anterioridad. Este aprendizaje se encuentra constituido por un conjunto finito de
asociaciones denominado conjunto fundamental.
Ahora una vez definido qu es una Memoria Asociativa se puede definir en qu consiste
una Memoria Asociativa Bidireccional.
La manera ms sencilla de representar una memoria bidireccional, en general, es como
una caja negra, tal como se muestra en la siguiente figura:
Figura 1.3 Esquema de la BAM como una caja negra
En esta figura las flechas indican el sentido del procesamiento de los datos que, como se puede observar, son representados por las letras x y y, adems de sus respectivas
versiones ruidosas y .
Entre los datos x y y debe existir cierta correspondencia, la cual se ha de establecer de
antemano. Para ejemplificar se muestran en la siguiente tabla las posibles
correspondencias entre los datos x y y para un determinado problema:
Tabla 1.1 Asociaciones (x,y)
x y
Vernica Saucedo
Carlos Daz
Humberto Snchez
Rosa Fernndez
La tabla anterior nos indica que existe una relacin entre el nombre Vernica y el
apellido Saucedo, y as sucesivamente para el resto de datos. De modo que el
objetivo de la BAM queda ms claro: obtener a una entrada Vernica una salida
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
11
Saucedo. De igual manera, este mismo objetivo debe cumplirse en sentido contrario,
es decir, a una entrada (por el lado derecho) Saucedo la BAM debe ser capaz de
obtener a la salida (del lado izquierdo) un dato Vernica, dejando en claro el porqu
del apelativo Bidireccional.
Ahora bien, observando la figura notamos que hace falta definir el significado de las
letras y . Este par de letras representan los mismos datos y , pero con cierta
cantidad de ruido presente en ellos, es decir con ligeras variaciones que los modifican,
pero sin volverlos irreconocibles al sistema. Por ejemplo, versiones ruidosas de las x de
la tabla anterior podran ser:
Tabla 1.2 Ejemplos de patrones ruidosos
Ver0nika
Karloz
Humverto
Roza
El funcionamiento de la BAM, vista como una caja negra, es anlogo al del cerebro
humano. Si introducimos a ste ltimo un dato de entrada, como lo puede ser el nombre
Vernica, ste realiza un procesamiento que le da como resultado el apellido
correspondiente, siempre y cuando previamente haya aprendido a generar esta
asociacin (es decir, siempre y cuando haya conocido previamente a una persona de
nombre Vernica y apellido Saucedo). De la misma manera, una memoria
bidireccional recuperar la asociacin (el apellido, para nuestro ejemplo) siempre y
cuando haya pasado por una etapa de aprendizaje, en la cual gener la asociacin de
las x con las y.
Ahora bien, la memoria asociativa bidireccional es capaz de recuperar las asociaciones
generadas en la etapa de aprendizaje, an cuando la entrada sea x. Anlogamente,
nuestro cerebro fcilmente puede identificar que existen ligeros errores en la escritura
de un nombre, y dar por hecho que se trata de versiones ruidosas de la escritura
original del nombre, de modo que a pesar de estos errores de escritura podr recuperar
el apellido asociado. Si la cantidad de ruido fuera demasiada, nuestro cerebro no podra
recuperar la asociacin. Lo mismo sucede con las memorias bidireccionales, cuando el
ruido tiene ciertas caractersticas no podr recuperar el dato asociado.
Como ya se mencion, la BAM es bidireccional, y ser capaz de realizar las tareas ya
descritas en sentido contrario.
Hasta ahora se ha hablado de las Memorias Asociativas Bidireccionales (BAM) en general, pero es de nuestro inters hablar especficamente de la BAM -.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
12
1.6 MEMORIAS ASOCIATIVAS BIDIRECCIONALES - (BAM -) Y SUS APLICACIONES Las Memorias Asociativas Bidireccionales - son un modelo desarrollado por Dra.
Mara Elena Acevedo Mosqueda [1], en base al modelo de Memorias Asociativas -
desarrollado por el Dr. Cornelio Yez Mrquez [9]. Este modelo, visto como una caja
negra, funciona del mismo modo que todos los dems modelos de Memorias
Asociativas Bidireccionales (cuyo funcionamiento bsico se describi en la seccin
anterior), con la diferencia de que presenta un mayor rendimiento para recuperar
asociaciones aprendidas.
La BAM -, desde su fundamento terico, demuestra ser una memoria de muy alto
rendimiento [1]. Bajo las condiciones necesarias ha demostrado recuperar el 100% de
los datos aprendidos. Ms adelante se mencionarn los puntos necesarios a satisfacer
para lograr esta perfeccin en la recuperacin de datos.
La eficacia de la BAM - ha sido ampliamente comprobada al ser utilizada con gran
xito en diversas aplicaciones prcticas. Algunas de ellas son las siguientes.
Identificador de huellas digitales
En esta aplicacin se asociaron las huellas digitales obtenidas del Fingerprint
Verification Competition a ciertos nmeros enteros. La BAM - fue capaz de recuperar
dichas asociaciones al 100%. Funcionando ntegramente en ambas direcciones, como
era de esperarse. Es decir, al elegir una huella digital se recuper correctamente su
nmero asociado, y al elegir un nmero se recuper correctamente la huella digital
asociada [1].
Traductor ingls-espaol/espaol-ingls
En esta aplicacin se asociaron 120 palabras en ingls a 120 palabras en espaol. Una vez ms la BAM - demostr ser sumamente eficiente, al recuperar al 100% los patrones asociados en ambas direcciones. Incluso recuper las asociaciones de patrones de entrada ruidosos, aunque con ciertas limitaciones (la BAM - no es inmune al ruido mezclado, tema sobre el cual se hablar a detalle en el captulo dos) [1]. 1.7 ESTADO DEL ARTE La clasificacin de patrones multi-clase (ms de dos clases) resulta ser una herramienta
muy importante, y muy utilizada, en diversos mbitos, tales como la clasificacin de
documentos de texto, el reconocimiento de voz, reconocimiento de objetos, y muchas
ms aplicaciones. Debido a su gran utilidad son muchos los algoritmos que se han
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
13
diseado con este propsito, los cuales se pueden encontrar publicados en diversas
revistas.
Los algoritmos de clasificacin publicados son puestos a prueba bajo determinados
mtodos que permiten comparar la eficiencia de unos con otros. Para realizar estas
pruebas, y para garantizar que las comparaciones con los resultados de otros
algoritmos sean vlidas, se deben utilizar bases de datos idnticas en las pruebas. De
esta manera, los resultados obtenidos para diversos algoritmos, son susceptibles de ser
comparados entre ellos.
Existen varios mtodos que permiten probar los algoritmos de clasificacin, tales como
el mtodo K-fold cross validation, Leave One Out y Hold One Out.
Observando la literatura existente de reconocimiento de patrones, notamos que una de
las bases de datos ms ampliamente utilizadas es la base de datos Iris Plant del
Machine Learning Repository [11]. Por ello, y en busca de ser capaces de comparar la
eficiencia del algoritmo BAM - con la mayor parte de los algoritmos de clasificacin
existentes, utilizaremos esta base de datos para realizar las pruebas pertinentes en
nuestro clasificador.
Ahora bien, existen diversos tipos de clasificadores, donde cada uno de ellos se basa
en determinado enfoque. Los clasificadores que actualmente se han desarrollado y que
presentan una eficiencia muy alta se basan en los siguientes enfoques:
Bayesiano.
Mtrica
Redes neuronales
Asociativo
A continuacin se hablar de los rasgos o caractersticas generales de los clasificadores basados en los enfoque arriba listados. 1.7.1 CLASIFICADOR BAYESIANO El clasificador Bayesiano se basa en la utilizacin del Teorema de Bayes, el cual
bsicamente consiste en permitir estimar las probabilidades de las hiptesis (sucesos
mutuamente excluyentes A1, A2,, An que determinan que ocurra el suceso B) despus
de conocer el resultado de la experimentacin, debido a la cual sucedi el suceso B
[10].
El clasificador Bayesiano ptimo se determina al considerar el caso ideal, en el cual la
estructura estadstica inherente a las categoras es perfectamente conocida.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
14
El Teorema de Bayes, para calcular la probabilidad condicional de cualquier hiptesis
Ai(i=1,2,,n), se muestra a continuacin:
P(Ai|B) P(Ai)P(B|Ai)
P(B)
P(Ai)P(B|Ai)
P(Ak)P(B|Ak)nk 1
La importancia del Teorema de Bayes radica en el hecho de que permite cambiar el
sentido de la probabilidad condicional. Esto lo hace sumamente til cuando es ms fcil
calcular la probabilidad de B, dado que ha ocurrido A, que de A dado que ha ocurrido B.
Podemos interpretar los elementos de la frmula de la siguiente manera:
a posteriori apriori X verosimilitud
evidencia
El conocimiento a posteriori es la probabilidad de que ocurra el evento dado que ha
ocurrido el evento B. Y ser igual al producto del conocimiento a priori con la
verosimilitud, dividido por la evidencia.
El conocimiento a priori es la probabilidad de que ocurra Ai, sin importar el comportamiento del evento B, es decir P(Ai) la probabilidad de B dado Ai define la verosimilitud, es decir, qu tan probable es que suceda B dentro del espacio definido
por el evento Ai, es decir (P(B|Ai). Finalmente, la evidencia P(B)= Pnk 1 (Ak)P(B|Ak)
indica la probabilidad de que ocurra B si se tiene todo el conocimiento a priori y la verosimilitud.
Usualmente, los eventos en el teorema de Bayes estn expresados en trminos de
variables aleatorias y distribuciones de probabilidad, por lo que normalmente en la
prctica el teorema toma la siguiente forma:
P(Ai|B) P(Ai)p(B|Ai)
P(B)
P(Ai)p(B|Ai)
P(Ak)p(B|Ak)nk 1
Evidentemente, para determinar la probabilidad P(Ai|B) resulta necesario conocer todas
las distribuciones de probabilidad asociadas al problema a resolver y todas las
probabilidades P(B|Ai), que representan la informacin a priori.
Lo anterior puede ser til para reconocer patrones si las clases y los patrones se
modelan como eventos o variables aleatorias. La idea general es la siguiente: un patrn
(evento representado por una variable aleatoria vectorial X) pertenece a la clase i
(evento representado por la variable aleatoria vectorial Ci) si su probabilidad de
(1.1)
(1.2)
(1.3)
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
15
pertenecer a esa clase es ms grande que la probabilidad de pertenecer a las dems
clases.
El clasificador Bayesiano determina la clase de determinado patrn al hacer
comparaciones entre los resultados obtenidos para cada una de las clases, siguiendo la
siguiente regla:
X Ci si P(Ci|X) (Cj|X) i j
La cual establece que si se conoce que el evento (patrn en el caso especfico del
clasificador) X ocurri (es decir que fue presentado al sistema), se calcula la
probabilidad de que ocurra Ck k=1,2,,n se clasifica en la clase Ci si dicha
probabilidad es la mayor de todas, es decir, si la probabilidad de pertenencia de X a Ci
es mayor a cualquier otra Cj.
Al usar el teorema de Bayes en la ecuacin anterior, y tomando en cuenta que las
probabilidades siempre son positivas, queda lo siguiente:
P(Ci|X) (Cj|X)
P(Ci)p(X|Ci)
P(X)
P(Cj)p(X|Cj)
P(X)
P(Ci)p(X|Ci) (Cj)p(X|Cj)
Ahora bien, dado que ln (la funcin logaritmo natural) es una funcin montona
creciente, es decir del tipo: F(x) < f(y) x < y, se puede hacer la siguiente sustitucin
en la expresin anterior:
(P(Ci)p(X|Ci)) (p(Cj)p(X|Cj))
(P(Ci)) (p(X|Ci)) .P(Cj)/ .p(X|Cj)/
di dj con dk (P(Ck)) (p(X|Ck))
Donde dk define una funcin discriminante para el clasificador.
(1.4)
(1.5)
(1.6)
(1.7)
(1.8)
(1.9)
(1.10)
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
16
As pues, que un patrn desconocido sea clasificado en una clase Ci en particular,
implica tener todo el conocimiento a priori de cada clase Ci y su distribucin de
probabilidad correspondiente, lo que raramente sucede en la prctica, debido a la
complejidad y arduo trabajo que implicara.
Tomando a consideracin lo mencionado hasta ahora, el algoritmo para disear un
clasificador Bayesiano quedara como se enlista a continuacin:
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. Aplicar la siguiente regla para clasificar un patrn desconocido de entrada X:
X Ci si di dj i j con dk (P(Ck)) (p(X|Ck))
El clasificador Bayesiano resulta ser muy robusto, sin embargo presenta la desventaja
de necesitar de una estadstica muy amplia y completa sobre todas las variables
aleatorias que forman parte del sistema. Mientras ms mediciones estadsticas se
posean, ms confiables sern los resultados, sin embargo esto implica en cierta forma
haber realizado el proceso de clasificacin a mano durante mucho tiempo para poder
obtener una buena respuesta, lo cual resulta una tarea complicada que pocas veces
encontramos en la prctica. Debido a esto, el uso del clasificador Bayesiano presenta
limitaciones, forzando a los investigadores en este campo a establecer condiciones
artificiales a las probabilidades condicionales de modo que sea funcional su uso.
En la actualidad existen muchos algoritmos de clasificacin basados en el enfoque
Bayesiano. A continuacin se enlistan los porcentajes de recuperacin de diversos
algoritmos, utilizando la base de datos Iris Plant:
(1.11)
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
17
Tabla 1.3 Porcentaje de efectividad de los algoritmos con enfoque Bayesiano
Algoritmo Porcentaje de recuperacin
Logitboost NB 94.87
NB 95.53
Bayesian Network (K2) [13] 93.20
AODE [12] 93.07
Adaboost NB [14] 94.80
Bagging NB [15] 95.53
DECORATE NB [16] 94.87
Boost FSNB [18] 93.47
NB Tree [19] 93.53
LBR [20] 93.20
Boost C4.5 [17] 94.33
Baging C4.5 [17] 94.67
Logitboost DS [21] 94.93
Estos resultados se publicaron en el artculo Logitboost of Simple Bayesian Classifier [22], donde se comparan los porcentajes de clasificacin correcta del algoritmo propuesto con doce algoritmos ms basados tambin en el enfoque bayesiano. 1.7.2 K-NEAREST NEIGHBOR (K-NN) El K-Nearest Neighbor es uno de los algoritmos de clasificacin ms eficaces y simples que existen hasta nuestros das; este algoritmo se basa de en el enfoque de mtricas y consiste en la suposicin de que los patrones cercanos entre si pertenecen a la misma clase. Su fase aprendizaje es muy simple, pues se limita a almacenar los patrones del conjunto fundamental. Su fase de clasificacin tambin es simple, aunque ms costosa en eficiencia. Ante un nuevo patrn a clasificar se calcula su distancia (Euclideana) con respecto a los n patrones existentes en el conjunto fundamental, y se consideran los k ms cercanos. El clasificador busca los k-patrones ms cercanos al dato que se quiera clasificar y le asigna la clase ms frecuente entre ellos [24]. El algoritmo a seguir para k=1es el siguiente:
1. Seleccionar la mtrica a utilizar.
2. Calcular la distancia de un patrn x por clasificar, a cada uno de los patrones del
conjunto fundamental.
3. Obtener la distancia mnima.
4. Asignar a x la clase del patrn con la mnima distancia.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
18
Para k>1 el algoritmo es:
1. Seleccionar la mtrica a utilizar.
2. Calcular la distancia de un patrn x por clasificar, a cada uno de los patrones del
conjunto fundamental.
3. Ordenar los datos en orden ascendente.
4. Obtener los k menores valores de distancia.
5. Usar la regla de majority para asignar la clase al patrn x.
No obstante que el k-NN es altamente eficaz, su gran desventaja es la baja eficiencia
mostrada cuando se trabaja con un conjunto grande de patrones [7].
A continuacin se muestran los porcentajes de recuperacin del algoritmo k-NN para
k=1 y k=3 que utiliza el enfoque basado en mtricas [23].
Tabla 1.4 Porcentaje de efectividad de los algoritmos con enfoque basado en mtrica
Algoritmo Porcentaje de recuperacin
1-NN 93.3
3-NN 90.79
1.7.3 CLASIFICADOR HBRIDO ASOCIATIVO CON TRASLACIN (CHAT) Este clasificador se basa en la combinacin de los modelos Lernmatrix de Steinbuch y
Linear Associator de Anderson-Kohonen para la clasificacin de patrones, de modo que
aprovecha las ventajas de estos y elimina las desventajas. El enfoque dentro del cual
se encuentra es el asociativo.
Como se mencion, los modelos en que se basa el CHAT presentan algunas
desventajas. La Lernmatrix slo puede aceptar patrones binarios como entradas, y se
satura rpidamente, lo cual impide que la clasificacin sea correcta. En cuanto al Linear
Associator, ste elimina la restriccin de patrones binarios a la entrada (ya que admite
patrones con valores reales en sus componentes), sin embargo posee una fuerte
restriccin, que es la necesidad de que los patrones de entrada sean ortonormales para
que la clasificacin sea correcta.
La combinacin del par de modelos mencionados da como lugar al CHA (Clasificador
Hbrido Asociativo). Este clasificador presenta algunos problemas cuando la magnitud
de los patrones pertenecientes a una clase es considerablemente mayor a la magnitud
de los patrones pertenecientes al resto de las clases. Es por ello que se desarroll el
CHAT (Clasificador Hbrido Asociativo con Traslacin), el cual elimina los problemas del
CHA.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
19
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 reducidas para la misma clase.
El algoritmo del CHAT se muestra a continuacin [23]:
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 fundamental de patrones.
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.- La fase de aprendizaje es similar a la del Linear Associator.
7.- La fase de recuperacin es similar a la que usa la Lernmatrix.
8.- Se traslada todo el patrn a clasificar a los nuevos ejes.
9.- Se procede a clasificar los patrones desconocidos.
El autor del CHAT describe en su trabajo de tesis una gran cantidad de experimentos
donde se exhibe la superioridad del enfoque asociativo de clasificacin de patrones,
respecto de algunos clasificadores de la actualidad.
A continuacin se muestran el porcentaje de recuperacin de la tesis donde se utiliza el
algoritmo del CHAT [23].
Tabla 1.5 Porcentaje de efectividad del algoritmo con enfoque Asociativo
Algoritmo Porcentaje de recuperacin
CHAT 96.56
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
20
Hasta este punto se ha brindado una visin global del tema a tratar en el presente
trabajo. Dentro de los temas que forman parte de esta visin global se incluyeron el de
Memorias Asociativas Bidireccionales (BAM) y el de BAM -. En los captulos
siguientes se tratarn estos mismos temas, pero de forma ms profunda.
En el captulo 2 se ahonda sobre el tema de Memorias Asociativas y en particular sobre
las Memorias Asociativas -, pues stas son la base del funcionamiento de la BAM -
y su conocimiento sirve de antecedente para comprender el captulo 3.
En el captulo 3 se trata de forma ms profunda el tema de la BAM -, haciendo
hincapi en la importancia de la etapa de recuperacin. Posteriormente se describen los
algoritmos que permitirn la implementacin de la BAM - como clasificador.
En el captulo 4 se muestra una interpretacin grfica de los algoritmos descritos en el
captulo 3, y se incluyen las pruebas realizadas y sus correspondientes resultados.
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
21
CAPTULO 2
Existen muchas herramientas computacionales que se utilizan en el reconocimiento de
patrones, una de las ms importantes es la de las Memorias Asociativas. En nuestro
proyecto trabajaremos con un modelo de memoria asociativa (la BAM -) [1], es por
ello que en este apartado nos enfocaremos en el concepto de memorias asociativas.
2.1 MEMORIAS ASOCIATIVAS Una metodologa en el reconocimiento de patrones, conocida desde hace varias
dcadas, es la denominada como memorias asociativas; sta tiene como propsito
fundamental el de recuperar completamente patrones aprendidos a partir de patrones
de entrada, los cuales pueden estar alterados con ruido aditivo, sustractivo o mezclado
[1].
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 morfolgica matemtica o las lgebras min-mx.
En las ciencias de la computacin nos interesa crear modelos matemticos que se
comporten como memorias asociativas y, con base en esos modelos, nos interesa
crear, disear y operar sistemas (software o hardware) que sean capaces de aprender y
recordar objetos, seres vivos, conceptos e ideas abstractas.
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.
En ambas fases, una memoria asociativa M puede formularse como un sistema de entrada y salida, idea que se esquematiza a continuacin:
Figura 2.1 Diagrama a bloques de una memoria asociativa
Donde X es un conjunto de patrones de entrada y Y un conjunto de patrones de salida,
representndose cada uno de estos patrones como un vector columna. Cada uno de los
X Y
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
22
patrones de entrada est asociado con su correspondiente patrn de salida, lo cual se
puede representar de la siguiente manera (X,Y) .
Dado un nmero entero positivo k especfico, la asociacin ser (xk,yk), donde xk y yk
son los patrones que forman parte de los conjuntos X y Y, respectivamente.
La memoria asociativa M se representa mediante una matriz, la cual se genera a partir
de un conjunto finito de asociaciones. A este conjunto se le llama conjunto fundamental
de aprendizaje. Este conjunto se representa de la siguiente manera [1].
*(x y )| 1 2 p+
A los patrones que conforman las asociaciones del conjunto fundamental de
aprendizaje, se les llama patrones fundamentales. La naturaleza del conjunto
fundamental proporciona un importante criterio para clasificar las memorias asociativas
[1].
Tenemos dos tipos de memorias asociativas
Memoria autoasociativa es aquella que cumple x = y *1 2 p+
Memoria heteroasociativa la cual cumple que x y *1 2 p+
Es posible que los patrones fundamentales sean alterados con diferentes tipos de ruido.
Para diferenciar un patrn alterado del correspondiente patrn fundamental, usaremos
la tilde en la parte superior; as, el patrn k es una versin alterada del patrn xk, y las
entradas de la matriz M sern elementos del conjunto B. 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.
Cada vector columna que representa a un patrn de entrada tiene n componentes
cuyos valores pertenecen al conjunto A, y cada vector columna que representa a un
patrn de salida posee m componentes cuyos valores pertenecen al conjunto A. Es
decir:
x An y y A
m *1 2 3 p+
La j-sima componente de un vector columna se indica con la misma letra del vector,
colocando a j como subndice (j {1,2,3,,n} o j {1,2,3,,m}) segn corresponda). La
j-sima componente de un vector columna x se representa por x .j
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:
(2.1)
(2.2)
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
23
x (x1
x2 x3
)t
(
x1
x2
x3
xn )
An
y (y1
y y3 )t
(
y1
y2
y3
yn )
Am
Problema general de las memorias asociativas:
Fase de aprendizaje.
Encontrar los operadores adecuados y una manera de generar una matriz M que
almacene las p asociaciones del conjunto fundamental:
{(x1 y1 ) (x2 y2) (x3 y3) (xp yp)}
Donde x An y y Am {1,2,3,,p}. Si * + tal que x y, la
memoria ser heteroasociativa; si m=n y x = y {1,2,3,...,p}, la memoria ser
autoasociativa.
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 [1]. Exhibir y caracterizar, adems, el ruido
que puede soportar la memoria en el patrn de entrada , para entregar como salida
y.
Una vez dada la explicacin sobre lo que es una memoria asociativa, se dar una breve
explicacin de los diferentes modelos de memorias asociativas que han existido a lo
largo de los aos. Estos modelos que se presentan son de los ms representativos y
por lo tanto han servido para el diseo e implementacin de memorias asociativas ms
complejas.
(2.3)
(2.4)
(2.5)
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
24
2.1.1 LERNMATRIX DE STEINBUCH
El primer modelo matemtico de memoria asociativa de que se tiene noticia es la Lernmatrix de Steinbuch [25], desarrollada en 1961 por el cientfico alemn Karl Steinbuch, quien public su artculo en una revista llamada Kybernetik, y a pesar de la importancia de su modelo y las potenciales aplicaciones, el trabajo pas casi inadvertido.
La Lernmatrix es una memoria heteroasociativa que puede funcionar como un clasificador de patrones binario, 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, {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 el cual tiene el nombre de one-hot:
Para representar la clase k {1,2,,p}, se asignan a las componentes del vector de
salida y los siguientes valores: y =1, k
j
y =0 para =1, 2, , -1, +1, , .j k k p
Algoritmo de la Lernmatrix de Steinbuch
Fase de aprendizaje
En la tabla se esquematiza la fase de aprendizaje parta la Lernmatrix de Steinbuch, con
la pareja de patrones fundamentales ( , ) | n mA xA x y
Tabla 2.1 Fase de aprendizaje para Learnmatrix de Steinbuch
1
x 2x j
x n
x
1
y 11m 12m 1 jm 1nm
2
y 21m 22m 2 jm 2nm
i
y 1im 2im ijm inm
m
y 1mm 2mm mjm mnm
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+ mij, donde:
si 1 x
si 1 y x 0
0 en otro caso
m m
i j
m m
ij i j
y
m y
(2.6)
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
25
Siendo una constante positiva escogida previamente.
Fase de recuperacin
Consiste en encontrar la clase a la que pertenece un vector de entrada x An, que le
corresponde al patrn x; en virtud del mtodo de construccin de los vectores y la
clase debera de obtenerse sin ambigedad.
La i-sima coordenada i y del vector de clase y Am se obtiene como lo indica la
siguiente expresin, donde es el operado mximo:
11 11 si
0 en otro caso
n nm
ij j h hj jj jj
m x m xy
2.1.2 CORRELOGRAPH DE WILLSHAW, BUNEMAN & LONGUET-HIGGINS El Correlograph [26], dispositivo ptico elemental capaz de funcionar como una memoria asociativa que fue desarrollado en Inglaterra por los cientficos Willshaw, Buneman & Longuet-Higgins en 1969. Este modelo consta de las dos etapas ya mencionadas, (fase de aprendizaje y fase de recuperacin). Fase de aprendizaje
El Correlograph consta de tres pantallas opacas y una fuente de luz; el aparato genera correlogramas de puntos luminosos en una de las pantallas (la cual se perfora precisamente en esos puntos), a partir de pares de patrones de huecos realizados en las otras dos pantallas. Con el fin de ilustrar la fase de aprendizaje del Correlograph, consideremos la pareja de patrones de huecos formados en las pantallas A y B (los llamaremos patrn A y patrn B). Fase de Recuperacin
Cada correlograma as generado se usa entonces para obtener cada uno de los patrones de entrada partiendo de su patrn asociado. A pesar de las evidentes diferencias entre el Correlograph y la Lernmatrix, los autores Willshaw, Buneman & Longuet-Higgins tomaron como punto de partida este dispositivo ptico para crear un ente al que llamaron red asociativa, la cual no es otra cosa que un modelo de memoria asociativa tipo crossbar parecida a la Lernmatrix, pero con una regla de aprendizaje diferente a la regla de Steinbuch.
(2.7)
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
26
En la red asociativa los puntos de la pantalla B se convierten en n lneas paralelas
verticales (componentes j
x ), y los puntos de la pantalla A se transforman en m lneas
paralelas horizontales (componentes j
y ); los puntos de C corresponden ahora a las mn
intersecciones entre las lneas j
x y jy . Lo anterior significa que la red asociativa 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 un patrn y Am. En la siguiente figura se esquematiza la fase de aprendizaje para la red asociativa, al incorporar la pareja de patrones de entrenamiento (x,y) An,Am.
Tabla 2.2 Fase de aprendizaje para una red asociativa
1
x 2x j
x n
x
1
y 11m 12m 1 jm 1nm
2
y 21m 22m 2 jm 2nm
i
y 1im 2im ijm inm
m
y 1mm 2mm mjm mnm
Cada uno de los componentes mij de la red asociativa M tiene valor cero al inicio, y se actualiza de acuerdo con la regla:
1 si y 1
en otro caso
i j
ij
xm
valor anterior
En la fase de recuperacin se le presenta a la red asociativa M un vector de entrada x
An. Se realiza el producto de la matriz M por el vector x y se ejecuta una operacin de umbralizado, de acuerdo con la siguiente expresin:
11 si .
0 en otro caso
n
ij jji
m x uy
donde u es el valor de umbral. 2.1.3 LINEAR ASSOCIATOR DE ANDERSON-KOHONEN
(2.8)
(2.9)
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
27
El Linear Associator [1] tiene su origen en los aos 1972 publicados por Anderson y
Kohonen.
Fase de aprendizaje
Consiste en dos etapas
a) Para cada una de las p asociaciones (x, y) se encuentra la matriz y(x) de
dimensiones mxn.
1
2
1 2
., , ... ,
.
.
t t
n
m
y
y
y x x x x
y
1 1 1 2 1 1
2 1 2 2 2 2
1 2
... ...
... ...
... ...
j n
j n
t
i i i j i n
m
y x y x y x y x
y x y x y x y x
y x y x y x y x y x
y x
1 2 ... ...
m m j m ny x y x y x
b) Se suman las p matrices para obtener la memoria
1
tp
ij m nM y x m
De manera que la ij-sima componente de la memoria M se expresa as:
1
p
ij i jm y x
La fase de recuperacin consiste en presentarle a la memoria un patrn de entrada x,
donde {1,2,,p} y realizar la operacin.
(2.10)
(2.11)
(2.12)
(2.13)
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
28
1
tp
M x y x x
2.1.4 HOPFIELD En el legendario artculo (Hopfield, 1982) se considera un sistema fsico descrito por un vector de estado x cuyas coordenadas son (x1, x2, x2,, xn); se considera adems que el sistema tiene puntos lmite localmente estables xa, xb Entonces, si el sistema es activado en un estado suficientemente cercano a cualquier punto lmite localmente estable, digamos en x = xa + , al transcurrir el tiempo el estado del sistema cambiar hasta llegar a que se cumpla x x
a. El punto de arranque xa + representa un conocimiento parcial del estado estable xa, y a partir de ah el sistema genera la informacin correcta xa. Hopfield [27] declara categricamente que un sistema fsico que se comporte de esta manera y que, adems, sea susceptible de que cualquier conjunto predeterminado de estados pueda ser asignado como el conjunto de estados localmente estables, es til como memoria asociativa. En el modelo que originalmente propuso Hopfield, cada neurona xi tiene dos posibles estados. Al utilizar el conjunto {1,-1} y el valor de umbral cero, la fase de aprendizaje para la memoria Hopfield ser similar, en cierta forma, a la fase de aprendizaje del Linear Associator [1]. La intensidad de la fuerza de conexin de la neurona xi a la neurona xj se representa por el valor de mij y se considera que hay simetra, es decir mij = mji. Si xi no est conectada con xj, entonces mij =0; en particular, no hay conexiones recurrentes de una
neurona a s misma, lo cual significa que mij =0 i. El estado instantneo del sistema est completamente especificado por el vector columna de dimensin n cuyas coordenadas son los valores de las n neuronas. La memoria Hopfield es autoasociativa, simtrica, con ceros en la diagonal principal. En virtud de que la memoria es autoasociativa, el conjunto fundamental para la memoria Hopfield es {(x, x)| =1,2,,p} con
1
2 y { 1,1}
n
n
x
xx A A
x
La fase de aprendizaje para la memoria Hopfield es similar a la fase de aprendizaje del Linear Associator, con una diferencia relacionada con la diagonal principal en ceros,
(2.14)
(2.15)
-
Clasificacin de patrones con Memorias Asociativas Bidireccionales -
29
como se muestra en la siguiente regla para obtener la ij-sima componente de la memoria Hopfield M:
1
si
0 si
p
i j
ij
x xm
x j
La forma en que se lleva a cabo la fase de recuperacin para la memoria Hopfield cambia drsticamente respecto de lo que sucede en el Linear Associator. Al presentar
un patrn de entrada a la memoria Hopfield, sta cambiar su estado con el tiempo, de modo que cada neurona xi ajuste su valor de acuerdo con el resultado que arroje la comparacin de la cantidad
1
n
ij j
j
m x
con un valor de umbral cuyo valor es normalmente cero. Representemos el estado de la memoria Hopfield en el tiempo t por x(t); entonces xi(t) representa el valor de la neurona xi
en el tiempo t y xi(t+1) el valor de xi en el tiempo
siguiente (t+1). Dado un vector columna de entrada >x, la fase de recuperacin consta de tres pasos:
1. Para t=0, se hace x(t)= ; es decir, x(0)= i, {1, 2, 3, ...,n }. 2. {1, 2, 3, ...,n } se calcula xi(t+1) de acuerdo con la condicin siguiente:
1
1
1
1 si ( ) 0
1( 1) ( ) si ( ) 0
2
-1 si ( ) 0
n
ij j
j
n
i i ij j
j
n
ij j
j
m x t
x t x t m x t
m x t