• No se han encontrado resultados

INSTITUTO POLITÉCNICO NACIONAL

N/A
N/A
Protected

Academic year: 2022

Share "INSTITUTO POLITÉCNICO NACIONAL"

Copied!
143
0
0

Texto completo

(1)

INSTITUTO POLITÉCNICO NACIONAL

CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN

Laboratorio de Robótica y Mecatrónica

Clasificación eficiente de patrones usando una sola neurona artificial

T E S I S

que para obtener el grado de Maestría en Ciencias de la Computación

P R E S E N T A

Ing. Javier González Bonilla

Directores:

Dr. Juan Humberto Sossa Azuela M. en C. Sergio Valadez Godínez

Ciudad de México, Diciembre 2017

(2)
(3)
(4)

Resumen

En la literatura existe un método exitoso de clasificación de patrones que usa la frecuencia de los pulsos que son producidos por una neurona pulsante. La forma en la que realiza la clasificación es a través de la frecuencia de disparo que es producida cuando le es presentada una corriente de estimulación. Esta corriente de estimulación es obtenida a través del producto punto de un patrón con un vector de pesos que es ajustado mediante algoritmos evolutivos para mejorar la clasificación. El problema principal de este clasificador es que para obtener la frecuencia de disparo, se simula la neurona pulsante mediante métodos numéricos, lo que hace que este método sea costoso computacionalmente. Para reducir el costo computacional, en este trabajo de tesis se propone obtener la frecuencia de disparo a través de una función por partes que se ajusta a la curva de respuesta en frecuencia de la neurona pulsante, y sustituirla en el método descrito para disminuir el tiempo en el que la frecuencia de disparo es obtenida. Los resultados obtenidos son la mantención del desempeño en la clasificación, la reducción del costo computacional de la obtención de la frecuencia de la neurona pulsante en un 6, 000, 000 %, y aún más importante, la reducción sustancial del costo computacional de la clasificación de las bases de datos usadas en el método descrito. Alcanzando una disminución en el costo computacional de hasta el 25, 300 % en las fase de entrenamiento y del 77, 771 % en la fase de prueba. Teniendo como consecuencia principal, que el método de clasificación de patrones sea más eficiente.

iv

(5)

Abstract

In the literature there exists a successful method for pattern classification which uses the firing frequency produced by a single spiking neuron. The way in which this method classifies is trough the frequency produced by the spiking neuron when a stimulation current is presented. This current is obtained trough dot product between a pattern and a weight vector, which is optimized by evolutionary algorithms to improve classification. The main problem of this method relies in the necessity of simulate the spiking neuron trough numeric methods to obtain the firing frequency, which makes that this method be computationally costly. In order to reduce computational cost, in this thesis work it is proposed to get the firing frequency trough a piecewise function adjusted to the neuron’s frequency behavior, and then substitute it in the mentioned method to decrease the time in which the firing frequency is obtained. Results obtained are classification performance maintenance, reduction of computational cost of getting frequency rate in 6, 000, 000 %, and more important, the substantial reduction of computational cost of classification of datasets used in the method described. Reaching a decreasing of computational cost of 25, 300 % in training phase and 77, 771 % in testing phase. Having as a main consequence that this method be more efficient.

v

(6)

Agradecimientos

A mis padres, por haber dedicado gran parte de su valiosa vida en mi crecimiento como ser humano, y por todo aquello que como excelentes padres me han obsequiado incondicionalmente desde siempre.

A mi familia, por estar siempre conmigo.

Al Dr. Juan Humberto Sossa Azuela, por todo el apoyo brindado durante mis estudios de maestría en el laboratorio de Robótica y Mecatrónica.

Al M. en C. Sergio Valadez Godínez, por el apoyo brindado, por su tiempo, sus consejos, y su paciencia para enseñarme el mundo de las neuronas pulsantes.

Al Instituto Politécnico Nacional, por brindarme las herramientas necesarias para mi crecimiento profesional y académico.

Al Centro de Investigación en Computación, por haberme permitido realizar mis estudios de maestría.

Al CONACyT, por haberme otorgado una beca durante dos años, sin la cual no hubiera podido realizar mis estudios de maestría

Al Instituto Politécnico Nacional (IPN) y la Secretaria de Investigación y Posgrado (SIP) por el apoyo económico brindado para llevar a cabo esta investigación. Este trabajo fue apoyado económicamente por

SIP-IPN (números 20171548 y 20170693) y CONACYT (número 155014[Investigación Básica] y número 65[Fronteras de la Ciencia]).

A mis amigos, por compartir su tiempo, conocimiento, y su entusiasmo por ser mejores cada día.

(7)

Índice general

Índice de figuras XVII

Índice de tablas XXI

Índice de algoritmos XXIII

Acrónimos XXV

1. Introducción 1

1.1. Planteamiento del problema . . . 3

1.2. Objetivo general . . . 4

1.3. Objetivos particulares . . . 4

1.4. Justificación . . . 5

1.5. Organización de la tesis . . . 5

vii

(8)

Índice general viii

2. Clasificación de patrones 9

2.1. Conceptos básicos . . . 9

2.1.1. Patrón . . . 9

2.1.2. Clase . . . 10

2.1.3. Clasificación . . . 10

2.2. Enfoques de la clasificación de patrones . . . 10

2.2.1. Clasificación estadística . . . 11

2.2.2. Clasificación sintáctica . . . 11

2.2.3. Clasificación difusa . . . 11

2.2.4. Agrupamiento no supervisado . . . 12

2.2.5. Redes neuronales artificiales . . . 12

2.3. Diseño de experimentos de clasificación de patrones . . . 12

2.3.1. Validación . . . 13

2.3.2. Validación cruzada de K iteraciones . . . 13

2.3.3. Validación cruzada dejando uno afuera . . . 14

2.4. Desempeño de un clasificador para una base de datos . . . 14

2.4.1. Tasa de clasificación . . . 14

2.4.2. Matriz de confusión . . . 14

2.4.3. Precisión . . . 15

(9)

Índice general ix

2.4.4. Recuperación . . . 15

2.4.5. Especificidad . . . 16

2.4.6. Costo computacional . . . 16

2.4.7. Comparación del desempeño de algoritmos de clasificación . . . 16

2.5. Prueba de hipótesis . . . 16

2.5.1. Hipótesis nula . . . 17

2.5.2. Nivel de significancia . . . 17

2.5.3. Errores de tipo uno y dos . . . 17

2.6. Comparación de dos clasificadores . . . 18

2.6.1. Prueba de McNemar . . . 18

2.6.2. Prueba T pareada . . . 19

2.6.3. Prueba de Wilcoxon . . . 19

2.7. Comparación de más de dos clasificadores . . . 20

2.7.1. Análisis de la varianza . . . 20

2.7.2. Prueba de Kruskal-Wallis . . . 21

3. Redes Neuronales Artificiales 23 3.1. Neuronas artificiales . . . 24

3.1.1. Generaciones de neuronas artificiales . . . 25

3.1.2. La neurona de McCulloch-Pitts . . . 26

(10)

Índice general x

3.1.3. Threshold Logic Unit . . . 27

3.1.4. Modelo de Lapicque . . . 29

3.1.5. Modelo de Integración y disparo . . . 30

3.1.6. Modelo de respuesta de impulsos . . . 31

3.1.7. Modelo de Hodgkin-Huxley . . . 32

3.1.8. Modelo de Izhikevich . . . 34

3.2. Tipos de redes neuronales artificiales . . . 36

3.2.1. Perceptrón Multicapa . . . 36

3.2.2. Redes neuronales de aprendizaje profundo . . . 37

3.2.3. Redes de neuronas pulsantes . . . 37

3.3. Métodos de entrenamiento . . . 37

3.3.1. Retropropagación . . . 38

3.3.2. Plasticidad . . . 38

