redes neuronales artificiales y estadística

110
PONTIFICIA UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE CIENCIAS INSTITUTO DE ESTADÍSTICA “COMPARACIÓN TEÓRICO PRÁCTICA ENTRE MODELOS ESTADÍSTICOS Y EL PERCEPTRÓN MULTICAPA” MEMORIA PARA OPTAR AL TITULO DE ESTADÍSTICO ISAI ORLANDO MORALES GONZÁLEZ PROFESOR GUÍA JORGE GALBIATI RIESCO VALPARAÍSO, 2010

Upload: pucv

Post on 05-Dec-2014

8.287 views

Category:

Technology


2 download

DESCRIPTION

Estudio teórico y práctico sobre redes neuronales Artificiales y los modelos estadísticos convencionales. Además aplicaciones en R cran, algoritmo diseñados.

TRANSCRIPT

Page 1: Redes Neuronales Artificiales y Estadística

PONTIFICIA UNIVERSIDAD CATÓLICA DE VALPARAÍSO

FACULTAD DE CIENCIAS

INSTITUTO DE ESTADÍSTICA

“COMPARACIÓN TEÓRICO PRÁCTICA ENTRE MODELOS

ESTADÍSTICOS Y EL PERCEPTRÓN MULTICAPA”

MEMORIA PARA OPTAR AL TITULO DE ESTADÍSTICO

ISAI ORLANDO MORALES GONZÁLEZ

PROFESOR GUÍA

JORGE GALBIATI RIESCO

VALPARAÍSO, 2010

Page 2: Redes Neuronales Artificiales y Estadística

2

Esta Memoria de título está dedicada al Sr. Francisco Javier González Nova,

Quien hoy no está presente físicamente, pero sus consejos

y valores estarán por siempre en mi vida.

Page 3: Redes Neuronales Artificiales y Estadística

3

Agradecimientos,

A Dios, por ser siempre mi fortaleza

A mis padres, a quienes les debo todo lo que soy y todo lo que tengo.

A mi mami Lucy, a quien quiero y admiro profundamente

A mis tíos y tías cercanas, quienes me han apoyado siempre, no sólo en forma material, también

transmitiendo principios que me llenan de orgullo

A mis hermanitas y mi hermano, quienes son parte importante de mi vida

A mis primos y primas, quienes más que eso, son mis grandes amigos

A mis compañeros y compañeras, por su compañía y ayuda cuando lo necesite

A mi profesor guía de esta memoria, Dr. Jorge Galbiati Riesco por su infinita paciencia.

A todos mis profesores de Carrera por enseñarme el poder del conocimiento

Y a todos lo que alguna vez han extendido, desinteresadamente, su ayuda a su servidor

Atte., Isai Orlando Morales González

Page 4: Redes Neuronales Artificiales y Estadística

4

…“Si tu única herramienta es un martillo,

tiendes a tratar cada problema como si fuera un clavo”…

Abraham H. Maslow, Sicólogo y Siquiatra norteamericano.

Page 5: Redes Neuronales Artificiales y Estadística

5

Índice

Prólogo ...................................................................................................................................... 7

Capítulo 1: Introducción a las redes neuronales artificiales ................................................... 9

1.1 Generalidades .............................................................................................................................. 10

1.2 Inspiración Biológica ................................................................................................................... 12

1.3 Breve Reseña Histórica ................................................................................................................ 16

1.4 La Red Neuronal Artificial ........................................................................................................... 19

1.4.1 Modelo Genérico de una red neuronal artificial ..................................................................... 19

1.4.2 Aprendizaje o Entrenamiento de una Red Neuronal ............................................................... 22

Capítulo 2: Primeros modelos basados en redes neuronales artificiales................................24

2.1 Célula de Mc Culloch y Pitt ......................................................................................................... 25

2.2 El Perceptrón ............................................................................................................................... 28

2.3 La Adalina ................................................................................................................................... 36

Capítulo 3: El perceptrón multicapas y el algoritmo de retropropagación de los errores ....47

3.1 El perceptrón multicapa ............................................................................................................... 48

3.2 Aprendizaje en un PMC ............................................................................................................... 49

3.2.1 El Algoritmo de Retropropagación ........................................................................................ 51

3.2.1.1 Cálculo de los pesos de la penúltima capa a la capa de salida ............................................... 52

3.2.1.2 Cálculo de los pesos de las capas ocultas. ........................................................................ 54

3.3 Construcción del Perceptrón Multicapa ........................................................................................ 60

3.4 Generalización en un perceptrón multicapa .................................................................................. 63

3.4.1 Validación Cruzada ............................................................................................................... 64

3.4.2 Técnica de regularización: decaimiento de los pesos (Weight Decay) .................................... 65

3.5 Comentarios finales sobre la construcción del perceptrón multicapa ............................................. 66

Page 6: Redes Neuronales Artificiales y Estadística

6

Capítulo 4: Redes neuronales y modelos Estadísticos ............................................................67

4.1 Redes neuronales y modelos Estadísticos ..................................................................................... 68

4.1.1 Terminología de redes neuronales y estadística...................................................................... 68

4.1.2 Redes neuronales artificiales y regresión ............................................................................... 70

4.2 Redes neuronales y problemas de clasificación ............................................................................. 80

4.2.1 Análisis sobre muestras reales ............................................................................................... 82

4.2.1.1 Muestra Real 1: Reconocimiento de Vinos....................................................................... 83

4.2.1.2 Muestra real 2: Quiebra de Bancos Españoles. .................................................................. 85

4.2.1.3 Muestra Real 3: Flores de Fisher ................................................................................... 87

4.2.1.4 Muestra Real 4: Diagnostico de Problemas al corazón ........................................................ 89

4.2.1.5 Muestra Real 5: Juego Gato ......................................................................................... 91

4.2.1.6 Muestra Real 6: Análisis de investigación criminalísticas sobre Vidrios. ................................. 93

4.2.2 Análisis sobre regiones atípicas ............................................................................................. 95

4.2.2.1 Muestra experimental, Gráfica 1 ................................................................................... 97

4.2.2.2 Muestra experimental Gráfica 2 .................................................................................... 98

4.2.2.3 Muestra experimental Gráfica 3: ................................................................................... 99

4.2.2.4 Comentario ............................................................................................................ 100

Conclusión y discusión ........................................................................................................... 101

Bibliografía ............................................................................................................................. 103

Apéndices ............................................................................................................................... 105

Apéndice A: Software para implementación de Redes neuronales Artificiales .................................. 105

Apéndice B: Algoritmos del programa R cran utilizados en esta memoria. ....................................... 106

Page 7: Redes Neuronales Artificiales y Estadística

7

Prólogo

En los últimos años se ha consolidado un nuevo campo de la computación el que abarcaría un

conjunto de ideas inspiradas en el funcionamiento de los modelos biológicos. El desarrollo de

estas metodologías no es más que el resultado de múltiples investigaciones orientadas a diseñar

sistemas inteligentes, que puedan, en cierta medida emular la capacidad humana de razonar,

característica que discrimina absolutamente a nuestra especie de otros seres vivos. Cuando nos

referimos a “sistemas inteligentes”, entendemos sistema cualquier dispositivo físico o lógico

capaz de realizar alguna tarea requerida. El conjunto de estas metodologías emergentes dan

origen a la disciplina científica conocida con el nombre de Inteligencia artificial o Computación

Soft. Esta disciplina comprende una gran cantidad de nuevas metodologías como: la lógica

borrosa, las redes neuronales artificiales, el razonamiento aproximado, los algoritmos genéticos,

la teoría del caos y la teoría del aprendizaje. Entre todas estas la que ha causado mayor impacto

son las Redes neuronales artificiales, principalmente por su capacidad de amoldarse a muchos

problemas reales, haciéndola una de las técnicas con gran aplicabilidad práctica.

Originalmente, las redes neuronales nacieron como una forma de emular matemáticamente el

funcionamiento del sistema neuronal, con el tiempo se desarrollaron sistemas físicos aplicados a

distintas ramas de la ingeniería, hasta que su versatilidad captaron la atención de profesionales

del área Estadística y del análisis de datos, quienes comenzaron a utilizar con mucha frecuencias

estos modelos, cuya versatilidad y facilidad de uso los hizo, rápidamente muy populares.

Cualquier búsqueda en la web sobre trabajos de redes neuronales artificiales nos arrojará millones

de resultados sobre investigaciones que utilizan esta metodología.

Analizando con más detalle estos trabajos notaremos que muchos de los problemas tratados con

redes neuronales artificiales podrían ser afrontados con alguna técnica estadística conocida.

Poco a poco los investigadores han reemplazado técnicas estadísticas más clásicas por los

modelos neuronales artificiales, debido a que estos son más fáciles de utilizar, no trabajarían bajo

ningún supuesto y los softwares con un entorno muy visual nos permitirían utilizar las redes sin

mayor preocupación de conocimientos teóricos profundos.

Sin duda, para muchos de estos investigadores las redes son finalmente unas “cajas negras” que

trabajan de una forma desconocida pero que entregan, finalmente, un buen resultado.

Page 8: Redes Neuronales Artificiales y Estadística

8

Para un investigador con una formación estadística nace la duda de forma inmediata, ¿Son éstos

modelos de redes neuronales una alternativa tan válida y tan eficaz como los análisis estadísticos

históricamente utilizados?

Es aquí donde nace el principal objetivo de esta memoria, estudiar los modelos neuronales,

específicamente el denominado perceptrón multicapa. Compararlos y ver cuáles son sus ventajas

y desventajas con los modelos estadísticos más comunes como son la regresión, regresión

logística, árboles de clasificación y predicción, método de los vecinos más cercanos, etc.

Si bien esta memoria contiene 4 capítulos, en forma general puede distinguirse dos partes de

estudio. La primera está formada por los capítulos 1,2 y 3, donde se estudia las redes neuronales,

en particular el perceptrón multicapa, sus orígenes, su funcionamiento y su construcción.

La segunda parte, capítulo 4, es donde se comparan en problemas reales y experimentales las

redes neuronales con las técnicas estadísticas antes mencionadas, y cuyos resultados son

discutidos al final de la lectura.

Page 9: Redes Neuronales Artificiales y Estadística

9

Capítulo 1: Introducción a las redes neuronales artificiales

Page 10: Redes Neuronales Artificiales y Estadística

10

1.1 Generalidades

Las redes neuronales artificiales (RNA) o sistemas conexionistas, son sistemas de procesamiento

de la información cuya estructura están inspirados en las redes neuronales biológicas. Consisten

en un conjunto de elementos simples de procesamiento llamados neuronas, conectadas entre sí

por conexiones que tiene un valor numérico modificable llamado peso. Las redes neuronales

artificiales corresponden a una de las múltiples ramas desarrolladas por la inteligencia artificial

denominada “Inteligencia Artificial Subsimbolica” cuyo objetivo final es reproducir la habilidad

cognoscitiva humana, imitando los mecanismos físicos de los sistemas nerviosos y del cerebro.

[Isasi, 06]. Debido a su construcción y fundamento las RNA tienen características similares a las

redes neuronales biologicas, por ejemplo son capaces de aprender de la “experiencia” y poner a

prueba lo aprendido frente a nuevos casos, extraer características esenciales de un conjunto de

ejemplos y así tomar alguna decisión en el futuro. En definitiva, buscan (de una forma mucho

más discreta que el cerebro, claro está) ser procesadores “inteligentes” de la información.

Las redes neuronales artificiales se utilizan en la resolución de problemas de clasificación,

estimación funcional y optimización, en general, el reconocimiento de patrones o rasgos suele

considerarse como un denominador común. Se puede señalar, entre otras, las siguientes áreas de

aplicaciones de las redes neuronales artificiales:

Neurobiología: Aprender más acerca del cerebro y otros sistemas, modelar matemáticamente la

actividad cerebral.

Medicina: Diagnóstico de cardiopatías, detección de tumores cancerígenos, caracterización de la

dinámica en la variabilidad cardiaca, predicción de enfermedades degenerativas cardíacas,

análisis de imágenes para el diagnostico de enfermedades, diagnósticos a partir de datos

analíticos, analizadores del habla para ayudar en la audición de sordos, predicción de reacciones

adversas a los medicamentos, etc.

Ciencias, Empresa e Ingeniería: Evaluación de formaciones geológicas y petrolificas,

reconocimiento del habla, reconocimiento de caracteres e imágenes, robots automatizados,

procesamiento de señales físicas, inspección de la calidad, control de producción en líneas de

Page 11: Redes Neuronales Artificiales y Estadística

11

proceso, identificación de candidatos para posiciones especificas, explotación de base de datos,

predicciones de demanda, etc.

Economía/finanzas: Concesiones de créditos, detección de posibles fraudes en tarjetas de

crédito, determinación de la posibilidad de quiebra de un banco, predicción del gasto eléctrico de

empresas y centrales, cambio de moneda, tendencias en bolsas de valores, predicción de stocks,

predicción de series temporales de indicadores económicos, interpretación de firmas, etc.

Aplicaciones Militares: Identificación de blancos de radares, optimización de recursos escasos,

reconocimiento y seguimiento de tiro al blanco en armas avanzadas e individuos, sistemas para

dar ayuda a el piloto en caso de alcance por fuego enemigo, aterrizaje de aviones sin intervención

humana, etc.

Según [Warren, 94] estas aplicaciones puedes encuadrarse en tres grupos:

Como una forma de modelar matemáticamente el sistema nervioso biológico.

Como procesadores de señales físicas para implementación de hardware y robots

“inteligentes”.

Como un método analítico de datos.

Como vemos, en los primeros dos grupos las aplicaciones son propias de las áreas de biología e

ingenierías: el estudio biológico hace un esfuerzo por entender cómo funciona realmente el

cerebro, por otro lado el avance tecnológico ingenieril hace que se produzca mejores dispositivos

robóticos de ayuda a diferentes áreas, donde la intervención humana es dificultosa. Sin embargo,

hay un tercer grupo que como estadísticos puede llamar la atención y es la aplicación de las redes

neuronales al análisis de datos. Hace aproximadamente veinte años el análisis de datos con redes

neuronales artificiales ha tomado fuerza, siendo aplicada en áreas donde, históricamente, la

estadística era la única metodología utilizada. Además, a través de trabajos prácticos se ha

evaluado la eficiencia de estas técnicas y muestran resultados iguales o mejores que las técnicas

estadísticas utilizadas tradicionalmente. Sobre este tema nos dedicaremos más detalladamente en

capítulos posteriores donde intentaremos encontrar similitudes entre la estadística y las RNA, y

comparar su eficiencia.

Page 12: Redes Neuronales Artificiales y Estadística

12

1.2 Inspiración Biológica

El nacimiento de las neuronas artificiales tiene una inspiración biológica, gran parte de las

características que serán descritas sobre el sistema neuronal biológico son realizadas en los

modelos artificiales de los que se va a hablar en este trabajo.

El aparato de comunicación neuronal de los hombres y de algunos animales superiores se

compone de tres partes principales:

Los receptores, que son las células sensoriales que recogen información del interior y

exterior del organismo.

El sistema nervioso, que recibe la información, la elabora, analiza y envía una respuesta

a los estímulos recibidos.

Organismos efectores, como glándulas y músculos, que reciben la respuesta del sistema

nervioso interpretándola en forma de acciones motoras, hormonales, etc.

En todo este sistema la función principal la cumple el sistema nervioso, que esta constituido por

una célula muy particulares, que tiene la difícil misión de elaborar una respuesta frente a distintos

estímulos: la neurona.

A pesar de que desde la antigüedad se intento estudiar el funcionamiento del cerebro solo en el

año 1888 se demostró que el sistema nervioso estaba compuesto por una red de células

individuales ampliamente interconectadas entre sí, este descubrimiento fue tan valioso que se le

concedió el premio Nobel de medicina a su descubridor, el Dr. español Santiago Ramón y Caja.

Obviamente, gracias al advenimiento de la microscopía electrónica y a la introducción de otras

importantes técnicas, se ha llegado a profundizar mucho más en el estudio de la neurona. Para la

presente tesis nos limitaremos a un nivel de descripción de la neurona biológica que nos permita

trazar el paralelismo existente entre las redes neuronales biológicas y artificiales.

Se estima que el sistema nervioso contiene alrededor de cien mil millones de neuronas. Vistas

microscópicamente, este tipo de células puede presentarse en diferente formas, pero la gran

mayoría presentan un aspecto particular como lo muestra la figura 2.1: con un cuerpo celular o

soma, del que nace un denso árbol de ramificaciones compuesto por las dendritas, y del cual parte

una fibra tubular denominada axón, que también se ramifica en su extremo final para conectar

con otras neuronas, o con los organismos efectores.

Page 13: Redes Neuronales Artificiales y Estadística

13

En términos generales, las dendritas y el cuerpo celular reciben información de los organismos

receptores, dicha información se envía entre las distintas neuronas, a través del axón, formando

redes, en las cuales se elabora y almacena la información. Así como hay una parte de neuronas

relacionadas con los receptores, otra parte está conectada con los organismos efectores, para

interpretar la orden entregada por el sistema nervioso.

De esta forma las neuronas tienen la función de recoger la información en forma de impulsos

procedente de otras neuronas receptoras, integrar esta información en un código de activación

propio de cada célula, transmitir la información a través de impulsos electro-químicos por el axón

a otras neuronas o a organismos receptores, según corresponda.

A pesar de que están altamente conectadas, las neuronas nunca se fusionan, ya que entre ellas

existe una mínima separación denominada espacio sináptico, este es un pequeño espacio liquido

donde existen determinadas cantidades de iones de sodio o potasio, estos iones hacen que el

espacio sináptico posea conductividad que activen o impidan el paso de los impulsos eléctricos.

A estas conexiones o traspasos de impulsos eléctricos se le denomina Sinapsis. Esta sinapsis se

convierte en potenciadores o inhibidores de la señal procedente de los axones, actuando como

aislante o amplificadores a conveniencia, así una neurona puede ser activada o inhibida.

El cerebro humano contiene 1110 o 100 billones de neuronas ese número es aproximadamente el

numero de estrellas en la vía Láctea y el numero de galaxias conocidas por el hombre. Se calcula

que cada una de estas neuronas tiene 410 conexiones, eso da un total de 1510 o un cuatrillón de

Page 14: Redes Neuronales Artificiales y Estadística

14

conexiones totales, teniendo en cuenta que la frecuencia de disparos de impulsos oscila

