jesgadiaz/tesis/tesis_ing.pdf · Clasificación de patrones con Memorias Asociativas...

116
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MÉCANICA Y ELÉCTRICA Clasificación de patrones con Memorias Asociativas Bidireccionales α-β” TESIS QUE PARA OBTENER EL TÍTULO DE: INGENIERO EN COMUNICACIONES Y ELECTRÓNICA P R E S E N T A N Sandra Paola Torres Jurado Jesús García Díaz MÉXICO, D.F. 2009 ASESORES: Dra. María Elena Acevedo Mosqueda M. en C. Marco Antonio Acevedo Mosqueda

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