3.3.3. ReSuMe . . . 39

3.3.4. Spike-prop . . . 40

4. Algoritmos Evolutivos 41 4.1. Evolución diferencial . . . 42

4.1.1. Mutación . . . 42

4.1.2. Cruza . . . 43

(11)

Índice general xi

4.1.3. Selección . . . 43

4.2. Optimización por enjambre de partículas . . . 44

4.2.1. Velocidad de las partículas . . . 44

4.2.2. Posición de las partículas . . . 45

4.3. Colonia artificial de abejas . . . 46

4.4. Optimización alostática . . . 47

5. Reconocimiento de patrones con neuronas pulsantes 49 5.1. Codificación . . . 49

5.2. Investigaciones reconocimiento de patrones con redes neuronas pulsantes . . . . 50

5.2.1. Considerando el tiempo preciso de los pulsos . . . 50

5.2.2. Considerando la frecuencia de disparo . . . 51

5.3. Clasificación con la frecuencia de una neurona pulsante . . . 53

5.3.1. Entrenamiento . . . 54

5.3.2. Prueba . . . 56

5.3.3. Características del clasificador . . . 56

6. Clasificación de patrones a través de la respuesta en frecuencia de una neurona pulsante 59 6.1. Respuesta en frecuencia de modelos de neuronas pulsantes . . . 60

6.1.1. Curva de respuesta en frecuencia del modelo de integración y disparo . . 60

(12)

Índice general xii

6.1.2. Curva de respuesta en frecuencia del modelo Hodgkin-Huxley . . . 61

6.1.3. Curva de la respuesta en frecuencia del modelo de Izhikevich . . . 62

6.2. Ajuste de la curva de respuesta en frecuencia del modelo de Izhikevich . . . 63

6.2.1. Ajuste mediante de una línea recta al modelo de Izhikevich . . . 64

6.2.2. Comparación de la obtención de la frecuencia evaluando la CARF y si- mulando el modelo de Izhikevich . . . 65

6.3. Remplazo de la simulación del modelo de Izhikevich por la Curva Ajustada a la Respuesta en Frecuencia (CARF) en la clasificación de patrones . . . 66

7. Resultados 69 7.1. Resultados de la clasificación . . . 69

7.1.1. Clasificación de patrones usando la simulación de IZH . . . 69

7.1.2. Clasificación de patrones usando la CARF y DE . . . 70

7.1.3. Clasificación de patrones usando la CARF y Optimización por Enjambre de Partículas (Particle Swarm Optimization, en inglés) (PSO) . . . 71

7.1.4. Clasificación de patrones usando la CARF y Colonia Artificial de Abejas (Artificial Bee Colony, en inglés) (ABC) . . . 72

7.1.5. Clasificación de patrones usando la CARF y Optimización alostática (Allostatic Optimization, en inglés) (AO) . . . 72

7.2. Reducción de costo computacional en fase de entrenamiento y prueba . . . 73

7.3. Desempeño de los clasificadores . . . 76

7.3.1. Medidas de desempeño . . . 77

(13)

Índice general xiii

7.4. Comparación de ambos esquemas . . . 78

7.5. Convergencia en la fase de entrenamiento . . . 80

7.6. Separación de los patrones en el espacio de las interpretaciones . . . 81

7.7. Separación de los patrones en el espacio de las representaciones . . . 84

7.7.1. Problema booleano OR . . . 84

7.7.2. Problema booleano XOR . . . 87

7.7.3. Problema Multiclase . . . 88

8. Conclusiones y trabajo futuro 91 8.1. Conclusiones . . . 91

8.2. Trabajo futuro . . . 92

A. Información de las bases de datos 93

B. Matrices de confusión 97

C. Pesos sinápticos obtenidos en el entrenamiento 103

D. Artículo publicado en Mexican Congress of Pattern Recognition (MCPR) 109

Bibliografía 117

(14)
(15)

Índice de figuras

3.1. Neuronas dibujadas por Santiago Ramón y Cajal . . . 23

3.2. Dibujo de una Neurona . . . 24

3.3. Representación de la neurona de McCulloch-Pitts . . . 27

3.4. Implementación de funciones lógicas con la neurona de McCulloch-Pitts . . . 27

3.5. Representación de la TLU . . . 28

3.6. Funciones de activación comúnmente usadas. Las funciones de activación de la izquierda son de límite duro, mientras que las de la derecha son funciones continuas 28 3.7. Circuito eléctrico del modelo de Lapicque . . . 30

3.8. Voltaje de membrana del modelo de Lapicque . . . 30

3.9. Voltaje de membrana del modelo de Leaky Integrate and Fire (LIF) . . . 31

3.10. Circuito eléctrico que representa el modelo de HH . . . 32

3.11. Voltaje de membrana del modelo Hodgkin-Huxley (HH) . . . 33

xv

(16)

Índice de figuras xvi

3.12. Dinámicas del modelo de IZH . . . 35

3.13. Parámetros del modelo de IZH para obtener las distintas dinámicas que se mues- tran en la figura 3.12 . . . 35

3.14. Voltaje de membrana del modelo de IZH . . . 35

3.15. Estructura general de un perceptrón multicapa . . . 36

3.16. Ventanas de aprendizaje en STDP . . . 39

3.17. Mecanismo de aprendizaje ReSuMe . . . 40

5.1. Neucube . . . 51

5.2. Ejemplo de la base datos MNIST . . . 52

5.3. Ejemplo de la base datos CIFAR-10 . . . 52

5.4. Pulsos obtenidos para la bases de datos Iris Plant . . . 53

5.5. Esquema del método de clasificación . . . 54

5.6. Diagrama de flujo de la fase de entrenamiento . . . 55

5.7. Diagrama de flujo de la fase de prueba . . . 56

6.1. Ajuste de la curva de Frecuencia del modelo HH . . . 62

6.2. Respuesta en frecuencia de la neurona de IZH usando diferentes pasos temporales 63 6.3. Ajuste de la Respuesta en frecuencia del modelo de IZH . . . 65

6.4. Residuos del ajuste . . . 65

6.5. Sustitución de la simulación de IZH por la CARF en el esquema de clasificación previo . . . 66

(17)

Índice de figuras xvii

7.1. Gráficas de barras que muestran la reducción en el costo computacional en las fases de entrenamiento y prueba . . . 75

7.2. Se muestran en una 2 gráficas de barras las tasas de clasificación para las fases de prueba y entrenamiento utilizando la CARF y simulando IZH . . . 76

7.3. Distribución de los patrones de las bases de datos 1 a 4 usando la simulación de IZH y usando la CARF. . . 81

7.4. Distribución de los patrones de las bases de datos 5 a 8 usando la simulación de IZH y usando la CARF. . . 82

7.5. Distribución de los patrones de las bases de datos 8 a 11 usando la simulación de IZH y usando la CARF. . . 83

7.6. Distribución de los patrones usando el mismo vector de pesos . . . 84

7.7. Línea de separación en el espacio de las representaciones para el problema OR. . 86

7.8. Línea de separación en el espacio de las representaciones para el problema XOR. 88

7.9. Líneas de separación en el espacio de las representaciones, para un problema de más de 2 clases. . . 90

(18)
(19)

Índice de tablas

2.1. Matriz de confusión . . . 15

2.2. Errores de tipo I y II . . . 18

2.3. Tabla de contingencia . . . 18

6.1. Resultados obtenidos mediante el ajuste; . . . 64

6.2. Tiempo consumido por la simulación de IZH y por la evaluación de la CARF . . . 66

6.3. Bases de datos usadas. . . 67

7.1. Promedio de la tasa clasificación, tiempo promedio de uso de CPU usando la simulación de IZH, y Evolución diferencial (Differential Evolution, en inglés) (DE) cómo algoritmo de entrenamiento. . . 70