habitualmente entre 1 y 100 pulsos por segundo, aunque algunas neuronas pueden llegar a los

500 durante pequeños periodos de tiempo, el cerebro funciona como un sistema dinámico,

asincrónico, no lineal, masivo, paralelo y recurrente de proporciones astronómicas, demás está

decir que todo nuestro comportamiento, interno y externo, adecuado o no, es manejado por este

sistema.

Como hemos dicho anteriormente, las redes neuronales artificiales basan su funcionamiento en

las redes neuronales reales, estando formadas por un conjunto de unidades de procesamiento

conectadas entre sí.

Por analogía con el cerebro humano se denomina “neurona” a cada una de estas unidades de

procesamiento. Cada neurona artificial recibe muchas señales de entrada y envía señales de

salida. Estas señales introducidas son variables numéricas a las que denominaremos ix , estas se

Page 15: Redes Neuronales Artificiales y Estadística

15

introducen en la neurona artificial a través de una suma ponderada por los denominados pesos

sinápticos que hacen el papel de las dendritas y que denominaremos como iw .

De esta forma, si tenemos n estímulos la neurona recibirá como entrada 1

n

i i

i

I x w

, en forma

vectorial TI X W .

Además, la neurona posee una función que les permite activarse o inhibirse a partir de las señales

que recibe como entrada, dicha función se denomina función de activación f I , y activará a la

neurona si iguala o sobrepasa algún valor umbral, es decir, activará a la neurona sí

1

n

i i

i

f x w

. La figura 1.2 representa esta analogía.

Un conjunto de estas neuronas conectadas entre sí de forma ordenada formarán lo que se conoce

como redes neuronales artificiales, y en el caso que la función de activación estuviera en las

neuronas que tienen contacto con el exterior de la red, entonces esas funciones se denominarán

función de salida. Antes de explicar el funcionamiento de una red neuronal artificial haremos una

breve reseña histórica sobre el desarrollo de estos modelos.

Page 16: Redes Neuronales Artificiales y Estadística

16

1.3 Breve Reseña Histórica

En 1936 Alan Turing fue el primero en estudiar el cerebro como una forma de ver el mundo de la

computación, y aún antes Freud había realizado algunos análisis en el periodo del pre

sicoanálisis, sin embargo, el trabajo de Warren McCulloch y Walter Pitts en 1943 se considera

como el punto de arranque de la investigación en las redes neuronales artificiales, ellos

modelaron una red “simple” mediante circuitos electrónicos, ideas que plasmaron en el boletín

“A logical calculus of the ideas immanent in nervous activity”, [McCulloch y Pitt, 43].

Posteriormente, en 1949 se lanza un importante libro: “Organization of Behavior” (la

organización del comportamiento), por Donald Hebb donde por primera vez se formaliza el

proceso de aprendizaje de una neurona artificial: la regla Hebbiana, utilizado hasta hoy .

En el primer período de la investigación en redes neuronales artificiales, entre mediados de los 50

y mediados de los 60, una cantidad importante de científicos, ingenieros y grupos de

investigación dedicaron importantes esfuerzos a la construcción y experimentación de estos

sistemas. Entre los grupos más importantes se podrían destacar el grupo de F. Rosenblatt en la

Universidad de Cornell (Nueva York), el grupo de C. Rosen en el Instituto de Investigación de

Stanford (California), y el grupo de B. Widrow en el departamento de Ingeniería Electrónica de la

Universidad de Stanford.

El más famoso de los investigadores de esa época fue Frank Rosenblatt, psicólogo Newyorkino

que en 1957 en su libro “The Perceptrón: A perceiving and recognicing automation” desarrolló el

Perceptrón, el tipo de red neuronal más antigua basadas en la idea original de McCulloch y Pitts,

utilizándose hasta hoy en día para el reconocimiento simple de patrones, no obstante, el

perceptrón tenía una serie de limitaciones, pues como veremos solo es efectivo bajo ciertas

condiciones. Posteriormente, surgió una red basada en el perceptrón pero con ciertos cambios en

su forma de aprendizaje, esta fue conocida como Adaline y fue desarrollada por Bernard Widrow

y Marcial Hoff en 1960. El perceptrón y el Adaline eran una buena idea, pero no tuvieron mayor

cabida en los círculos científicos de la época, y es posible que los problemas que tuvieron fueran

provocados más que nada por el exagerado entusiasmo de sus creadores. Lo peor vino en 1969,

cuando Marvin Minsky y Seymour Papert, investigadores del instituto técnico de Massachussets,

publicaron “Perceptrón”, donde mostraban matemáticamente que esta red no era capaz de

resolver problemas relativamente fáciles, y lo definieron simplemente como “un camino sin

salida”. Lamentablemente estas críticas frenaron, por dos décadas, el crecimiento que estaban

Page 17: Redes Neuronales Artificiales y Estadística

17

experimentando las investigaciones sobre redes neuronales artificiales. En los años setenta

algunos investigadores continuaron trabajando en la computación neuronal: Stephen Grossber y

James Anderson. Los trabajos de Grossber derivaban de sus estudios fisiológicos, trasladando

reglas sinápticas de asociación a ecuaciones explicitas, mientras Anderson intentaba modelar los

esquemas de almacenamiento y recuperación de la memoria a través de un asociador lineal

basado en la regla hebbiana.

El renacimiento de estas técnicas, en la década de los 80, se debe principalmente al naciente

desarrollo de los computadores los que permitieron una aplicación renovada de las redes

neuronales y que ha extendido la investigación hasta el día de hoy. Este periodo se caracteriza por

ser bastante rico en aportaciones teóricas, prácticas, y desarrollo de nuevos modelos.

En este nuevo impulso de investigación de las RNA, cabe destacar algunos autores notables, el

primero Teuvo Kohonen, Ingeniero electrónico Finlandés de la Universidad de Helsinki, que

produjo el primer sistema de redes “topográfico”, denominado comúnmente como mapa

autoorganizado y formalizando el aprendizaje competitivo; en 1980 Kunihiko Fukushima

desarrolló en Japón un modelo neuronal para el reconocimiento de patrones visuales, luego John

Hopfield, en 1982 provocó un leve renacimiento de las redes neuronales con su libro:

"Computación neuronal de decisiones en problemas de optimización", Hopfield presento este

trabajo en la Academia Nacional de Ciencias Estadounidense, donde su entusiasmo, la claridad

de su presentación y la alta consideración que le tenía la comunidad científica hizo que este

trabajo fuera muy bien recibido, teniendo en cuenta que hace más de veinte años que un trabajo

de redes neuronales no era presentado a esa academia.

El reconocimiento de la comunidad científica en el mundo ya se hacía evidente y se verá

reforzado por las investigaciones del PDP (Parallel Distributed Processing Research Group) de la

Universidad de California, cuyo trabajo se publicó en 1987 por David Rumelhart y G. Hinton,

cuyos dos volúmenes son considerados clásicos, y que entre otras cosas redescubrieron

formalmente el hoy famoso algoritmo de aprendizaje de retropropagación (backpropagation),

ideado originalmente en la década de 1970, este modelo

Posteriormente Kosko desarrollo la llamada Bi-directional Associative Memory (BAM), y las

arquitecturas de redes denominadas Fuzzy Cognitive Map (FCM) y Fuzzy Associative Memory

(FAM).

Page 18: Redes Neuronales Artificiales y Estadística

18

También podemos agregar que en las décadas de los noventas una serie de investigadores han

ligado los modelos de redes neuronales con la estadística, como la máquina de soporte vectorial

orientada a la resolución de problemas de carácter estadístico como reconocimiento de patrones,

estimación y modelos de regresión.

Finalmente, el desarrollo de RNA ha culminado positivamente con el surgimiento, crecimiento e

institucionalización de una comunidad científica con su correspondiente sistema de comunicación

y control especializado: publicaciones científicas, congresos, cursos de postgrado, instituciones

de investigación, etc.

Actualmente las investigaciones de redes neuronales se difunden en los congresos Internacional

Joint Conference on Neural Networks (UICN) y Neural Information Processing Conference

(NIPS). Entre las principales publicación periódicas se encuentran Neural Computation, Neural

Networks, IEEE Transactions on Neural Networks, Internacional Journal of Neural Systems,

Concepts in Neuroscience y Advances in Neural Information Processing Systems.

Page 19: Redes Neuronales Artificiales y Estadística

19

1.4 La Red Neuronal Artificial

1.4.1 Modelo Genérico de una red neuronal artificial

Una definición interesante de una red neuronal hace hincapié en el concepto matemático de grafo.

Una red neuronal puede ser un grafo dirigido, donde los nodos son las neuronas y las conexiones

son las sinapsis, en estos grafos se distinguen tres tipos de nodos los de entrada, los de salida y

los intermedios. Estos nodos cumplen las siguientes características:

i. A cada nodo i se asocia una variable de estado ix .

ii. A cada conexión ,i j de los nodos i y j se asocia un peso ijw R.

iii. A cado nodo i se asocia un umbral i .

iv. Para cada nodo se define una función de activación , ,j j ij jf x w , que depende de los

pesos sinápticos de sus conexiones, del umbral y de los estados de los nodos j a él

conectados. Esta función proporciona el nuevo estado del nodo.

Cada uno de estos nodos representa una neurona artificial, una conexión de estas neuronas,

ordenada en capas y con un sistema definido para procesar la información es lo que se conoce

como una red neuronal artificial. Figura 1.3. Formalmente, podemos decir que una red neuronal

es una aplicación : n pf R W R , donde el conjunto W , se denomina espacio de pesos.

Page 20: Redes Neuronales Artificiales y Estadística

20

También podemos definir otros conceptos: se denomina capa de entrada a las neuronas

ordenadas sin sinapsis entrantes, se denomina capa de salida a las neuronas ordenadas sin

sinapsis salientes, las neuronas ordenadas que no son de entrada ni de salida se denominan capas

ocultas.

Una red es unidireccional cuando no presenta bucles o ciclos en sus conexiones, es decir las

conexiones entre las neuronas son en un solo sentido y se denomina recurrente cuando el flujo

de información puede encontrar unos bucles, es decir, una retroalimentación.

Una red neuronal artificial monocapa es aquella que no tiene capas ocultas, mientras que una red

multicapa puede tener una o varias capas ocultas.

Page 21: Redes Neuronales Artificiales y Estadística

21

En cuanto a las funciones de activación, estas son elegidas, como veremos más adelante,

dependiendo el tipo de problema al que nos enfrentemos. Las funciones que se utilizan se

muestran en la figura 1.5.

Page 22: Redes Neuronales Artificiales y Estadística

22

1.4.2 Aprendizaje o Entrenamiento de una Red Neuronal

El proceso de aprendizaje o entrenamiento en una red neuronal puede ser visto como un problema

de actualización de los pesos sinápticos de las neuronas de manera tal que la red neuronal mejore

la forma en que realiza cierta tarea específica. Estas mejoras en el desempeño de una red neuronal

son logradas a lo largo de este proceso de entrenamiento y mediante la actualización iterativa de

los pesos sinápticos, los cuales están representados por un vector o matriz denominado vector o

matriz de pesos W . El aprendizaje de las RNA es un aprendizaje basado en ejemplos o patrones,

estos ejemplos deben tener dos características fundamentales, primero, ser significativo, debe

haber un número suficiente de ejemplos para que la neurona sea capaz de adaptar sus pesos en

forma eficaz y ser representativo, es decir los ejemplos deberán ser diversos y reflejar todas los

posibles estados de la red. Algunos autores aconsejan usar muestras aleatorias como ejemplos, sin

embargo, en la mayoría de las aplicaciones no se encontrarán muestras aleatorias sino muestras

de tamaño muy grande.

En general, el proceso de aprendizaje se alcanza de dos maneras. En ocasiones, las redes

neuronales utilizarán información previamente establecida; y basándose en dicha información se

lleva a cabo la actualización de los pesos. En otras ocasiones las redes neuronales deben aprender

a establecer los pesos sin esta información. A estos tipos de aprendizaje se les denomina

Supervisado y no supervisado o auto organizado, respectivamente (en general, cualquier técnica

de clasificación y predicción puede encontrarse en uno de estos dos grupos).

En el aprendizaje supervisado básicamente a la red se le presenta un conjunto de ejemplos

denominado muestra de aprendizaje, junto con la salida deseada u objetivo, e iterativamente

ajusta los pesos hasta que la salida de la red tienda a ser la deseada, Figura 2.5. Para entender este

procedimiento veamos un ejemplo: supongamos que queremos entrenar una red neuronal

artificial que sea capaz de clasificar imágenes de rostros de diferentes individuos, entonces cada

uno de los patrones de entrada contendrán la información codificada de la imagen, pero además

estos patrones tendrán información para saber de qué individuo se trata, cada vez que uno de los

ejemplos es introducido en la red esta la procesa y entrega una salida, en este caso el individuo al

que pertenece la imagen, si la red se equivoca se retroalimentará con la información contenida en

el patrón de entrada y modificará los pesos, de modo que, al introducir una imagen parecida, la

salida de la red sea el individuo correcto.

Page 23: Redes Neuronales Artificiales y Estadística

23

Formalmente, en el aprendizaje supervisado primero debemos definir una función que represente

el error esperado de la operación de la red, expresado en función de sus pesos sinápticos E w ,

el aprendizaje supervisado pretende estimar una función desconocida : n mf R R a partir de

muestras ,n mX R Y R que deben ser tomadas aleatoriamente, por medio de la minimización

iterativa de E w mediante aproximación estocástica.

Por otro lado, en el aprendizaje no supervisado o autoorganizado, las redes son capaces de

encontrar y descubrir, de manera automática, patrones de similitud dentro del conjunto de datos

de entrenamiento, esto lo realiza sin ningún tipo de retroalimentación con el medio externo y sin

la utilización de información a priori, cuando se utiliza este tipo de aprendizaje la red trata de

determinar características de los datos del conjunto de entrenamiento: rasgos significativos,

regularidades o redundancias.

Page 24: Redes Neuronales Artificiales y Estadística

24

Capítulo 2: Primeros modelos basados en redes neuronales artificiales

Page 25: Redes Neuronales Artificiales y Estadística

25

2.1 Célula de Mc Culloch y Pitt

En 1943, Mc Culloch y Pitt, publican un boletín donde exponen formalmente el primer sistema

artificial de neuronas reales. Ellos modelaron una neurona simplificada considerándola con dos

estados posibles: activada o inhibida.

La célula de Mc Culloch y Pitt (M-P) recibe como entrada un conjunto de n valores binarios, que

proceden de las salidas de otras células o del exterior, y que envían una respuesta binaria, ya que

utilizan como función de salida la función umbral:

1

1, ,

0

n

i i

i

si w xf w x

en otro caso

(2.1)

Donde ix son las variables de entrada de la red y iw los pesos.

De esta forma el primer modelo de redes neuronales era una colección de estas neuronas, donde

sus salidas están conectadas a otras neuronas. Los ejemplos clásicos para exponer el

funcionamiento de estas neuronas son las funciones lógicas “O” e “Y”, y los veremos a

continuación.

Ejemplo 1.

Función lógica Y: Como sabemos, la función lógica Y posee la siguiente tabla de verdad.

Para recrear esta función a través de la célula M-P tendremos dos variables de entrada 1x y 2x , el

valor umbral será 1 , y los pesos sinápticos 1 2 1w w , Figura 2.1.

A B “Y”

0 0 0

0 1 0

1 0 0

1 1 1

Page 26: Redes Neuronales Artificiales y Estadística

26

Al procesar los valores de entrada se obtiene:

1x 2x

21 1iI x x

( )f I

0 0 0 0

0 1 1 0

1 0 1 0

1 1 2 1

Como vemos la neurona procesa en forma eficiente la función lógica Y, produciendo las salidas

correctas.

Ejemplo 2.

Función lógica O: De forma análoga al ejemplo anterior podemos representar la función lógica

O, el valor umbral será 0 , y los pesos sinápticos 1 2 1w w . Obteniéndose:

En este caso hemos utilizado los valores 0 y 1, pero es bastante común que la literatura utilice la

codificación 1 y -1. Para solucionar este tipo de problemas los valores de los pesos deben ser

A B “O”

0 0 0

0 1 1

1 0 1

1 1 1

1x 2x

21 1iI x x

( )f I

0 0 0 0

0 1 1 1

1 0 1 1

1 1 2 1

Page 27: Redes Neuronales Artificiales y Estadística

27

encontrados por el investigador de forma analítica. Aparentemente, el diseño de células M-P es

sencillo, pero cuando se trata de funciones más complejas, el número de entrada puede ser más

elevado y los pesos involucrados demasiados, sin un mecanismo para encontrar estos valores

aplicar este tipo de redes es casi imposible. Este dilema llevó a muchos investigadores a buscar

un método automático de cálculo para los pesos, uno de los resultados de esta investigación dio

como resultado al primer modelo de red neuronal denominado Perceptrón.

Page 28: Redes Neuronales Artificiales y Estadística

28

2.2 El Perceptrón

El modelo perceptrón fue introducido en los años 1950, por Rosenblat, quien tomó la idea de Mc

Culloch y Pitt, pero introdujo una forma automática para encontrar los valores de los pesos y

umbrales. Rosenblat fue pionero en introducir el aprendizaje, de tipo supervisado, para entrenar

la red. La estructura de un perceptrón es monocapa unidireccional, con dos o más variables de

entrada binaria o real, y una salida binaria.

La salida de la red la calculamos de igual forma que el modelo M-P pero con el valor al otro

lado de la ecuación, es decir:

1

p

j j

j

y f w x

(2.2)

Donde ix son las variables de entrada de la red, iw los pesos y la función f de salida es escalón

del tipo:

1 0

1

si sf s

en otro caso

(2.3)

La Ecuación (2.2) equivale a introducir el valor umbral como un nuevo peso cuya variable de

entrada será 0 1x . La figura 2.2 nos muestra este tipo de red con dos variables de entrada. Como

Page 29: Redes Neuronales Artificiales y Estadística

29

indica (2.3) la función de salida es binaria y podemos utilizarla como una clasificación de dos

categorías de la siguiente forma:

Si la red produce salida 1, la entrada pertenece a la categoría A.

Si la red produce salida -1, la entrada pertenece a la categoría B.

En el caso que tengamos solo dos variables de entrada la separación entre estas dos clases es una

línea recta dada por la ecuación:

1 1 2 2 0w x w x (2.4)

