El uso del Perceptrón Multicapa para la clasificación de patrones en

Anuncio
Facultat de Psicologia
Memòria del Treball de Fi de Grau
El uso del Perceptrón Multicapa para la
clasificación de patrones en conductas adictivas
Marta Vidal González
Grau de Psicologia
Any acadèmic 2014-15
DNI de l’alumne: 43227812W
Treball tutelat per Juan José Montaño Moreno
Departament de Psicologia
√
S'autoritza la Universitat a incloure el meu treball en el Repositori Institucional per a la seva
consulta en accés obert i difusió en línia, amb finalitats exclusivament acadèmiques i
d'investigació
Paraules clau del treball:
Redes Neuronales, Perceptrón Multicapa, Clasificación
1
Índice
Resumen
…................................................................................. 4
Introducción
…................................................................................. 5
Revisión histórica
…................................................................................. 5
Concepto
…................................................................................. 9
Fundamentos biológicos …................................................................................. 11
Elementos de una red neuronal
..................................................................... 12
Mecanismos de aprendizaje ….............................................................................. 14
Tipos de red neuronal
…................................................................................. 14
Perceptrón Multicapa
…................................................................................. 17
Aplicaciones de las Redes Neuronales Artificiales
...................................... 19
Uso de las Redes Neuronales Artificiales en las Conductas Adictivas
…..............................…................................................................................. 21
Objetivo
…...…................................................................................. 22
Metodología
…...…................................................................................. 22
Matriz de datos
…...…................................................................................. 22
Instrumentos
…...…................................................................................. 25
Procedimiento
…...…................................................................................. 25
Resultados
…...…................................................................................. 29
Grupo de entrenamiento …................................................................................. 29
Grupo de validación
…................................................................................. 31
Grupo test
…................................................................................. 32
Conclusión
…...…................................................................................. 35
Bibliografía
…...…................................................................................. 36
2
ANEXO 1
…...…................................................................................. 45
ANEXO 2
…...…................................................................................. 46
Etapas de funcionamiento ..................................................................................... 48
Etapa de aprendizaje ..................................................................................... 48
Etapa de funcionamiento .............................................................................. 50
Etapa test
….......................................................................... 51
Consideraciones a tener en cuenta ....................................................................... 51
ANEXO 3
…................................................................................. 54
3
Resumen
En este trabajo se quiere demostrar el funcionamiento del Perceptrón Multicapa como modelo
clasificador de las conductas adictivas creando un modelo de red con el sistema Sensitive
Neuronal Network y usando una muestra de 628 sujetos divididos en tres grupos:
entrenamiento (314), validación (157) y test (157). Los resultado obtenidos son en el grupo
test son que el 56,05% de los participantes recaen en las drogas y el 43,95% no recaen. La
eficacia del modelo seleccionado es del 74%.
Palabras clave: Redes Neuronales Artificiales, historia, modelos, Perceptrón Multicapa,
fundamentos.
4
Introducción
El cerebro humano es un sistema de cálculo muy complejo, puede llevar a cabo
procesamientos que a primera vista parecen sencillos, como por ejemplo, el reconocimiento
de imágenes. Esta capacidad que tiene el cerebro humano para pensar, recordar y resolver
problemas ha inspirado a muchos científicos a intentar imitar estos funcionamientos
(Basogain, 2009).
Los intentos de crear un ordenador que sea capaz de emular estas capacidades ha dado como
resultado la aparición de las llamadas Redes Neuronales Artificiales o Computación
Neuronal.
Revisión histórica
Las Redes Neuronales Artificiales son una parte de la Inteligencia Artificial (IA) que sigue la
corriente conexionista. Ésta hace referencia a una forma de ver la mente computacional que
defiende que la información se encuentra entre los elementos que forman el sistema.
El objetivo de las Redes Neuronales Artificiales es la construcción de máquinas inteligentes
con una arquitectura computacional parecida a las redes neuronales del cerebro (Montaño,
2005).
El inicio de las redes neuronales se sitúa en 1943 con la aportación de McCulloch y Pitts,
creadores de la primera neurona artificial, cuya estructura se muestra en la Figura 1. Su
funcionamiento era muy sencillo y consistía en que si la suma de las entradas excitatorias
supera el umbral de activación de la unidad sin la presencia de una entrada inhibitoria, la
5
neurona se activa y emite una respuesta (equivalente al valor de 1). Pero si hay la presencia
de una entrada inhibitoria, no se activará y no emitirá respuesta (representado por el valor 0).
Figura 1: Primera neurona de McCulloch y Pitts
La segunda aportación más importante fue la de A. Hebb y su regla de aprendizaje hebbiano
en 1949, la cual explica el mecanismo de regulación entre las conexiones. Este aprendizaje
propone que los pesos se incrementan si las neuronas de origen y de destino están activadas
simultáneamente (Díaz, Gómez, Graciani y López, 1994) reforzando esa conexión y
aumentando la probabilidad de activación conjunta de ambas neuronas en el futuro. Esto
quiere decir que cuanto más conjuntamente se activen las neuronas las conexiones se
incrementarán.
Rosenblatt en 1958, creó la primera red neuronal denominada Perceptrón simple para el
reconocimiento de patrones visuales. Éste modelo se construyó a partir de la unión de las
neuronas formales de McCulloch y Pitts y el modelo Pandemonium de Selfridge (Aróztegui y
Prados, 2008).
Es una red compuesta por tres capas y solo una de ellas tiene las conexiones modificables, se
puede ver la estructura en la Figura 2. Era el primer modelo capaz de generalizar (reconocer
6
patrones similares y aprenderlos). En la capa de entrada los valores de las conexiones son
fijos, son las conexiones de la capa de salida las que tiene los valores modificables, ya que les
influye los valores de la capa anterior (la capa oculta).
Esta red funciona con el teorema de convergencia de la regla de aprendizaje del Perceptrón
desarrollada por Rosenblatt. Ésta consiste en una corrección de errores e ir ajustando los
valores de las conexiones para minimizar las diferencias entre el valor de salida obtenido y el
valor de salida que se desea.
Figura 2: Perceptrón Simple Rosenblatt
También empezó a plantear una primera idea sobre un Perceptrón con más capas, lo que
después se conocería como el Perceptrón Multicapa (MLP), pero debido a la tecnología de la
época no pudo poner esa idea en práctica.
Con estas grandes aportaciones marcaron las bases para la construcción de las redes
neuronales, pero en 1969 aparecen las primeras críticas a éstas y al paradigma conexionista.
Uno de los problemas que presentaban las redes neuronales era a nivel tecnológico, porque
7
para poder construir una red hacía falta un potenciador para que funcionasen, lo cual requería
demasiado espacio físico.
La crítica más importante y que más efecto tuvo sobre las redes neuronales fue la llevada a
cabo por Minsky y Papert hacia el Perceptrón Simple en su libro “Perceptrons”. La principal
crítica que hacían en su libro era que las redes neuronales únicamente eran capaces de
resolver problemas linealmente separables, es decir, las funciones conocidas como OR. Estas
redes no eran capaces de solucionar la función XOR (OR-Exclusiva), además de no poder
realizar con efectividad otras funciones matemáticas, como por ejemplo, la paridad y la
función topológica de la conectividad.
También señalaban la incapacidad del Perceptrón a la hora de diferenciar entre entradas de
distintas partes de la pantalla, ni entre figuras con distintas posiciones de rotación, además de
defender el poco uso práctico que tenían estas redes.
Aun así muchos siguieron trabajando en el avance de las redes y haciendo grandes
aportaciones, como Von Der Malsburg (1973) y Fukushima (1975), Kohonen (1977),
Grossberg (1980), etc. Pero la siguiente aportación que más nos interesa fue la que hicieron
Rumelhart, Hinton y Williams del grupo PDP (Parallel Distributed Processing) en 1986. Esta
aportación fue el algoritmo de retropropagación (backpropagation).
El objetivo del uso del algoritmo de backpropagation, es el de conseguir propagar los errores
cometidos por las neuronas de salida hacia atrás. Ésto es así siguiendo la lógica de la idea de
que los errores que comente una unidad intermedia depende del error cometido por las
unidades de salida a las que está conectada. Una vez se conoce el error, se pueden modificar
8
los pesos de las conexiones de las unidades, en la dirección opuesta al gradiente, ya que así el
decremento del error es más rápido.
Con todas estas aportaciones se estaba reabriendo otra vez el debate sobre el conexionismo y
con ello volvieron a aparecer críticas a este movimiento. Las primeras críticas fueron
encabezadas también por Minsky y Papert con una nueva edición de su libro “Perceptrons”
en 1988.
Pero no fueron los únicos autores que realizaron críticas a estos nuevos trabajos. Otros
científicos, líderes en sus áreas de investigación, tales como Poggio (visión), Hillis
(ordenadores paralelos) y Fodor y Pylyshyn (ciencia cognitiva), también realizaron críticas
radicales al conexionismo (Olazarán, 1991).
Como el tema central del trabajo es el Perceptrón Multicapa, en la revisión histórica
solamente se han nombrado aquellas aportaciones más influyentes para el mismo. Pero para
poder ver la historia completa de las redes neuronales resumida se puede ver en el cuadro
resumen del Anexo 1.
Concepto
Las redes neuronales son sistemas de procesamiento de la información cuya estructura y
funcionamiento están basados en las redes neuronales biológicas. Estos sistemas están
compuestos por elementos simples denominados nodos o neuronas, los cuales se organizan
por capas.
9
Cada neurona está conectada con otra a partir de unos enlaces denominados conexiones, cada
una de las cuales tiene un peso asociado. Estos pesos son valores numéricos modificables y
representan la información que será usada por la red para resolver el problema que se
presente.
La actividad de esta unidad de procesamiento es sencilla. Ésta consiste en sumar los valores
de entrada (inputs) que recibe de las unidades a las que se encuentra conectada. A
continuación compara esta cantidad con el valor del umbral y, si lo iguala o supera, envía una
salida (output) a las demás unidades con las que está conectada. En cambio, si es menor que
el valor del umbral, no se produce una salida.
La arquitectura del procesamiento de la información del sistema conexionista es en paralelo,
es decir, se pueden activar diversas neuronas al mismo tiempo. Otra característica del sistema
conexionista es que la información no se encuentra localizada en un solo punto o
compartimentos, sino que está distribuida a lo largo de las conexiones de la red.
Este tipo de distribución del conocimiento de la red tiene sus ventajas, ya que hace que la red
sea tolerante a los fallos porque cada unidad lleva a cabo una computación simple y el
funcionamiento de la red resulta de la intervención de todas las neuronas. Aunque una
pequeña parte del sistema haya sido dañada, esto no afecta a su funcionamiento total.
Además son sistemas adaptativos que aprenden de la experiencia, es decir, que requieren de
un entrenamiento para poder resolver unos problemas. Con esto nos referimos a que primero
se le han de haber presentado a la red un número de situaciones parecidas a la situación
problema (muestra representativa de casos). Y el aprendizaje se da cuando la red haya hecho
10
la representación interna del problema a partir de la modificación o ajuste de los pesos de las
conexiones (autoorganización), a través de un algoritmo o regla determinados.
Con este tipo de aprendizaje la red será capaz de responder adecuadamente cuando se le
presenten situaciones a las cuales no había sido expuesta con anteriormente (Montaño y
Palmer, 1999), es decir, las RNA son capaces de generalizar las situaciones a casos nuevos.
Por último, la representación de la información que maneja la red, es decir, el valor de los
pesos y de las entradas y salidas de la red, es numérica. Estos valores pueden ser un valor real
continuo, como la edad, o un valor binario, el sexo de una persona (hombre, mujer) o
respuestas de sí o no.
Fundamentos biológicos
Las redes neuronales artificiales están basadas en el funcionamiento del sistema nervioso
humano, cuyo componente principal es la neurona. A continuación se presenta una breve
descripción de estos.
Una neurona está compuesta por un cuerpo o soma, del cual salen unas pequeñas
ramificaciones, denominadas dendritas, y una ramificación principal, el axón, el cual también
se acaba ramificando en varias ramas de longitud variable, lo que constituye el terminal
axónico (ver Figura 3).
11
Figura 3: Estructura de la neurona
Las neuronas se encuentran intercomunicadas entre sí, con lo que tienen una gran capacidad
comunicativa. El proceso de comunicación sigue de la siguiente forma: primero las dendritas
reciben la señales de entrada y en el soma se integran y se emiten señales de salida que pasan
al axón. A continuación el axón transporta las señales emitidas hasta los terminales axónicos,
los cuales son los encargados de distribuir la información a las neuronas más próximas. El
momento en el que la señal pasa de una neurona a la siguiente neurona se denomina sinapsis.
La señal eléctrica comienza con un cambio de permeabilidad de la membrana de la neurona,
la cual deja entrar los iones del medio al interior y se da una despolarización de la neurona, lo
cual constituye el potencial de acción e inicia la señal eléctrica.
Luego esta señal viaja a lo largo del axón hasta llegar al terminal sináptico, en donde la señal
eléctrica se transforma en química. Cuando se llega al terminal esta señal estimula las
vesículas llenas de una sustancia denominada neurotransmisores, lo cuales son liberados y
viajan hasta llegar a la siguiente neurona. Una vez la alcanzan y se unen a sus receptores se
crea un cambio en la siguiente neurona y se vuelve a dar la señal eléctrica.
Elementos de una red neuronal
Una red neuronal es un conjunto de unidades elementales con unas determinadas conexiones.
Se pueden encontrar tres tipos de unidades o neuronas:
12
1.
Unidades de entrada: son las que reciben las señales del entorno.
2.
Unidades de salida: envían las señales fuera del sistema, es decir, dan una respuesta.
3.
Unidades ocultas: las entradas y salidas de estas se encuentran dentro de la red, es
decir, siempre conectadas con otra unidad.
Cada conjunto de neuronas cuyas señales proceden de la misma fuente y sus conexiones se
dirigen al mismo destino forman una capa. Las conexiones entre las capas tienen un peso o
valor asignado, el cual es importante para el aprendizaje de la red.
En función de las capas podemos encontrar dos tipos de redes. Las redes monocapa, en donde
solo se presenta una única capa de neuronas, las conexiones presentes en estas redes son
laterales y autorrecurentes (conexión de una unidad consigo misma). Y las redes multicapa,
en las cuales existen dos o más niveles de neuronas. En cuanto a las conexiones en éstas se
pueden apreciar de dos tipos: conexiones feedforward, en donde todas las señales van en una
misma dirección, a la siguiente neurona. Y, por último, las conexiones feedforward y
feedback, en éstas las neuronas presentan conexiones que pueden ir al siguiente nivel de
neuronas y a su vez, conexiones que pueden ir al nivel anterior.
Pero también se pueden clasificar en función del tipo de asociación que hacen entre la
información de entrada y la información de salida. Existen dos formas de asociación de la
información lo que da lugar a dos tipos de redes:
1.
Redes Heteroasociativas: la red aprende parejas de datos, con lo que cuando se le
presenta una determinada entrada, la red tendrá que responder con su par asociado.
Este tipo de redes se pueden usar para dos tareas en concreto: una de clasificación de
la información o para computar una función general de su entrada.
13
2.
Redes Autoasociativas: la red aprende una serie de datos y cuando se le presente una
entrada será la propia red la que realice la correlación, es decir, responderá con el dato
almacenado que más se parezca al dato de entrada. El objetivo del uso de este tipo de
redes es el de reconstruir información que se presenta incompleta.
Mecanismos de aprendizaje
Las Redes Neuronales Artificiales aprenden a partir de la modificación de los pesos en
función de una información de entrada. La forma en la que la red cambia estos valores
asignados de las conexiones sigue una serie de reglas, las cuales se conocen como reglas de
aprendizaje. Estas reglas se pueden clasificar de dos formas diferentes:
En función de si hay presente o no un agente externo, encontramos dos tipos de aprendizajes:
1.
Aprendizaje supervisado: está presente un agente externo que controla el
aprendizaje de la red, es el que cambia los valores para obtener la respuesta deseada.
2.
Aprendizaje no supervisado: el agente externo no está presente, con lo que no hay
control externo en el aprendizaje de la red, por esto se dice que estas redes tienen la
capacidad de autoorganizarse.
Tipos de red neuronal
A continuación se presenta un cuadro resumen de todas las redes neuronales que hay
organizadas según el tipo de aprendizaje y las conexiones que tienen.
14
1. Aprendizaje supervisado
a) Con conexiones feedforward
•
Lineales
Perceptrón Simple (Rosenblatt, 1958)
ADALINE (Widrow y Hoff, 1960)
•
Perceptrón Multicapa
Backpropagation (Hinton, Rumelhart y Williams, 1986)
Correlación en cascada (Fahlman y Lebiere, 1989)
Quickpropagation (Fahlman, 1988)
Delta-bar-delta (Jacobs, 1988)
Resilient Propagation (Braun y Riedmiller, 1993)
Gradiente conjugado (Battiti, 1992)
•
Radial Basis Function (RBF) (Broomhead y Lowe, 1988)
Orthogonal Least Squares (Chen, Cowan y Grant, 1991)
•
Cerebellar Articulation Controller (Albus, 1975)
•
Clasificación
Learning Vector Quantization
Red Neuronal Probabilística (Specht, 1990)
•
Regresión
General Regression Neural Network (Specht, 1991)
b) Conexiones Feedback
•
Bidirectional Associative Memory (Kosko, 1992)
•
Máquina de Boltzman (Ackley, Hinton y Sejnowski, 1985)
•
Series temporales recurrentes
15
Backpropagation through time (Werbos, 1990)
Elman (Elman, 1990)
Recurrent backpropagation (Pineda, 1989)
Time Delay NN (Hinton, Lang y Waibel, 1990)
c) Competitivo
•
ARTMAP (Carpenter, Grossberg y Reynolds, 1991)
•
Fuzzy ARTMAP (Carpenter, Grossberg, Markuzon, Reynolds y Rosen, 1992)
•
Gaussian ARTMAP (Williamson, 1996)
•
Neocognitrón (Fukushima, 1980)
2. No supervisado
a) Competitivo
•
Vector Quantization
Grossberg (Grossberg, 1976)
Conscience (Desieno, 1988)
•
Mapa Auto-Organizado (Kohonen, 1982)
•
Teoría de la Resonancia Adaptativa (ART)
ART 1 (Carpenter y Grossberg, 1987a)
ART 2 (Carpenter y Grossberg, 1987b)
ART 2-A (Carpenter, Grossberg y Rosen 1991a)
ART 3 (Carpenter y Grossberg, 1990)
Fuzzy ART (Carpenter, Grossberg y Rosen, 1991b)
Differential Competitive Learning (Kosko, 1992)
b) Reducción de dimensionalidad
•
Regla de Oja (Oja, 1992)
16
•
Sanger (Sanger, 1989)
•
Differential hebbian (Kosko, 1992)
c) Autoasociación
•
Autoasociador lineal (Anderson, Silverstein, Ritz y Jones, 1977)
•
Brain-State-in-a-Box (BSB) (Anderson, Silverstein, Ritz y Jones, 1977)
•
Red de Hopfield (1982)
Perceptrón Multicapa
Pero de todas estas redes únicamente explicaremos el Perceptrón Multicapa junto con su
algoritmo de backpropagation error, ya que es la red que se va ha usar en este trabajo y ya
que es la red la más usada actualmente.
El porque esta red es la más usada actualmente se debe principalmente a que es capaz de
actuar como aproximador universal de funciones. Además junto con el algoritmo de
backpropagation es capaz de aprender cualquier tipo de función continua entre un grupo de
variables de entrada y de salida (Jiménez, Montaño y Palmer, 2001).
Dependiendo de la complejidad de la red, el Perceptrón puede resolver desde funciones
continuas, si únicamente presenta una sola capa oculta, hasta funciones no continuas, si
presenta más de una capa oculta puede resolver las funciones discontinuas.
El uso del algoritmo backpropagation permite que la red aprenda la asociación existente entre
un conjunto de patrones de entrada y sus salidas. Esto se consigue a partir de una
representación interna del conocimiento en las capas ocultas a fin de aprender la relación y
17
aplicar esta misma a las nuevas entradas. En pocas palabras, permite generalizar la
información.
Esta red está compuesta por una capa de entrada, una de salida y una o más capas ocultas. En
la Figura 4 se muestra la estructura de un Perceptrón Multicapa simple, es decir, con una sola
capa oculta. Las conexiones son siempre feedforward. El tipo de aprendizaje es supervisado,
es decir, que es el usuario quien determina la salida deseada.
Figura 4: Perceptrón Multicapa simple
El algoritmo usado, es el nombrado anteriormente, backpropagation error. Para que la red
pueda aprender y adquiera esa capacidad de generalizar se diferencian dos etapas: de
entrenamiento y de funcionamiento.
La primera etapa de entrenamiento consiste en la presentación de un grupo denominado
grupo de entrenamiento en el cual, cuyo principal objetivo es conseguir la mínima
discrepancia entre el valor de salida obtenido y el valor de salida deseado.
En la segunda etapa, la etapa de funcionamiento, se presenta un nuevo grupo de datos que no
han sido presentados anteriormente, grupo de validación, la señal se transmite hacia las
neuronas ocultas en donde se transforman las señales a partir de la aplicación de una función
18
de activación y proporcionan un valor de salida que se transmite a la siguiente capa, en
donde, a partir de la misma operación se obtiene una salida de la red. El objetivo de este
grupo es el de controlar el proceso de aprendizaje.
Para ver un funcionamiento más detallado del Perceptrón Multicapa ver el Anexo 2.
Aplicaciones de las Redes Neuronales Artificiales
Como se ha ido viendo a lo largo del trabajo las RNA tienen diferentes aplicaciones en
distintos campos, como puede ser en biología para el estudio del cerebro u obtención de
modelos de retina, en el medio ambiente, para la previsión del tiempo, en finanzas, previsión
de la evolución de los precios, identificación de firmas, aplicaciones militares, en la
clasificación de las señales de radar, creación de armas inteligentes, detección de bombas, etc.
Pero no hablaremos de todos ellos, sino que únicamente nos centraremos en las distintas
áreas del campo de la Psicología ya que es el área de interés de este trabajo. A partir de la
revisión de diferentes artículos se ha encontrado la aplicación de las redes neuronales en al
ámbito de la Psicología de la Educación para la predicción del rendimiento académico o en la
detección de problemas de aprendizaje, en esta se ha aplicado modelos de redes neuronales
para poder entender mejor los procesos didácticos. Un ejemplo de esta aplicación es la
llevada a cabo en un trabajo de investigación de Cataldi, Lage y Salgueiro (2007), los cuales
crearon una red neuronal para predecir, a partir del desempeño de los estudiantes, si
aprobarían o no una determinada asignatura. También se han aplicado para ayudar en el
aprendizaje de niños con dificultades en este, como por ejemplo, dislexia, hiperactividad
(TDAH), etc.
19
En el área de Recursos Humanos, se puede encontrar aplicaciones de las RNA en la selección
de personal. El uso en esta área tiene como finalidad agilizar el proceso de selección del
personal a través de la extracción de diversas características sociológicas de los candidatos a
un puesto, como por ejemplo sería, la personalidad. Un ejemplo de esto fue un estudio
llevado a cabo por Acevedo, Caicedo y Loaiza (2007) para la selección de personal para la
Armada Nacional. En este crearon una red del tipo Perceptrón Multicapa y otro de base
radial. En este usaron una base de datos creadas a partir de los test de personalidad pasados a
los candidatos. La arquitectura de la red Perceptrón constaba de 17 neuronas de entrada, 18
neuronas ocultas con función sigmoidal y 1 neurona de salida con función lineal.
En el área de la Psicología Social se han aplicado las redes neuronales en el análisis de la
conducta y crear modelos de redes basados en los dos elementos más importantes que dirigen
la conducta humana, el reforzamiento y castigo.
En otros trabajos sobre esta misma área, por ejemplo el de Bringas, Herrero, Ovejero y
Rodríguez (2008), usaron las redes neuronales para predecir el valor predictivo de las
variables de personalidad, motivación y uso de los aparatos electrónicos sobre las conductas
antisociales en adolescentes.
En cuanto al área de la Psicología clínica, se han desarrollado redes neuronales para la
detección de diversos trastornos como la ansiedad, depresión postparto, etc. Un ejemplo es
una aplicación desarrollada para móviles que permite detectar la depresión postparto a partir
de cuestionarios pasados a las madres tras éste (Jiménez, 2013).
20
En Neurología también se han aplicado estas redes para hacer una análisis estadístico de las
imágenes tomográficas cerebrales para poder hacer una mejor detección de los casos de
Alzheimer en las personas mayores.
Las Redes Neuronales Artificiales han hecho grandes aportaciones en el campo de los
procesos psicológicos básicos como es la adquisición del lenguaje. Una aportación
interesante es la de Betancur, Peña y Vélez (2013) es el hacer uso de las redes neuronales
para la traducción automática del lenguaje dactilológico de sordos y sordomudos mediante
sistemas adaptativos, en el cual, por ahora, ya han conseguido traducir con éxito las vocales
del vocabulario español,
Uso de las Redes Neuronales Artificiales en las Conductas Adictivas
Las conductas adictivas son unas conductas muy complejas ya que dependen de una gran
cantidad de factores conocidos y desconocidos, con lo que la relación que se establece entre
estos y la conducta no se puede reducir a una relación directa de causa y efecto.
Las Redes Neuronales Artificiales aplicadas en este campo han resultado ser de gran utilidad.
Hay diversos estudios que se han llevado a cabo en este campo que comprueban la eficacia
del uso de las redes neuronales en la predicción de conductas adictivas y de elección de
tratamiento. Un ejemplo de este hecho es el estudio llevado a cabo por Buscema, Caricati,
Grassi, Intraligi y Necini (2001) en donde se comparaban las decisiones de las Redes
Neuronales Artificiales con las decisiones de los profesionales sobre qué tratamiento aplicar
en casos de drogadicciones mostraron que los tratamientos que eran elegidos por las redes
tenían mejores predicciones (62,7%).
21
En otros estudios llevados a cabo sobre las adicciones es el consumo de alcohol en
adolescentes (Cajal, Gervilla, Jiménez, Montaño, Palmer y Sesé, 2008) en donde se
comparaban tres tipos de modelos para el análisis de datos se encontró que las redes
neuronales eran el modelo más preciso, tenían una tasa de acierto del 64,1%.
Sobre el consumo de tabaco un grupo de investigadores aplicaron una red neuronal con el
algoritmo de backpropagation para ver la capacidad de clasificación sobre una muestra de
fumadores y antiguos fumadores. En este estudio los resultados no fueron tan prometedores
como en los nombrados anteriormente, ya que la red no fue capaz de hacer una clasificación
con éxito (McDaniel y Poynton, 2006).
Objetivo
El principal objetivo de este trabajo es demostrar el uso del Perceptrón Multicapa en la
predicción en las conductas adictivas de sujetos en tratamiento. En concreto, el objetivo es
predecir el número de sujetos que han recaído en 5 meses y medio.
Metodología
Matriz de datos
La matriz de datos que se va ha utilizar para llevar a cabo este trabajo proceden de una serie
de estudios realizados por el equipo de McCusker (McCusker et al., 1995; McCusker,
Bigelow, Frost et al., 1997; McCusker, Bigelow, Vickers-Lahti, Spotts, Garfield y Frost,
1997) en la Universidad de Massachusetts.
22
El objetivo de estos estudios era el de comparar diversos programas de intervención, que se
diferenciaban en función de la duración de la intervención (corta o larga) y de la orientación
terapéutica (clínica A o B), para conseguir la reducción del abuso de drogas en 628
toxicómanos.
En la siguiente tabla se presentan las diferentes variables tenidas en cuentas en los estudios.
La variable respuesta que se utiliza es si después de 5 meses y medio es si el sujeto recae o no
en el consumo de drogas.
Tabla 1
Descripción de las variables explicativas
Variable
Edad
Beck
Descripción
Edad al entrar en el estudio
Puntuación en el Inventario de
Valores
años
0 - 54
Hercoc
Depresión de Beck
Uso de heroína/cocaína 3 meses antes
1 = heroína y cocaína; 2 = solo heroína;
de la admisión
3 = solo cocaina; 4 = ni heroína, ni
Hdroga
Ntrat
Historia del uso de droga
Número de tratamientos previos contra
cocaína
1 = nunca; 2 = anterior; 3 = reciente
0 - 40
Raza
Trat
Lugar
Recaída
la droga
Raza del sujeto
Asignación aleatoria de tratamiento
Lugar del tratamiento
Si el sujeto recae o no recae en el
0 = blanca; 1 = no blanca
0 = corto; 1 = largo
0 = clínica A; 1 = clínica B
0 = recae; 1= no recae
consumo de drogas a los 5 meses y
medio (166 días) de seguimiento
El momento temporal escogido es muy importante ya que se eligió el punto en donde la mitad
de los participantes recaían en el consumo 315 y la otra mitad no, 313. Esto es una ventaja a
23
la hora de comprobar el funcionamiento de la red y saber si la clasificación que se ha hecho
es correcta.
Tabla 2.
Supervivencia
Válidos
Frecuencia
Porcentaje
Porcentaje válido
Porcentaje
Recae
No recae
315
313
50,2
49,8
50,2
49,8
acumulado
50,2
100,0
Total
628
100,0
100,0
En la siguiente tabla se muesta los porcentajes de sujetos presentes en cada uno de los grupos
que se formaron para poner a prueba el funcionamiento del modelo. Los participantes se
asginaron de forma aleatoria a cada uno de los grupos. El grupo de mayor tamaño es el de
entrenamiento con 314 particpantes, y los grupos validación y test presentan 157
participantes, tal y como se muestra en la siguiente tabla.
Tabla 3
Grupo
Válidos
Frecuencia
Porcentaje
Porcentaje válido
Porcentaje
Entrenamiento
Validación
Test
314
157
157
50,0
25,0
25,0
50,0
25,0
25,0
acumulado
50,0
75,0
100,0
Total
628
100,0
100,0
Teniendo el mimo momento temporal, en cada uno de los grupos la mitad de los participantes
recaía en el consumo de drogas y la otra mitad no. Esto se muestra en la siguiente tabla,
donde se muestra la cantidad de participantes que reacaen y los que no.
24
Tabla 4.
Contingencia Grupo * Supervivencia
Recuento
Grupo
Entrenamiento
Validación
Test
Total
Supervivencia
Recae
No recae
158
156
79
78
78
79
315
313
Total
314
157
157
628
Instrumentos
El instrumento principal de este trabajo es la aplicación Sensitive Neuronal Network (SNN)
creada por Fernández, Montaño y Palmer en 2001. Ésta se usó para la creación del modelo de
red neuronal más eficaz para hacer la clasificación de la muestra.
Programa SPSS para la realización de la curva de ROC y así poder analizar la sensibilidad
del modelo escogido. Además también se usó el programa para la creación de las tablas.
Procedimiento
Los pasos seguidos para el diseño del modelo de red neuronal han sido los siguientes:
selección de las variables relevantes, procesamiento de los datos, creación de los grupos y
selección y construcción del modelo de red neuronal.
Selección de las variables: las variables relevantes usadas para confeccionar la muestra han
sido: edad, las puntuaciones en el Inventario de Depresión de Beck, el consumo de heroína 3
meses antes de la admisión en el programa, historia del uso de la droga, número de
tratamientos previos, raza del participante, tratamiento asignado aleatoriamente, lugar de
tratamiento y recaída del sujeto.
25
Son nueve variables en total, con lo que se usarán nueve neuronas de entrada y una neurona
de salida, ya que la respuesta que se busca es si el sujeto recae en el consumo de drogas o no
después de haber pasado cinco meses y medio.
La función usada en las neuronas de entrada es una función lineal. En cambio, en la neurona
de salida se aplicará una función sigmoidal ya que se realiza una tarea de predicción y para
estas tareas se recomienda el uso de esta función ya que los valores no son continuos, sino
que dentro de los valores dados (0 y 1), la respuesta se puede desplazar de forma no contínua
en ellos.
Procesamiento de los datos: los valores de la muestra obtenida del estudio que llevó a cabo el
equipo de McCusker se transformaron a valores comprendidos entre -1 y 1. Así pues, los
valores de las nueve variables que se han tenido en cuenta a la hora de conformar la muestra
se transformaron para establecerla en una nueva distribución comprendida entre los valores
nombrados anteriormente.
Al haber variables continuas, como por ejemplo, la edad, se usó una fórmula, que se muestra
en la figura 5 y 6, para transformar los valores.
Figura 5: Expresión usada para la transformación de los datos
26
Figura 6: Expresión usada para encontrar el valor de r
Creación de los grupos de entrenamiento, validación y test: la muestra de 628 sujetos se ha
dividido en tres grupos: entrenamiento, el cual se usará en la fase de aprendizaje, validación,
usado en la fase de funcionamiento, y test, aplicado en la etapa test para demostrar el
funcionamiento de la red.
Para ello, el grupo de entrenamiento consta de 314 sujetos para que la red sea capaz de ajustar
los pesos de forma iterativa. Luego el grupo de validación y test están compuestos por 157
sujetos cada uno. El grupo de validación ha servido para averiguar cual el número de pesos
óptimo y escoger el modelo de red que ha tenido un mejor desempeño con este grupo.
Selección y construcción del modelo de red neuronal: se usará el modelo de red el Perceptrón
Multicapa, ya que es la red de interés del trabajo y que además se ajusta al objetivo del
mismo, el cual es la clasificación de un grupo de sujetos con conductas adictivas en si recaen
o no en el consumo de drogas.
Para encontrar el modelo más eficaz he ido creando diferentes modelos modificando los
siguientes valores: número de neuronas ocultas, tasa de aprendizaje y factor momento. El
punto de corte que se ha seleccionado y que se ha mantenido en todos los modelos es 0,5.
27
El primer valor en modificarse ha sido el número de neuronas ocultas para encontrar el
modelo con el mejor desempeño, el número de neuronas que se han aplicado han sido 1, 2, 3
y 4. Después se ha modificado el valor de la tasa de aprendizaje y se ha mirado los valores
0,05, 0,1 y 0,2. Y, por último, se modificó el factor momento, dejando los otros valores
estables, por los valores 0,8, 0,9 y 1.
En total, he creado 14 modelos de red neuronal, para escoger entre todos ellos primero se ha
eliminado aquellos que no tuvieran un funcionamiento estable, como sucedía en los modelos
10 y 13. A continuación , he mirado el que tuviera un desempeño más equilibrado y mayor en
las fases de entrenamiento y validación, para que su desempeño en la fase de test sea más
estable.
Siguiendo estos criterios el modelo que se seleccionó para pasar a la fase test fue el modelo 1,
ya que aunque el modelo 8 tenía un mayor desempeño en la fases de entrenamiento había
mucha diferencia de porcentaje de acierto con la fase de validación. Una vez seleccionado el
modelo, se pasó a la fase final, la fase test, para obtener el rendimiento real de la red.
Si se quieren ver los valores que se han obtenido en los diferentes modelos que se han creado,
se puede consultar el Anexo 3, en donde se encuentran las tablas anexo 1 y 2 con los valores.
Evaluación del rendimiento del modelo: el análisis se hizo a través de la curva ROC obtenida
a través del prgrama SPSS. Se usó este método de análisis ya que nos encontramos ante un
28
problema de clasificación de dos variables y este es la medida precisa y válida para evaluar la
precisión diagnóstica del modelo seleccionado.
Resultados
A continuación presentaremos los resultados obtenidos de las clasificaciones en cada uno de
los grupos creados junto con el análisis de sensibilidad realizado con la curva ROC.
Grupo de entrenamiento
El grupo de entrenamiento, formado por 314 sujetos, se obtuvo que 181 participantes recaían
y 133 no. Pero de esta clasificación, la red consiguió clasificar correctamente el 84.39% de
los patrones. De los 181 participantes 145 son los correcto y 36 se encuentran mal
discriminados. Al igual que en en los patrones de no recaída, en donde 120 están
correctamente clasificados y 13 no lo están. Estos datos se encuentran resumidos en la
siguiente tabla.
Tabla 5
A estos resultados se analizaron a través de la curva ROC y se obtuvo que el área bajo la
curva es de 0.855. El cual es un valor proximo a uno, así pues el modelo tiene una buena
29
capacidad de clasificación. Además la hipótesis obtenida es alternativa, con lo que los
resultados son significativos para este grupo de clasificación.
A continuación se muestra la tabla y el gráfico de los resultados de la curva ROC, que
respaldan lo nombrado anteriormente.
Gráfico 1: Curva ROC entrenamiento
Tabla 6
30
Grupo de validación
En cuanto al grupo de validación, foramdo por 157 participantes, de los cuales 85 han sido
clasificados como recaídas y 72 como no recaída. Del grupo de recaída 67 son verdaderos
positivos y 18 falsos positivos. En el grupo de no recaída 60 se encuentran correctamente
clasificados y 12 no. Por lo tanto, el 80.89% de los patrones se encuentran bien clasificados.
En la tabla 7 se muestra un resumen de los datos obtenidos.
Tabla 7
La curva ROC muestra que el área bajo la curva es de 0.793. El cual es un valor proximo a
uno, así pues el modelo tiene una buena capacidad de clasificación. Además la hipótesis
obtenida es alternativa, con lo que los resultados son significativos para este grupo de
clasificación.
A continuación se muestra la tabla y el gráfico de los resultados de la curva ROC, que
respaldan lo nombrado anteriormente.
31
Gráfico 2: Curva ROC validación
Tabla 8
Grupo test
En cuanto al grupo de test (157 participantes), el cual es el que nos interesa ya que muestra el
verdadero rendimiento de la red, los resultados obtenidos son que 88 (56,05%) de los
participantes del grupo test recaen en las drogas y 69 (43,95%) no recaen.
32
De estos resultados, la red ha conseguido predecir correctamente 117 (74,5%) patrones. De
los 117 patrones predecidos 63 de ellos son de recaída y 54 de no recaída. De los 40 patrones
mal predecidos, 25 son de recaída y 15 de no recaída.
Tabla 9
La curva ROC muestra que el área bajo la curva es de 0.78. El cual es un valor muy parecido
al obtenido en el grupo de validación y está proximo a uno, así pues el modelo tiene una
buena capacidad de clasificación. Además la hipótesis obtenida es alternativa, con lo que los
resultados son significativos para este grupo de clasificación.
A continuación se muestra la tabla y el gráfico de los resultados de la curva ROC, que
respaldan lo nombrado anteriormente.
33
Gráfico 3: Curva ROC test
Tabla 10
34
Conclusión
En este trabajo se ha querido mostrar una red neuronal, el Perceptrón Multicapa, capaz de de
clasificar a los participantes según si recaían o no en el consumo de drogas, en concreto, en el
consumo de heroína.
La eficacia del modelo seleccionado es del 74,5 %, el cual es superior a los diversos estudios
encontrados sobre el consumo de drogas en donde la eficacia de las redes no era superior al
70%. Respaldando los resultado obtenidos el análisis de sensibilidad realizado con la curva
ROC muestra que el modelo escogido tiene una gran capacidad de discriminación entre
recaídos y no recaídos. Aun así se puede concluir que el Perceptrón Multicapa es un tipo de
red capaz de realizar clasificación sobre las conductas adictivas de una forma eficaz.
Los modelos estadísticos clásicos, se creía que estos dan prioridad a la posibilidad de
generalizar los datos, a diferencia de IA, la cual busca ofrecer soluciones algorítmocas con un
coste bajo. En comparación de ambos modelos, el uso de las RNA para el análisis de datos es
más fácil ya que no es necesario que se tengan en cuenta los diferentes supuestos estadísticos:
homogeneidad de la matriz, normalidad, mal procesamiento de los datos, etc. Además de
modificar los pesos de las conexiones de forma automática y de ser un sistema tolerante a los
fallos.
35
Bibliografía
Acebedo, G.L.; Caicedo, E.F. y Loaiza, H. (2007). Selección de personal mediantes redes
neuronales artificiales. Revista de Matemática. Teoría y Aplicaciones, 14(1), doi:
http://dx.doi.org/10.15517/rmta.v14i1.278
Ackley, D.H., Hinton, G.E. y Sejnowski, T.J. (1985). A learning algorithm for Boltzmann
machines. Cognitive Science, 9, 147-169.
Albus, J.S. (1975). New approach to manipulator control: The Cerebellar Model Articulation
Controller (CMAC). Transactions of the ASME Journal of Dynamic Systems,
Measurement, and Control, 97(3), 220-227.
Algarabel, S.; Dasi, C.; Pitarque, A.; Ruiz, J.C. y Soler, M.J. (1993). Estudio histórico de la
influencia del conexionismo en la ciencia cognitiva actual. Revista de Historia de la
Psicología, URL:
http://u.jimdo.com/www400/o/sfcb11628de7748e1/download/m52c029b00246479e/
1392330050/05.+RUIZ.pdf
Aluja, T. (2001). La minería de datos, entre la estadística y la inteligencia artificial.
QÜESTIIÓ, 25(3), 479-498.
Anderson, C.W.; Barto, A.G. y Suttor, R.S. (1983). Neuronlike Adaptative Elements That Can
Solve Difficult Learning Control Problems. IEEE Transactions on Systems, Man and
Cybernetics, 13(5), pp. 835-846
Anderson, J.A., Jones, R.S., Ritz, S.A. y Silverstein, J.W. (1977). Distinctive features,
categorical perception and probability learning: some applications of a neural model.
Psychological Review, 84, 413-451.
Arias, A. (2012). Avatares del paradigma conexionista. Ciencia Cognitiva, URL:
http://medina-psicologia.ugr.es/cienciacognitiva/?p=430
36
Aróztegui, J. y Prados, J.M. (2008). La perspectiva conexionista: hitos y limitaciones. Revista
de historia de la psicología, URL:
http://dialnet.unirioja.es/descarga/articulo/2749336.pdf
Basogain, X. (2009). Redes Neuronales Artificiales y sus Aplicaciones. Escuela superior de
Ingeniería de Bilbao, Departamento de Ingeniería de Sistemas y Automática. URL:
http://www.ciberesquina.una.edu.ve:8080/2014_2/350_E.pdf
Battiti, R. (1992). First and second order methods for learning: between steepest descent and
Newton's method. Neural Computation, 4(2), 141-166.
Bertona, L.F. (2005). Entrenamiento de redes neuronales basado en algoritmos evolutivos.
Facultad de Ingeniería, Universidad de Buenos Aires, 11-14
Betancur, D.; Peña, A. y Vélez, M. (2013). Traducción automática del lenguaje dactilológico
de sordos y sordomudos mediante sistemas adaptativos. Revista Ingienería Biomédica,
URL: http://repository.eia.edu.co/bitstream/11190/517/1/RBI00107.pdf
Braun, H. y Riedmiller, M. (1993). A direct adaptive method for faster backpropagation
learning: the Rprop algorithm. IEEE, 586-591.
Bringas, C.; Herrero, F.J.; Ovejero, A. y Rodríguez, F.J. (2008). Medios electrónicos y
comportamiento antisocial en adolescentes. Revista Colombiana de Psicología, 17(1),
93-104.
Broomhead, D.S. y Lowe, D. (1988). Multivariable functional interpolation and adaptive
networks. Complex Systems, 2, 321-355.
Buscema, M.; Caricati, A.M.; Grassi, M.C.; Intraligi, M. y Necini, P. (2001). Artificial neural
network assessment of substitutive pharmacological treatments in hospitalised
intravenous drug users. Artificial Intelligence in Medicine, doi:
http://dx.doi.org/10.1016/S0933-3657(01)00093-8
37
Cajal, B.; Gervilla, E.; Jiménez, R.; Montaño, J.J.; Palmer, A. y Sesé, A. (2009). La
metodología del Data Mining. Una aplicación al consumo de alcohol en adolescentes.
Adicciones, 21(1), 65-80.
Calafat, A.; Montaño, J.J. y Palmer, A. (2000). Predicción del consumo de éxtasis a partir de
redes neuronales artificiales. Adicciones, 12(1), 29-41
Campanario, J. M. (2004). El enfoque conexionista en psicología cognitiva y algunas
aplicaciones sencillas en didáctica de las ciencias. Enseñanza de las Ciencias, 22, 093104
Carpenter, G.A. y Grossberg, S. (1987a). A massively parallel architecture for a selforganizing neural pattern recognition machine. Computer Vision, Graphics, and Image
Processing, 37, 54-115.
Carpenter, G.A. y Grossberg, S. (1987b). ART2: Self-organization of stable category
recognition codes for analog input patterns. Applied Optics, 26(23), 4919-4930.
Carpenter, G.A. y Grossberg, S. (1990). ART3: Hierarchical search using chemical
transmitters in self-organizing pattern recognition architectures. Neural Networks, 3(4),
129-152.
Carpenter, G.A.; Grossberg, S.; Markuzon, N.; Reynolds, J.H. y Rosen, D.B. (1992). Fuzzy
ARTMAP: a neural network architecture for incremental supervised learning of analog
multidimensional maps. IEEE Transactions on Neural Networks, 3(5), 698-713.
Carpenter, G.A., Grossberg, S. y Rosen, D.B. (1991a). ART 2-A: An adaptive resonance
algorithm for rapid category learning and recognition. Neural Networks, 4, 493-504.
Carpenter, G.A., Grossberg, S. y Rosen, D.B. (1991b). Fuzzy ART: Fast stable learning and
categorization of analog patterns by an adaptive resonance system. Neural Networks, 4,
759- 771.
38
Cataldi, Z.; Lage, F.J. y Salgueiro, F. (2007). Predicción del rendimiento de los estudiantes y
diagnóstico usando las redes neuronales. XIII Jornadas de Enseñanza Universitaria de la
Informática, 187-194
Chen, S.; Cowan, C.F.N. y Grant, P.M. (1991). Orthogonal least squares learning for radial
basis function networks. IEEE Transactions on Neural Networks, 2(2), 302-309.
Córdoba, F. (2005). Fundamentos biológicos del aprendizaje y la memoria. Universidad de
Huelva, Departamento de Biologia ambiental y Salud Pública, URL:
http://www.uhu.es/francisco.cordoba/asignaturas/FBAM/TEMAS%20PDF/7PLASTICIDAD.pdf
Desieno, D. (1988). Adding a conscience to competitive learning. Proceedings of the
International Conference on Neural Networks, I, 117-124.
Díaz, M.A.; Gómez, F.J.; Graciani M.A. y López, M.T. (1994). Aprendizaje con Redes
Neuronales Artificiales. Dialnet, URL: dialnet.unirioja.es/descarga/articulo/2281678.pdf
Elman, J.L. (1990). Finding structure in time. Cognitive Science, 14, 179-211.
Escobar, R. (2014). Redes neuronales, procesos cognoscitivos y análisis de la conducta.
Conducta. Revista Internacional de Interconductismo y Análisis de conducta, URL:
http://conductual.com/sites/default/files/pdf-articles/Redes%20neuronales_Escobar_0.pdf
Fahlman, S.E. (1988). Faster-learning variations on back-propagation: an empirical study.
Carnegie Mellon University, Computer Science Department.
Fahlman, S.E. y Lebiere, C. (1989). The cascade-correlation learning architecture.Carnegie
Mellon University, Computer Science Department.
Fukushima, K. (1980). Neocognitron: A Self-organizing Neural Network Model for a
Mechanism of Pattern Recognition Unaffected by Shift in Position. Biological
Cybernetics, URL:
https://www.cs.princeton.edu/courses/archive/spring08/cos598B/Readings/Fukushima
39
1980.pdf
García, P. (2004). Introducción a las Redes Neuronales y su Aplicación a la Investigación
Astrofísica. Instituto de Astrofísica de Canarias (IAC). URL:
http://www.iac.es/sieinvens/SINFIN/Sie_Courses_PDFs/NNets/confiac.pdf
Geltatt, C.D.; Kirpatrick, S. y Vecchi, M.P. (1983). Optimization by Simulated Annealing.
Science. New Series, 220(4598), 671-680.
Gento, A.M. y del Olmo, R. (1994). Redes neuronales Fuzzy en la gestión de empresas.
Dialnet, URL: dialnet.unirioja.es/descarga/articulo/116388.pdf
Gestal, M. Introducción a las Redes de Neuronas Artificiales. Dpto. Tecnologías de la
Información y las Comunicaciones. Universidad de Coruña. URL:
http://sabia.tic.udc.es/mgestal/cv/RNAtutorial/TutorialRNA.pdf
Gonzales, D.L; Palacio, A.M. y Piñeros, J.E. (2013). Formulación de un modelo teórico de
aplicaciones de las redes neuronales en la solución de problemas de dislexia. Facultad de
Ingeniería, Universidad tecnologica de Pereira.
Grossberg, S. (1976). Adaptive pattern classification and universal recoding: I. Parallel
development and coding of neural feature detectors. Biological Cybernetics, 23, 121-134.
Gupta, P. (2012). The Cognitron and Neocognitron notes. Hacks and Engineering, URL:
https://sites.google.com/site/hacksbyredbios/Downhome/Topic5/thecognitronandneo
cognitronnotes
Henderson, H. (2007). Artificial Intelligence: Mirrors for the Mind. URL:
https://books.google.es/books?
id=vKmIiICDIwgC&pg=PA59&lpg=PA59&dq=SNARC+Neuman+Minsky&source
=bl&ots=nPCzPnHuj0&sig=0hpNbLAswv6yOJvtPyq5o3S9HpU&hl=es&sa=X&ei
=hMo3VZv3J4XT7Qbc7oHoCg&ved=0CFAQ6AEwBg#v=onepage&q=SNARC
%20Neuman%20Minsky&f=false
40
Hilera, J.R. y Martínez, V.J. (1995). Redes Neuronales Artificiales. Fundamentos, Modelos y
Aplicaciones. Madrid, RA-MA, Editorial.
Hinton, G.; Lang, K.J. y Waibel, A.H. (1990). A time-delay neural network architecture for
isolated word recognition. Neural Networks, 3, 23-44.
Hinton, G.E.; Rumelhart, D.E. y Williams, R.J. (1986). Learning internal representations by
error propagation. Basic Mechanisms, URL:
http://psych.stanford.edu/~jlm/papers/PDP/Volume%201/Chap8_PDP86.pdf
Hopfield, J.J. (1982). Neural networks and physical systems with emergent collective
computational abilities. Proceedings of the National Academy of Sciences, 79, 25542558.
Hoff, M.E. y Widrow, B. (1960). Adaptative Switching Circuits. The Wescon Convention
Record, 4, 98-104.
Jacobs, R.A. (1988). Increased rates of convergence through learning rate adaptation. Neural
Networks, 1(4), 295-308.
Jiménez, S. (2013). Desarrollo de modelos predictivos y una aplicación móvil para la
predicción de la depresión postparto. Universidad de Valencia, URL:
https://riunet.upv.es/bitstream/handle/10251/37483/memoria-TFM-MIB-PrediccionDPPSantiago_Jimenez.pdf?sequence=1&isAllowed=y
Jiménez, R.; Montaño, J.J y Palmer, A. (2001). Tutorial sobre Redes Neuronales Artificiales:
el perceptrón multicapa. Psiquiatria, URL:
http://www.psiquiatria.com/psiq_general_y_otras_areas/investigacion86/metodologia/estadistica/tutorial-sobre-redes-neuronales-artificiales-el-perceptronmulticapa/
Kohonen, T. (1982). Self-organized formation of topologically correct feature maps.
Biological Cybernetics, 43, 59-69.
41
Kosko, B. (1992). Fuzzy Sistems as Universal Approximators. IEER, 1153-1162.
Lahoz-Beltra, R. (2004). Bioinformática: Simulación, vida artificial e inteligencia artificial.
Madrid, Díaz de Santos, S.A., 430-434.
McDAniel, A.M. y Poynton, M.R. (2006). Classification of smoking cessation status with a
backpropagation neural network. Journal of Biomedical Informatics, doi:
http://dx.doi.org/10.1016/j.jbi.2006.02.016
Martín, J.D.; Serrano, A.J. y Soria, E. (2010). Redes Neuronales Artificiales (Trabajo de
Doctorado). Universidad de Valencia, Departamento de Ingeniería. Valencia.
Matich, D.J. (2001). Redes Neuronales: Conceptos Básicos y Aplicaciones. Universidad
tecnológica Nacional, Departamento de Ingeniería Química. URL:
http://www.frro.utn.edu.ar/repositorio/catedras/quimica/5_anio/orientadora1/monograias
/matich-redesneuronales.pdf
Merino, J. y Noriega, M.J. (2011). Comunicación neuronal: Sinapsis. Universidad de
Cantrabia, Fisiología General, URL: http://ocw.unican.es/ciencias-de-la-salud/fisiologiageneral/materiales-de-clase-1/bloque-ii/Tema%208-Bloque%20II-Comunicacion
%20Neuronal%20Sinapsis.pdf
Montaño. J.J. y Palmer, A. (1999). ¿Qué son las redes neuronales artificiales? Aplicaciones
realizadas en el ámbito de las adicciones. Adicciones, URL:
http://disi.unal.edu.co/~lctorress/RedNeu/LiRna001.pdf
Montaño, J.J. (2002). Redes neuronales artificiales aplicadas al análisis de datos. (Tesis
Doctoral). Facultad de Psicología, Universitat de Les Illes Balears.
Montaño, J.J. (2005). Redes Neuronales Artificiales. Fundamentos, modelos y software.
Facultad de Psicología. Universidad de las Islas Baleares.
Morales, P. (2011). Células de Schwann. La guía de Biología, URL:
http://biologia.laguia2000.com/citologia/celula-de-schwann
42
Oja, E. (1992). Principal Components, Minor Components, and Lineal Neural Networks.
Neural Networks, 5, 927-935.
Pineda, F.J. (1989). Recurrent back-propagation and the dynamical approach to neural
computation. Neural Computation, 1, 161-172.
Pitarque, A.; Roy, J.F. y Ruiz, J.C. (1998). Redes neuronales vs modelos estadísticos:
Simulaciones sobre tareas de predicción y clasificación. Psicológica, 19, 387-400.
Romero, A. (2010). Nuevos Paradigmas para el análisis estadístico de imágenes tomográficas
cerebrales. Editorial de la Univeridad de Granada, URL:
http://hera.ugr.es/tesisugr/19486662.pdf
Rosenblatt, F. (1958). The Perceptron: a probabilistic model for information storage and
organization in the brain. Psychological Review, 65(6), 386-408.
Sanger, T.D. (1989). Optimal unsupervised learning in a single-layer linear feedforward
neural network. Neural Networks, 2, 459-473.
Specht, D.F. (1990). Probabilistic neural networks. Neural Networks, 3, 109 -118.
Tezanos, P. (2014). Nódulos de Ranvier: un pequeño espacio que marca la diferencia.
Antroporama, Neurociencia. URL: http://antroporama.net/nodulos-de-ranvier-unpequeno-espacio-que-marca-la-diferencia/
Villanueva, Mº.R. (2002). Las redes neuronales artificiales y su importancia como
herramienta en la toma de decisiones. Universidad Nacional de San Marcos, Facultad de
ciencias matemáticas, URL:
http://sisbib.unmsm.edu.pe/bibvirtualdata/tesis/basic/Villanueva_EM/enPDF/T_complet
o.pdf
Von Der Malsburg, C. (1973). Self-organitation of orientation sensitive cells in the striate
cortex. Kybernetik, 14, 85-100.
43
Werbos, P.J. (1990). Backpropagation through time: What it is and how to do it. Proceedings
of the IEEE, 78(10), 1550-1560.
Williamson, J.R. (1996). Gaussian ARTMAP: A neural network for fast incremental learning
of noisy multidimensional maps. Neural Networks, 9(5), 881-897.
44
ANEXO 1
En el siguiente cuadro se presentan todos los hechos históricos ocurridos en el campo de las
Redes Neuronales Artificiales.
Año
Autor
Aportación
1943
McCulloch & Pitts
Primera neurona
1949
Hebb
Regla de aprendizaje hebbiano
1958
Rosenblatt
Perceptrón
1960
Widrow & Hoff
ADELINE y Regla delta
1967
Grossberg
AVALANCHA
1969
Minsky & Papert
Perceptrons (crítica
conexionismo)
1973
Von Der Malsburg
Columnas Organizadas
1975
Fukushima
Cognitrón
Kohonen
LVQ y TPM
Anderson
BSB
1977
ART (Teoría Resonancia
1980
Grossberg
Adaptativa)
1982
Hopfield
Redes dinámicas
1983
Fukushima
Neocognitrón
1985
Hinton & Sejnowski
Máquina de Boltzmann
1986
Rumelhart, Williams & Hinton
Algoritmo backpropagation
1988
Minsky & Papert
Segunda crítica conexionismo
45
ANEXO 2
Una neurona tiene un determinado estado de activación en un momento determinado, A(t).
Visto de una forma más sencilla el estado de activación de una red neuronal pueden ser dos,
reposo y excitado, y cada uno de ellos tiene un valor.
Las conexiones que unen las neuronas tienen un peso asociado, wij, que es el que hace que la
red adquiera el conocimiento. La entrada que recibe cada neurona tiene un valor aditivo, cada
entrada es el sumatorio del producto de cada señal individual por el peso de la conexión. En
la Figura Anexo 1 se muestra la expresión de la señal de entrada de una neurona j.
Figura Anexo 1: Señal
de entrada
Para saber el valor de salida que da una red se aplica la llamada función de activación o de
salida. Ésta es una regla que combina las entradas de la neurona con su estado actual para
producir un nuevo estado de activación.
La expresión usada de esta función de activación es mostrada en la Figura Anexo 2:
Figura Anexo 2: Función de
activación
El nuevo estado de activación se encuentra representado por aj (t+1) se consigue a partir de la
aplicación de una función f al estado de activación actual de la neurona y su entrada neta.
Pero en la mayoría de los casos es el estado actual de la neurona no se tienen en cuenta, con
46
lo que en vez de tener en cuenta este se tiene en cuenta las características internas de la
neurona, como es el umbral de activación (θ j), que corresponde a la energía mínima
necesaria para que una neurona se active (ver Figura Anexo 3).
Figura Anexo 3: Función de activación 2
Para simplificar esta expresión, se incluye en la existencia de una neurona ficticia, con un
valor de salida equivalente a 1, y que se asocia con la entrada a la neurona j a partir de la
conexión con el peso de valor − θ j. Esto se muestra en la Figura Anexo 4.
Figura Anexo 4: Función de activación 3
Ahora sabemos cómo se calcula el nuevo estado de activación de la neurona a partir de la
aplicación de una función f determinada. Esta función puede ser de diferentes tipos en
dependiendo del valor de las conexiones.
La función de activación que se suele usar en el Perceptrón Multicapa, es la función
sigmoidal (mostrada en la Figura Anexo 5). En esta función los valores de la señales de
entrada se definen como un intervalo con un incremento monotónico. La función más común
es la sigmoidal, en la que la mayoría de los valores de entrada son cercanos a los valores
asintóticos, con lo que hace que la mayoría de los valores de salida se encuentren en los
límites representados por los valores [0; 1] ó [-1; 1].
47
Figura Anexo 5: Función de
activación sigmoidal
En el funcionamiento del Perceptrón Multicapa se diferencian tres etapas: aprendizaje,
funcionamiento y test. Para ello se crean tres subgrupos de muestra (entrenamiento,
validación y test) que se aplicarán en cada una de las etapas. El algoritmo backpropagation
error que se usa en el funcionamiento del Perceptrón interviene en las fases de aprendizaje y
funcionamiento.
Etapas de funcionamiento
Etapa de aprendizaje
La primera etapa, la de aprendizaje, se pasa el grupo de entrenamiento. Hay que tener en
cuenta a la hora de crear el grupo de entrenamiento el número de pesos, ya que si este es
excesivo en relación al problema aparece el fenómeno de sobreajuste, es decir, el modelo le
da demasiada importancia a las peculiaridades de los patrones, lo cual hace que se pierda la
habilidad de generalización del aprendizaje.
En esta etapa se modifican los pesos de forma iterativa en función de los valores de este
grupo para minimizar el error entre la señal de salida obtenida y la deseada.
48
La función de error usada para minimizar el error es la que se muestra en la Figura Anexo 6.
Figura Anexo 6: Función de error
donde dpk es la salida deseada por una neurona, la neurona k, ante un patrón p. Con esta
expresión podemos conseguir una medida general del error, a partir de la expresión mostrada
en la Figura Anexo 7.
Figura Anexo 7: Medida general del error
La base matemática de este algoritmo para la modificación de los pesos es la regla del
gradiente decreciente o regla delta, creada por Rumelhart, Hinton y Williams en 1960.
Teniendo en cuenta que el Ep es en función de todos los pesos de la red, el gradiente del
mismo equivale a la derivada parcial de Ep respecto a cada uno de los pesos. Y el gradiente
toma la dirección que determina el incremento más del error, por lo tanto la dirección
contraria determinará el decremento más rápido (ver Figura Anexo 8).
Figura Anexo 8: Dirección del gradiente
Un problema que puede aparecer al utilizar este método, es que el aprendizaje converja en un
punto bajo pero sin que este sea el más bajo. Este tipo de puntos se denominan mínimos
locales y el punto más bajo de la superficie, se llama mínimo global.
49
Para que los pesos se modifiquen de forma iterativa se aplica la regla de la cadena a la del
gradiente decreciente más una tasa de aprendizaje η. El valor delta que se obtiene está
determinado por la suma de los errores que se comenten en cada una de las neuronas.
Además de la tasa de aprendizaje también se añade un factor momento (α), el cual en cuenta
la dirección del incremento del gradiente de la conexión anterior. Cada expresión es diferente
para una neurona de salida (Figura Anexo 9) que para una neurona oculta (Figura Anexo 10).
Figura Anexo 9:Expresión neurona de salida
Figura Anexo 10: Expresión neurona oculta
La neurona lleva a cabo el aprendizaje, es decir, la actualización de los pesos, tras la
presentación de cada patrón de entrenamiento (aprendizaje on line). Es importante que la
presentación de los patrones sea aleatoria para no influir en el aprendizaje.
Etapa de funcionamiento
En la etapa de funcionamiento se presentan una serie de patrones de entrada Xp (Xp1, Xp2, …)
que se transmite a través de los pesos wij hacia la capa oculta. Las neuronas de esta capa
transforman las señales recibidas a partir de la función de activación, la cual proporciona un
50
valor de salida que se transmite a la siguiente capa de neuronas, en donde, a través de la
aplicación de la misma función se obtiene una señal de salida de la red.
Por lo tanto, una neurona j recibe una señal de entrada de la neurona p, netpj, (el valor del
cual se obtiene con la función vista anteriormente) y esta neurona j envía una señal de salida,
bpj, a partir de la aplicación de una función sobre su entrada neta.
Etapa test
La etapa test, la cual es la última de todas, sirve para medir de una forma objetiva la eficacia
final del sistema que hemos construido. Por lo tanto, se crea el tercer grupo de datos
independientes que proporcionará una estimación insesgada del error de generalización.
Consideraciones a tener en cuenta
Una vez visto el funcionamiento se han de tener en cuenta una serie de parámetros que son
importantes a tener en cuenta para la creación de una red, pero estos no se pueden conocer a
priori sino que se han de establecer una vez visto su funcionamiento, y se seleccionarán
aquellos que den el menor error. Estos son
•
Elección de los pesos iniciales: los pesos de umbral y de conexión inicial se pueden
asignar de forma aleatoria. Pero para que el entrenamiento tenga una menor duración
se puede seguir una sencilla regla.
Ésta consiste en la asignación de valores pequeños a los pesos, normalmente
comprendidos entre (-0,5; 0,5). De esta forma se consigue que la entrada neta de cada
51
unidad sea próxima a cero, con lo que el valor que devuelve la función de activación
(sigmoidal) es un valor intermedio. De esta forma se puede conocer el intervalo de
valores que darán el mínimo error, además de poder conocer los valores extremos, en
los cuales el aprendizaje sería nulo.
•
Arquitectura de la red: esto es para saber el número de neuronas que formarán cada
capa. La capa de entrada y de salida han de tener un número de neuronas equivalente
al número de variables predictoras presentes. Por ejemplo, si las variables son
orientación sexual (heterosexual, homosexual y bisexual) usaremos tres neuronas de
entrada y de salida. Cabe destacar que la activación de las neuronas de salida
dependerán del tipo de tarea que se esté llevando a cabo.
En la capa de neuronas ocultas la cantidad de neuronas dependerá de la capacidad de
aprendizaje de la red, pero para evitar el problema de sobreajuste siempre se ha de
usar la cantidad mínima de neuronas ocultas con las que la red puede funcionar de
forma eficaz.
•
Valor de la tasa de aprendizaje y factor momento: la tasa de aprendizaje es la que
controla el tamaño del cambio de los pesos. Se ha de evitar que el ritmo de
aprendizaje de la red sea demasiado lento , ya que tendrá lugar una importante
disminución en la velocidad de convergencia y aumentará la posibilidad de acabar en
un mínimo local, o demasiado rápido, lo que acabaría en la inestabilidad de la función
de error y no se llegaría alcanzar el mínimo global. Por lo tanto, para evitar ambos
problemas se recomienda usar una tasa de aprendizaje situada entre (0,05 y 0,5).
52
En cuanto al factor momento, el cual acelera la convergencia de los pesos. El valor
que se suele dar a este factor es 1.
•
Función de activación de las neuronas ocultas y de salida: el requisito de esta
función es que ha de ser continua, por lo tanto las funciones básicas que se pueden
aplicar son: la función lineal y la sigmoidal.
En la capa de neuronas ocultas se usará una función sigmoidal para conseguir que la
red sea capaz de aprender relaciones complejas. En cambio, en las neuronas de la capa
de salida la elección de la función dependerá del tipo de tarea, por ejemplo, para
tareas de predicción se usará una función lineal, pero para una tarea de clasificación se
recomienda el uso de una función sigmoidal.
53
ANEXO 3
En este apartado se muestran los valores que se han modificado con los porcentajes de acierto
en la clasificación de patrones y el error de la red.
Tabla Anexo 1: Datos de fase de Entrenamiento
Modelo
Número
neuronas
ocultas
Tasa de
aprendizaje
Factor
Momento
RMC Error
total
Acierto en la
clasificación
de patrones
(%)
Modelo 1
2
0,1
0,9
0,35
84
Modelo 2
3
0,1
0,9
0,33
86
Modelo 3
4
0,1
0,9
0,31
88
Modelo 4
1
0,1
0,9
0,37
82
Modelo 5
1
0,05
0,9
0,38
82
Modelo 6
2
0,05
0,9
0,35
83
Modelo 7
3
0,05
0,9
0,32
83
Modelo 8
4
0,05
0,9
0,29
89
Modelo 9
1
0,2
0,9
0,37
82
Modelo 10
1
0,05
1
0,39
80
Modelo 11
1
0,05
0,8
0,38
81
Modelo 12
2
0,2
0,9
0,36
79
Modelo 13
2
0,1
1
0,36
83
Modelo 14
2
0,1
0,8
0,35
83
54
Tabla 2: Datos de fase de Validación
Modelo
Número
neuronas
ocultas
Tasa de
aprendizaje
Factor
Momento
RMC Error
total
Acierto en la
clasificación
de patrones
(%)
Modelo 1
2
0,1
0,9
0,405
81
Modelo 2
3
0,1
0,9
0,41
80
Modelo 3
4
0,1
0,9
0,46
71
Modelo 4
1
0,1
0,9
0,41
77
Modelo 5
1
0,05
0,9
0,41
77
Modelo 6
2
0,05
0,9
0,44
74
Modelo 7
3
0,05
0,9
0,45
69
Modelo 8
4
0,05
0,9
0,46
75
Modelo 9
1
0,2
0,9
0,41
77
Modelo 10
1
0,05
1
0,43
73
Modelo 11
1
0,05
0,8
0,41
77
Modelo 12
2
0,2
0,9
0,45
69
Modelo 13
2
0,1
1
0,43
75
Modelo 14
2
0,1
0,8
0,44
74
55
Descargar