7.2. Promedio de la tasa de clasificación y tiempo promedio de uso de CPU , usando la CARF, y DE como algoritmo de entrenamiento. . . 71

7.3. Promedio de la tasa de clasificación y tiempo promedio de uso de CPU usando la CARF, y PSO como algoritmo de entrenamiento. . . 71

xix

(20)

Índice de tablas xx

7.4. Promedio de la tasa de clasificación y tiempo promedio de uso de CPU usando

la CARF, y ABC como algoritmo de entrenamiento. . . 72

7.5. Promedio de la tasa de clasificación y tiempo promedio de uso de CPU usando la CARF, y AO como algoritmo de entrenamiento. . . 73

7.6. Aceleración del proceso de clasificación para la fase de entrenamiento y prueba. . 74

7.7. Recuperación . . . 77

7.8. Especificidad . . . 78

7.9. Precisión . . . 78

7.10. Comparación de la eficiencia de los clasificadores mediante el test de Kruskal-Wallis 79 7.11. Comparación de la eficiencia de los clasificadores mediante los prueba de Wilcoxon 79 7.12. Época promedio y tiempo promedio de convergencia . . . 80

7.13. Problema booleano OR . . . 84

7.14. Problema booleano XOR . . . 87

7.15. Problema Multiclase . . . 88

B.1. Matriz de confusión de la Base de datos Iris Plant . . . 97