Este modelo representa una función discriminante lineal lo que podemos apreciar en la

representación geométrica del perceptrón en la figura 2.3.

La ecuación (2.4) puede ser escrita como:

12 1

2 2

wx x

w w

(2.5)

Page 30: Redes Neuronales Artificiales y Estadística

30

Los pesos determinan la pendiente de la recta y el umbral determina el intercepto con el eje de las

ordenadas. Además la recta de discriminación entre la categoría A y B, es perpendicular al vector

de pesos, pues si escribimos 1 0

0p p

j j j j

j j

w x w x

en forma vectorial, tenemos 0TX W .

El proceso de aprendizaje o entrenamiento del perceptrón

Supongamos que tenemos una colección de patrones de aprendizaje, e introducimos un patrón a

través de la red, perteneciente, por ejemplo a la categoría A, y se obtiene la salida que genera la

red para dicho patrón. Si la salida producida es 1, la respuesta de la red para dicho patrón es

correcta, y no se realizará ninguna acción.

Si por el contrario la salida producida es -1, entonces la respuesta de la red es incorrecta porque la

red categoriza el patrón en la clase B, esto es un error de clasificación y es en este caso cuando

se produce el aprendizaje. Ya que la respuesta de la red ha sido errónea debemos cambiar el valor

de los pesos sinápticos. Dado que el valor de salida es inferior a lo que se debería haber obtenido,

los pesos son incrementados para que en la próxima presentación del mismo patrón la salida sea

la correcta. El cálculo de los pesos sináptico y el valor umbral se realiza iterativamente de la

siguiente forma:

j j jw nuevo w anterior w (2.6)

nuevo anterior (2.7)

La forma de obtener jw y se realiza de la siguiente forma: el contrario la salida producida

es -1, entonces categoría, se obtiene la salida que genera la red para dicho patrón. tenemos una

muestra de aprendizaje, que es un conjunto de n vectores de entradas 1pX , la salida de la red e

y , la salida objetivo d X , en el caso del perceptrón d X e y serán 1 o -1. La regla de

aprendizaje del perceptrón puede ser descrita de la siguiente forma:

i. Aleatorizar valores para los pesos.

ii. Seleccionar un vector de entrada sin reposición 1 ,...,i i i

pX x x de nuestra muestra de

aprendizaje e introducirlo a la red.

Page 31: Redes Neuronales Artificiales y Estadística

31

iii. Si la salida de la red es distinta a la deseada, es decir, ( )i id X y , el perceptrón ha dado

una respuesta incorrecta, entonces modificamos todas las conexiones jw , de acuerdo a

i i

j jw i d X x , si ( )i id X y no realizar cambio en los pesos.

iv. Si no se han modificado los pesos en un número n de pasos, terminar el proceso de

aprendizaje, si no volver a 2, si los patrones se han terminado volver a introducirlos

nuevamente.

Además de modificar los pesos también debemos modificar el valor umbral, la forma de hacerlo

es considerarlo como un peso sináptico 0w , donde el valor de 0x es siempre 1, de esta forma el

valor umbral es siempre modificado de una forma particular:

0

t

si el perceptrón responde correctamentet

d X en otro caso

(2.8)

Gráficamente podemos deducir este algoritmo. Sabemos que 0TX W es el hiperplano que

provoca la discriminación entre las dos clases, y el ángulo que forman los dos vectores X y W ,

es 90º cuando su producto punto es 0, es decir 0TX W . Figura 2.4.

Cuando entrenemos nuestra red, nos encontraremos con tres posibles casos:

Page 32: Redes Neuronales Artificiales y Estadística

32

Caso 1: La salida objetivo de la neurona es ( ) 1d X , entonces el producto escalar de X y W ,

debería ser positivo 0TX W , para que 1y , Sin embargo, es negativo 0TX W . Eso

significa que el ángulo 90º . Figura 2.5

Entonces la regla del perceptrón debería acercar W a X , lo cual se puede realizar de la siguiente

forma, Figura 2.6:

( ) ( )W nuevo W anterior X (2.9)

Page 33: Redes Neuronales Artificiales y Estadística

33

Caso 2: Cuando la salida objetivo sea ( ) 1d X , entonces para que la red clasifique

correctamente el patrón de entrada el producto escalar de X y W debería ser negativo 0TX W

, luego 1y . Sin embargo, es positivo 0TX W , eso significa que 90º . Entonces la regla

del debería alejar W a X , lo cual se puede realizar de la siguiente forma, Figura 2.7.

( ) ( )W nuevo W anterior X (2.10)

Caso 3: Cuando la salida objetivo coincida con la salida de la red, entonces no realizaremos

ningún cambio en el vector de pesos, pues entrega una salida correcta.

Si reemplazamos ( )d X , lo anterior se reduce a,

( ) ( )W nuevo W anterior d X X (2.11)

Que da origen al algoritmo ya expuesto. En definitiva, este algoritmo moverá el hiperplano TX W

, variando el valor de W , hasta que todos los patrones sean bien clasificados.

Por ejemplo, supongamos que un perceptrón es iniciado con los siguientes pesos: 1 1w , 2 2w ,

2 . El primer patrón de aprendizaje A, con valores de entrada 1 2, 0.5,1.5A A AX x x y

un valor de salida esperado 1Ay , si procesamos AX por la red, utilizando la ecuación (2.2),

obtenemos:

Page 34: Redes Neuronales Artificiales y Estadística

34

2

1

1 0.5 2 1.5 2 1.5 1 ( )A A A

j j

j

d X f w x f f d X

La salida deseada es igual a la salida de la red, por lo que los pesos no son ajustados. Para el

segundo patrón de aprendizaje B, con valores de entrada 1 2, 0.5, 0.5B B BX x x y un valor

de salida esperado 1By , haciendo el mismo cálculo obtenemos que:

2

1

( ) 1 ( 0.5) 2 0.5 2 1.5 1B A B

j j

j

d X f w x f f y

Procesemos ahora un tercer patrón de entrada C, con 1 2, 0.5, 0.5C C CX x x la red entrega un

valor de salida de -1, mientras que el valor esperado es de 1, calculando de acuerdo a la regla del

perceptrón el cambio en los pesos es: 1 0.5w ,

2 0.5w , 1 , los nuevos pesos ahora

son: 1 1.5w ,

2 2.5w , 1 , y el punto C es clasificado correctamente, figura 2.8.

Page 35: Redes Neuronales Artificiales y Estadística

35

Rosemblat demostró que actualizando los pesos de la forma anteriormente descrita es posible

encontrar una clasificación exacta en un número finito de modificaciones, esta demostración se

conoce en la literatura como “teorema de convergencia del perceptrón” [Bishop, 95].

Sin embargo, el teorema de convergencia del perceptrón garantiza la clasificación sólo cuando las

dos categorías son linealmente separables, es decir que existe un hiperplano que pueda separar

ambas clases. En caso contrario el algoritmo no solo nunca terminará, sino que tampoco garantiza

que con un número suficientemente grande de modificaciones se obtenga una clasificación

aceptable. Además, el perceptrón presenta otra gran limitación por la naturaleza de sus salidas, al

ser binarias solo pueden codificar un conjunto discreto de estados, en cambio si sus salidas fueran

reales podría codificar cualquier tipo de salida. En esta idea fue en la que se basaron Widrow y

Hoff unos años después, en 1960 creando un modelo de salida real e introduciendo en el

aprendizaje un criterio de minimización del error cometido por la red, dando como resultado el

segundo modelo clásico de redes neuronales: La Adalina.

Page 36: Redes Neuronales Artificiales y Estadística

36

2.3 La Adalina

Otro de los modelos clásicos es el Adaline, introducido en 1960 por Widrow y Pitt, cuyo nombre

proviene de su acrónimo en ingles Adaptive linear neuron, que posteriormente, pasó a nombrarse

Adalina, Adaptive linear element. Este modelo utiliza una neurona similar a la del perceptrón

pero con función de transferencia de tipo lineal en vez de la función signo o escalón, es decir la

salida de la red es:

1 1 0

p p p

j j i i j j

j j j

S f w x w x w x

(2.12)

La salida de la red es real y no binaria como en el perceptrón, no obstante, la diferencia

fundamental entre estos modelo reside en el algoritmo de aprendizaje:

Al igual que en el perceptrón se dispone de un conjunto de patrones de entrenamiento A ,

compuesto por un vector de entrada iX y su salida asociada iy :

1 1 2 2, , , ,..., ,n nA X y X y X y , donde

i

p

i P

i

p

x

X

x

e iy .

El aprendizaje en este caso incluye el error cometido por la salida de la red para algún patrón

introducido. Este error es medido a través una función denominada función de coste o de error.

La medida de error global que más se utiliza es el error cuadrático medio:

22

1 1 1 0

1 1

2 2

pn n ni i i i i i

j j

i i i j

E E y S X y w xn n

(2.13)

Donde iS X representa la salida de la red para el patrón iX , y se ha incluido el término 1 2

con el fin de simplificar el cálculo de las derivadas, como veremos a continuación. Aunque

generalmente este error es medido globalmente, en el caso de la adalina el cálculo se hace en un

proceso iterativo en el que se van presentando los patrones de aprendizaje uno a uno,

Page 37: Redes Neuronales Artificiales y Estadística

37

2

0

1

2

pi i i

j j

j

E y w x

(2.14)

Y modificando los pesos de la red mediante el descenso por el gradiente de la superficie del error.

La idea del descenso por el gradiente, como muestra la Figura 2.9, buscar los valores para los

pesos sinápticos que minimicen iterativamente la función de error, entonces en cada presentación

de los valores se realizará un cambio en cada peso proporcional a la derivada del error, respecto

del peso, Ecuación 2.14.

Más formalmente, el gradiente es un vector de dirección perpendicular a las curvas de nivel de la

superficie de error y que indica el sentido de crecimiento de la función.

En general, a cada punto de la superficie de error le corresponde un gradiente y la dirección en la

que la pendiente de la función del error crece más rápido es la dirección del gradiente, mientras

que la dirección en la que decrece más rápido es la dirección negativa del gradiente:

i

i j

j

Ew

w

(2.15)

Page 38: Redes Neuronales Artificiales y Estadística

38

Donde es denominada la tasa de aprendizaje y controla el tamaño del cambio de los pesos en

cada iteración. Para el cálculo de la derivada anterior se utiliza la regla de la cadena: aplicando la

regla a la expresión 2.13 queda como sigue:

ii i

i i

i jij j

S XE Ey S X x

w wS X

Que, sustituyendo en 2.15 queda:

i i i

i j jw y S X x (2.16)

La regla de actualización de los pesos definida en la Ecuación 2.16 es una regla supervisada

basada en la corrección del error y conocida como “regla delta”. Finalmente podemos definir el

algoritmo de aprendizaje para la Adalina:

i. Aleatorizar valores para los pesos sinápticos.

ii. Introducir un patrón de entrada iX .

iii. Calcular la salida de la red iS X , compararla con la deseada y obtener la diferencia

i iy S X .

iv. Para todos los pesos multiplicar dicha diferencia por la entrada correspondiente y

ponderarla por , i i i

i j jw y S X x .

v. Modificar el peso restando el valor antiguo la cantidad obtenida en 4.

vi. Si no se ha cumplido algún criterio de convergencia, regresar a 2, si se han acabado los

patrones introducir nuevamente los patrones. Si se ha cumplido el criterio de

convergencia terminar el proceso de aprendizaje

Page 39: Redes Neuronales Artificiales y Estadística

39

Después de haber definido la regla de aprendizaje para la adaline podemos ver las diferencias

entre el perceptrón y la adaline:

Mientras que en el perceptrón la salida es binaria, en el adaline es real.

En el aprendizaje de la adaline existe una medida de cuánto se ha equivocado la red,

mientras que el perceptrón indica sólo si la red se ha equivocado o no.

En el adalina existe un valor que indica la proporción que va afectar el gradiente.

A continuación veremos un ejemplo para entender cómo funciona este modelo. Supongamos que

queremos generar una red adalina que sea capaz de descodificar un número de binario a real, es

claro que sería trivial obtener una red para este tipo de problema pues existe una solución

analítica, pero es sólo para ejemplificar el algoritmo y dar a conocer algunos conceptos.

Los patrones de aprendizaje podrían ser son los siguientes:

En este caso la neurona tendrá tres entradas que serán binarias y una salida real como se

muestra en la figura 2.11.

Binario Decimal

1

ix 2

ix 3

ix iy

0 0 1 1

0 1 0 2

0 1 1 3

1 0 0 4

1 0 1 5

1 1 0 6

1 1 1 7

Page 40: Redes Neuronales Artificiales y Estadística

40

El primer paso para llevar a cabo el algoritmo es aleatorizar los valores para los pesos y elegir un

valor para la tasa de aprendizaje en este caso utilizaremos 0,6 . Los pesos aleatorizados son:

Introducimos el primer patrón y calculamos su salida:

Patrón 1:

La salida de la red no es igual a la que esperamos, entonces debemos aplicar el aprendizaje, según

hemos definido anteriormente:

Luego introducimos el segundo patrón y así sucesivamente hasta el patrón 7, donde se obtiene:

Patrón 7:

7

1x 7

2x 7

3x iy

1 1 1 7

1w 2w 3w

0,5 0,6 0,3 0,2

1

1x 1

2x 1

3x 1y

0 0 1 1

Salida de la red Diferencia

1 0,5 0 0,6 0 0,3 1 0,2 1 0,5S X 1 1( )S X y - 0,5

Pesos 1w 2w 3w

Antes 0,5 0,6 0,3 0,2

1 1 10.6j jw S X y x 0 0 -0,3 -0,3

Después 0,5 0,6 0 -0,1

Page 41: Redes Neuronales Artificiales y Estadística

41

La salida de la red no es igual a la que esperamos, entonces aquí debemos aplicar el aprendizaje,

según hemos definido anteriormente:

Cuando hemos introducido todos los patrones de aprendizaje, se dice que hemos completado una

Iteración o Ciclo. No obstante, los pesos todavía no ajustan correctamente, esto ocurre porque la

regla delta actualiza los peso basándose en los valores actuales “olvidando” los anteriores

valores, las redes que actualizan los pesos de esta manera se les denomina Redes Estáticas.

Intuitivamente notamos que después de haber procesado los siete patrones los pesos actualizados

nos están entregando un mínimo local de la función de error, para encontrar un mínimo global

debemos realizar un gran número de iteraciones hasta que los pesos sean capaces de entregar las

salidas correctas. La siguiente tabla nos entrega el detalle de las siguientes iteraciones:

Iteración Pesos Error por Patrón

Nº 1w 2w 3w 1 2 3 4 5 6 7

1 2,0701 1,5639 0,6056 2,7421 0,5000 0,9000 0,2200 2,3280 -0,1976 0,4995 -0,0131

2 2,4409 2,2439 1,3621 2,3553 -2,3477 -0,8974 1,9825 -0,0547 0,6245 -0,9534 1,0016

3 2,9480 2,5540 1,3857 1,5280 -2,7174 -0,9687 1,4621 0,5382 0,2835 -0,9877 1,0112

4 3,3838 2,5651 1,3061 0,8249 -1,9137 -0,9338 0,9493 0,6629 0,0604 -0,7683 0,7714

5 3,7018 2,4447 1,2016 0,3463 -1,1310 -0,7114 0,5148 0,5879 -0,0539 -0,5000 0,4960

6 3,9000 2,2955 1,1130 0,0702 -0,5479 -0,4623 0,2196 0,4263 -0,0899 -0,2765 0,2705

7 4,0045 2,1676 1,0510 -0,0599 -0,1832 -0,2558 0,0481 0,2643 -0,0848 -0,1220 0,1165

8 4,0467 2,0771 1,0139 -0,1004 0,0089 -0,1131 -0,0337 0,1381 -0,0637 -0,0307 0,0267

9 4,0538 2,0224 0,9954 -0,0947 0,0865 -0,0287 -0,0600 0,0550 -0,0407 0,0140 -0,0165

Salida de la red Diferencia

7 0.5TX W 7

7( ) -0,0131y S X

Pesos 1w 2w 3w

Antes 2,0780 1,5717 0,6134 2,7500

7 7 70.6j jw y S X x -0,0078 -0,0078 -0,0078 -0,0078

Después 2,0701 1,5639 0,6056 2,7421

Page 42: Redes Neuronales Artificiales y Estadística

42

10 4,0446 1,9947 0,9888 -0,0711 0,0993 0,0127 -0,0575 0,0082 -0,0221 0,0294 -0,0307

11 4,0309 1,9845 0,9886 -0,0454 0,0823 0,0270 -0,0436 -0,0130 -0,0094 0,0291 -0,0297

12 4,0183 1,9837 0,9910 -0,0246 0,0569 0,0269 -0,0281 -0,0188 -0,0021 0,0225 -0,0226

13 4,0090 1,9870 0,9941 -0,0105 0,0336 0,0208 -0,0154 -0,0171 0,0014 0,0148 -0,0146

14 4,0031 1,9913 0,9966 -0,0023 0,0165 0,0136 -0,0067 -0,0125 0,0026 0,0082 -0,0081

15 4,0000 1,9950 0,9985 0,0016 0,0057 0,0076 -0,0016 -0,0078 0,0025 0,0037 -0,0035

16 3,9987 1,9977 0,9996 0,0029 -0,0001 0,0034 0,0009 -0,0041 0,0019 0,0010 -0,0009

17 3,9985 1,9993 1,0001 0,0027 -0,0024 0,0009 0,0017 -0,0017 0,0012 -0,0004 0,0004

18 3,9987 2,0001 1,0003 0,0021 -0,0029 -0,0003 0,0017 -0,0003 0,0007 -0,0008 0,0009

19 3,9991 2,0004 1,0003 0,0013 -0,0024 -0,0008 0,0013 0,0004 0,0003 -0,0008 0,0009

20 3,9995 2,0005 1,0003 0,0007 -0,0017 -0,0008 0,0008 0,0005 0,0001 -0,0007 0,0007

21 3,9997 2,0004 1,0002 0,0003 -0,0010 -0,0006 0,0005 0,0005 0,0000 -0,0004 0,0004

22 3,9999 2,0003 1,0001 0,0001 -0,0005 -0,0004 0,0002 0,0004 -0,0001 -0,0002 0,0002

23 4,0000 2,0001 1,0000 0,0000 -0,0002 -0,0002 0,0001 0,0002 -0,0001 -0,0001 0,0001

24 4,0000 2,0001 1,0000 -0,0001 0,0000 -0,0001 0,0000 0,0001 -0,0001 0,0000 0,0000

25 4,0000 2,0000 1,0000 -0,0001 0,0001 0,0000 0,0000 0,0001 0,0000 0,0000 0,0000

26 4,0000 2,0000 1,0000 -0,0001 0,0001 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000

27 4,0000 2,0000 1,0000 0,0000 0,0001 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000

28 4,0000 2,0000 1,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000

29 4,0000 2,0000 1,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000

Se aprecia en la tabla que al correr los ciclos los errores van disminuyendo lentamente, hasta que

en la iteración 28 la red no entrega errores en su respuesta, finalmente, la red ha sido capaz de

aprender. Y el valor de los pesos para que la red entregue todas sus respuestas correctamente es:

El número de iteraciones que tomará la red para converger es relativo y depende en gran manera

de la tasa de aprendizaje . Para valores altos de la red disminuirá rápidamente el error pero

demorará el ajuste final de los pesos será más lento, por otro lado valores pequeños de

producirá el efecto contrario. Un método bastante efectivo es variar la tasa de aprendizaje

dándole el valor t

, donde t corresponde al número de iteración, de esta forma el ajuste final de

los pesos será más rápido. A principio de la década de 1960 estos modelos llamaban la atención

de los investigadores de inteligencia artificial e iniciaba el desarrollo de investigaciones sobre

1w 2w

3w

4 2 1 0

Page 43: Redes Neuronales Artificiales y Estadística

43

estos temas, sin embargo, en 1969 dos investigadores de la universidad de Princeton, Minsky y

Papert publican “Perceptrón: An Introduccion ta computacional geometry” donde ponen a prueba

el perceptrón y la adalina dejando de manifiesto que no eran capaces de resolver problemas

relativamente simples. El motivo por el que estos modelos no entregan buenos resultados en

algunos problemas es sencillo: en problemas de clasificación la Adalina solo será capaz de

clasificar correctamente si los conjuntos son linealmente separables, ya que, al igual que el

perceptrón crea un hiperplano discriminante.

Uno de los ejemplos más estudiados en la literatura en crear una red que sea capaz de codificar la

función lógica “O exclusivo”, cómo sabemos, la tabla de verdad para esta función lógica es:

Y si llevamos a la gráfica esta función, podemos apreciar que es imposible obtener una recta que

sea capaz de discriminar entre estas dos categorías. Una solución a este problema podría ser un

elipsoide o dos rectas. Figura 2.12.

A B “O ex”

0 0 1

0 1 0

1 0 0

1 1 1

Page 44: Redes Neuronales Artificiales y Estadística

44

Sin embargo, estos tipos de solución son imposibles de generar con un perceptrón o con la

Adalina. Una posible solución, propuesta por los mismos Minsky y Papert, fue concatenar tres

perceptrónes A, B, C, como en la Figura 2.13.

Podemos dar distintos valores a los pesos y será capaz de obtener soluciones correctas, aún

cuando el problema no es linealmente separable. La Figura 2.13 muestra valores para los pesos

sinápticos de los tres perceptrónes concatenados, que hemos marcado de amarillo, cada uno de

estos perceptrónes actúan en conjunto para generar algún tipo de solución en conjunto.

En particular, los pesos dados en la figura 2.14 dan solución a la función O EX, debemos utilizar

con la siguiente tabla de valores para que las salidas sean coherentes con las que obtenemos de un

perceptrón, Ecuación 2.3.

Page 45: Redes Neuronales Artificiales y Estadística

45

Supongamos que introducimos el primer valor ( 1, 1) en la red de la Figura 2.15. El cálculo que

realiza el perceptrón A es, ( 1)( 1) ( 1)1 2 2 y como este resultado es mayor que 0 la

salida del perceptrón A es 1, en el caso del percetron B el cálculo es ( 1)1 ( 1)( 1) 2 2 , que

también es mayor que 0 por lo que la salida del perceptrón B es 1. Por último, la salida final es el

la salida del perceptrón C, que utiliza como valores de entrada las salidas de A y B, obteniendo

0 1 0 1 1 1 que también es mayor que cero por lo que la salida final de esta concatenación de

perceptrónes es 1, o sea, coincide con la salida deseada. El lector puede comprobar que, para los

otros tres patrones de entrada, esta concatenación también entrega una respuesta correcta. La capa

intermedia realiza una proyección de los patrones de entrada en un cubo cuya dimensión viene

dada por el número de unidades de la capa oculta. Se trata de realizar una transformacion en la

que los patrones de entrada resulten separables linealmente de manera que la unidad de salida

pueda realizar una clasificación correcta. Figura 2.10.

Nuevamente, el problema que no supieron solucionar los investigadores de la época fue cómo

realizar el cálculo para los valores de tantos pesos, en primer lugar el teorema de convergencia

A B “O ex”

-1 -1 1

-1 1 -1

1 -1 -1

1 1 1

Page 46: Redes Neuronales Artificiales y Estadística

46

del perceptrón fue desarrollado sólo para una capa y en segundo lugar el algoritmo de la Adalina

permitía calcular el error de la capa de salida, pero no podía saber cuál es el error que cometía la

capa intermedia, por lo que no podía encontrar los valores para los pesos ocultos.

El resultado de todas estas dificultades, sumadas a las críticas de Minsky y Papert, quienes

argumentaban que no existía una forma automática de encontrar el valor de los pesos y que

buscarlos de forma analítica no valía la pena, dieron por estancado el estudio de redes neuronales

por 20 años.

Page 47: Redes Neuronales Artificiales y Estadística

47

Capítulo 3: El perceptrón multicapas y el algoritmo de retropropagación de los errores

Page 48: Redes Neuronales Artificiales y Estadística

48

3.1 El perceptrón multicapa

El perceptrón multicapa (PMC) es una generalización de la Adaline y del perceptrón simple,

nacida a principio de la década los años ochenta. Es la red neuronal más conocida, utilizada y

estudiada en el análisis de datos, y sus aplicaciones son casi ilimitadas. La popularidad del PMC

tiene varias razones, algunas son:

i. Es catalogada como una técnica no paramétrica, evitando así el cumplimiento de algunos

supuestos.

ii. Su adaptabilidad le permite procesar cualquier tipo de variables.

iii. Funciona como un aproximador universal de funciones.

El PMC es una red bastante compleja y aplicarla de una forma inteligente requiere conocer su

funcionamiento y sus limitaciones, es lo que haremos en esta sección.

La arquitectura de un perceptrón multicapa con 1p variables de entrada, 2C capas ocultas cada

una de cp neuronas (con 2,..., 1c C ), y donde todas las conexiones son unidireccionales

como se muestra en la figura 3.1.

Page 49: Redes Neuronales Artificiales y Estadística

49

3.2 Aprendizaje en un PMC

A continuación estableceremos la notación que utilizaremos para entender cómo procesa la

información el perceptrón Multicapa, esta notación también será utilizada en los capítulos

posteriores.

Sea un perceptrón multicapa como el de la figura 3.1. Sean c c

jkW w la matriz de pesos

asociada a las conexiones de la capa c a la capa 1c , para 1,..., 1c C , donde c

jkw representa

la conexión de la neurona j de la capa c a la neurona k de la capa 1c , y sea c c

kU u el

vector de umbrales de la capa c, donde c

ku representa el valor umbral de la capa c , para

2,...,c C . Se denotará como c

ka a la salida o (activación) de la neurona k de la capa c .

Al introducir un patrón de entrada 11,..., pX x x , las neuronas de la primera capa se encargan

de transmitir las variables de entrada recibidas desde el exterior, entonces podemos escribir:

1

k ka x , para 11,...,k p (3.1)

A continuación las neuronas de la capa oculta c de la red procesan la información recibida

aplicando la función de activación f a la suma de los productos de las activaciones que reciben

por sus pesos correspondientes, es decir:

1

1 1

1

cpc c c c

k jk j k

j

a f w a u

, para 11,2,..., ck p (3.2)

Finalmente la salida de la red, es la activación de las capas de salida C

ka , al igual que las salidas

de las capas ocultas la activación de estas neuronas viene dada por la función de activación

aplicada a la suma ponderada de los productos de las entradas por sus correspondientes pesos:

1

1 1

1

CpC C C C

k k jk j k

j

s a f w a u

(3.3)

Page 50: Redes Neuronales Artificiales y Estadística

50

Para 1,2,..., Ci p , donde 1,..., CpS X s s , es el vector de salida de la red para el vector X .

La Figura 3.2 muestra la conexión de una neurona oculta.

Las funciones de activación ya fueron descritas anteriormente. Pero en el caso del perceptrón

multicapa las más utilizadas son la función sigmoidal, más conocida como logística.

1

1

1 xf x

e

, donde [0,1]x (3.4)

y la función tangente hiperbólica

2

1

1

x

x

ef x

e

, donde [ 1,1]x (3.5)

Aunque ambas están relacionadas, pues:

2 12 1f x f x (3.6)

Page 51: Redes Neuronales Artificiales y Estadística

51

Por lo que la elección de una o de otra se elige únicamente en función del recorrido que interese.

Generalmente, la función de activación es común en todas las neuronas de una misma capa, sin

embargo, en ocasiones la función de activación de salida es diferente a las demás, y casi siempre

se utiliza la función identidad.

3.2.1 El Algoritmo de Retropropagación

El aprendizaje del perceptrón es una generalización de la regla delta utilizada en la Adaline y se

denomina “Regla delta Generalizada”. Cuando aplicábamos la regla delta en la Adaline solo

teníamos una capa de salida, introducíamos un patrón a la red y podíamos calcular

inmediatamente el error que cometía y así minimizarlo directamente a través del método del

gradiente descendiente. En el perceptrón multicapa se utiliza la misma idea, pero como se

desconoce el error que comete la salida de las neuronas ocultas, se le atribuye a cada neurona

oculta una parte del error cometido por la salida de la red. Basándose en el valor del error

recibido, se reajustan los pesos de cada neurona. De esta forma el error cometido por la salida de

la red se propaga hacia atrás desde la salida de la red hasta la primera capa oculta, es por eso que

este procedimiento es también conocido como Algoritmo de retropropagacion de los errores

(Backpropagation). A continuación mostraremos esta idea formalmente. Al igual que en los

modelos anteriores se dispone de un conjunto de patrones de entrenamiento, compuesto por un

vector de entrada y su salida asociada:

(1), (1) , (2), (2) ,..., ( ), ( )A X Y X Y X n Y n

, donde 1

11( ) ( ), , ( )P

pX i x i x i e 1( ) ( ), , ( ) C

C

P

pY i y i y i

Utilizamos como función de coste el error cuadrático medio para el i esimo patrón de entrada, el

cual es definido como:

2

1

1

2

CP

k k

k

E i y i s i

(3.7)

Page 52: Redes Neuronales Artificiales y Estadística

52

, donde 1( ) ,...,CpS X i s s es la salida de la red.

3.2.1.1 Cálculo de los pesos de la penúltima capa (capa 1C ) a la capa de salida (capa C )

Para calcular los pesos sinápticos de la capa oculta 1C a la capa C al introducir el i -esimo

patrón de entrada, es decir 1( )C

jkw i , utilizaremos el método del gradiente descendiente que hemos

explicado anteriormente, entonces los pesos se modifican siguiendo la dirección negativa del

gradiente del error:

1 1

1

( )1C C

jk jk C

jk

E iw i w i

w

(3.8)

, donde es la tasa de aprendizaje. Por tanto, para la actualización de dicho parámetro es

necesario evaluar la derivada del error en dicho punto E i , de acuerdo con la expresión del

error (Ecuación 3.7) y teniendo en cuenta, por una lado que las salidas deseadas Y i son

constantes que no dependen del peso y, por otro lado, que el peso 1C

jkw sólo afecta a la neurona

de salida k , ( )ks i , se obtiene que:

1 1

( ) k

k kC C

jk jk

s iE iy i s i

w w

(3.9)

Ahora debemos calcular la derivada de la neurona de salida ks i respecto al peso 1C

jkw . La salida

de la red es la función de activación f aplicada a la suma de todas las entradas por sus pesos,

como se mostró en la Ecuación 2.15:

1

1 1

1

Cpc C C C

k k jk j k

j

s a f w a u

(3.10)

Page 53: Redes Neuronales Artificiales y Estadística

53

Aplicando la regla de la cadena para derivar la composición de dos funciones y teniendo en

cuenta que, de todos los términos de la sumatoria, el único en el que interviene el peso 1C

jkw es

1 1C C

jk jw a , y por lo tanto es el único valor cuya derivada es distinta de cero. De esta forma

obtenemos:

1

1 1 1

11

( )Cp

k C C C C

jk j k jCjjk

s if w a u a i

w

(3.11)

Se define el termino , asociado a la neurona k de la capa de salida (capa C ) y al patrón i

esimo, ( )C

k i , del siguiente modo:

1

1 1

1

( )Cp

C C C C

k k k jk j k

j

i y i s i f w a u

(3.12)

Reemplazando esta expresión en la Ecuación (3.9) el valor de la derivada de la neurona de salida

ks i dado por la Ecuación (3.11), se obtiene que:

1

1

( )( ) ( )C C

k jC

jk

E ii a i

w

(3.13)

Finalmente, reemplazando la derivada del error E i respecto del peso 1C

jkw obtenida en la

Ecuación (3.13) en la Ecuación (3.8), se obtiene la ley iterativa para modificar dicho peso. La

cual toma la forma:

1 1 11 ( ) ( )C C C C

jk jk k jw i w i i a i (3.14)

Para 11,..., Cj p e 1,..., Ck p .

Esta ley de aprendizaje puede ser extendida a los valores umbrales de la capa de salida:

Page 54: Redes Neuronales Artificiales y Estadística

54

1 ( )C C C

k k ku i u i i (3.15)

Para 1,..., Ck p .

3.2.1.2 Cálculo de los pesos de las capas ocultas c , para 1,..., 2c C .

Para explicar el cálculo de los pesos sinápticos de estas capas de la forma más simple posible,

utilizaremos el caso particular de la capa 2C a la capa 1C . Sea 2C

hjw el peso de la conexión la

neurona h de la capa 2C a la neurona i de la capa 1C . Siguiendo el método de descenso del

gradiente, la ley para actualizar dicho peso viene dada por:

2 2

2

( )1C C

hj hj C

hj

E iw i w i

w

(3.16)

en este caso y a diferencia del anterior (pesos hacia la capa de salida), el peso 2C

hjw influye en

todas las salidas de la red, por lo que la derivada del error E i , Ecuación (3.7), respecto de

dicho peso viene dada por la suma de las derivadas para cada una de las salidas de la red, es

decir:

2 21

( ) Cpk

k kC Cihj hj

s iE iy i s i

w w

(3.17)

Para calcular la derivada de la salida ks i respecto del peso 2C

hkw , es decir

2

k

C

hj

s i

w

, es necesario

tener en cuenta que este peso influye en la activación de la neurona influye en la activación de la

neurona j en la capa 1C , 1C

ja , y que el resto de las neuronas en esta capa no dependen de

dicho peso. Por lo tanto, y de acuerdo con la Ecuación (3.3) se tiene que:

11

1 1 1

2 21

cCpjk C C C C

jk j k jkC Cjhj hj

as if w a u w

w w

(3.18)

Page 55: Redes Neuronales Artificiales y Estadística

55

Sustituyendo este valor en la ecuación y de acuerdo a la definición de en el punto anterior, se

obtiene que:

1 1

1 1

1 1 1 1

2 2 21 1 1

( ) C c cC Cp p pj jC C C C C C

k k jk j k jk k jkC C Ci j jhj hj hj

a aE iy i s i f w a u w w

w w w

(3.19)

Para obtener la ley de aprendizaje para el peso 2C

hjw , solo falta derivar la activación de la neurona

j de la capa oculta 1C , 1C

ja , respecto de dicho peso. Aplicando la regla de la cadena a la

ecuación (3.3), dicha derivada es:

2

1

2 2 1 2

21

cC pj C C C C

hj h j hChhj

af w a u a i

w

(3.20)

Se define el valor de para la neurona de la capa oculta C-1, 1C

j i , como:

2

1 2 2 1 2

1 1

C CP PC C C C C C

j hj h j j jk

h i

i f w a u i w

(3.21)

Sustituyendo (3.20) en la ecuación (3.19) y de acuerdo con el valor de 1C

j definido

anteriormente, se obtiene que:

1 2

1

( )( ) ( )C C

j hC

hj

E ii a i

w

(3.22)

De esta forma la ley de aprendizaje para modificar el peso 2C

hjw viene dada por:

2 2 1 21C C C C

hj hj j hw i w i i a i (3.23)

Para 21,2,..., Ch P y 11,2,..., Cj P

Page 56: Redes Neuronales Artificiales y Estadística

56

Al igual que la ley obtenida para modificar los peso de la última capa Ecuación (3.14), en esta

caso también se observa que para modificar el peso de la conexión de la neurona k de la capa

2C a la neurona j de la capa 1C , basta considerar la activación de la neurona de la que

parte la conexión y el termino de la neurona a la que llega la conexión.

La diferencia radica en la expresión del término . Para los pesos de la capa 2C a 1C dicho

término viene dado por la derivada de la función de activación y por la suma de los términos

asociados a las neuronas de la siguiente capa como se indica en la Ecuación 3.21.

En este punto ya es posible generalizar fácilmente la ley dada por la Ecuación (2.23) para los

pesos de la capa c a la capa 1c 1,2,..., 2c C . Para ello basta tener en cuenta la activación

de la que parte la conexión y el término de la neurona a la que llega la conexión. Este término

se calcula utilizando la derivada de la función de activación y la suma de los términos de la

neurona a la que tenga conexión. Este término se calcula utilizando la derivada de la función de

activación y la suma de los términos se calcula utilizando la derivada de la función de activación

y la suma de los términos de las neuronas de la siguiente capa. De este modo:

2 2 1 21C C C C

hj hj j hw i w i i a i

Para 1,2,..., ch P , 11,2,..., cj P y 1,2,..., 2.c C

Donde c

ha i es la activación de la neurona h de la capa c para el patrón i y 1c

j i viene

dado por la siguiente expresión:

1

1 2

1 1

c cP Pc c c c c c

j hj h j k jk

h k

i f w a u i w

(3.24)