B.2. (Matriz de confusión de la Base de datos Wine . . . 98

B.3. Matriz de confusión de la Base de datos Liver . . . 98

B.4. Matriz de confusión de la Base de datos Glass . . . 98

B.5. Matriz de confusión de la Base de datos Cancer . . . 99

(21)

Índice de tablas xxi

B.6. Matriz de confusión de la Base de datos Crab . . . 99

B.7. Matriz de confusión de la Base de datos TAE . . . 99

B.8. Matriz de confusión de la Base de datos Vote . . . 100

B.9. Matriz de confusión de la Base de datos Thyroid . . . 100

B.10.Matriz de confusión de la Base de datos Soybean . . . 100

B.11.Matriz de confusión de la Base de datos Images . . . 101

(22)
(23)

Índice de algoritmos

4.1. Esquema general de un algoritmo evolutivo . . . 42 4.2. Algoritmo de Evolución Diferencial (DE) . . . 43 4.3. Optimización de enjambre de partículas (PSO) . . . 45 4.4. Colonia Artificial de Abejas ABC. . . 47 4.5. Optimización alostática (AO) . . . 48

xxiii

(24)
(25)

Acrónimos

IA Inteligencia Artificial IZH Izhikevich

PM Perceptrón Multicapa RNA Red Neuronal Artificial TLU Threshold Logic Unit LIF Leaky Integrate and Fire HH Hodgkin-Huxley

ANOVA Análisis de varianza (Analysis of Variance, en inglés)

LTP Potenciación a largo plazo (Long-Term Potentiation, en inglés) LTD Depresión a largo plazo (Long-Term Depression, en inglés) SRM Spike Response Model

DE Evolución diferencial (Differential Evolution, en inglés)

PSO Optimización por Enjambre de Partículas (Particle Swarm Optimization, en inglés) ABC Colonia Artificial de Abejas (Artificial Bee Colony, en inglés)

AO Optimización alostática (Allostatic Optimization, en inglés) EEG Electroencefalografía

xxv

(26)

Acrónimos xxvi

IRM Imágenes por Resonancia Magnética ECOS Evolutionary Connectionist Systems ReSuMe Remote Supervised Method

CRF Curva de Respuesta en Frecuencia FE Forward Euler

RP Retropropagación

LAR Least Absolute Residuals o Mínimos Residuos Absolutos ReLU Rectifier Linear Unit

MCPR Mexican Congress of Pattern Recognition CARF Curva Ajustada a la Respuesta en Frecuencia RNA’s Redes Neuronales Artificiales

(27)

Capítulo 1

Introducción

La inteligencia tiene muchas definiciones, una de estas se refiere a ella como una facultad de la mente que está relacionada con muchas capacidades cognitivas de entre las cuales se encuentra la percepción, comprensión , el aprendizaje, la memoria, y la manipulación del mundo que nos rodea [55].

La curiosidad por saber cómo es que emerge la inteligencia, además de la necesidad de resolver problemas complejos, ha llevado a que algunas de estas capacidades no solo estén presentes en los seres humanos, sino que también lo estén en las máquinas a través de la Inteligencia Artificial (IA). La IA es una ciencia relativamente nueva que tiene muchas definiciones debido a que no hay un consenso sobre lo que es realmente, sin embargo, una de ellas define a la IA como la ciencia que se enfoca a la creación de máquinas inteligentes, por medio de programas inteli- gentes de computadora [43], que tienen como finalidad realizar tareas de predicción, búsqueda, reconocimiento de patrones, entre otras [15, 55].

El reconocimiento de patrones es un área bastante activa de IA que está enfocada al recono- cimiento de objetos descritos por las representaciones abstractas de sus características, con las que se realizan operaciones que permiten estimar la similitud entre objetos, como la clasificación de patrones [15]. La clasificación de patrones está estrechamente relacionada en el aprendizaje de las máquinas y consiste básicamente en asignarle una etiqueta a un patrón de acuerdo a un criterio establecido. Existen dos enfoques principales sobre los cuales se basan la mayoría de los

(28)

2

algoritmos de clasificación. Uno de estos es la clasificación supervisada, que consiste en asig- nar una etiqueta a un patrón desconocido con base en la información de patrones previamente clasificados.

Dentro de los clasificadores supervisados, uno de los más conocidos y usados actualmente son las Redes Neuronales Artificiales (RNA’s) [8,10,39,55]. Su popularidad se debe a los resultados que se han obtenido y al hecho de que están inspiradas en las neuronas biológicas. Las RNA’s son abstracciones de las neuronas biológicas y las complejas redes que constituyen el cerebro humano. Éstas se forman por modelos matemáticos a los que se les llama neuronas artificiales, que se encargan de realizar individualmente tareas sencillas, pero que en conjunto pueden llegar a realizar tareas muy complejas.

El funcionamiento de las neuronas artificiales en la actualidad no se acerca al funcionamiento real de las neuronas biológicas, debido a que son modelos muy abstractos, sin embargo, se considera que los modelos de neuronas artificiales tienen un cierto nivel de realismo. El nivel de realismo está asociado a las propiedades de las neuronas artificiales, que están divididas en tres generaciones, en donde las neuronas de tercera generación o también llamadas neuronas pulsantes son las más realistas [40].

Actualmente existen muchas investigaciones con RNA’s en las que se han enfocado principalmen- te al desempeño de la clasificación [23, 34, 67], menospreciando de esta manera otros aspectos importantes que influyen en la eficiencia de un clasificador. Uno de estos aspectos es el costo computacional, que en este caso, es el tiempo transcurrido en el que se realiza la clasificación.

Ese costo computacional depende de la arquitectura de la red, método de entrenamiento, las neuronas artificiales usadas, entre otros. Una alternativa para disminuir el costo computacional y mejorar, o mantener el desempeño en la clasificación, podría ser a través del mejoramiento de alguno de los aspectos mencionados anteriormente, con lo cual se tendría un clasificador más eficiente.

El presente trabajo de tesis se enfoca a mejorar la eficiencia de un clasificador que usa una neurona pulsante, mediante la reducción de su costo computacional .

(29)

1.1. Planteamiento del problema 3

1.1. Planteamiento del problema

En [63–68] se muestra un método exitoso de clasificación de patrones que utiliza únicamente una neurona pulsante para poder realizar la clasificación. Con este método se ha logrado un desempeño aceptable en la clasificación de algunas bases de datos como Iris, Wine, Glass, Dia- betes, entre otras. La forma en la que en éste método realiza la clasificación, es a través de la frecuencia de los pulsos producidos por la neurona pulsante.

Para que la neurona pulsante produzca pulsos, ésta necesita ser estimulada por un valor de corriente constante, así que en éste método, la corriente de estimulación es obtenida a través del producto punto entre un patrón de entrada y un solo vector de pesos. Posteriormente, la corriente es introducida al modelo de neurona pulsante, la cual produce una serie de pulsos que son contabilizados para obtener una frecuencia de disparo. Este proceso se repite para obtener las frecuencias de disparo producidas por cada patrón contenido en la base de datos. Finalmente, éstas frecuencias son usadas como un discriminante para poder realizar la clasificación.

En la mayoría de los trabajos mencionados se utiliza el modelo de Izhikevich(IZH), el cual está descrito por un sistema de ecuaciones diferenciales que no tiene solución analítica, y por lo tanto, el modelo debe ser simulado mediante un método numérico. El tiempo requerido para simular el modelo de IZH depende del método numérico y del paso temporal elegidos para obtener una simulación de calidad. Como consecuencia, la simulación puede llegar a ser costosa computacionalmente.

Para incrementar el número de patrones correctamente clasificados en el método descrito, se hace uso de algoritmos evolutivos como DE, que ajustan el vector de pesos sinápticos. En estos algoritmos, se crea una población de vectores de pesos sinápticos que evolucionan conforme las generaciones avanzan, esto hace que la base de datos sea clasificada para cada vector de pesos de la población en cada generación. Por lo tanto, el número de simulaciones del modelo de IZH que se deben realizar, depende del número de patrones a clasificar, de la población de vectores de pesos y del número de generaciones establecidas en el algoritmo evolutivo. Como resultado,

(30)

1.2. Objetivo general 4

esto hace que el método descrito sea costoso computacionalmente.

Como se ha mencionado, simular el modelo de IZH para obtener la frecuencia de disparo es el principal problema del método de clasificación de patrones en cuestión, ya que lo hace costoso computacionalmente. Por lo tanto, para poder disminuir los efectos negativos de la simulación de IZH, y hacer más eficiente el método de clasificación, es necesario encontrar una forma en la que se pueda obtener la frecuencia de disparo sin que se tenga que recurrir a la costosa simulación del modelo de IZH.

1.2. Objetivo general

Reducir el costo computacional de la clasificación en las etapas de entrenamiento y prueba mediante la obtención de la curva de respuesta en frecuencia del modelo de Izhikevich.

1.3. Objetivos particulares

Simular el modelo de IZH para encontrar su curva de frecuencias Ajustar una función lineal a la curva de frecuencias

Comparar el costo computacional de la obtención de frecuencias mediante la simulación de la neurona y la utilización de la curva de frecuencia ajustada

Clasificar múltiples bases de datos mediante la sustitución de la simulación de la neurona por la curva de frecuencia ajustada usando diferentes algoritmos evolutivos.

Comparar la eficiencia de clasificación y costo computacional de los distintos métodos de entrenamiento

(31)

1.4. Justificación 5

1.4. Justificación

La justificación del presente trabajo de tesis está relacionada con los siguientes puntos:

En la mayoría de los algoritmos de clasificación no se presta la suficiente atención al costo computacional.

El costo computacional de los algoritmos de reconocimiento de patrones es un factor que debe ser atenuado para poder desempeñar las tareas pertinentes de una forma eficiente.

Es interesante estudiar un método de clasificación de patrones que divide el espacio de una forma diferente a las redes neuronales convencionales.

Es interesante el uso de algoritmos evolutivos en la clasificación de patrones.

Las neuronas pulsantes hasta el momento, son los modelos matemáticos que se acercan más al comportamiento eléctrico en la membrana celular de la neurona biológica, y algunos estudios muestran que son capaces de realizar operaciones más complejas que los modelos de neuronas menos realistas.

Las neuronas pulsantes son un campo de investigación fértil y bastante activo.

El seguimiento de trabajos de investigación previos, permite hacer una depuración para hacerlos más eficientes, continuarlos, o potenciarlos.

1.5. Organización de la tesis

La Tesis se organiza en 8 capítulos en los cuales se abordan distintos temas:

En el Capítulo 2 se menciona los aspectos básicos de la clasificación de patrones, los diferentes enfoques que existen, los conocimientos requeridos para realizar un experimento de clasificación de patrones, así como las métricas y métodos que existen para evaluar y comparar el desempeño de un clasificador.

(32)

1.5. Organización de la tesis 6

En el Capítulo 3 se aborda el tema de la neuronas artificiales, desde su inspiración hasta las propiedades de las distintas generaciones de neuronas artificiales, algunos tipos de redes neuronales que existen hasta el momento, y los métodos de entrenamiento comúnmente usados.

En el Capítulo 4 se tratan los algoritmos evolutivos, la forma en la que funcionan algunos de ellos, y su utilización.

En el Capítulo 5 se muestran algunas de las aplicaciones de clasificación de patrones que están relacionadas con neuronas pulsantes, y los enfoques que se han adoptado. También se muestra a detalle las características, fortalezas y debilidades del método de clasificación de patrones usado en [63–68].

En el Capítulo 6 se realiza el ajuste de una función por partes a la curva de frecuencia del modelo de IZH, y se compara en eficiencia con los resultados de la simulación. Esa función se sustituye en el método de clasificación de patrones ya mencionado y se propone la clasificación de 11 bases de datos diferentes primero usando la simulación del modelo de IZH y posteriormente la función encontrada.

En el Capítulo 7 se muestran los resultados obtenidos de la clasificación de las bases de datos y la reducción del costo computacional del método de clasificación usado.

En el Capítulo 8 se muestran las conclusiones a las que se ha llegado durante el presente trabajo de tesis y el trabajo futuro.

También hay 4 apéndices en los cuales se muestra información adicional de la investigación realizada:

En el Apéndice A se muestra la información de las bases de datos usadas.

En el Apéndice B se muestra el promedio de las matrices de confusión de las 11 bases de datos clasificadas, usando validación cruzada.

(33)

1.5. Organización de la tesis 7

En el Apéndice C se muestran los pesos encontrados en la fase de entrenamiento, los cuáles fueron usados para clasificar los patrones mostrados en las figuras del capítulo 7.

En el Apéndice D se muestra información acerca de un artículo que fue elaborado con la información del ajuste de una función por partes a la respuesta en frecuencia del modelo de IZH.

(34)
(35)

Capítulo 2

Clasificación de patrones

La clasificación de patrones es una rama del reconocimiento de patrones que permite estimar o predecir la clase de pertenencia de un patrón desconocido con base en conocimiento previo de las características de patrones clasificados con anterioridad. [8]

2.1. Conceptos básicos

2.1.1. Patrón

Un patrón es una representación abstracta de los atributos o características de un objeto, que puede ser descrito matemáticamente como un vector x = (x1, x2, . . . , xn)T ∈ X ⊂ Rn donde X es el dominio de n-dimensional de los atributos y x1, x2, . . . , xnson los n atributos o característi- cas que describen o codifican al objeto. Generalmente al espacio formado por las características de un patrón se le conoce como espacio de las características o espacio de las representacio- nes. [15].

(36)

2.2. Enfoques de la clasificación de patrones 10

2.1.2. Clase

Una clase c = {1, 2, . . . , m}, donde m es el número de la clase, es una etiqueta que se asocia a un patrón y que indica el tipo de objeto que este representa. A este conjunto de clases comúnmente se le conoce como espacio de las interpretaciones [8, 15, 20].

2.1.3. Clasificación

El proceso de clasificación de patrones consiste en asignar una clase c a un patrón x, de tal forma que se pueda formar una tupla (x , c) con cada patrón [8, 15, 20]. Para un conjunto de patrones se tiene un conjunto de tuplas de asociación A = {(xk, c)|k = 1, 2, . . . , p}, donde p es el número de patrones.

2.2. Enfoques de la clasificación de patrones

Como se ha mencionado la clasificación de patrones consiste en asignar una clase c a un patrón desconocido xk. Existen múltiples técnicas de clasificación de patrones, las cuales están incluidas en diferentes enfoques que diferencian y dotan de propiedades distintas a cada clasificador. Los esquemas de clasificación se dividen principalmente en dos grandes grupos, que son la clasificación supervisada y la no supervisada.

En la clasificación supervisada, un maestro asigna una clase, etiqueta o costo a cada patrón en un conjunto de entrenamiento, de tal forma que para un conjunto de patrones de prueba pueda estimar sus respectivas clases [8, 10, 20, 55].

En la clasificación no supervisada no existe de forma explícita un maestro que asigne clases a los patrones, si no que el clasificador tiende a formar grupos naturales de los patrones de entrada a partir de las semejanzas que existen entre ellos. La forma en la que se agrupan los datos

(37)

2.2. Enfoques de la clasificación de patrones 11

es definida de tal forma, que se pueden crear diferentes grupos para un conjunto de patrones dependiendo del algoritmo de agrupamiento [8, 10, 20, 55].

Estos enfoques no son los únicos, existe una gran variedad de enfoques, tales como la clasificación estadística, la sintáctica, la difusa, mediante redes neuronales artificiales, etc.

2.2.1. Clasificación estadística

Este enfoque de clasificación está sustentado en las teorías de la probabilidad y estadística, las cuáles son aplicadas a conjuntos de datos previos para obtener distribuciones de probabilidad que permitan estimar el riesgo asociado a la clasificación de un patrón desconocido. Algunas de las técnicas de clasificación estadística más comunes son, clasificación bayesiana, clasificación por discriminantes lineales, clasificación por discriminantes no lineales, clasificación mediante árboles de decisión [1, 39].

2.2.2. Clasificación sintáctica

En este enfoque de clasificación de patrones, la estructura de los datos es fundamental ya que se busca relaciones estructurales que tienen en común los patrones. Comúnmente se utilizan gramáticas formales y lenguajes con los cuales se puede diseñar clasificadores sintácticos de pa- trones codificados como cadenas de símbolos. Para cada clase existente se diseña una gramática y para cada patrón desconocido, se hace un parseo para determinar si el patrón pertenece a una clase o no [39].

2.2.3. Clasificación difusa

El enfoque de clasificación difusa hace uso de funciones de membresía que son asociadas a cada una de las clases que existan, en las cuales un patrón es miembro de cada clase con un

(38)

2.3. Diseño de experimentos de clasificación de patrones 12

valor de certitud que oscila entre 0 y 1. Dependiendo de las funciones de membresía y su valor correspondiente para un patrón, es como se asigna su clase [39].

2.2.4. Agrupamiento no supervisado

El agrupamiento no supervisado es un enfoque de clasificación de patrones, en el cual se tienen datos crudos, osea que no tienen una clase asignada. Su tarea es encontrar las relaciones que existen entre los patrones para que, de este modo, se le pueda asignar a cada patrón una clase.

Algunos métodos de agrupamiento no supervisado son K-means, K-means++, acknn [8, 24, 47].

2.2.5. Redes neuronales artificiales

Este enfoque de clasificación de patrones está inspirado en el cerebro humano. Se inspira de forma específica en las neuronas biológicas que se interconectan unas con otras de tal forma que surgen propiedades emergentes, con las que probablemente se resuelven problemas más complejos de los que una sola neurona podría resolver. Las RNA’s son una abstracción simple de estas neuronas y sus conexiones, están formadas por un conjunto de neuronas artificiales, que son modelos matemáticos que individual o colectivamente puede realizar tareas de predicción y clasificación de patrones. Algunos de los modelos de RNA’s más conocidos y utilizados son: Perceptrón Multicapa (PM), redes neuronales recurrentes, redes neuronales convolucionales [8, 10, 55].

2.3. Diseño de experimentos de clasificación de patrones

En primera instancia, para realizar un experimento de clasificación de patrones, se debe de tener una base de datos, la cual se debe de dividir en un subconjunto de entrenamiento y un subconjunto de prueba. El subconjunto de entrenamiento se le presenta al clasificador y este es entrenado de forma supervisada o no supervisada, de tal forma que el clasificador aprende a reconocer y

(39)

2.3. Diseño de experimentos de clasificación de patrones 13

diferenciar unos patrones de otros. Pero el verdadero aprendizaje ocurre cuando al clasificador se le presentan datos que no habían sido mostrados con anterioridad, y esto ocurre cuando el subconjunto de prueba es clasificado. [8, 15, 20]

2.3.1. Validación

La validación del clasificador es una fase importante, ya que permite analizar el comportamiento del clasificador en las fases de entrenamiento y prueba con una base de datos en específico.

Una de las técnicas más utilizadas para validar el comportamiento de un clasificador con una base de datos es validación cruzada. En la validación cruzada se obtienen K pares de conjuntos de entrenamiento y prueba {Vi, Ti}Ki=1a partir de una base de datos X. El objetivo de este método de validación es obtener el promedio de las tasas de clasificación para los subconjuntos de entrenamiento y prueba para verificar la robustez del clasificador [8, 25].

2.3.2. Validación cruzada de K iteraciones

En Validación cruzada de K iteraciones (K-fold cross validation, en inglés) [8, 25] se divide de forma aleatoria la base de datos X en K partes iguales Xi, donde i = {1, 2, . . . , K} (generalmente k = 10 o k = 30), en las que el número de patrones de cada clase en cada parte es el mismo o muy similar. De esta forma se obtienen K pares de subconjuntos de validación Vi ⊂ X y de prueba Ti ⊂ X.

V1= X1 , T1= X− X1

V2= X2 , T2= X− X2

... , ...

VK = XK , TK = X− XK

(40)

2.4. Desempeño de un clasificador para una base de datos 14

2.3.3. Validación cruzada dejando uno afuera

Validación cruzada dejando uno afuera (Leave one out, en inglés) [8, 25] es un método de validación en el cual dado una base de datos X compuesta por N patrones, se toma un patrón para validación y N − 1 patrones para entrenamiento, haciendo esto para cada patrón. Por lo tanto, las fases de entrenamiento y prueba se realizan N veces, este método de validación es el caso extremo de K-fold cross validation en el que K = N. Éste método proporciona una mejor medida del desempeño del clasificador, sin embargo, el número de veces que se tiene que entrenar el clasificador aumenta el costo computacional.

2.4. Desempeño de un clasificador para una base de datos

La medición del desempeño de un clasificador tiene múltiples métricas entre las cuales se en- cuentra la tasa de clasificación, precisión, costo computacional, entre otras.

2.4.1. Tasa de clasificación

La tasa de clasificación se refiere a la relación de patrones correctamente clasificados ya sea en la fase de entrenamiento o prueba. Esta métrica adopta valores entre 0 y 1, donde 0 indica que todos los patrones fueron clasificados incorrectamente y 1 que todos los patrones fueron clasificados correctamente.

2.4.2. Matriz de confusión

La matriz de confusión que se muestra en la tabla 2.1, originalmente pensada para clasificadores bi-clase, brinda una visión general del comportamiento de un clasificador [8]; muestra el número de aciertos y de errores que se obtuvieron con un conjunto de patrones de prueba.

(41)

2.4. Desempeño de un clasificador para una base de datos 15

Tabla 2.1: Matriz de confusión para un clasificador bi-clase; vp verdaderos positivos, vn verdaderos negativos, f n falsos negativos, f p falsos positivos.

Predicción

Positivo Negativo Total

Verdad

Positivo v p f n p

Negativo f p v n n

Total p0 n0 N

A partir de la matriz de confusión pueden obtenerse otras métricas que brindan un panorama más completo del desempeño del clasificador, tales como la recuperación, especificidad y precisión.

2.4.3. Precisión

Precisión es el número de registros recuperados y relevantes divididos por el número total de registros recuperados; Si la precisión es 1, todos los registros recuperados pueden ser relevantes, pero todavía pueden existir registros recordatorios que son relevantes, pero no recuperados

P r = v p/p0 (2.1)

2.4.4. Recuperación

Recuperación es el número de registros relevantes recuperados dividido por el número total de registros relevantes; Incluso si la recuperación es 1, todos los registros relevantes pueden ser recuperados, pero también pueden existir registros irrelevantes que se recuperan,

Rec= v p/p (2.2)

(42)

2.5. Prueba de hipótesis 16

2.4.5. Especificidad

La especificidad es una medida de que tan bien se detectan los negativos, esta medida se define como el número de negativos verdaderos dividido por el número total de negativos;

Esp= v n/N (2.3)

2.4.6. Costo computacional

El costo computacional básicamente es el tiempo empleado en realizar una tarea determina- da en una computadora. En clasificación de patrones, este costo está asociado con el tiempo transcurrido en las fases de entrenamiento y prueba.

2.4.7. Comparación del desempeño de algoritmos de clasificación

En la clasificación de una o más bases de datos usando algoritmos de clasificación diferentes, se pueden encontrar diferencias en el desempeño. Sin embargo, como medir el desempeño de un clasificador respecto a otro, o cuál de ellos es más conveniente utilizar, es calculado mediante diversas técnicas estadísticas de comparación. Estas ponen a prueba diversas hipótesis en los resultados de clasificación de 2 o más clasificadores para comparar el desempeño.

2.5. Prueba de hipótesis

La prueba de hipótesis [8, 39, 57] es un procedimiento que se basa en la información de una muestra de una población para tomar decisiones en torno a una hipótesis razonable.

(43)

2.5. Prueba de hipótesis 17

2.5.1. Hipótesis nula

Para tomar decisiones sobre la información de la muestra, se hacen conjeturas o hipótesis sobre la población que se estudia, estas conjeturas reciben el nombre de hipótesis estadísticas que son usadas con la finalidad ser aceptadas o rechazadas. En el caso de los experimentos de clasificación de patrones, se utiliza para decidir cuál clasificador es mejor en algún aspecto. Generalmente la hipótesis nula se realiza sobre la media µ de la muestra y se compara con un valor constante µ0. La hipótesis nula H0 generalmente es que las medias son iguales

H0: µ = µ0, (2.4)

y la alterna, que la media es diferente, mayor o menor.

H1: µ6= µ0. (2.5)

2.5.2. Nivel de significancia

En prueba de hipótesis m es el punto de estimación de µ y es razonable rechazar la hipótesis nula H0 si m está muy lejos de µ0. Se falla en rechazar la hipótesis nula con un nivel de significancia αsi µ0 cae en el intervalo de confianza (1 − α) de una distribución de probabilidad.

2.5.3. Errores de tipo uno y dos

Si se rechaza la hipótesis nula cuando esta es correcta, entonces se está cometiendo un error de tipo I. La cantidad de errores de tipo I que se cometen está definida por el valor de α elegido, que comúnmente se le asignan valores de α = 0.1, 0.05, 0.01. Por otra parte, si no se rechaza la hipótesis nula cuando ésta no es correcta, entonces se está cometiendo un error de tipo II que está relacionada con el valor de β(α) = (1 − α) que se le denomina función de poder. Estos errores se pueden observar en la tabla 2.2.

(44)

2.6. Comparación de dos clasificadores 18

Tabla 2.2: Errores de tipo I y II

Situación actual

Decisión estadística H0es verdad H0es falsa No rechazar H0 Decisión correcta Error tipo II

Confianza=(1-α) P(Error tipo II)=β Rechazar H0 Error tipo I Decisión correcta

P(Error tipo I)=α Poder=(1-β)

2.6. Comparación de dos clasificadores

Existen diversas pruebas de comparación para 2 clasificadores, la prueba de McNemar, la prueba T pareada y Wilcoxon son algunas de ellas.

2.6.1. Prueba de McNemar

La prueba de McNemar [8, 9] sirve para comparar 2 algoritmos de clasificación c1 y c2 con una base de datos. En esta prueba se obtienen los errores de clasificación en la fase de entrenamiento y prueba, y con esa información se elabora la tabla 2.3, que se le conoce comúnmente como tabla de contingencia.

Tabla 2.3: Tabla de contingencia, en la cual e00 es número de muestras clasificados por c1 y c2, e01 es el número de muestras clasificados por c2 y no por c1, e10 es el número de muestras clasificadas por c1 y no por c2, y e11 es el número de muestras clasificadas correctamente por c1 y c2.

e00 e01 e10 e11

Con la información de la tabla de contingencia y bajo la hipótesis nula de que los algoritmos de clasificación tienen el mismo error de clasificación, se tiene la distribución Chi cuadrada con un grado de libertad,

(|e01− e10| − 1)2

e01−e10 ∼ X12, (2.6)

esta prueba rechaza la hipótesis nula si este valor es más grande que Xα,12 , que para un valor de significancia α = 0.05, Xα,12 = 3.84.

(45)

2.6. Comparación de dos clasificadores 19

2.6.2. Prueba T pareada

La prueba T pareada [8, 9, 45] sirve para comparar 2 clasificadores con una base de datos. Esta prueba utiliza validación cruzada de K para obtener los subconjuntos de entrenamiento Ti y de prueba Vi, donde i = {1, 2, . . . , K}, y con los cuales se obtienen sus respectivos errores de clasificación p1i y p2i. Se dice que es una prueba pareada debido a que cada clasificador ve el mismo subconjunto de entrenamiento y prueba para cada i, cuando esto se realiza en K ocasiones, se obtiene una distribución pi. Dado que p1i y pi2 son aproximadamente normales, su diferencia pi también lo es. La hipótesis nula es que la distribución tiene una media centrada en H0: µ = 0, y la hipótesis alterna es H16= 0. A partir de los valores de pi se obtiene:

m = 1 K

XK i=1

pi, (2.7)

S2= PK

i (m− pi)2

K− 1 . (2.8)

Bajo la hipótesis nula µ = 0, se tiene una distribución t con K − 1 grados de libertad,

√km

S ∼ tK−1. (2.9)

La hipótesis nula se rechaza con un valor de significancia α si se obtiene un valor fuera del intervalo (−tα/2,K−1, tα/2,K−1).

2.6.3. Prueba de Wilcoxon

La prueba de Wilcoxon [8, 9] forma parte de las pruebas no paramétricas en las se desconoce la distribución de los datos y se sabe que los mismos pueden ser comparados y ordenados. Estas pruebas no son muy eficientes, sin embargo, tienen la gran ventaja de que además de poder comparar clasificadores usando las tasas de clasificación, se pueden comparar otras estadísticas como son los tiempos de entrenamiento o el número de parámetros libres, entre otras.

(46)

2.7. Comparación de más de dos clasificadores 20

Esta prueba usa el promedio de los errores obtenidos de N bases de datos mediante validación cruzada en K, que para dos clasificadores serian ei1y ei2, donde i = {1, 2, . . . , N}. Posteriormente se calcula la diferencia mi =|ei1− ei2|, se ordenan en orden ascendente y se les asigna un rango empezando por 1. Si existen 2 o más valores en mi que sean idénticos, sus rangos están dados por el promedio de los rangos que recibirían si es que no hubiera empates. Después se calcula la suma de los rangos cuyo signo es positivo w+ y finalmente los negativos w.

La hipótesis nula H0 : µ1 < µ2 puede rechazarse si w+es mucho menor que w, y la hipótesis nula H0: µ1= µ2 puede rechazarse si los valores de w+ o w son muy pequeños.

2.7. Comparación de más de dos clasificadores

2.7.1. Análisis de la varianza

En la prueba de Análisis de varianza (Analysis of Variance, en inglés) (ANOVA) [8, 9, 45], se tienen L clasificadores que se entrenan sobre K conjuntos de entrenamiento y se prueban sobre K conjuntos de prueba. Se consideran L muestras independientes de tamaño K compuestas por variables aleatorias normales de media y varianza común desconocida Xij = N(µj, σ2), j = 1, 2, . . . , L, i = 1, 2, . . . , K.

Se tiene la hipótesis nula de H0 : µ1 = µ =· · · = µL y la alterna H0 : µr 6= µs para al menos un par (r, s). Esta prueba es una generalización de las pruebas vistas en 2.6 para 2 clasifica- dores. Los clasificadores pueden ser diferentes, o pueden ser los mismos, pero con diferentes hiperparámetros.

El objetivo en ANOVA es encontrar el valor de dos estimadores de σ2, uno de ellos es solo verdadero únicamente si H0 es verdadero, y el segundo es siempre válido a pesar de que H0sea verdadera o falsa. Entonces ANOVA rechaza la hipótesis nula H0 si los 2 estimadores difieren de forma significativa.

(47)

2.7. Comparación de más de dos clasificadores 21

2.7.2. Prueba de Kruskal-Wallis

La prueba de Kruskal-Wallis [8, 9, 17, 45] es la versión no paramétrica de ANOVA. Dados L algoritmos de clasificación sobre N bases de datos, se tiene un conjunto de observaciones X = {xij|i = {1, 2, . . . , L} y j = {1, 2, . . . , N}} que se ordenan de menor a mayor, asignándoles un rango entre 1 y M = NL, y tomando promedios de rangos en caso de empates.

La hipótesis nula es que todos los clasificadores tienen la misma media H0: µ1= µ2=· · · = µL, si esto es verdad, el promedio de los rangos debería de ser aproximadamente igual a (M + 1)/2.

Se denota el promedio de los rangos del algoritmo i por ¯Ri y se rechaza la hipótesis nula si los promedios de los rangos varían mucho entre de la mitad. La prueba estadística

H = 12

(M + 1)L XL i=1

( ¯

Ri −M+ 1

2 ), (2.10)

se aproxima a la distribución chi cuadrada con L − 1 grados de libertad, y la hipótesis nula se rechaza si la estadística excede Xα,L−1.

(48)
(49)

Capítulo 3

Redes Neuronales Artificiales

Desde hace muchos años se ha estudiado la estructura y funcionamiento del cerebro humano, y se ha recopilado mucha información, sin embargo lo que se conoce actualmente es solo una muy pequeña parte de la gran cantidad de secretos que guarda el cerebro humano. La información más básica que se conoce es que las neuronas son las unidades más elementales de las que está compuesto el sistema nervioso, y que están conectadas unas con otras formando conexiones muy complejas [22], como se muestra en la figura 3.1.

Se conoce que las neuronas están formadas por 3 partes fundamentales que son: elsoma, que es el cuerpo celular de la neurona que contiene el núcleo celular; lasdendritas, que son extensiones ramificadas provenientes del soma y que reciben señales provenientes de otras neuronas; y elaxón que es una estructura que transmite señales de provenientes del soma [38], como se muestra en la figura 3.2. En conjunto estas partes se encargan de recibir y procesar información proveniente

Figura 3.1: Neuronas dibujadas por Santiago Ramón y Cajal [22]

(50)

3.1. Neuronas artificiales 24

Figura 3.2: Dibujo de una Neurona [22]

de unas neuronas y transmitir las señales procesadas hacia otras.

Las RNA’s hacen alusión al funcionamiento del cerebro humano, específicamente a las compli- cadas conexiones de neuronas que nos hacen resolver problemas complejos. Estas RNA’s son redes de abstracciones neuronales que se usan para resolver problemas de IA relacionados con clasificación de patrones y aprendizaje de máquina [15].

3.1. Neuronas artificiales

Las neuronas artificiales son abstracciones matemáticas que simulan con cierto grado de realismo el comportamiento de las neuronas biológicas. Estas son utilizadas en disciplinas como Neuro- ciencia, donde se utilizan para tratar de entender el funcionamiento del cerebro humano, o IA, en donde se utilizan para realizar tareas relacionadas con reconocimiento de patrones, aprendizaje, entre otras.

(51)

3.1. Neuronas artificiales 25

3.1.1. Generaciones de neuronas artificiales

Las neuronas artificiales se dividen en 3 generaciones, y cada generación se caracteriza por el nivel de realismo del modelo y de la complejidad en las tareas que pueden realizar [40], siendo la primera generación la más simple y la tercera hasta el momento la más compleja.

Las neuronas de primera generación son los modelos más simples de todos, son modelos ma- temáticos abstractos que solo se limitan realizar operaciones sencillas con datos booleanos o reales y que devuelven siempre un valor booleano. Estas neuronas proporcionan simulaciones neuronales con un grado de realismo bajo, es decir el resultado de la simulación no se aproxima a los fenómenos que realmente suceden en las neuronas biológicas.

Las neuronas de segunda generación son modelos neuronales que pueden realizar tareas más complejas, sin embargo, su grado de realismo sigue sin ser suficientemente convincente ya que al igual que las neuronas de primera generación no explican de forma aproximada las tareas de una neurona biológica, a pesar de ello, las neuronas de segunda generación son capaces proporcionar a su salida no solo datos binarios, sino también reales.

Las neuronas de tercera generación hasta el momento son los modelos neuronales más realistas, ya que simulan de manera aproximada el comportamiento eléctrico de la membrana celular de las neuronas biológicas, y además, no solo pueden trabajar con datos booleanos y reales, sino que también pueden trabajar con series de tiempo. Las neuronas de tercera generación son llamadas neuronas pulsantes, ya que éstas producen pulsos en la presencia de estimulaciones de corriente, lo que está más acercado a lo que realmente sucede en las neuronas biológicas, aunque siguen siendo modelos abstractos. El origen de las neuronas pulsantes se remonta a los trabajos de Edgar Louis Adrian [2–6], en los cuáles realiza experimentos con los nervios de la rana. En estos experimentos descubre que la presencia de un estímulo (tensión, presión, contacto) sobre los nervios sensoriales produce una excitación que se ve reflejada en la emisión de pulsos eléctricos que se transmiten sobre la fibra nerviosa. Además observa que existe una relación de todo o nada entre el estímulo y los pulsos, es decir que la fuerza del estímulo no influye en la amplitud

(52)

3.1. Neuronas artificiales 26

de los pulsos, sin embargo si influye en su frecuencia. Con base en sus investigaciones, infiere que de alguna forma el sistema nervioso intercambia mensajes sensoriales y motores, que están codificados en forma de pulsos eléctricos.

3.1.2. La neurona de McCulloch-Pitts

La neurona de McCulloch-Pitts [44, 69] fue el primer modelo formal de neurona de neurona artificial creado por Warren McCulloch y Walter Pitts en el año de 1943. Este modelo se basa a groso modo en el comportamiento de las neuronas biológicas ya que consta de un número fijo de sinapsis inhibitorias y excitatorias que son estimuladas en un instante de tiempo previo al de la señal producida por la neurona (simulando el retardo en el intercambio de mensajes entre una neurona y otra). Además propone que la estimulación de una sinapsis inhibitoria previene la excitación de la neurona en ese instante de tiempo y que la estructura de la red no cambia con el tiempo. La neurona está representada por el símbolo mostrado en la figura 3.3 en la cual se aprecia también las sinapsis excitatorias e inhibitorias.

La neurona de McCulloch-Pitts forma parte de las neuronas de primera generación y por lo tanto la respuesta que producen es siempre un valor booleano. Cuando la señal de las sinapsis es obtenida en un instante de tiempo (t − 1), si no existe estimulación de una sinapsis inhibitoria, entonces el valor de las sinapsis excitatorias es sumado. Si la suma es mayor que un valor de umbral θ, entonces se dice que la neurona se activa o dispara en el instante de tiempo t proporcionando un valor booleano 1. Por el contrario, si el valor de umbral θ no se sobrepasa, o existe estimulación de sinapsis inhibitorias, la neurona no se activa y se obtiene un valor booleano 0. Como ejemplo ilustrativo, en la figura 3.4 se muestran algunas funciones lógicas que pueden ser resultas con la neurona de McCulloch-Pitts.

(53)

3.1. Neuronas artificiales 27

Neurona Sinapsis

Excitatoria

Inhibitoria

Figura 3.3: Representación de la neurona de McCulloch-Pitts

AND 2

OR 1

NOT 0

Figura 3.4: Implementación de funciones lógicas con la neurona de McCulloch-Pitts 3.1.3. Threshold Logic Unit

La Threshold Logic Unit (TLU) [53] es un modelo de neurona artificial basado en la neurona de McCulloch-Pitts, en el que si la suma de los valores sinápticos alcanza un valor de umbral, entonces la TLU dispara. Sin embargo, la forma en la que los valores de la de sinapsis son obtenidos difiere de la neurona de McCulloch-Pitts. En este modelo, los valores sinápticos son ajustados a través de un vector de pesos que pondera las señales provenientes de las sinapsis, y el tiempo de procesamiento de las señales es ignorado. La ecuación 3.1 muestra el modelo general de una TLU y la figura 3.5 el diagrama que la representa.

y = f (z ), (3.1)

donde z es el producto interno del vector de pesos sinápticos w y el patrón de entrada x, y es la salida de la neurona , y f es una función de activación.

La TLU puede considerarse como una neurona de primera o segunda generación dependiendo del tipo de función de activación que se utilice. La TLU será considerada como neurona de primera generación si se utilizan funciones de activación de límite duro como las que se muestran en las ecuaciones 3.2 y 3.3, mientras que si son utilizadas funciones continuas como las que se muestran en las ecuaciones 3.4 y 3.5 será considerada como neurona de segunda generación.

(54)

3.1. Neuronas artificiales 28

Pwijxi f(z )j w3j

x3 ...

...

wnj xn

w2j x2

w1j x1

Entradas Pesos

yj Axón Dendritas

Soma

Figura 3.5: Representación de la TLU. Las señales sinápticas son ponderadas por los pesos sinápticos wnj, y después son sumados obteniendo el valor de activación z, que es introducido a alguna función de activación f .

f(z ) =

(1 z >0

0 de otr a f or ma (3.2)

0 0

1

z

f(z)

Heaviside

f(z ) =

(1 z >0

−1 de otra f orma (3.3)

0

−1 0 1

z

f(z)

Signo

f(z ) = 1

1 + e−z (3.4)

0 0

1

z

f(z)

Sigmoide

f(z ) = ez− e−z

ez+ e−z (3.5)

0

−1 0 1

z

f(z)

Tangente Hiperbólica

Figura 3.6: Funciones de activación comúnmente usadas. Las funciones de activación de la izquierda son de límite duro, mientras que las de la derecha son funciones continuas

(55)

3.1. Neuronas artificiales 29

Comúnmente las TLUs son nombradas perceptrones, sin embargo el perceptrón es un modelo neuronal que tiene características más complejas que una TLU ya que se conforma por un área sensorial, una de proyección, una de asociación y un área de respuestas [54], mientras que la TLU es un modelo simplificado de las últimas etapas del perceptrón.

3.1.4. Modelo de Lapicque

Es el primer modelo de neurona pulsante conocido, el cual fue en su momento una primera aproximación a los fenómenos eléctricos que suceden en las neuronas biológicas, y cuyo desarrollo fue hecho por Louis Lapicque en 1907 [33]. Este modelo fue descrito de forma sencilla por un circuito RC en paralelo, como el que se muestra en la figura 3.7, que modela la tensión eléctrica de la membrana celular de la neurona ante una entrada constante de corriente a través del tiempo hasta un valor límite de tensión. El modelo de Lapicque está definido por la ecuación diferencial de primer orden

τm

du

dt =−(u(t) − ur est) + R I(t), (3.6) donde R es la resistencia de la membrana, τ = RC es la constante de tiempo u(t) es la tensión de la membrana, ur est es la tensión de reposo, y I(t) es la corriente de estimulación. La ecuación diferencial del modelo de Lapicque tiene como solución la siguiente ecuación 3.7

u(t) = RI(1− e−t/τm). (3.7)

El comportamiento de la membrana de la neurona de Lapicque ante una entrada constante de corriente se muestra en la figura 3.8 , y se observa que la tensión de la membrana no crece en el tiempo de forma asintótica hasta llegar al valor de tensión u(t) = RI.

(56)

3.1. Neuronas artificiales 30

Cm Rm

Membrana externa

Membrana interna E

Figura 3.7: Circuito eléctrico del modelo de Lapicque

0 10 20 30 40 50 60 70 80 90 100

0 20 40

Tiempo (ms)

Voltaje(mV)

Figura 3.8: Voltaje de membrana del modelo de Lapicque cuando tiene como entrada una co- rriente constante

3.1.5. Modelo de Integración y disparo

El modelo de Integración y disparo [58] es una derivación del modelo de Lapicque que toma en consideración los disparos producidos por una neurona biológica. Esto lo realiza mediante una condición de reinicio en la tensión de membrana, con lo cual al llegar la tensión a un valor de umbral, se produce un disparo o pulso, y la tensión de la membrana alcanza un valor de reposo ur est. La ecuación diferencial que describe el modelo de integración y disparo es la siguiente:

τmdu

dt =−(u(t) − ur est) + R I(t), (3.8)

i f u(t)≥ uth → u(t) = ur est,

(57)

3.1. Neuronas artificiales 31

donde R es la resistencia de la membrana, τ = RC es la constante de tiempo, u(t) es la tensión de la membrana, ur est es la tensión de reposo, uth es la tensión de umbral y I(t) es la corriente de estimulación. Como se puede apreciar, lo único diferente que tiene el modelo de integración y disparo del modelo de Lapicque, es la condición de reinicio. En la figura 3.9 se observa el comportamiento del modelo de integración y disparo ante una entrada de corriente constante

0 10 20 30 40 50 60 70 80 90 100

0 20 40

Tiempo (ms)

Voltaje(mV)

Figura 3.9: Voltaje de membrana del modelo de Integración y disparo cuando tiene como entrada una corriente constante

3.1.6. Modelo de respuesta de impulsos

Es un modelo de neurona pulsante basado en el modelo de Integración y disparo, pero a di- ferencia de éste último, la entrada del modelo no es una corriente de estimulación, sino un tren de impulsos [41]. Los impulsos están definidos por Sin(t) = Pn

ti(f )∈Fδ(t − ti(f )), donde F ={ti(1), ti(2), . . . , ti(n)} son los tiempos de disparo provenientes de la neurona i. Este tren de impulsos presinápticos es traducido a un cambio en la tensión de la membrana de la neurona a través de la ecuación 3.9, que es la suma de la convolución entre los pulsos presinápticos y la ecuación 3.10, y de la convolución entre los pulsos postsinápticos y la ecuación 3.11.

ui = X

ti(f )∈Fi

η(t− t(f )) +X

j∈Γi

X

tj(f )∈Fj

ωij(t− ti(f )), (3.9)

η(s) =−v e(−s−∆ax/τ )H(s − ∆ax), (3.10)

(s) = [e(−s−∆axm)− e−s/τs] H(s− ∆ax), (3.11)

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)