Tomando a los valores umbrales como un nuevo peso asociado a una variable de entrada igual a

1, es posible generalizar la regla anterior:

1 1 11c c c

j j ju i u i i (3.25)

Page 57: Redes Neuronales Artificiales y Estadística

57

Para 11,2,..., cj P , y 1,2,..., 2.c C

Como vemos en las formulas presentadas anteriormente, el cálculo de lo valores de , Ecuación

(3.24), para cada neurona requiere el cálculo de la derivada de la función de activación que se

haya definido. Las funciones de activación más utilizadas son de tipo tangente hiperbólica o

logística. Al utilizar como función de activación la función logística, Ecuación (3.5):

1

1

1 xf x

e

, donde 0,1x

Se obtiene que:

1 2

1 1

1 11

xx

x xx

ef x e

e ee

(3.26)

Por tanto:

1 1 11f x f x f x (3.27)

Con el resultado obtenido en la ecuación (3.27) podemos obtener las valores de asociados a las

neuronas de salida y a las neuronas ocultas.

Para las neuronas de salida los valores de , Ecuación (3.12), viene dado por:

1

1 1

1

( ) 1Cp

C C C C

k k k jk j k k k k k

j

i y i s i f w a u y i s i s i s i

(3.28)

Para 1,2,..., Ck P .

Y para las neuronas ocultas, Ecuación (3.24) la expresión es:

Page 58: Redes Neuronales Artificiales y Estadística

58

1 1

1 2 2

1 1 1

1c c cP P P

c c c c c c c c c c

j hj h j k jk h h k jk

h k k

i f w a u i w a i a i i w

(3.29)

Para 11,2,..., cj P y 1,2,..., 2.c C

Si se utiliza la función tangente hiperbólica, Ecuación (2.17), como función de activación

2

1

1

x

x

ef x

e

, donde 1,1x

Teniendo en cuenta que esta función tangente hiperbólica está relacionada con la función

logística, de la siguiente forma, Ecuación (3.7):

2 12 1f x f x

La derivada de 2f x es:

2 1 12 1f x f x f x (3.30)

Fácilmente el lector puede ver que i aplicamos como función de activación la función tangente

hiperbólica, la expresión de será igual a la obtenida utilizando la función de activación

logística premultiplicada por 2.

A menudo se suele utilizar en la capa de salida la función identidad, es decir f x x . En este

caso, la derivada de la función de activación es simplemente 1. Por lo que la expresión de para

la capa de salida es:

( )C

k k ki y i s i

Para 1,2,..., Ck P .

Page 59: Redes Neuronales Artificiales y Estadística

59

Podemos explicar en palabras todo el procedimiento anterior, lo que hacemos es tomar un vector

aleatorio 0W del espacio r donde r es el número total de parámetros de la red, pesos más

umbrales. El proceso señalado anteriormente desplaza iterativamente el vector de parámetros

1W i siguiendo la dirección negativa del gradiente del error en dicho punto, alcanzando así un

nuevo punto 1W i en ese espacio r, que estará más próximo al mínimo de la función del error

o coste. El proceso sigue hasta que se encuentre un mínimo de la función error, lo cual sucederá

cuando 0E

W

, ya que de acuerdo a la Ecuación de actualización de los pesos utilizada,

1E

W i W iW

En ese punto los cambios en los parámetros dejaran de ser significativos de una iteración a otra y

entonces el proceso de aprendizaje terminará.

Page 60: Redes Neuronales Artificiales y Estadística

60

3.3 Construcción del Perceptrón Multicapa

Ahora bien, hemos conocido el procedimiento para estimar nuestros parámetros en un perceptrón

multicapa, sin embargo ahora surgen variadas preguntas sobre en el proceso de construcción de

una red tipo Backpropagation.

Lo primero a tener presente en esta materia es sobre las variables utilizadas, para obtener una

aproximación funcional óptima se deben elegir cuidadosamente las variables que utilizaremos, la

inclusión de variables irrelevantes o que covarien entre sí puede provocar un sobreajuste

innecesario en el modelo neuronal [Montaño, 02] [Jiménez, 02].

Para evitar esto podemos utilizar algún análisis de componente principales para seleccionar

variables relevantes, en algunos problemas el uso de ratios también es válido, y un análisis de

matriz de varianzas covarianzas.

También es importante recordar que el conjunto de patrones debe ser divido en dos partes: la

muestra de aprendizaje y la muestra validación.

La muestra de aprendizaje será utilizada para generar el modelo y la muestra de validación para

ver cómo responde frente a nuevos valores no utilizados en la estimación de los parámetros

[Jiménez, 02].

Ya que tenemos las variables pasamos a definir la estructura entrena de la red, para definir la

estructura o topología de la red primero debemos tener en cuenta dos cosas: el número de

variables explicativas y el número de variables respuesta. La primera capa de la red tendrá tantas

neuronas de entrada como variables de entrada tenga nuestro problema, en el caso de que las

variables sean cualitativas podemos creamos una neurona por cada categoría y codificarlas con

los valores 0 y 1. Por ejemplo, si una de las variables es “Estado Civil” con las opciones

“Casado”, “Soltero”, “Separado” y “Viudo”. Entonces para esta variable creamos cuatro

neuronas cuyos valores de entrada serán:

Valores

Categorías Neurona 1 Neurona 2 Neurona 3 Neurona 4

Soltero 1 0 0 0

Casado 0 1 0 0

Separado 0 0 1 0

Viudo 0 0 0 1

Page 61: Redes Neuronales Artificiales y Estadística

61

Si la variable es dicotómica procedemos de la misma forma, pero solo con dos neuronas.

También podríamos simplemente utilizar solo una neurona con distintos valores numéricos. Pero

utilizar valores 0 y 1, producirá una actualización de los pesos más eficaz, debido que al

actualizar los pesos, por regla de la cadena, el cambio de cada peso siempre estará multiplicado

por la variable de entrada, de este modo si la variable tiene el valor “Viudo” el cambio solo

afectará a los pesos de la neurona 4, pues para las otras tres neuronas la variación de sus pesos

será 0. En cuanto a las neuronas de salida número de estas serán igual al número de variables de

respuestas, en caso en que la variable respuesta es dicotómica, entonces es conveniente tener

como función de tipo escalón y solamente una neurona de salida. Si la variable es cuantitativa

bastará una neurona por cada variable. Para determinar el número de capas y neuronas ocultas,

estas dependen del tipo de problema que enfrentemos.

Para problemas de clasificación se muestra un esquema, Figura 3.3de cómo son las regiones de

decisión que crea una RNA en función a su topología red posee una única capa da lugar a

hiperplanos discriminantes, si posee dos capas de lugar a regiones poligonales convexas y si

posee más de dos capas las regiones poligonales son no convexas [Bishop, 95] .

.

Page 62: Redes Neuronales Artificiales y Estadística

62

Para problemas de predicción y clasificación la teoría nos provee una salida a muchos problemas

que enfrentemos con estos modelos, este es el denominado teorema de aproximación universal

El teorema de aproximación universal de las RNA fue presentado en forma general por Hornik en

1990, e indica que cualquier función continúa definida en un intervalo cerrado puede ser

expresada como una red neuronal con al menos una capa oculta. [Jiménez, 02], [Freeman y

Skapura, 93], [Peña, 02], [Montaño, 02], [Bishop, 95] y [Del Brío y Sanz, 02].

Esta propiedad convierte al perceptrón multicapa en una herramienta de propósito general,

flexible y no lineal. Este resultado convierte a este tipo de redes en funciones discriminantes

universales. Por último, este teorema es un teorema existencial, es decir, establece existencia de

una red que nos proporcione una buena aproximación a muchos problemas, pero no nos entrega

ninguna idea de la arquitectura de la red, del número de capas ni del número de neuronas que la

red deba poseer.

Page 63: Redes Neuronales Artificiales y Estadística

63

3.4 Generalización en un perceptrón multicapa

A la hora de evaluar el comportamiento de un perceptrón multicapa, no solo es importante saber

si la red ha aprendido de los patrones utilizados en el proceso de aprendizaje, sino que también es

imprescindible conocer cómo se comporta la red al introducir nuevos patrones que no se han

utilizado en el entrenamiento.Este es un problema que se produce por el sobre ajuste del modelo

y es muy común en las redes neuronales debido a la alta parametrización de los modelos, un mal

control del número de parámetros tendrá como consecuencia que el modelo construido sea

excesivamente especifico y que se pierda la capacidad de generalizar ante nuevas observaciones.

Los efectos de ajuste y sobreajuste podemos apreciarlos en la figura 3.4, los podemos comparar

visualmente con un ajuste óptimo.

Cuando hay un sobreajuste la red neuronal, como hemos dicho no será capaz de generalizar ante

nuevos patrones de entrada, debido a que en una primera fase la red extraerá las características

más importantes de los datos, pero a medida a que el entrenamiento de los pesos continua, la red

va aprendiendo hasta las características más sutiles de los datos, hasta llegar a un estado

denominado de optimalidad donde la red comenzará a ajustar el ruido, y posteriormente

predecirá erróneamente los patrones del conjunto de validación. El resultado es un modelo que ha

“memorizado” los datos por lo que no es capaz de realizar predicciones. Existen algunas técnicas

para enfrentar este problema y tratar de encontrar “el mejor modelo neuronal”, y las

describiremos a continuación.

Page 64: Redes Neuronales Artificiales y Estadística

64

3.4.1 Validación Cruzada

Este método consiste en tener dos grupos de patrones, uno denominado patrones de

entrenamiento y el otro denominado patrones de validación. A medida que la red se entrena y se

estiman los pesos con los patrones de entrenamiento, se detiene momentáneamente el

entrenamiento y se utilizan los patrones de validación para conocer el error de generalización. Si

hacemos esto cada vez que se termina un ciclo o iteraciones podemos generar un gráfico como el

de la figura.

Cuando el error de validación alcance un mínimo es un punto optimo, si continuamos iterando el

error de aprendizaje irá disminuyendo mientras que el error de validación aumentará casi

exponencialmente. Esta idea es un poco idealizada, en la práctica tendremos limitaciones

computacionales para general este grafico, pero siguiendo la misma idea podemos darle a la red

un conjunto de cotas para el error de aprendizaje (por ejemplo 0.5%, 1%, 6%, 5%, 8%, 10%),

para cada uno de estos valores evaluaremos los patrones de validación, y nos quedaremos con

aquellos pesos donde el error de validación sea mínimo. [Del Brío y Sanz, 02] [Isasi y Galván,

04] y [Montaño, 02].

Page 65: Redes Neuronales Artificiales y Estadística

65

3.4.2 Técnica de regularización: decaimiento de los pesos (Weight Decay)

Otra técnica famosa es la técnica de regularización, esta técnica es explicada ampliamente en

[Bishop, 95], y es un método para encontrar funciones de ajuste suaves penalizando la función de

costo E , que en el caso del perceptrón multicapa es la suma cuadrada de los errores. La forma de

penalizar la función de costo es agregando un término de penalización , es decir:

E E

Donde es conocido como coeficiente de regularización y controla el grado de influencia del

regulador . La idea es la siguiente: si la red sobreajusta la muestra producirá un pequeño valor

de E , pero un gran valor de , por el contrario si subajusta produce un pequeño valor de

pero una gran valor de E . Cuando el aprendizaje de los `parámetros se realiza minimizando E ,

se obtiene una solución de compromiso entre el ajuste de los datos y la suavidad de la solución.

Cuando nos referimos al decaimiento de los pesos es cuando usamos como regularizador la suma

de todos los pesos y sesgos de la red, es decir:

2

i

i

w

El decaimiento de los pesos es una técnica utilizada para reducir la arquitectura de la red lo que

realiza básicamente es que durante el proceso de aprendizaje se deja tender los pesos poco a poco

a cero, para que aquellos que no sean actualizado periódicamente se anulen y tiendan a

desaparezcan, ya que el sobre ajuste está asociado a valores de los pesos relativamente grandes

[Bishop, 95], [Montaño, 02], [Del Brío y Sanz, 02], [Isasi y Galván, 04] y [Jiménez, 02] .

Page 66: Redes Neuronales Artificiales y Estadística

66

3.5 Comentarios finales sobre la construcción del perceptrón multicapa

Finalmente es necesario definir otros parámetros como la tasa de aprendizaje y el número de

iteraciones que utilizara el entrenamiento. Ambos parámetros siempre van a depender del

problema a resolver y será necesario realizar varias simulaciones previas para fijarlos. Este es un

ejercicio más que nada hecho a prueba y error. En el caso del parámetro el análisis

experimental nos recomienda que la tasa de aprendizaje debe ser cercana a 1, por ejemplo 0.9.

[Jiménez, 02]. Finalmente debemos agregar que la construcción de un modelo de RNA (así como

en las técnicas estadísticas), debe guiarse por el principio de parsimonia, el que puede sintetizarse

de la siguiente forma:

“Si varias redes tienen el mismo comportamiento frente a un conjunto de observaciones

muestrales, la más simple de las redes proporcionará (en promedio) la mayor capacidad de

generalización”

Page 67: Redes Neuronales Artificiales y Estadística

67

Capítulo 4: Redes neuronales y modelos Estadísticos

Page 68: Redes Neuronales Artificiales y Estadística

68

4.1 Redes neuronales y modelos Estadísticos

En los años ochenta, después del resurgimiento de las redes neuronales, los investigadores de

RNA intentaban vender la idea de que los modelos neuronales habían generado una técnica

novedosa y eficaz de resolver problemas de clasificación y predicción, que podían aportar

resultados superiores a las técnicas tradicionalmente utilizadas. Sin embargo, a lo largo de toda la

década de los noventa, cuando las redes neuronales ya contaban con la aprobación del mundo

científico, una serie de trabajos prácticos y experimentales se centraron en comparar los métodos

estadísticos tradicionales con los modelos neuronales. Los trabajos experimentales no son

concluyentes [Pitarque, Ruiz y Roy, 00], mientras que los trabajos teóricos ponen en manifiesto

la similitud, y en muchos casos la identidad entre ambas técnicas.

4.1.1 Terminología de redes neuronales y estadística

Uno de los aspectos que ha provocado la idea errónea acerca de la diferencia entre RNA y la

Estadística es la terminología utilizada en la literatura de ambos campos. Esto se debe a que el

origen de las RNA se debe principalmente al desarrollo de la Inteligencia Artificial, su fuerte

inspiración biológica y también de otros aportes de investigadores de múltiples disciplinas.

Terminología Estadística Terminología RNA

Observación Patrón

Muestra Datos de entrenamiento

Muestra de validación Datos de validación, test

Variable explicativas Variables de entrada

Variable de respuesta Variable de salida

Modelo Arquitectura

Residual Error

Error Aleatorio Ruido

Estimación Entrenamiento, Aprendizaje

Interpolación, Extrapolación Generalización

Interacción Conexión funcional

Coeficientes Pesos de conexión

Constante Peso Umbral

Regresión y Análisis Discriminante Aprendizaje Supervisado

Reducción de Datos Aprendizaje no Supervisado

Análisis Cluster Aprendizaje Competitivo

Page 69: Redes Neuronales Artificiales y Estadística

69

En conclusión, los modelos neuronales utilizan términos diferentes para nombrar conceptos

estadísticos ya conocidos. La tabla entrega un resumen de la equivalencia en la terminología

Estadística y de RNA [Montaño, 02].

Además de esta similitud en la terminología muchos métodos estadísticos clásicos han sido

reescritos, muchas veces de forma no consciente como redes neuronales artificiales. Según

[Martín y Del Rosario, 07] cualquier tipo de regresión o modelo de análisis multivariado puede

estructurarse como una red neuronal.

Una revisión a los trabajos prácticos presentes en nuestra bibliografía muestra que el trabajo con

redes neuronales tienen un enfoque predictivo, a diferencia de los modelos estadísticos, que

además proveen un fuerte componente explicativo. La mayoría de las veces la cantidad de

parámetros involucrados en las redes neuronales no permiten a los investigadores un análisis

claro sobre la sensibilidad de las variables independientes involucradas, en otras palabras, los

pesos estimados por la red neuronal artificial no son susceptibles a una interpretación practica. Es

por eso que la comprensión de los modelos de redes neuronales como modelos estadísticos nos

permite una mejor comprensión de los parámetros de las RNA.

Otro punto interesante a analizar es el cumplimiento de las condiciones Gauss-Markov en los

modelos de redes neuronales. Como hemos visto las redes neuronales utilizan algún criterio de

aprendizaje sin tener en cuenta el tipo de distribución de los datos ni la dependencia funcional de

las variables, sin embargo en [Bishop, 95], [Matín y Del Rosario, 07] y [Montaño, 02], se plantea

que los modelos neuronales asumen exactamente las mismas hipótesis que los modelos

estadísticos, pero lo que sucede es que los estadísticos analizan las consecuencias del

incumplimiento de tales supuestos, mientras los investigadores de RNA simplemente los ignoran.

A continuación, analizaremos los puntos expuestos anteriormente comparando algunas técnicas

estadísticas con modelos de redes neuronales, específicamente con el perceptrón multicapa,

explicado en capítulos precedentes.

Page 70: Redes Neuronales Artificiales y Estadística

70

4.1.2 Redes neuronales artificiales y regresión

La regresión es utilizada para modelar la relación entre variables. La variable independiente,

covariable o regresores, en la literatura estadística es denotada como ix. Estas variables son

controladas u observadas por el experimentador. La respuesta o variable dependiente es

denotadas por y . El objetivo de la regresión puede ser clasificar o predecir la respuesta y a

partir de las covariables ix. La forma general del modelo de regresión adoptada en 1989 por

McCullagh and Neber

0

N

i i

i

x

Donde

h

E y

Aquí h es la función link, i son los coeficientes, N es el número de variables covariables, y

0 es el intercepto. Este modelo tiene tres componentes:

i. Un componente aleatorio de la variable respuesta y , con media y varianza 2 .

ii. Un componente sistemático que relacione la respuesta a un predictor lineal 0

N

i i

i

x

.

iii. Una función link que relaciones la media al predictor lineal h .

El modelo lineal generalizado se reduce al modelo de regresión múltiple si asumimos que el

componente aleatorio tiene una distribución normal con media cero y varianza 2 y

especificamos la función link h como la función identidad. El modelo es entonces:

0

1

N

p i pi p

i

y x

Page 71: Redes Neuronales Artificiales y Estadística

71

Dónde 20,p N . El objetivo de la regresión es estimar los coeficientes i que minimicen

la suma cuadrada de los errores,

2

1 1

n N

p i pi

p i

E y x

Para estimar los coeficientes, debemos tener un conjunto de datos que incluyan las variables

independientes y los valores conocidos de la variable dependiente, similar al conjunto de

entrenamiento que necesitamos en una red neuronal que utilice aprendizaje supervisado. Este

problema es equivalente a una red neuronal simple donde las variables independientes

corresponden a las entradas de la red neuronal y la variable respuesta a las salidas de la neurona.

Los coeficientes corresponden a los pesos en la red neuronal, estimados por el algoritmo de

retropropagación y donde la función activación de la red es la función identidad, y pueden

interpretarse de la misma forma [Montaño, 02] [Sarle, 94] [Warner y Misra, 96], Figura 4.1:

En el caso de tener k neuronas de salida como muestra la figura 4.2. Entonces la red da origen a

k regresiones lineales múltiples cuyos coeficientes son los pesos de la red y cuyos términos

independientes son los sesgos de los nodos de salida [Warren, 94].

Page 72: Redes Neuronales Artificiales y Estadística

72

Para visualizar este resultado teórico se simularon seis muestras aleatorias de tamaño 100n , las

tres primeras obtenidas de ecuaciones lineales y las otras tres de ecuaciones no lineales, además

se contaminaron con valores simulados de una variable error, con distribución normal de media

cero y con tres valores diferentes de variabilidad. Estos niveles los hemos definido como “Bajo”,

“Medio” y “Alto”. Es decir 2~ 0,ij jN con 1 0.5 , 2 1 y 3 3 . El objetivo de este

experimento será establecer cómo responde la red dependiendo de la linealidad del problema y

que tan contaminados están los datos. Las seis muestras simuladas son las siguientes:

Muestra 1: 2

1 1 22 0.5 1.5 ~ 0,0.5ijm x x N

Muestra 2: 2

2 1 22 2.0 3.0 ~ 0,1ijm x x N

Muestra 3: 2

3 1 22 3.0 1.0 ~ 0,3ijm x x N

Muestra 4: 2 2

4 1 21.5 5 2.0 ~ 0,0.5ijm x x N

Muestra 5: 2 2

5 1 21.2 3.0 0.5 ~ 0,1ijm x x N

Muestra 6: 2 2

6 1 2 23.0 0.5 1.5 ~ 0,3ijm x x x N

Page 73: Redes Neuronales Artificiales y Estadística

73

Donde los vectores 1X y 2X se han elegido de forma arbitraria números entre 0 y 1 para formar

la parte deterministica de cada muestra, los valores de ruido se han creado de forma aleatoria en

R, de esta forma podemos obtener cada im .

Al aplicar en R cran (Apéndice A) un modelo de regresión múltiple para cada muestra por

separado y un modelo de red neuronal artificial con dos neuronas de entrada y seis de salida,

(2,6)R , es decir una RNA monocapa con dos neuronas en la capa de entrada, seis neuronas en la

capa de salida, con funciones de activación lineal y optimizada con el método de

retropropagacion de los errores, se obtienen los siguientes resultados:

Tabla 4.1. Resumen de los modelos de regresión múltiple aplicados a las seis muestras.

.Cte 1x 2x

2

ajR

ANDEVA F

valor p

1,897 0,540 1,652 0,61 76,89 410

1,488 2,068 3,592 0,60 72,44 410

2,945 3,062 -0,551 0,06 4,614 410

0,576 5,187 2,026 0,89 406,5 410

0,610 3,062 1,090 0,465 44,15 410

3,590 0,283 0,205 0.001 0,067 0,9351

Gráfica 4.2. Pesos asociados a la red (2,6)R .

1,90 0,55 1,66

1,50 2,05 3,57

2.90 3,04 0,57

0.58 5,20 2,03

0,70 3,04 1,07

3,68 0,27 0,20

W

Page 74: Redes Neuronales Artificiales y Estadística

74

Las soluciones aportadas por la RNA coinciden casi a la perfección en todos los casos con el

modelo de regresión lineal independiente del nivel de ruido de los datos muestrales y que dichos

datos provengan o no de una expresión lineal, tal como dice la teoría. Las RNA aproximaron bien

a las ecuaciones deterministicas empleadas para generar las seis muestras. Como era de esperar

los primeros tres casos ofrecen buenas estimaciones y aún el caso 4. Por otro lado los casos 5 y 6

no aportan buenas estimaciones, a pesar de que en el caso 5 el análisis de varianza detecta

linealidad del modelo.

Por otro lado, si consideraremos la situación en que la variable observada y es una variable

binaria y un vector 1( ,..., )px x x de variables regresoras o covariables para cada uno de los n

individuos el modelo utilizado es la regresión logística.

La regresión logística relaciona y con 1( ,..., )px x x asumiendo que:

0

1

1p

i i

i

P y x x

Donde 1 1 expu u representa a la función logística. Los desconocidos coeficientes

de de regresión i , que deben ser estimados a través de los datos, son directamente interpretados

como log-odd ratios o, en términos de exp i como odd ratios.

La estimación de 0 ,..., p es usualmente basada en el principio de máxima verosimilitud,

o equivalentemente, maximizando el logaritmo de la función de máxima verosimilitud.

1

log , 1 log 1 ,n

i i i i

i

L y x y x

Donde ,i ix y denota las observaciones de la muestra

El estimador máximo verosímil de ̂ puede obtenerse resolviendo las ecuaciones máximo

verosímil para 1,...,j p que en el caso de la regresión logística son [Schumacher, Roßner,

Vach, 96-1]

Page 75: Redes Neuronales Artificiales y Estadística

75

1

, 0n

ip i i

ip

Lx y x

Mientras la segunda derivada de la función de log máxima verosimilitud es

2

1

, 1 ,n

ip ik i i

ip k

Lx x x x

Tomando a L como el vector de primeras derivadas y a 2L la matriz de segundas

derivadas, el método de Newton-Raphson, que es utilizado comúnmente para encontrar las

estimaciones máximo verosímil de la regresión logística, nos entrega la siguiente fórmula para ̂

1

2ˆ ˆ ˆ ˆ1v v L v L v

Para 0,...v y con ˆ 0 es un valor de partida adecuado.

Finalmente, para un individuo con vector de covariante x la probabilidad 1P y x puede ser

predicha por

0

1

ˆ ˆ ˆˆ ,p

j j

j

x x

Podemos encontrar un método análogo a la regresión logística mediante una red neuronal simple,

es decir sin capa oculta, donde la función de salida sea la función logística:

0

1

0

1

1,

1 exp

p

j jpj

j j

j

f x w w x

w w x

Page 76: Redes Neuronales Artificiales y Estadística

76

Al utilizar el algoritmo de retropropagacion de los errores la estimación de los pesos de la red es

análoga a la estimación maximoverosimil de los coeficientes de regresión logística por

intermedio del Las iteraciones de Newton Rapshon, y pueden ser interpretados de la misma forma

[Schumacher, Roßner, Vach, 96-1],[Sarle, 94] y [Montaño, 02].

Aunque los trabajos prácticos encontrados en nuestra bibliografía utilizan siempre redes

neuronales con una o dos capas ocultas, el estudio de estos dos casos particulares, la regresión

lineal y la regresión logística con redes unicapa, nos entrega una pincelada de cómo un

conocimiento estadístico nos ayudará a mejorar nuestra interpretación de los pesos de la red

neuronal.

Cabe señalar que si bien el uso del modelo de regresión asume una relación funcional entre las

variables, el uso de redes neuronales no lo asume y son los datos los que definen la forma

funcional, (lo que se conoce como método no paramétrico), en cierto sentido se deja que los datos

hablen por si mismos mientras se entrena la red.

Esto último, demuestra el real poder de una red neuronal. Como mencionamos anteriormente las

redes neuronales con al menos una capa oculta tienen la característica de ser un aproximador

universal de funciones, debido a esto una RNA es comúnmente utilizada cuando se desconoce la

relación entre las variable dependientes e independientes.

En el caso de conocer la relación entre las variables es recomendable utilizar un modelo de

regresión, ya que la ventaja de asumir una forma funcional, o de utilizar un modelo paramétrico,

es que permite el uso de diferentes pruebas.

En el caso de la regresión, permite realizar test estadísticos para cada uno de los coeficientes del

modelo y también permite comparaciones entre modelos, para ver cual presenta una mejor

bondad de ajuste.

Una red neuronal artificial nunca revelará claramente la relación entre las variables independiente

y dependientes, termina siendo imposible interpretar tal cantidad de parámetros asociados a este

modelo no lineal, además envuelve una serie de dificultades, que ya hemos analizado

anteriormente, tales como la elección del número de neurona ocultas, el valor del la tasa de

aprendizaje, la función de costo, y decidir bajo qué criterio se debe detener el entrenamiento, este

es un proceso experimental usando generalmente el método de prueba y error, lo que consume

una gran cantidad de tiempo.

Page 77: Redes Neuronales Artificiales y Estadística

77

Para ejemplificar lo anterior, podemos tomar el problema de una regresión lineal simple.

Supongamos que tenemos una función:

1.5 2y x

A esta función le adicionamos un término de error, en este caso 50 valores que provengan de una

distribución normal de media 0 y varianza 5.

Los valores de x también serán seleccionados en forma aleatoria, en el rango 30,80 . Así

obtendremos:

10 2i i iy x e

Para 1,...,50i y donde 0;5ie N .

Aplicando un modelo de regresión lineal simple: E y x x

Tenemos las siguientes estimaciones 11,91 y 1,95

Page 78: Redes Neuronales Artificiales y Estadística

78

Podemos resolverlo también con una red neuronal, por ejemplo con una red del tipo (1,4,1)R , es

decir, una neurona de entrada, cuatro neuronas en la capa oculta y una neurona de salida,

utilizando el algoritmo de aprendizaje de retropropagacion de los errores, con funciones

sigmoideales en la capa de oculta y función de salida identidad.

La construcción de este tipo de arquitectura no es al azar, incluso en recomendada en algunos

textos y de acuerdo al teorema de aproximación universal podríamos modelar sin tener grandes

dificultades, sin embargo al utilizar esta solución subyace la idea del desconocimiento de la

relación entre las variables, que a un ojo crítico de la grafica parece clara al apreciar los puntos

contaminados en la Figura 4.3.

Utilizando redes neuronales vemos como se realizarán cálculos complejos si pensamos que el

problema es complicado cuando, de hecho, es bastante más sencillo.

Si generamos un conjunto de validación de 100 datos, y aplicamos la regresión lineal y las redes

neuronales, obtenemos como suma cuadrado del error 212.384 para la regresión lineal y 216.890

para las redes neuronales, los dos modelos son básicamente iguales en cuanto a la suma cuadrada

del error. Pero la regresión es mucho más rápida de desarrollar y más fácil de interpretar, no así la

gran cantidad de parámetros de la red neuronal.

Finalmente, cabe destacar que aunque la red neuronal no asumió ninguna forma funcional, aun

así obtuvo resultados tan buenos como la regresión lineal. Como segundo ejercicio podemos

analizar una relación más compleja, por ejemplo:

920exp ln 1.2 0.1 2ix

i i iy x e

Donde 0;0.02ie N , para 1,...,100.i

Los valores de x serán seleccionados aleatoriamente en el intervalo 0,1 . El resultado se aprecia

en la Figura 4.4.

Page 79: Redes Neuronales Artificiales y Estadística

79

Este problema es más difícil de modelar con técnicas de regresión y se requiere alguna

transformación de variables, seguramente logarítmica. El uso de la red neuronal artificial surge

como una buena alternativa en estos casos.

Page 80: Redes Neuronales Artificiales y Estadística

80

4.2 Redes neuronales y problemas de clasificación

Esta sección tiene por objetivo comparar la eficacia, en problemas de clasificación, de las redes

neuronales artificiales frente a otras técnicas, propias de la estadística, en algunos juegos de datos

reales utilizados frecuentemente en la literatura especializada que se encuentran disponibles en

Internet para uso libre y en algunas muestras generadas para este experimento. El apéndice B

detalla las muestras reales utilizadas en este análisis experimental. Los modelos estadísticos que

compararemos son: regresión logística (cuando la variable de clasificación sea binaria), árboles

de regresión y clasificación (CART) y el método de los K vecinos más cercanos (para los 3 y 5

vecinos más cercanos), utilizamos estas técnicas simplemente porque en la actualidad son

técnicas muy populares y utilizadas con frecuencia en estudios de distinta índole. Por otro lado, el

modelo de RNA utilizado será el perceptrón multicapa, con una capa oculta optimizada a través

del algoritmo de retropropagacion de los errores y utilizando el decaimiento de los pesos;

utilizamos este modelo pues es el que hemos estudiado en capítulos anteriores y cabe destacar

que es el tipo de red artificial más utilizada en el análisis de datos. Para llevar a cabo el

experimento cada muestra, real o experimental es dividida en dos partes: una muestra de

aprendizaje y una muestra de validación1: la muestra de aprendizaje será utilizada para generar y

entrenar los distintos modelos y la muestra de validación será utilizada para ver que tan efectivo a

resultado el modelo. Para indicar la bondad de los ajustes de los distintos modelos utilizaremos

una estimación de la tasa de error verdadera, llamada tasa de error aparente la cual definimos a

continuación. La tasa de error verdadera es la probabilidad de clasificación incorrecta de una

observación, es decir

1

1 1 /k

i i

i

tev p error p acierto p x C p C dx

Donde iC son las distintas clases y / ip x C es la probabilidad asociada a cada clase.

Claramente este error es difícilmente calculable, por lo tanto utilizaremos la tasa de error

aparente (TEA), y que corresponde a la proporción de observaciones mal clasificadas en la

muestra de validación y que mostraremos a través de la denominada matriz de confusión.

1 Suele utilizarse dos tercios de la muestra como datos de entrenamiento y un tercio como muestra de validación.

Page 81: Redes Neuronales Artificiales y Estadística

81

La matriz de confusión es una herramienta que utilizamos en el análisis multivariado que permite

visualizar en una tabla de contingencia la distribución de los errores cometidos por un

clasificador, para lo cual se cruza la clasificación predicha por el modelo con la clasificación real,

es decir

Matriz de Confusión 1C 2C

kC

Total

1C 11n

12n 1kn

1.n

2C 21n

22n 2kn

2.n

kC 1kn

2kn kkn

.kn

Total .1n .2n

.kn

n

Donde

ijn Corresponde al total de observaciones que el clasificador asigna a iC siendo de la clase jC .

.in Corresponde al total de observaciones que el clasificador asigna a iC .

.in Corresponde al total de observaciones que pertenecientes realmente a iC .

De esta forma, los valores que se encuentren fuera de la diagonal son el total de observaciones

mal clasificadas. Esta matriz nos permitirá obtener la información acerca de las probabilidades de

clasificación incorrecta en la muestra de validación, la tasa de error aparente (TEA).

Page 82: Redes Neuronales Artificiales y Estadística

82

4.2.1 Análisis sobre muestras reales

En este análisis experimental utilizamos algunas muestras reales encontradas en Internet, y que

son utilizados en muchos estudios de comparación, además están a disposición para que cualquier

investigador las utilice.

Un sitio web donde se puede descargar estos juegos de datos es en el departamento de estadística

de la Universidad de California: http://archive.ics.uci.edu/ml/datasets.html, estas bases de datos

han sido utilizada en diferentes investigaciones y paper.

A continuación, describiremos las muestras utilizadas en nuestro análisis, indicaremos con an al

tamaño de la muestra de aprendizaje y con vn , el tamaño de la muestra de validación. La muestra

de aprendizaje y validación serán seleccionadas aleatoriamente, después de la descripción de cada

muestra adjuntaremos Los análisis que siguen fueron hechos utilizando el programa R cran,

cuyos algoritmos de programación pueden encontrarse en el apéndice A.

Page 83: Redes Neuronales Artificiales y Estadística

83

4.2.1.1 Muestra Real 1: Reconocimiento de Vinos

Esta base de datos es el resultado del análisis químico realizado sobre 178 diferentes muestras de

vino provenientes de una misma región de Italia, pero de tres cultivos diferentes. El análisis

químico determinará las cantidades de 13 componentes característicos que se encuentran en los

tres tipos de vinos. Este es un problema de clasificación donde los tres tipo de vinos, constituyen

las tres clases posibles, y las cantidades de los 13 elementos medidos son las de entrada de la red,

neuronal.

A continuación mostramos los resultados de cada modelo generados con misma muestra de

aprendizaje y evaluado con la misma muestra de validación. Es este caso hemos comparado el

árbol de decisión tipo CART, el método de los 3 y cinco vecinos más cercanos, y tres modelos de

redes neuronales una con trece neuronas en la capa oculta con tres neuronas en la capa oculta y

tres neuronas en la capa de salida, la cual identificaremos como (13,3,3)RNA , la otras son del

tipo (13,6,3)RNA y (13,9,3)RNA . Estas fueron entrenadas mediante el método de decaimiento

de los pesos con un valor de 0.05 y con un máximo de 2.000 ciclos

Clase VariedadVino

1C

1Tipo

2C

2Tipo

3C

3Tipo

an

118

vn

60

dim X

13

Escala Razón

Clases 2

Variable Descripción

1X

Alcohol

2X

Ácidomalico

3X

Cenizas

4X

Alcalinidad cenizas

5X

Magnesio

6X

Fenoles

7X

Flavonoides

8X

No flavonoides

9X

Antioxidantes

10X

Intensidad color

11X

Hue

12X

280 / 315OD OD

13X

Pr oline

Page 84: Redes Neuronales Artificiales y Estadística

84

Los resultados son los siguientes:

Tabla de confusión CART Tabla de confusión 3 vecinos más cercanos

Mal clasificadas: 5 (TEA=8,3%) Mal clasificadas: 15 (TEA=25,0%)

Tabla de confusión 5 vecinos más cercanos Tabla de confusión RNA (13, 3,3)

Mal clasificadas: 13 (TEA=21,6%) Mal clasificadas: 8 (TEA=13,3%)

Tabla de confusión RNA (13, 6,3) Tabla de confusión RNA (13, 9,3)

Mal clasificadas: 5 (TEA=8,3%) Mal clasificadas: 5 (TEA=8,3%)

Dos modelos de redes neuronales, con seis y nueve neuronas ocultas, obtuvieron los mejor

resultado con una tasa de error aparente de 8.3% (5 observaciones mal clasificadas en la muestra

de validación), no obstante de los modelos tradicionales el árbol de decisión obtuvo el mismo

resultado. La inclusión de más neuronas ocultas, de 6 a 9 neuronas ocultas no constituyó una

mejora significativa en la tasa de error. Los modelos que obtuvieron una mayor tasa de error

fueron los que utilizaron el método de los vecinos más cercanos, los tres vecinos arrojó una TEA

del 25% (15 observaciones mal clasificadas) y el modelo de los cinco vecinos más cercanos tuvo

un error del 22% (13 observaciones mal clasificadas).

Clases 1 2 3

1 18 0 0 18

2 2 25 2 29

3 0 1 12 13

20 26 14 60

Clases 1 2 3

1 16 1 1 18

2 1 23 5 29

3 0 7 6 13

17 31 12 60

Clases 1 2 3

1 17 0 1 18

2 0 22 7 29

3 1 4 8 13

18 16 16 60

Clases 1 2 3

1 18 0 0 18

2 5 21 3 29

3 0 0 13 13

23 21 16 60

Clases 1 2 3

1 17 1 0 18

2 3 25 1 29

3 0 0 13 13

20 26 4 60

Clases 1 2 3

1 17 1 0 18

2 2 26 1 29

3 0 0 13 13

19 27 14 60

Page 85: Redes Neuronales Artificiales y Estadística

85

4.2.1.2 Muestra real 2: Quiebra de Bancos Españoles.

A fines de los años setenta una crisis bancarias azotó a España, esta crisis es comparada por los

economistas con el crack de los años treinta de los Estados Unidos, afectando nada menos que a

58 de los 108 bancos de España. Esta base de datos corresponde a 66 bancos de la época, 29 de

los cuales quebraron, y consta de 9 variables discriminantes que son ratios financieros de los

bancos antes de la crisis:

En este caso tenemos solamente dos clases por lo que podemos utilizar la regresión logística. En

este caso las redes neuronales utilizadas son del tipo (13,3,1)RNA , (13,6,1)RNA y (13,9,3)RNA ,

donde solo hay una neurona de salida con función de tipo escalón. Los resultados son los

siguientes:

Tabla de confusión CART Tabla de confusión 3 vecinos más cercanos

Mal clasificadas: 1 (TEA=4,5%) Mal clasificadas: 2 (TEA=9,0%)

Variable Descripción

1X

1Ratio Liquidez

2X

2Ratio Liquidez

3X

3Ratio Liquidez

4X

Autofinanciación

5X

Rentabilidad Económica

6X

Rentabilidad Financiera

7X

Endeudamiento

8X

CostedeVentas

9X

Cash Flow

an

44

vn

22

dim X

9

Escala Razón

Clases 2

Clase Quiebra

1C 0si

2C 1no

Clases 1 2

1 10 1 11

2 0 11 11

10 12 22

Clases 1 2

1 10 1 11

2 1 10 11

11 11 22

Page 86: Redes Neuronales Artificiales y Estadística

86

Tabla de confusión 5 vecinos más cercanos Tabla de confusión Reg. Logística

Mal clasificadas: 3 (TEA=13,6%) Mal clasificadas: 4 (TEA=18,2%)

Tabla de confusión RNA (9, 3,1) Tabla de confusión RNA (9, 6,1)

Mal clasificadas: 2 (TEA=9,0%) Mal clasificadas: 2 (TEA=9,0%)

Tabla de confusión RNA (9, 9,1)

Mal clasificadas: 2 (TEA=9,0%)

En este caso la regresión logística fue el mejor modelo con una tasa de error de 4,5% es decir

solo con una observación mal clasificada, sin embargo los tres modelos de redes neuronales

mostraron un buen desempeño al igual que el método de los tres vecinos más cercanos con sólo

dos observaciones mal clasificadas. Nuevamente no se notó una mejora en el desempeño de las

redes neuronales a medida que se aumentaron el número de neuronas ocultas.

Clases 1 2

1 9 2 11

2 1 10 11

10 12 22

Clases 1 2

1 7 4 11

2 0 11 11

7 15 22

Clases 1 2

1 10 1 11

2 1 10 11

11 11 22

Clases 1 2

1 10 1 11

2 1 10 11

11 11 22

Clases 1 2

1 10 1 11

2 1 10 11

11 11 22

Page 87: Redes Neuronales Artificiales y Estadística

87

4.2.1.3 Muestra Real 3: Flores de Fisher

Estos datos fueron obtenidos originariamente por Fisher, y es un juego de datos clásico utilizado

para validar la eficacia de un clasificador. Esta muestra consta de tres variedades de flores de

Lirios caracterizada por cuatro variables discriminantes que describen las dimensiones del sépalo

y del pétalo de cada flor:

El resultado de los modelos es el siguiente:

Tabla de confusión CART Tabla de confusión 3 vecinos más cercanos

Mal clasificadas: 0 (TEA=0,0%) Mal clasificadas: 3 (TEA=6,0%)

Tabla de confusión 5 vecinos más cercanos Tabla de confusión RNA (4, 3,3)

Mal clasificadas: 3 (TEA=6,0%) Mal clasificadas: 2 (TEA=4,0%)

an

100

vn

50

dim X

4

Escala Razón

Clases 3

Variable Descripción

1X

Anchura pétalo

2X

Longitud pétalo

3X

Anchura sépalo

4X

Longitud pétalo

Clase Variedad Flor

1C

Iris Setosa

2C

IrisVesicolor

3C

IrisVerginica

Clases 1 2 3

1 15 0 0 15

2 0 14 0 14

3 0 0 21 21

15 14 21 50

Clases 1 2 3

1 15 0 0 15

2 0 12 2 14

3 0 1 20 21

15 13 22 50

Clases 1 2 3

1 15 0 0 15

2 0 12 2 14

3 0 1 20 21

15 13 22 50

Clases 1 2 3

1 15 0 0 15

2 0 12 2 14

3 0 0 21 21

15 12 23 50

Page 88: Redes Neuronales Artificiales y Estadística

88

Tabla de confusión RNA (4, 6,3) Tabla de confusión RNA (13, 9,3)

Mal clasificadas: 1 (TEA=2,0%) Mal clasificadas: 3 (TEA=6,0%)

En este ejemplo el árbol de decisión tipo CART obtuvo un resultado inmejorable con un 0% de

observaciones mal clasificadas, las redes neuronales también obtuvieron la red con 6 capas

ocultas solo tuvo un error del 2% con una observación mal clasificada, en general todos los

modelos mostraron buenos resultados.

Clases 1 2 3

1 15 0 0 15

2 0 12 2 14

3 0 1 20 21

15 13 22 50

Clases 1 2 3

1 15 0 0 15

2 0 13 1 14

3 0 0 21 21

15 13 22 50

Page 89: Redes Neuronales Artificiales y Estadística

89

4.2.1.4 Muestra Real 4: Diagnostico de Problemas al corazón

La siguiente base de datos corresponde a diagnósticos de problemas cardiacos hecho por doctores

e investigadores de la universidad de Colorado, basados en imágenes computacionales. Los

investigadores estudiaron la presencia de 23 diagnósticos para generar un diagnostico general en

267 individuos. Las 23 variables de diagnósticos son dicotómicas e indican si existen o no

anormalidades en ciertos sectores de las imágenes computacionales sobre el sistema cardiaco.

Los resultados se muestran a continuación:

Tabla de confusión CART Tabla de confusión 3 vecinos más cercanos

Mal clasificadas: 14 (TEA=15,7%) Mal clasificadas: 19 (TEA=21,3%)

Tabla de confusión5 vecinos más cercanos Tabla de confusión Reg. Logística

Mal clasificadas: 19 (TEA=21,3%) Mal clasificadas: 10 (TEA=11,2%)

an

178

vn

89

dim X

22

Escala Binaria

Clases 2

Clase Diagnóstico general

1C

si (0)

2C

no (1)

Clases 1 2

1 10 9 19

2 5 65 70

15 74 89

Clases 1 2

1 9 10 19

2 9 61 70

18 71 89

Clases 1 2

1 9 10 19

2 9 61 70

18 71 89

Clases 1 2

1 15 4 19

2 6 64 70

21 68 89

Page 90: Redes Neuronales Artificiales y Estadística

90

Tabla de confusión RNA(22,3,1) Tabla de confusión RNA(22,6,1)

Mal clasificadas: 20 (TEA=22,5%) Mal clasificadas: 14 (TEA=15,7%)

Tabla de confusión RNA (22, 9,1)

Mal clasificadas: 16 (TEA=14,6%)

En este ejemplo práctico el modelo de regresión logística fue quien tuvo menor error en la

muestra de validación, con una tasa de error aparente del 11%. Las mejor de las redes neuronales

tiene una tasa de error del 15,7%, con 6 capas ocultas, sin embargo el árbol de decisión tipo

CART también obtuvo el mismo resultado.

Clases 1 2

1 9 10 19

2 10 60 70

19 70 89

Clases 1 2

1 10 9 19

2 5 65 70

15 75 89

Clases 1 2

1 11 8 19

2 5 65 70

16 73 89

Page 91: Redes Neuronales Artificiales y Estadística

91

4.2.1.5 Muestra Real 5: Juego Gato

El “gato” es un popular juego que consta de nueva casillas que deben ser completada

alternadamente por dos jugadores con signos: “O” y “X”, declara ganador el jugador que sea

capas de completar tres casillas seguidas ya sea de forma oblicua, paralela o transversal con el

mismo signo, en caso de que se establezca un ganador antes de la novena jugada entonces

quedaran celdas vacías las que denotaremos con “B”. Estos valores serán codificados con valores

-1 (“O”), 0 (“B”) y 1 (“X”). Existe un total de 958 posibles posiciones en las casillas en la novena

jugada, y donde podemos reconocer si existirá o no un ganador. La siguiente base de datos consta

de las 958 jugadas, el objetivo es crear un método que indique cuando hay o no un ganador.

Los resultados se muestran a continuación:

Tabla de confusión CART Tabla de confusión 3 vecinos más cercanos

Mal clasificadas: 86 (TEA=26,8%) Mal clasificadas: 0 (TEA=0,0%)

an

638

vn

320

dim X

9

Escala Categórica

Clases 2

Variable Descripción

1X

Casilla superior izquierda

2X

Casilla superior central

3X

Casilla superior derecha

4X

Casilla media izquierda

5X

Casilla media central

6X

Casilla media derecha

7X

Casilla inferior izquierda

8X

Casilla inferior central

9X

Casilla inferior derecha

Clase Existenciade ganador

1C

si (1)

2C

no (0)

Clases 1 2

1 94 16 110

2 70 150 210

1647 166 320

Clases 1 2

1 110 0 110

2 0 210 210

110 210 320

Page 92: Redes Neuronales Artificiales y Estadística

92

Tabla de confusión5 vecinos más cercanos Tabla de confusión Reg. Logística

Mal clasificadas: 15 (TEA=4,7%) Mal clasificadas: 58 (TEA=18,1%)

Tabla de confusión RNA (9, 3,1) Tabla de confusión RNA (9, 6,1)

Mal clasificadas: 8 (TEA=2,5%) Mal clasificadas: 7 (TEA=2,2%)

Tabla de confusión RNA (9, 9,1)

Mal clasificadas: 6 (TEA=1,9%)

Este ejercicio mostró resultados muy dispares, el método de los 3 vecinos más cercanos dio como

tasa error 0, clasificando bien a las 320 observaciones de la muestra de validación. Las tres redes

neuronales artificiales también mostraron buenos resultados.

El árbol de decisión tipo CART y la regresión logística mostraron los peores resultados.

Clases 1 2

1 97 13 110

2 2 208 210

99 221 320

Clases 1 2

1 101 9 110

2 49 161 210

150 170 320

Clases 1 2

1 104 6 110

2 2 208 210

106 214 320

Clases 1 2

1 104 6 110

2 1 209 210

105 150 320

Clases 1 2

1 104 6 110

2 0 210 210

104 216 320

Page 93: Redes Neuronales Artificiales y Estadística

93

4.2.1.6 Muestra Real 6: Análisis de investigación criminalísticas sobre Vidrios.

En el campo de la investigación criminalística es posible determinar la dirección y secuencia del

impacto que ocasiona la ruptura de un cristal si se conoce su composición física química, esta

información es de suma importancia y se emplea en la reconstrucción de escenas de actos

delictivos. La siguiente base de datos la hemos denominado “vidrios”, y proviene de un estudio

realizado por Central Research Establishment Home Office Forensic Science Service en

Inglaterra. Es un análisis químico físico de vidrios para conocer a que tipo corresponde.

Los resultados se muestran a continuación

Tabla de confusión CART Tabla de confusión 3 vecinos más cercanos

an

143

vn

71

dim X

10

Escala Razón

Clases 6

Clase Origen Vidrio

1C

Ventana flotante

2C

Ventana no flotante

3C

Vidrio automóvil

4C

Vajilla

5C

Lámpara

Variable Descripción

1X

Índice Refracción

2X

% Sodio

3X

% Magnesio

4X

% Aluminio

5X

% Silicio

6X

% Potasio

7X

% Calcio

8X

% Bario

9X

% Hierro

Clases 1 2 3 4 5 6

1 16 3 0 0 0 0 19

2 9 14 2 5 1 0 31

3 0 1 0 0 0 0 1

4 0 0 0 3 0 0 3

5 0 0 0 0 5 0 5

6 1 0 0 1 0 10 12

26 18 2 9 6 10 71

Clases 1 2 3 4 5 6

1 15 3 1 0 0 0 19

2 6 23 1 1 0 0 31

3 1 0 0 0 0 0 1

4 0 0 0 3 0 0 3

5 0 1 0 0 2 2 5

6 1 0 0 1 0 10 12

23 27 2 5 2 12 71

Page 94: Redes Neuronales Artificiales y Estadística

94

Mal clasificadas: 23 (TEA=32,4%) Mal clasificadas: 18 (TEA=25,4%)

Tabla de confusión 5 vecinos más cercanos Tabla de confusión RNA (9, 3,6)

Mal clasificadas: 23 (TEA=32,4%) Mal clasificadas: 28 (TEA=39,5%)

Tabla de confusión RNA (9, 6,9) Tabla de confusión RNA (9, 9,6)

Mal clasificadas: 25 (TEA=35,2%) Mal clasificadas: 32 (TEA=45,1%)

En este problema las tasas de error fueron bastante altas y es el método de los vecinos más

cercanos el más efectivo, con una pequeña ventaja sobre los otros modelos. En esta comparación

sobre muestras reales se ha demostrado que las redes neuronales son tan eficaces como los

modelos estadísticos. A pesar de que sólo analizamos 6 muestras reales las redes neuronales no

mejoran sostenidamente cuando se les añadió neuronas ocultas. En general los resultados fueron

muy parejos y no hubo modelos que se destacaran por sobre los demás, en todas las muestras.

Clases 1 2 3 4 5 6

1 15 3 1 0 0 0 19

2 6 22 1 1 0 0 33

3 1 0 0 0 0 0 1

4 0 0 0 4 0 0 4

5 0 1 0 0 2 1 4

6 2 0 0 1 0 10 13

24 27 2 6 2 11 71

Clases 1 2 3 4 5 6

1 15 3 0 0 0 1 19

2 10 14 0 1 5 1 31

3 1 0 0 0 0 0 1

4 0 0 0 2 1 0 3

5 0 0 2 1 1 1 5

6 1 0 0 0 0 11 12

27 17 2 4 7 14 71

Clases 1 2 3 4 5 6

1 9 7 2 0 0 1 19

2 2 21 2 5 0 1 31

3 0 0 1 0 0 0 1

4 0 0 0 3 0 0 3

5 0 1 0 0 3 1 5

6 1 1 0 1 0 9 12

12 30 5 9 3 12 71

Clases 1 2 3 4 5 6

1 14 3 2 0 0 0 19

2 13 12 3 1 1 1 31

3 1 0 0 0 0 0 1

4 0 1 0 1 1 0 3

5 0 3 0 0 2 0 5

6 1 1 0 0 0 10 12

29 20 5 2 4 11 71

Page 95: Redes Neuronales Artificiales y Estadística

95

4.2.2 Análisis sobre regiones atípicas

Este segundo grupo de datos está formado por tres muestras diseñadas específicamente para

poner a prueba la capacidad de las redes neuronales frente a algunos clasificadores estadísticos.

Claramente, las muestras generadas difícilmente se encontraran en problemas reales.

La idea es tomar muestras aleatorias de tamaño 900n , correspondientes a dos clases 1c y 2c ,

en los intervalos 0,1 0,1 , de las siguientes representaciones gráficas:

Graf. 1

1 0.5, 0.5 0.5, 0.5c x y x y

2

2 10,1c c

Graf. 2

1 , 0.5,0.5 0.3c x y

2

2 10,1c c

Graf. 3

1 0.1 , 0.5,0.5 0.2

0.3 , 0.5,0.5 0.4

, 0.5,0.5 0.5

c x y

x y

x y

2

2 10,1c c

Page 96: Redes Neuronales Artificiales y Estadística

96

Una vez obtenidas las muestras ,i ix y para cada grafica, para 1,...,900i , cada una de ellas

tendrán asociada una clase, 1c o 2c , 600 de estos valores se utilizarán como muestra de

aprendizaje, es decir para generar los distintos modelos. Los restantes 300 valores serán

utilizados como muestra de validación para comparar la eficacia de los distintos modelos. Las

muestras, clasificación de las muestras y la modelación fue generada en R, el detalle de los

algoritmos de programación se encuentran en el apéndice A. Los resultados de las muestras de

validación se muestran en las siguientes páginas:

Page 97: Redes Neuronales Artificiales y Estadística

97

4.2.2.1 Muestra experimental, Gráfica 1:

Regresión logística Árbol de decisión tipo CART

Mal clasificadas: 183 (TEA=61%) Mal clasificadas: 2 (TEA=0,7%)

Tabla de confusión 3 vecinos más cercanos Tabla de confusión 5 vecinos más cercanos

Mal clasificadas: 5 (TEA=1,7%) Mal clasificadas: 12 (TEA=4%)

Tabla de confusión RNA (2, 3,1) Tabla de confusión RNA (2, 6,1)

Mal clasificadas: 56 (TEA=29,3%) Mal clasificadas: 2 (TEA=0,7%)

Tabla de confusión RNA (9, 6,9)

Mal clasificadas: 2 (TEA=2%)

Clases 1 2

1 81 80 161

2 103 36 139

184 114 300

Clases 1 2

1 159 2 161

2 0 139 139

159 141 300

Clases 1 2

1 160 1 161

2 4 135 139

164 136 300

Clases 1 2

1 157 4 201

2 8 131 211

165 135 300

Clases 1 2

1 129 32 161

2 24 115 139

153 147 300

Clases 1 2

1 159 2 161

2 0 139 139

159 139 300

Clases 1 2

1 159 2 161

2 0 139 139

159 141 300

Page 98: Redes Neuronales Artificiales y Estadística

98

4.2.2.2 Muestra experimental Gráfica 2:

Regresión logística Árbol de decisión tipo CART

Mal clasificadas: 0 (TEA=0%) Mal clasificadas: 101 (TEA=33,7%)

Tabla de confusión 3 vecinos más cercanos Tabla de confusión 5 vecinos más cercanos

Mal clasificadas: 1 (TEA=0,3%) Mal clasificadas: 8 (TEA=2,7%)

Tabla de confusión RNA(2,3,1) Tabla de confusión RNA(2,6,1)

Mal clasificadas: 1 (TEA=0,3%) Mal clasificadas: 1 (TEA=0,3%)

Tabla de confusión RNA (2, 9,1)

Mal clasificadas: 1 (TEA=0,3%)

Clases 1 2

1 153 96 249

2 2 49 51

155 145 300

Clases 1 2

1 249 0 249

2 0 51 51

249 51 300

Clases 1 2

1 249 0 249

2 1 50 51

250 50 300

Clases 1 2

1 245 4 249

2 4 47 51

249 51 300

Clases 1 2

1 249 0 249

2 1 50 51

250 50 300

Clases 1 2

1 249 0 249

2 1 50 51

250 50 300

Clases 1 2

1 249 0 249

2 1 50 51

250 50 300

Page 99: Redes Neuronales Artificiales y Estadística

99

4.2.2.3 Muestra experimental Gráfica 3:

Regresión logística Árbol de decisión tipo CART

Mal clasificadas: 150 (TEA=50,0%) Mal clasificadas: 102 (TEA=35,0%)

Tabla de confusión 3 vecinos más cercanos Tabla de confusión 5 vecinos más cercanos

Mal clasificadas: 35 (TEA=11,7%) Mal clasificadas: 20 (TEA=13,3%)

Tabla de confusión RNA (2, 3,1) Tabla de confusión RNA (2, 6,1)

Mal clasificadas: 117 (TEA=39,0%) Mal clasificadas: 104 (TEA=34,7%)

Tabla de confusión RNA (2, 9,1)

Mal clasificadas: 87 (TEA=29,0%)

Clases 1 2

1 100 65 165

2 85 50 135

185 115 300

Clases 1 2

1 99 66 165

2 36 99 135

135 165 300

Clases 1 2

1 149 16 165

2 19 116 135

178 122 300

Clases 1 2

1 143 22 165

2 18 117 135

161 139 300

Clases 1 2

1 85 80 165

2 37 98 135

122 178 300

Clases 1 2

1 102 63 165

2 41 94 135

143 157 300

Clases 1 2

1 106 59 165

2 28 107 135

134 166 300

Page 100: Redes Neuronales Artificiales y Estadística

100

4.2.2.4 Comentario

Estas muestras atípicas fueron generadas con el fin de comparar las eficiencia de las redes

neuronales frente a clasificadores usualmente utilizados en problemas complejos, en la primera

muestra atípica las redes neuronales, con 6 y nueve neuronas ocultas aportaron buenos resultados,

pero también lo hicieron los modelos de vecinos más cercanos y el árbol de decisión con menos

gastos computaciones. Para la muestra número dos, a acepción del CART, todos los modelos

mostraron buenos resultados. Para la muestra atípica número tres, la cual por su construcción es

la más compleja, todos los modelos tuvieron tasas relativamente altas de error, solamente se

destacaron los modelos de los 3 y 5 vecinos más cercanos con los mejores resultados.

Nuevamente el aumento de neuronas ocultas no muestra ninguna mejora sustancial en el

desempeño de las redes neuronales.

Page 101: Redes Neuronales Artificiales y Estadística

101

Conclusión y discusión

El estudio sobre las redes neuronal artificiales se ha desarrollado con intensidad en los últimos

años, en diversos campos. Este desarrollo, como hemos apreciado, se debe principalmente a la

plasticidad de las redes, la capacidad de integrar variables cuantitativas y cualitativas, la ausencia

de supuestos y la gran cantidad de programas y software que ya lo han integrado a sus

herramientas.

Está claro que vender la idea de que las redes neuronales artificiales son más eficaces que los

modelos usualmente usados por la estadística no es del todo cierto, este trabajo ha expuesto y

comparado los modelos: las redes neuronales mostraron un desempeño aceptable, pero también lo

hicieron otros modelos usualmente utilizados en el análisis estadístico de los datos.

La mayor deficiencia de los modelos neuronales es su poca capacidad explicativa, esto provoca la

sensación de que realmente se está trabajando con una especie de cajas negras, sin embargo la

solución la viene de la mano de la estadística; como hemos visto algunos modelos neuronales, en

particular el perceptrón multicapa, en algunos casos particulares producen la misma estimación

de los pesos producida por la regresión múltiple y la regresión logística. Esto es de suma utilidad

cuando queremos utilizar las redes neuronales como un modelo explicativo, dándole un valor

agregado a las redes neuronales. El en capítulo cuatro también se mostró la perdida de

información al utilizar un modelo neuronal cuando podemos utilizar un modelo de regresión,

está claro que utilizar la red neuronal, con una capa oculta en este caso, es totalmente factible,

pero a costa de perder la facilidad de interpretación de un modelo regresión simple y la simpleza

computacional del modelo de regresión, considerablemente menos compleja que la de una red

neuronal debido a que una es lineal y la otra no

Evidentemente, la realidad es lo bastante compleja como para que exista una solución milagrosa

que resuelva todos los problemas, es general los problemas complicados deben ser divididos en

partes y cada parte ser resuelta con la técnica apropiada, ya sean convencionales, como la

estadística o reglas heurísticas, o no tan convencionales como las redes neuronales, desarrollar

modelos cooperativos entre estas áreas es una tendencia en la mayoría de los trabajos actuales.

Finalmente, y utilizando la analogía escuchadas durante tanto tiempo de mis profesores, las redes

neuronales artificiales son una herramienta más que debemos agregar a nuestro ya cargado

maletín de estadísticos.

Page 102: Redes Neuronales Artificiales y Estadística

102

Page 103: Redes Neuronales Artificiales y Estadística

103

Bibliografía

[Bishop, 95] Christopher M. Bishop (1995): “Neural Network for Pattern Recognition”, Oxford

University Press, New York.

[Del Brío y Sanz, 02] Bonifacio Martín del Brío y Alfredo Sanz Molina (2002): “Redes

Neuronales y Sistema Difusos”, Editorial Alfa Omega, México DF.

[Díaz, Glover y Ghazir, 96] Díaz Anderson, Glover Fred y Ghazir Hassan M. (1996):

“Optimización heurística y redes neuronales”, Editorial Paraninfo, Madrid.

[Freeman y Skapura, 93] Freeman James A y Skapura David M. (1993): “Redes neuronales:

algoritmos, aplicaciones y técnicas de programación”, Editorial Addison-Wesley/Diaz de Santos,

Delawera.

[Isasi y Galván, 04] Isasi Pedro y Galván león Inés (2004): “Redes neuronales artificiales, un

enfoque práctico”, Editorial Pearson educación s.a., Madrid.

[Jiménez, 02] Jiménez Jiménez Andrés (2003): “Una visión unificada de las redes neuronales y

la estadística multivariante”, Tesis doctoral, Departamento de estadística e investigación

operativa, Universidad de Cádiz.

[McCulloch y Pitts, 43] Mcculloch Warren S. y Pitts Walter (1943): “A Logical Calculus of

the ideas immanent in nervous activity”, Bulletin of Mathematical Biophysics Volumen 5,

Chicago.

[Montaño, 02] Montaño Moreno Juan José (2002): “Redes neuronales aplicadas al análisis de

datos”, Tesis doctoral Universitat de les illes balears, Palma de Mallorca.

[Peña, 02] Peña Daniel (2002): “Análisis de datos multivariados”, Editorial Mc Graw-Hill &

Interamericana de España, Madrid.

Page 104: Redes Neuronales Artificiales y Estadística

104

[Sarle, 94] Warren S. Sarle (1994): “Neural Networks and Statistical Models”, Proceedings of

the Nineteenth Annual SAS Users Group International Conference, SAS Institute Inc., Cary, NC,

USA.

[Schumacher, Roßner, Vach, 96-1] Schumacher Martín, Roßner Reinhard, Vach Werner

(1996): “Neural Network And Logistic Regresion, Part. I”, Institute of Medical Biometry and

Informatics, University of Freiburg, Freiburg.

[Schumacher, Roßner y Vach, 96-2] Schumacher Martín, Roßner Reinhard, Vach Werner

(1996): “Neural Network And Logistic Regresion, Part. II”, Institute of Medical Biometry and

Informatics, University of Freiburg, Freiburg.

[Warner y Misra, 96] Warner Brad y Misra Manavendra (1996): “Understanding Neural

Networks as Statistical Tool”,

Page 105: Redes Neuronales Artificiales y Estadística

105

Apéndices

Apéndice A: Software para implementación de Redes neuronales Artificiales

Si nos introducimos en la búsqueda de programas para aplicar redes neuronales artificial en la

web nos encontraremos un variado número de software, todos de distribución restringida cuya

licencia debe ser pagada, algunos de estos son:

Neural Networks

GERENE

Neural Stock

Matlab

SPSS

Stuttgart Neural Network Simulator

SNNAP

Quiknet

Existen también algunos de libre distribución, menos completos que los anteriores:

Easy Neural Network

Neural Network Simulator, University of Tubingen

Programa Neural Graphics

Para este trabajo hemos utilizado R Project 2.9.2, programa gratuito, de libre distribución,

programable, de gran potencia y actualmente el más utilizado por los académicos y alumnado de

estadística, cuyo uso se ha masificado considerablemente en los últimos años debido a una

actualización constante proveniente de investigadores de todo el mundo.

Para utilizar redes neuronales artificiales en R es necesario descargar el paquete “nnet”, que

permite aplicar cualquier tipo de red unidireccionales, también se puede descargar el paquete

“neural” para utilizar red tipo perceptrón multicapa y redes de base radial, la principal innovación

de “neural” es que ofrece una interfaz gráfica que permite visualizar la arquitectura de la red,

iniciar y detener el proceso de aprendizaje; existe un tercer paquete “neuralnet” que no fue

utilizado en este trabajo, pero que presenta una alternativa a “neural” sin interfaz gráfica.

Page 106: Redes Neuronales Artificiales y Estadística

106

Apéndice B: Algoritmos del programa R cran utilizados en esta memoria.

A continuación mostramos el algoritmo de R cran utilizado en el capítulo 4, sección 4.1.2

library(neural) #Cargar los datos que se encuentran en el Disco H Datos<-"H:/muestra.txt" Muestra<-read.table(Datos,header=T,sep="",dec=",") attach(Muestra) names(Muestra) x1<-Muestra$x1 x2<-Muestra$x2 #Crear las seis muestras y los seis modelos de regresión múltiple aprendizaje<-cbind(x1,x2) e1<-rnorm(100, mean=0, sd=0.5) e2<-rnorm(100, mean=0, sd=1) e3<-rnorm(100, mean=0, sd=3) m1<-as.vector(2+0.5*x1+1.5*x2+e1) rm1<-lm(m1~x1+x2) m2<-as.vector(2+2*x1+3*x2+e2) rm2<-lm(m2~x1+x2) m3<-as.vector(2+3*x1+1.0*x2+e3) rm3<-lm(m3~x1+x2) m4<-as.vector(1.5+5*(x1^2)+2*x2+e1) rm4<-lm(m4~x1+x2) m5<-as.vector(1.2+3*x1+0.5*(x2^2)+e2) rm5<-lm(m5~x1+x2) m6<-as.vector(3+0.5*(x1*x2)+1.5*(x2^2)+e3) rm6<-lm(m6~x1+x2) Betas<rbind(coefficients(rm1),coefficients(rm2),coefficients(rm3),coefficients(rm4),coefficients(rm5),coefficients(rm6)) target<-cbind(m1,m2,m3,m4,m5,m6) summary(rm1) summary(rm2) summary(rm3) summary(rm4) summary(rm5) summary(rm6) neuronas<-0 #Crear la red neuronal con 1000 iteraciones, es decir diez ciclos neuronal<-mlptrain(aprendizaje,neuronas,target,alfa=0.01,it=1000, actfns=4) Betas

Page 107: Redes Neuronales Artificiales y Estadística

107

A continuación mostramos El algoritmo de R cran utilizado en el capítulo 4, sección 4.2.1

#Se cargan los paquetes necesarios. library(nnet), library(class), library(tree), library(neural) #Cargar los datos que se encuentran en el Disco H, #datos para analizar el problema de quiebra de bancos Españoles Datos<-"H:/Quiebra.txt" #Creamos un banco de datos Quiebra<-read.table(Datos,header=T,sep="",dec=",") attach(Quiebra),names(Quiebra) #Regresión Logística con una muestra de aprendizaje de 44 bancos de 66 #utilizando el comando de modelos lineales generalizados muestra<-sample(1:length(Quiebra$Output),44) reglog<-glm(Output~R1Liqui1+R2Liqui2+R3Liqui3+R4Autof+R5RenEc+R6RenFin+R7Apal+R8CosVen+R9Cash, family=binomial(logit),data=Quiebra[muestra,]) summary(reglog) #Utilizamos la muestra de validación para analizar la efectividad de la regresión logística pre<-predict(reglog,Quiebra[-muestra,],type ="response") prediccion<-ifelse(pre<0.5,0,1) #tabla de confusión de la regresión logística table(Quiebra$Output[-muestra],prediccion) #Árbol de decisión tipo CART factor<-factor(Quiebra$Output[muestra]) cart<-tree(factor~R1Liqui1+R2Liqui2+R3Liqui3+R4Autof+R5RenEc+R6RenFin+R7Apal+R8CosVen+R9Cash, data=Quiebra[muestra,] ) plot(cart);text(cart) predicar<-predict(cart,Quiebra[-muestra,], type="class") #tabla de confusión para el árbol de decisión table(Quiebra$Output[-muestra],predicar) #Vecinos más cercanos 1-nn y 3-nn, predi1nn<-knn(Quiebra[muestra,-1],Quiebra[-muestra,-1],factor, k =1, l = 0, prob = FALSE, use.all = TRUE) table(Quiebra$Output[-muestra],predi1nn) predi3nn<-knn(Quiebra[muestra,-1],Quiebra[-muestra,-1],factor, k =3, l = 0, prob = FALSE, use.all = TRUE) table(Quiebra$Output[-muestra],predi3nn) #Clasificacion por redes neuronales del tipo R (9, 4,2) Variables<-Quiebra[,-Output] Target<-Quiebra$Output RNA<-nnet(Variables[muestra,],Target[muestra],size=4,rang = 0.1,decay = 5e-4, maxit = 2000) summary(RNA) RNApred<-round( predict(RNA, Variables[-muestra,])) tabla de confusion para la red neuronal table(Target[-muestra], RNApred)

Page 108: Redes Neuronales Artificiales y Estadística

108

A continuación mostramos el algoritmo de R cran utilizado en el capítulo 4, sección 4.2.2

#Algoritmo para gráfica 3. #primero habilitamos los paquetes que utilizaran library(stats) library(nnet) library(class) library(tree) library(neural) #creacion de los 300 puntos aleatorios (x,y) matriz<-matrix(runif(600),300,2,byrow=TRUE,dimnames=list(seq(1,300), c("X", "Y"))) #creacion de las clases para cada uno de los puntos (x,y) grafica 1 #clase1=0 y clase2=1 clases<-numeric(length=300) for (i in 1:300){ A<-((matriz[i,1]-0.5)^2+(matriz[i,2]-0.5)^2) if (A>=0.1^2 & A<=0.2^2){ clases[i]<-0 }else{ if (A>=0.3^2 & A<=0.4^2){ clases[i]<-0 }else{if (A>=0.5^2){ clases[i]<-0 }else{clases[i]<-1 }}}} datos<-data.frame(matriz,clases) muestra<-sample(1:300,200, replace=FALSE) #Regresión Logística con una muestra de aprendizaje #utilizando el comando de modelos lineales generalizados reglg<-glm(clases~X+Y,family=binomial(logit),data=datos[muestra,]) summary(reglg) #Utilizamos la muestra de validacion para analizar la efectividad de la regresion logistica pred<-predict(reglg,datos[-muestra,],type ="response") predicc<-ifelse(pred<)0.5,0,1) predicc #Arbol de decision tipo CART factor<-factor(datos$clases) cart<- tree(factor~X+Y, data=datos[muestra,] ) cart plot(cart);text(cart) predicar<-predict(cart,datos[-muestra,], type="class") #Vecinos más cercanos 1-nn y 3-nn, predi3nn<-knn(datos[muestra,-3],datos[-muestra,-3],factor[muestra], k =3, l = 0, prob = FALSE, use.all = TRUE) predi5nn<-knn(datos[muestra,-3],datos[-muestra,-3],factor[muestra], k =5, l = 0, prob = FALSE, use.all = TRUE) #Clasificacion por redes neuronales del tipo R(9,4,2) Variables<-matriz Target<-datos$clases RNA<-nnet(Variables[muestra,],Target[muestra],size=1,rang = 0.1,decay = 5e-4, maxit = 1000) summary(RNA) RNApred<-round(predict(RNA, Variables[-muestra,])) #tabla de confusión de la regresión logística table(datos$clases[-muestra],predicc) #tabla de confusion para el arbol de decision table(datos$clases[-muestra],predicar) #tabla de confusion para red 3 vecinos más cercano table(datos$clases[-muestra],predi3nn) #tabla de confusion para 5 vecinos más cercano table(datos$clases[-muestra],predi5nn) #tabla de confusion para la red neuronal table(Target[-muestra], RNApred)

Page 109: Redes Neuronales Artificiales y Estadística

109

Page 110: Redes Neuronales Artificiales y Estadística

110