SlideShare uma empresa Scribd logo
1 de 110
Baixar para ler offline
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
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.




                                                                         2
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




                                                                                                 3
…“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.




                                                          4
Í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




                                                                                                                                                      5
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




                                                                                                                                            6
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.




                                                                                                   7
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.




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




                                                               9
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


                                                                                                 10
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.

                                                                                                11
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.
                                                                                                  12
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 1011 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 104 conexiones, eso da un total de 1015 o un cuatrillón de
                                                                                               13
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 xi , estas se

                                                                                             14
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 wi .
                                                                                 n
De esta forma, si tenemos n estímulos la neurona recibirá como entrada I   xi wi , en forma
                                                                                i 1


vectorial I  X TW .
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í
   n       
f   xi wi    . La figura 1.2 representa esta analogía.
   i 1    
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.




                                                                                                15
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
                                                                                                16
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).



                                                                                                 17
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.




                                                                                               18
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 xi .

  ii.   A cada conexión  i, j  de los nodos i y j se asocia un peso wij  R.

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

 iv.    Para cada nodo se define una función de activación f j  x j , wij , j  , 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 f : Rn W    R p , donde el conjunto W , se denomina espacio de pesos.




                                                                                                   19
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.




                                                                                              20
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.




                                                                                      21
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.
                                                                                                   22
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 f : R n  R m a partir de

muestras  X  R n , Y  R m  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.




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




                                                                        24
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:


                                                      n

                                               1 si  wi xi  
                                f  w, x,        i 1                                     (2.1)
                                               0
                                                   en otro caso


Donde xi son las variables de entrada de la red y wi 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.


                                             A B “Y”
                                             0   0   0
                                             0   1   0
                                             1   0   0
                                             1   1   1


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

valor umbral será   1 , y los pesos sinápticos w1  w2  1 , Figura 2.1.



                                                                                                25
Al procesar los valores de entrada se obtiene:


                                   x1   x2   I  1xi  1x2    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 w1  w2  1 . Obteniéndose:




                A B “O”                      x1   x2    I  1xi  1x2   f (I )
                0   0    0                   0    0          0           0
                0   1    1                   0    1          1           1
                1   0    1                   1    0          1           1
                1   1    1                   1    1          2           1


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
                                                                                                 26
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.




                                                                                              27
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:


                                          p            
                                   y  f   wj x j                                           (2.2)
                                          j 1         


Donde xi son las variables de entrada de la red, wi los pesos y la función f   de salida es escalón

del tipo:
                                           1      si s  0
                                  f s                                                        (2.3)
                                          1      en otro caso


La Ecuación (2.2) equivale a introducir el valor umbral como un nuevo peso cuya variable de
entrada será x0  1 . La figura 2.2 nos muestra este tipo de red con dos variables de entrada. Como


                                                                                                   28
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:


                                      w1 x1  w2 x2    0                                 (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:


                                                  w1      
                                         x2        x1                                    (2.5)
                                                  w2      w2



                                                                                               29
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
                                p               p
de pesos, pues si escribimos    w j x j     w j x j  0 en forma vectorial, tenemos X TW  0 .
                               j 1            j 0




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:
                               w j  nuevo   w j  anterior   wj                               (2.6)

                                  nuevo     anterior                                      (2.7)


La forma de obtener w j 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 X p1 , 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 X i   x1i ,..., xip  de nuestra muestra de

       aprendizaje e introducirlo a la red.



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

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

        w j  i   d  X i  xij , si d ( X i )  y i 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 w0 , donde el valor de x0 es siempre 1, de esta forma el
valor umbral es siempre modificado de una forma particular:


                              0
                                      si el perceptrón responde correctamente
                     t   
                              d  X  en otro caso
                                    t
                                                                                                    (2.8)
                              


Gráficamente podemos deducir este algoritmo. Sabemos que X TW  0 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 X TW  0 . Figura 2.4.




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


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

debería ser positivo X TW  0 , para que y  1 , Sin embargo,       es negativo X TW  0 . 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)




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

correctamente el patrón de entrada el producto escalar de X y W debería ser negativo X TW  0
, luego y  1 . Sin embargo, es positivo X TW  0 , 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 X TW
, 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: w1  1 , w2  2 ,

  2 . El primer patrón de aprendizaje A, con valores de entrada X A   x1A , x2A    0.5,1.5 y

un valor de salida esperado y A  1 , si procesamos X A por la red, utilizando la ecuación (2.2),
obtenemos:



                                                                                                  33
 2             
              d  X A   f   w j x A     f 1 0.5  2 1.5  2   f 1.5   1  d ( X A )
                                      j
                             j 1          
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 X B   x1B , x2    0.5, 0.5 y un valor
                                                                       B



de salida esperado y B  1 , haciendo el mismo cálculo obtenemos que:


                            2             
             d ( X B )  f   w j x A     f 1 (0.5)  2  0.5  2   f  1.5   1  y B
                                     j
                            j 1          


Procesemos ahora un tercer patrón de entrada C, con X C   x1C , x2    0.5, 0.5 la red entrega un
                                                                   C



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: w 1  0.5 , w2  0.5 ,   1 , los nuevos pesos ahora

son: w 1  1.5 , w2  2.5 ,   1 , y el punto C es clasificado correctamente, figura 2.8.




                                                                                                      34
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.




                                                                                                 35
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:


                                                 p              p                 p
                                     S    f   w j x j      wi xi     w j x j                               (2.12)
                                                 j 1           j 1            j 0




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 X i y su salida asociada y i :

                                                                                              xip 
                                                                                              
               A    X , y  ,  X
                         1   1            2
                                                                        
                                              , y 2  ,...,  X n , y n       , donde X i           P
                                                                                                             e yi    .
                                                                                              xi 
                                                                                              p
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:


                                                                                                         2
                                                                                 1 n  i p i i
                                                                           2

                                 y SXi                            
                         n
                             1 n i
                    E  E      i
                                                                                     y   wj x j                     (2.13)
                        i 1 2n i 1                                             2n i 1   j 0     


Donde S  X i  representa la salida de la red para el patrón X i , 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,



                                                                                                                             36
2
                                        1         p
                                                           
                                     E   y i   w j xij 
                                       i
                                                                                             (2.14)
                                        2       j 0      


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:


                                                    E i
                                      i w j                                              (2.15)
                                                    w j

                                                                                                 37
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:


                                     E i S  X 
                                                 i
                              E i
                                   
                              w j S  X  w j
                                         i                             
                                                     yi  S  X i  xij



Que, sustituyendo en 2.15 queda:


                                                                  
                                       i w j   y i  S  X i  xij                          (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 X i .
 iii.   Calcular la salida de la red S  X i  , compararla con la deseada y obtener la diferencia

         y  S  X  .
           i        i



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

                                                      
        ponderarla por  , i w j   yi  S  X i  xij .

  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




                                                                                                   38
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:

                                             Binario        Decimal

                                       x1i      i
                                               x2       i
                                                       x3     yi
                                        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

En este caso la neurona tendrá tres entradas que serán binarias y una salida real como se
muestra en la figura 2.11.




                                                                                               39
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:


                                            w1      w2       w3        
                                            0,5     0,6      0,3       0,2




Introducimos el primer patrón y calculamos su salida:


Patrón 1:
                                                1
                                               x1   x1
                                                     2
                                                              1
                                                             x3        y1
                                               0    0        1         1



                                 Salida de la red                                          Diferencia

               S  X 1   0,5  0  0,6  0  0,3 1  0,2 1  0,5               ( S  X 1   y1 )  - 0,5



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

                                       Pesos                       w1        w2      w3      
                                       Antes                       0,5       0,6     0,3     0,2

                                       
                           w j  0.6 S  X 1   y1 x1j          0         0      -0,3    -0,3

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



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


                                            x17      7
                                                    x2        7
                                                             x3        yi
                                               1    1        1          7



                                                                                                                40
Salida de la red                  Diferencia

                                          X 7 W  0.5
                                            T
                                                               ( y 7  S  X 7 )  -0,0131


La salida de la red no es igual a la que esperamos, entonces aquí debemos aplicar el aprendizaje,
según hemos definido anteriormente:



                                    Pesos                             w1           w2           w3               
                                    Antes                         2,0780         1,5717       0,6134           2,7500

                                    
                    w j  0.6 y 7  S  X 7  x7
                                                j                -0,0078        -0,0078     -0,0078           -0,0078

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




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º        w1       w2           w3                  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


                                                                                                                                         41
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:


                                                   w1      w2     w3       
                                                   4        2      1       0




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     , donde t corresponde al número de iteración, de esta forma el ajuste final de
                   t
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
                                                                                                                                 42
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:



                                          A    B   “O ex”
                                          0    0     1
                                          0    1     0
                                          1    0     0
                                          1    1     1




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.




                                                                                                43
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.



                                                                                                44
A    B    “O ex”
                                           -1   -1     1
                                           -1   1      -1
                                           1    -1     -1
                                           1    1      1



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

                                                                                                  45
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.




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




                                                                                 47
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 p1 variables de entrada, C  2 capas ocultas cada

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

como se muestra en la figura 3.1.




                                                                                               48
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 W c   wc  la matriz de pesos
                                                                    jk


asociada a las conexiones de la capa c a la capa c  1 , para c  1,..., C  1 , donde wc representa
                                                                                        jk


la conexión de la neurona j de la capa c a la neurona k de la capa c  1 , y sea U c   uk  el
                                                                                          c



                                                  c
vector de umbrales de la capa c, donde           uk representa el valor umbral de la capa c , para

c  2,..., C . Se denotará como ak a la salida o (activación) de la neurona k de la capa c .
                                 c



                                                      
Al introducir un patrón de entrada X  x1 ,..., x p1 , las neuronas de la primera capa se encargan

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


                                      a1  xk , para k  1,..., p1
                                       k                                                         (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:


                                    pc1 c 1 c 1 c 
                             a  f   w jk a j  uk  , para k  1, 2,..., pc 1
                               c
                               k                                                                 (3.2)
                                    j 1             


                                                                         C
Finalmente la salida de la red, es la activación de las capas de salida ak , 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:


                                                pC1             C 
                                   sk  ak  f   wC 1a C 1  uk 
                                         C
                                                      jk  j                                      (3.3)
                                                j 1               


                                                                                                   49
              
Para i  1, 2,..., pC , donde S  X   s1 ,..., s pC , 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
                                    f1  x              , donde x [0,1]                           (3.4)
                                                 1  e x


y la función tangente hiperbólica


                                                   1  e x
                                      f2  x              , donde x [1,1]                        (3.5)
                                                   1  e x


Aunque ambas están relacionadas, pues:


                                             f 2  x   2 f1  x   1                              (3.6)

                                                                                                        50
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:


                           A   X (1), Y (1)  ,  X (2), Y (2)  ,...,  X (n), Y (n) 



, donde                
                X (i)  x1 (i),            
                                   , x p1 (i)    P1
                                                        e                 
                                                                 Y (i)  y1 (i),              
                                                                                     , y pC (i)    PC




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  PC                       
                                     E  i      yk  i   sk  i                                (3.7)
                                              2  k 1                     




                                                                                                           51
         
, donde S  X (i)   s1 ,..., s pC es la salida de la red.



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

Para calcular los pesos sinápticos de la capa oculta C  1 a la capa C al introducir el i -esimo
patrón de entrada, es decir wC 1 (i) , utilizaremos el método del gradiente descendiente que hemos
                             jk


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


                                                                          E (i)
                                       wC 1  i   wC 1  i  1                            (3.8)
                                                                          wC 1
                                        jk            jk
                                                                             jk




, 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 wC 1 sólo afecta a la neurona
                                                                   jk


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


                                     E (i)                            s  i 
                                       C 1
                                               yk  i   sk  i   k C 1                   (3.9)
                                     w jk                             w jk


Ahora debemos calcular la derivada de la neurona de salida sk  i  respecto al peso wC 1 . La salida
                                                                                      jk


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:


                                                    pC1            C 
                                       sk  ak  f   wC 1aC 1  uk 
                                             c
                                                          jk j                                 (3.10)
                                                    j 1              




                                                                                                   52
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 wC 1 es
                                                                                          jk


wC 1aC 1 , y por lo tanto es el único valor cuya derivada es distinta de cero. De esta forma
 jk   j


obtenemos:


                                      sk  i         pC1            C 
                                         C 1
                                                 f    wC 1aC 1  uk  aC 1 (i )        (3.11)
                                      w jk
                                                             jk j            j
                                                       j 1              


Se define el termino  , asociado a la neurona k de la capa de salida (capa C ) y al patrón i
esimo,  kC (i) , del siguiente modo:


                                                                 pC1                    
                             kC (i)    yk  i   sk  i   f    wC 1aC 1  uk 
                                                                          jk   j
                                                                                       C
                                                                                              (3.12)
                                                                   j 1                  


Reemplazando esta expresión en la Ecuación (3.9) el valor de la derivada de la neurona de salida
sk  i  dado por la Ecuación (3.11), se obtiene que:


                                                     E (i)
                                                              kC (i)aC 1 (i)               (3.13)
                                                     wC 1
                                                                       j
                                                        jk




Finalmente, reemplazando la derivada del error E  i  respecto del peso wC 1 obtenida en la
                                                                          jk


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


                                       wC 1  i   wC 1  i  1  kC (i)aC 1 (i)
                                        jk            jk                       j              (3.14)


Para j  1,..., pC 1 e k  1,..., pC .

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


                                                                                                 53
uk  i   uk  i  1  kC (i)
                                         C          C
                                                                                                      (3.15)

Para k  1,..., pC .


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

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 C  2 a la capa C  1. Sea whj  2 el peso de la conexión la
                                                                       C



neurona h de la capa C  2 a la neurona i de la capa C  1. Siguiendo el método de descenso del
gradiente, la ley para actualizar dicho peso viene dada por:


                                                                          E (i)
                                     whj 2  i   whj 2  i  1  
                                      C              C
                                                                                                      (3.16)
                                                                          whj 2
                                                                            C




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



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:

                               E (i)      pC 
                                                                     s  i  
                                           yk  i   sk  i   k C 2                         (3.17)
                               whj 2
                                 C             
                                          i 1                      whj    


                                                                                     sk  i 
Para calcular la derivada de la salida sk  i  respecto del peso whk2 , es decir
                                                                   C
                                                                                               , es necesario
                                                                                     whj  2
                                                                                        C



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 C  1, a C 1 , y que el resto de las neuronas en esta capa no dependen de
                              j


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


                              sk  i         pc1            C 
                                                                         aC 1
                                 C 2
                                         f    wC 1aC 1  uk  wC 1 C 2
                                                                           j
                                                                                                      (3.18)
                              whj                                       whj
                                                     jk j            jk
                                               j 1              



                                                                                                          54
Sustituyendo este valor en la ecuación y de acuerdo a la definición de  en el punto anterior, se
obtiene que:


                  pC 
       E (i)                                     pc1 C 1 C 1 C  C 1 aC 1  pc1 C C 1 aC 1
                  yk  i   sk  i   f    w jk a j  uk  w jk
                                                                                    k jk wC 2
                                                                             C 2 
                                                                             j
                                                                                      w         j
                                                                                                         (3.19)
         C 2
       whj                                                               whj  j 1
                 i 1                            j 1                                          hj




Para obtener la ley de aprendizaje para el peso whj  2 , solo falta derivar la activación de la neurona
                                                 C



j de la capa oculta C  1, a C 1 , respecto de dicho peso. Aplicando la regla de la cadena a la
                             j


ecuación (3.3), dicha derivada es:


                                     aC 1           pc2 C 2 C 2     C
                                       j
                                                f    whj ah  u C 1  ah 2  i                    (3.20)
                                    whj 2
                                      C                               j
                                                      h 1              


Se define el valor de  para la neurona de la capa oculta C-1,  C 1  i  , como:
                                                                 j




                                               PC2                         PC
                             C 1  i   f    whj 2 ah 2  u C 1    C  i  wC 2
                              j
                                                    C      C
                                                                    j          j        jk               (3.21)
                                               h 1                       i 1


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


anteriormente, se obtiene que:


                                                 E (i)
                                                   C 1
                                                          C 1 (i)ah 2 (i)
                                                                     C
                                                                                                         (3.22)
                                                 whj
                                                            j




De esta forma la ley de aprendizaje para modificar el peso whj  2 viene dada por:
                                                            C




                                       whj 2  i   whj 2  i  1   C 1  i  ah 2  i 
                                        C              C
                                                                           j
                                                                                       C
                                                                                                         (3.23)


Para h  1, 2,..., P 2 y
                    C         j  1, 2,..., PC 1
                                                                                                            55
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística
Redes Neuronales Artificiales y Estadística

Mais conteúdo relacionado

Mais procurados

sistema de informacion gerencial
sistema de informacion gerencial sistema de informacion gerencial
sistema de informacion gerencial jennika58
 
Sistemas De Información Gerencial
Sistemas De Información GerencialSistemas De Información Gerencial
Sistemas De Información Gerencialwww.cathedratic.com
 
Matemticas financieras con_pauta(1)
Matemticas financieras con_pauta(1)Matemticas financieras con_pauta(1)
Matemticas financieras con_pauta(1)melvinmanuel66
 
Anualidades perpetuas
Anualidades perpetuasAnualidades perpetuas
Anualidades perpetuasnuryliliana27
 
Unidad #5 MODELO CLÁSICO DE SERIES DE TIEMPO
Unidad #5 MODELO CLÁSICO DE SERIES DE TIEMPOUnidad #5 MODELO CLÁSICO DE SERIES DE TIEMPO
Unidad #5 MODELO CLÁSICO DE SERIES DE TIEMPOErick Cantona
 
Taxonomía de Boulding
Taxonomía de Boulding   Taxonomía de Boulding
Taxonomía de Boulding Bryan Salas
 
Pruebas de bondad de ajuste y pruebas no parametricas
Pruebas de bondad de ajuste y pruebas no parametricasPruebas de bondad de ajuste y pruebas no parametricas
Pruebas de bondad de ajuste y pruebas no parametricasAlez Escandón
 
Tema 14 -_muestreo_de_trabajo
Tema 14 -_muestreo_de_trabajoTema 14 -_muestreo_de_trabajo
Tema 14 -_muestreo_de_trabajoMayra Patiiño
 
Análisis de regresión lineal y correlación lineal
Análisis de regresión lineal y correlación linealAnálisis de regresión lineal y correlación lineal
Análisis de regresión lineal y correlación linealPedro Rico Hernández
 
Histograma y gráfica de probabilidad
Histograma y gráfica de probabilidadHistograma y gráfica de probabilidad
Histograma y gráfica de probabilidadsamantharisa
 
Simulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con PromodelSimulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con PromodelAlvaro Gil
 
Tendencias Lineales o no lineales / Estadistica
Tendencias Lineales o no lineales / EstadisticaTendencias Lineales o no lineales / Estadistica
Tendencias Lineales o no lineales / EstadisticaBego E A
 
Clase4 Test de hipótesis en el modelo de regresión
Clase4 Test de hipótesis en el modelo de regresiónClase4 Test de hipótesis en el modelo de regresión
Clase4 Test de hipótesis en el modelo de regresiónNerys Ramírez Mordán
 

Mais procurados (20)

Métodos De Los Cuadrados Medios
Métodos De Los Cuadrados MediosMétodos De Los Cuadrados Medios
Métodos De Los Cuadrados Medios
 
sistema de informacion gerencial
sistema de informacion gerencial sistema de informacion gerencial
sistema de informacion gerencial
 
Sistemas De Información Gerencial
Sistemas De Información GerencialSistemas De Información Gerencial
Sistemas De Información Gerencial
 
Metodo Montecarlo
Metodo MontecarloMetodo Montecarlo
Metodo Montecarlo
 
Matemticas financieras con_pauta(1)
Matemticas financieras con_pauta(1)Matemticas financieras con_pauta(1)
Matemticas financieras con_pauta(1)
 
Suavizacion exponencial
Suavizacion exponencialSuavizacion exponencial
Suavizacion exponencial
 
Anualidades perpetuas
Anualidades perpetuasAnualidades perpetuas
Anualidades perpetuas
 
MONTE CARLO
MONTE CARLOMONTE CARLO
MONTE CARLO
 
Unidad #5 MODELO CLÁSICO DE SERIES DE TIEMPO
Unidad #5 MODELO CLÁSICO DE SERIES DE TIEMPOUnidad #5 MODELO CLÁSICO DE SERIES DE TIEMPO
Unidad #5 MODELO CLÁSICO DE SERIES DE TIEMPO
 
Taxonomía de Boulding
Taxonomía de Boulding   Taxonomía de Boulding
Taxonomía de Boulding
 
Pruebas de bondad de ajuste y pruebas no parametricas
Pruebas de bondad de ajuste y pruebas no parametricasPruebas de bondad de ajuste y pruebas no parametricas
Pruebas de bondad de ajuste y pruebas no parametricas
 
Métodos causales (regresion lineal)
Métodos causales (regresion lineal)Métodos causales (regresion lineal)
Métodos causales (regresion lineal)
 
control de calidad
control de calidadcontrol de calidad
control de calidad
 
Tema 14 -_muestreo_de_trabajo
Tema 14 -_muestreo_de_trabajoTema 14 -_muestreo_de_trabajo
Tema 14 -_muestreo_de_trabajo
 
Análisis de regresión lineal y correlación lineal
Análisis de regresión lineal y correlación linealAnálisis de regresión lineal y correlación lineal
Análisis de regresión lineal y correlación lineal
 
Histograma y gráfica de probabilidad
Histograma y gráfica de probabilidadHistograma y gráfica de probabilidad
Histograma y gráfica de probabilidad
 
Simulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con PromodelSimulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con Promodel
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
 
Tendencias Lineales o no lineales / Estadistica
Tendencias Lineales o no lineales / EstadisticaTendencias Lineales o no lineales / Estadistica
Tendencias Lineales o no lineales / Estadistica
 
Clase4 Test de hipótesis en el modelo de regresión
Clase4 Test de hipótesis en el modelo de regresiónClase4 Test de hipótesis en el modelo de regresión
Clase4 Test de hipótesis en el modelo de regresión
 

Destaque

Red Neuronal Artificial Aplicada para la Supervisión del Desempeño Docente De...
Red Neuronal Artificial Aplicada para la Supervisión del Desempeño Docente De...Red Neuronal Artificial Aplicada para la Supervisión del Desempeño Docente De...
Red Neuronal Artificial Aplicada para la Supervisión del Desempeño Docente De...Enrique Adolfo Simmonds Barrios
 
El Perceptrón Multicapa
El Perceptrón  MulticapaEl Perceptrón  Multicapa
El Perceptrón MulticapaESCOM
 
Clase Inteligencia Artificial Unidad 3
Clase Inteligencia Artificial Unidad 3Clase Inteligencia Artificial Unidad 3
Clase Inteligencia Artificial Unidad 3K Reyes
 
RED De Retro-propagación Neuronal
RED De Retro-propagación NeuronalRED De Retro-propagación Neuronal
RED De Retro-propagación NeuronalESCOM
 
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...Tribunal Electoral Provincia de Misiones
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de RetropropagaciónESCOM
 
Redes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapaRedes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapaLevy GT
 
Introduccion a las redes neuronales
Introduccion a las redes neuronalesIntroduccion a las redes neuronales
Introduccion a las redes neuronalesHALCONPEREGRINO2
 
REDES NEURONALES Mapas con Características Autoorganizativas Som
REDES NEURONALES Mapas   con Características Autoorganizativas  SomREDES NEURONALES Mapas   con Características Autoorganizativas  Som
REDES NEURONALES Mapas con Características Autoorganizativas SomESCOM
 
ejemplo red neuronal Art1
ejemplo red neuronal Art1ejemplo red neuronal Art1
ejemplo red neuronal Art1ESCOM
 
Equipo Redes Neuronales Artificiales
Equipo Redes Neuronales ArtificialesEquipo Redes Neuronales Artificiales
Equipo Redes Neuronales ArtificialesArgenis Vicent
 
Regla de aprendizaje del perceptrón simple
Regla de aprendizaje del perceptrón simpleRegla de aprendizaje del perceptrón simple
Regla de aprendizaje del perceptrón simpleAndrea Lezcano
 

Destaque (20)

adalina campos
adalina camposadalina campos
adalina campos
 
Tema ii la planificación y el presupuesto como instrumento de desarrollo regi...
Tema ii la planificación y el presupuesto como instrumento de desarrollo regi...Tema ii la planificación y el presupuesto como instrumento de desarrollo regi...
Tema ii la planificación y el presupuesto como instrumento de desarrollo regi...
 
Red Neuronal Artificial Aplicada para la Supervisión del Desempeño Docente De...
Red Neuronal Artificial Aplicada para la Supervisión del Desempeño Docente De...Red Neuronal Artificial Aplicada para la Supervisión del Desempeño Docente De...
Red Neuronal Artificial Aplicada para la Supervisión del Desempeño Docente De...
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Rn
RnRn
Rn
 
El Perceptrón Multicapa
El Perceptrón  MulticapaEl Perceptrón  Multicapa
El Perceptrón Multicapa
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Clase Inteligencia Artificial Unidad 3
Clase Inteligencia Artificial Unidad 3Clase Inteligencia Artificial Unidad 3
Clase Inteligencia Artificial Unidad 3
 
RED De Retro-propagación Neuronal
RED De Retro-propagación NeuronalRED De Retro-propagación Neuronal
RED De Retro-propagación Neuronal
 
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de Retropropagación
 
Redes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapaRedes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapa
 
Introduccion a las redes neuronales
Introduccion a las redes neuronalesIntroduccion a las redes neuronales
Introduccion a las redes neuronales
 
REDES NEURONALES Mapas con Características Autoorganizativas Som
REDES NEURONALES Mapas   con Características Autoorganizativas  SomREDES NEURONALES Mapas   con Características Autoorganizativas  Som
REDES NEURONALES Mapas con Características Autoorganizativas Som
 
ejemplo red neuronal Art1
ejemplo red neuronal Art1ejemplo red neuronal Art1
ejemplo red neuronal Art1
 
Redes neuronales artificiales
Redes neuronales artificialesRedes neuronales artificiales
Redes neuronales artificiales
 
Equipo Redes Neuronales Artificiales
Equipo Redes Neuronales ArtificialesEquipo Redes Neuronales Artificiales
Equipo Redes Neuronales Artificiales
 
Regla de aprendizaje del perceptrón simple
Regla de aprendizaje del perceptrón simpleRegla de aprendizaje del perceptrón simple
Regla de aprendizaje del perceptrón simple
 

Semelhante a Redes Neuronales Artificiales y Estadística

Diseños de investigación experimental en psicología.pdf
Diseños de investigación experimental en psicología.pdfDiseños de investigación experimental en psicología.pdf
Diseños de investigación experimental en psicología.pdfmaria799431
 
Curso de-filosofia-elemental
Curso de-filosofia-elementalCurso de-filosofia-elemental
Curso de-filosofia-elementalJunior Perez
 
107407-0-18-124658_FILOSOFIA_BACHILLE_cast.pdf
107407-0-18-124658_FILOSOFIA_BACHILLE_cast.pdf107407-0-18-124658_FILOSOFIA_BACHILLE_cast.pdf
107407-0-18-124658_FILOSOFIA_BACHILLE_cast.pdfMaryoMelendroRodrigu
 
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.edwinlemmon
 
Estudio del arte sobre procesamiento inicial matemático. Por Tracey Tokuhama-...
Estudio del arte sobre procesamiento inicial matemático. Por Tracey Tokuhama-...Estudio del arte sobre procesamiento inicial matemático. Por Tracey Tokuhama-...
Estudio del arte sobre procesamiento inicial matemático. Por Tracey Tokuhama-...Conexiones: The Learning Sciences Platform
 
El análisis del nuevo discurso político
El análisis del nuevo discurso políticoEl análisis del nuevo discurso político
El análisis del nuevo discurso políticoCamilo Andrés
 
Apunts dintel ligencia_artificial
Apunts dintel ligencia_artificialApunts dintel ligencia_artificial
Apunts dintel ligencia_artificialAndreu Garcia
 
Book experotsyprob
Book experotsyprobBook experotsyprob
Book experotsyprobCariEli
 
Manual filosofia con actividades
Manual filosofia con actividadesManual filosofia con actividades
Manual filosofia con actividadesMaro Regueiro
 
Manual de teorías emocionales y motivacionales
Manual de teorías emocionales y motivacionalesManual de teorías emocionales y motivacionales
Manual de teorías emocionales y motivacionalesJaime Muñoz
 
Lectura critica hmetro
Lectura critica hmetroLectura critica hmetro
Lectura critica hmetro19631963
 
Introduccion ala ingieneria de sistemas
Introduccion ala ingieneria de sistemasIntroduccion ala ingieneria de sistemas
Introduccion ala ingieneria de sistemasAngel Aguirre
 
Introduccion a la ingieneria de sistemas
Introduccion a la ingieneria de sistemasIntroduccion a la ingieneria de sistemas
Introduccion a la ingieneria de sistemasAngel Aguirre
 
411681131 inferencia-estadistica-1
411681131 inferencia-estadistica-1411681131 inferencia-estadistica-1
411681131 inferencia-estadistica-1CarlosRoberto154965
 
Investigacion CIRO ESPINOZA MONTES.pdf
Investigacion CIRO ESPINOZA MONTES.pdfInvestigacion CIRO ESPINOZA MONTES.pdf
Investigacion CIRO ESPINOZA MONTES.pdfMagalyRoxanaArangena
 

Semelhante a Redes Neuronales Artificiales y Estadística (20)

Conciencia aaa
Conciencia aaaConciencia aaa
Conciencia aaa
 
Diseños de investigación experimental en psicología.pdf
Diseños de investigación experimental en psicología.pdfDiseños de investigación experimental en psicología.pdf
Diseños de investigación experimental en psicología.pdf
 
Curso de-filosofia-elemental
Curso de-filosofia-elementalCurso de-filosofia-elemental
Curso de-filosofia-elemental
 
107407-0-18-124658_FILOSOFIA_BACHILLE_cast.pdf
107407-0-18-124658_FILOSOFIA_BACHILLE_cast.pdf107407-0-18-124658_FILOSOFIA_BACHILLE_cast.pdf
107407-0-18-124658_FILOSOFIA_BACHILLE_cast.pdf
 
Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.Inteligencia Artificial Básica. Mauricio Paletta.
Inteligencia Artificial Básica. Mauricio Paletta.
 
Estudio del arte sobre procesamiento inicial matemático. Por Tracey Tokuhama-...
Estudio del arte sobre procesamiento inicial matemático. Por Tracey Tokuhama-...Estudio del arte sobre procesamiento inicial matemático. Por Tracey Tokuhama-...
Estudio del arte sobre procesamiento inicial matemático. Por Tracey Tokuhama-...
 
Psicodinamia
PsicodinamiaPsicodinamia
Psicodinamia
 
El análisis del nuevo discurso político
El análisis del nuevo discurso políticoEl análisis del nuevo discurso político
El análisis del nuevo discurso político
 
Apunts dintel ligencia_artificial
Apunts dintel ligencia_artificialApunts dintel ligencia_artificial
Apunts dintel ligencia_artificial
 
Book experotsyprob
Book experotsyprobBook experotsyprob
Book experotsyprob
 
Book cgh
Book cghBook cgh
Book cgh
 
Manual filosofia con actividades
Manual filosofia con actividadesManual filosofia con actividades
Manual filosofia con actividades
 
Manual de teorías emocionales y motivacionales
Manual de teorías emocionales y motivacionalesManual de teorías emocionales y motivacionales
Manual de teorías emocionales y motivacionales
 
G11205.1
G11205.1G11205.1
G11205.1
 
Lectura critica hmetro
Lectura critica hmetroLectura critica hmetro
Lectura critica hmetro
 
Introduccion ala ingieneria de sistemas
Introduccion ala ingieneria de sistemasIntroduccion ala ingieneria de sistemas
Introduccion ala ingieneria de sistemas
 
Introduccion a la ingieneria de sistemas
Introduccion a la ingieneria de sistemasIntroduccion a la ingieneria de sistemas
Introduccion a la ingieneria de sistemas
 
411681131 inferencia-estadistica-1
411681131 inferencia-estadistica-1411681131 inferencia-estadistica-1
411681131 inferencia-estadistica-1
 
Documentación.pdf
Documentación.pdfDocumentación.pdf
Documentación.pdf
 
Investigacion CIRO ESPINOZA MONTES.pdf
Investigacion CIRO ESPINOZA MONTES.pdfInvestigacion CIRO ESPINOZA MONTES.pdf
Investigacion CIRO ESPINOZA MONTES.pdf
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Último (15)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Redes Neuronales Artificiales y Estadística

  • 1. 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
  • 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. 2
  • 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 3
  • 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. 4
  • 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 5
  • 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 6
  • 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. 7
  • 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. 8
  • 9. Capítulo 1: Introducción a las redes neuronales artificiales 9
  • 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 10
  • 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. 11
  • 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. 12
  • 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 1011 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 104 conexiones, eso da un total de 1015 o un cuatrillón de 13
  • 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 xi , estas se 14
  • 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 wi . n De esta forma, si tenemos n estímulos la neurona recibirá como entrada I   xi wi , en forma i 1 vectorial I  X TW . 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í  n  f   xi wi    . La figura 1.2 representa esta analogía.  i 1  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. 15
  • 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 16
  • 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). 17
  • 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. 18
  • 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 xi . ii. A cada conexión  i, j  de los nodos i y j se asocia un peso wij  R. iii. A cado nodo i se asocia un umbral  i . iv. Para cada nodo se define una función de activación f j  x j , wij , j  , 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 f : Rn W    R p , donde el conjunto W , se denomina espacio de pesos. 19
  • 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. 20
  • 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. 21
  • 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. 22
  • 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 f : R n  R m a partir de muestras  X  R n , Y  R m  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. 23
  • 24. Capítulo 2: Primeros modelos basados en redes neuronales artificiales 24
  • 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:  n 1 si  wi xi   f  w, x,    i 1 (2.1) 0  en otro caso Donde xi son las variables de entrada de la red y wi 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. A B “Y” 0 0 0 0 1 0 1 0 0 1 1 1 Para recrear esta función a través de la célula M-P tendremos dos variables de entrada x1 y x2 , el valor umbral será   1 , y los pesos sinápticos w1  w2  1 , Figura 2.1. 25
  • 26. Al procesar los valores de entrada se obtiene: x1 x2 I  1xi  1x2 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 w1  w2  1 . Obteniéndose: A B “O” x1 x2 I  1xi  1x2 f (I ) 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 2 1 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 26
  • 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. 27
  • 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:  p  y  f   wj x j    (2.2)  j 1  Donde xi son las variables de entrada de la red, wi los pesos y la función f   de salida es escalón del tipo:  1 si s  0 f s   (2.3) 1 en otro caso La Ecuación (2.2) equivale a introducir el valor umbral como un nuevo peso cuya variable de entrada será x0  1 . La figura 2.2 nos muestra este tipo de red con dos variables de entrada. Como 28
  • 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: w1 x1  w2 x2    0 (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: w1  x2   x1  (2.5) w2 w2 29
  • 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 p p de pesos, pues si escribimos  w j x j     w j x j  0 en forma vectorial, tenemos X TW  0 . j 1 j 0 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: w j  nuevo   w j  anterior   wj (2.6)   nuevo     anterior    (2.7) La forma de obtener w j 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 X p1 , 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 X i   x1i ,..., xip  de nuestra muestra de aprendizaje e introducirlo a la red. 30
  • 31. iii. Si la salida de la red es distinta a la deseada, es decir, d ( X i )  y i , el perceptrón ha dado una respuesta incorrecta, entonces modificamos todas las conexiones w j , de acuerdo a w j  i   d  X i  xij , si d ( X i )  y i 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 w0 , donde el valor de x0 es siempre 1, de esta forma el valor umbral es siempre modificado de una forma particular: 0  si el perceptrón responde correctamente   t    d  X  en otro caso t (2.8)  Gráficamente podemos deducir este algoritmo. Sabemos que X TW  0 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 X TW  0 . Figura 2.4. Cuando entrenemos nuestra red, nos encontraremos con tres posibles casos: 31
  • 32. Caso 1: La salida objetivo de la neurona es d ( X )  1 , entonces el producto escalar de X y W , debería ser positivo X TW  0 , para que y  1 , Sin embargo, es negativo X TW  0 . 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) 32
  • 33. Caso 2: Cuando la salida objetivo sea d ( X )  1, entonces para que la red clasifique correctamente el patrón de entrada el producto escalar de X y W debería ser negativo X TW  0 , luego y  1 . Sin embargo, es positivo X TW  0 , 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 X TW , 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: w1  1 , w2  2 ,   2 . El primer patrón de aprendizaje A, con valores de entrada X A   x1A , x2A    0.5,1.5 y un valor de salida esperado y A  1 , si procesamos X A por la red, utilizando la ecuación (2.2), obtenemos: 33
  • 34.  2  d  X A   f   w j x A     f 1 0.5  2 1.5  2   f 1.5   1  d ( X A ) j  j 1  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 X B   x1B , x2    0.5, 0.5 y un valor B de salida esperado y B  1 , haciendo el mismo cálculo obtenemos que:  2  d ( X B )  f   w j x A     f 1 (0.5)  2  0.5  2   f  1.5   1  y B j  j 1  Procesemos ahora un tercer patrón de entrada C, con X C   x1C , x2    0.5, 0.5 la red entrega un C 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: w 1  0.5 , w2  0.5 ,   1 , los nuevos pesos ahora son: w 1  1.5 , w2  2.5 ,   1 , y el punto C es clasificado correctamente, figura 2.8. 34
  • 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. 35
  • 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:  p  p p S    f   w j x j      wi xi     w j x j (2.12)  j 1  j 1 j 0 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 X i y su salida asociada y i :  xip    A  X , y  ,  X 1 1 2  , y 2  ,...,  X n , y n  , donde X i     P e yi  .  xi   p 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: 2 1 n  i p i i 2  y SXi   n 1 n i E  E  i    y   wj x j  (2.13) i 1 2n i 1 2n i 1  j 0  Donde S  X i  representa la salida de la red para el patrón X i , 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, 36
  • 37. 2 1 p  E   y i   w j xij  i (2.14) 2 j 0  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: E i i w j   (2.15) w j 37
  • 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: E i S  X  i E i  w j S  X  w j i     yi  S  X i  xij Que, sustituyendo en 2.15 queda:   i w j   y i  S  X i  xij (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 X i . iii. Calcular la salida de la red S  X i  , compararla con la deseada y obtener la diferencia  y  S  X  . i i iv. Para todos los pesos multiplicar dicha diferencia por la entrada correspondiente y   ponderarla por  , i w j   yi  S  X i  xij . 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 38
  • 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: Binario Decimal x1i i x2 i x3 yi 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 En este caso la neurona tendrá tres entradas que serán binarias y una salida real como se muestra en la figura 2.11. 39
  • 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: w1 w2 w3  0,5 0,6 0,3 0,2 Introducimos el primer patrón y calculamos su salida: Patrón 1: 1 x1 x1 2 1 x3 y1 0 0 1 1 Salida de la red Diferencia S  X 1   0,5  0  0,6  0  0,3 1  0,2 1  0,5 ( S  X 1   y1 )  - 0,5 La salida de la red no es igual a la que esperamos, entonces debemos aplicar el aprendizaje, según hemos definido anteriormente: Pesos w1 w2 w3  Antes 0,5 0,6 0,3 0,2  w j  0.6 S  X 1   y1 x1j  0 0 -0,3 -0,3 Después 0,5 0,6 0 -0,1 Luego introducimos el segundo patrón y así sucesivamente hasta el patrón 7, donde se obtiene: Patrón 7: x17 7 x2 7 x3 yi 1 1 1 7 40
  • 41. Salida de la red Diferencia X 7 W  0.5 T ( y 7  S  X 7 )  -0,0131 La salida de la red no es igual a la que esperamos, entonces aquí debemos aplicar el aprendizaje, según hemos definido anteriormente: Pesos w1 w2 w3  Antes 2,0780 1,5717 0,6134 2,7500  w j  0.6 y 7  S  X 7  x7 j  -0,0078 -0,0078 -0,0078 -0,0078 Después 2,0701 1,5639 0,6056 2,7421 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º w1 w2 w3  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 41
  • 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: w1 w2 w3  4 2 1 0 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 , donde t corresponde al número de iteración, de esta forma el ajuste final de t 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 42
  • 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: A B “O ex” 0 0 1 0 1 0 1 0 0 1 1 1 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. 43
  • 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. 44
  • 45. A B “O ex” -1 -1 1 -1 1 -1 1 -1 -1 1 1 1 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 45
  • 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. 46
  • 47. Capítulo 3: El perceptrón multicapas y el algoritmo de retropropagación de los errores 47
  • 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 p1 variables de entrada, C  2 capas ocultas cada una de pc neuronas (con c  2,..., C 1 ), y donde todas las conexiones son unidireccionales como se muestra en la figura 3.1. 48
  • 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 W c   wc  la matriz de pesos jk asociada a las conexiones de la capa c a la capa c  1 , para c  1,..., C  1 , donde wc representa jk la conexión de la neurona j de la capa c a la neurona k de la capa c  1 , y sea U c   uk  el c c vector de umbrales de la capa c, donde uk representa el valor umbral de la capa c , para c  2,..., C . Se denotará como ak a la salida o (activación) de la neurona k de la capa c . c   Al introducir un patrón de entrada X  x1 ,..., x p1 , las neuronas de la primera capa se encargan de transmitir las variables de entrada recibidas desde el exterior, entonces podemos escribir: a1  xk , para k  1,..., p1 k (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:  pc1 c 1 c 1 c  a  f   w jk a j  uk  , para k  1, 2,..., pc 1 c k (3.2)  j 1  C Finalmente la salida de la red, es la activación de las capas de salida ak , 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:  pC1 C  sk  ak  f   wC 1a C 1  uk  C jk j (3.3)  j 1  49
  • 50.  Para i  1, 2,..., pC , donde S  X   s1 ,..., s pC , 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 f1  x   , donde x [0,1] (3.4) 1  e x y la función tangente hiperbólica 1  e x f2  x   , donde x [1,1] (3.5) 1  e x Aunque ambas están relacionadas, pues: f 2  x   2 f1  x   1 (3.6) 50
  • 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: A   X (1), Y (1)  ,  X (2), Y (2)  ,...,  X (n), Y (n)  , donde  X (i)  x1 (i),  , x p1 (i)  P1 e  Y (i)  y1 (i),  , y pC (i)  PC 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  PC  E  i      yk  i   sk  i    (3.7) 2  k 1  51
  • 52.  , donde S  X (i)   s1 ,..., s pC es la salida de la red. 3.2.1.1 Cálculo de los pesos de la penúltima capa (capa C  1) a la capa de salida (capa C ) Para calcular los pesos sinápticos de la capa oculta C  1 a la capa C al introducir el i -esimo patrón de entrada, es decir wC 1 (i) , utilizaremos el método del gradiente descendiente que hemos jk explicado anteriormente, entonces los pesos se modifican siguiendo la dirección negativa del gradiente del error: E (i) wC 1  i   wC 1  i  1   (3.8) wC 1 jk jk jk , 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 wC 1 sólo afecta a la neurona jk de salida k , sk (i) , se obtiene que: E (i) s  i  C 1    yk  i   sk  i   k C 1 (3.9) w jk w jk Ahora debemos calcular la derivada de la neurona de salida sk  i  respecto al peso wC 1 . La salida jk 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:  pC1 C  sk  ak  f   wC 1aC 1  uk  c jk j (3.10)  j 1  52
  • 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 wC 1 es jk wC 1aC 1 , y por lo tanto es el único valor cuya derivada es distinta de cero. De esta forma jk j obtenemos: sk  i   pC1 C  C 1  f    wC 1aC 1  uk  aC 1 (i ) (3.11) w jk jk j j  j 1  Se define el termino  , asociado a la neurona k de la capa de salida (capa C ) y al patrón i esimo,  kC (i) , del siguiente modo:  pC1   kC (i)    yk  i   sk  i   f    wC 1aC 1  uk  jk j C (3.12)  j 1  Reemplazando esta expresión en la Ecuación (3.9) el valor de la derivada de la neurona de salida sk  i  dado por la Ecuación (3.11), se obtiene que: E (i)   kC (i)aC 1 (i) (3.13) wC 1 j jk Finalmente, reemplazando la derivada del error E  i  respecto del peso wC 1 obtenida en la jk Ecuación (3.13) en la Ecuación (3.8), se obtiene la ley iterativa para modificar dicho peso. La cual toma la forma: wC 1  i   wC 1  i  1  kC (i)aC 1 (i) jk jk j (3.14) Para j  1,..., pC 1 e k  1,..., pC . Esta ley de aprendizaje puede ser extendida a los valores umbrales de la capa de salida: 53
  • 54. uk  i   uk  i  1  kC (i) C C (3.15) Para k  1,..., pC . 3.2.1.2 Cálculo de los pesos de las capas ocultas c , para c  1,..., C  2 . 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 C  2 a la capa C  1. Sea whj  2 el peso de la conexión la C neurona h de la capa C  2 a la neurona i de la capa C  1. Siguiendo el método de descenso del gradiente, la ley para actualizar dicho peso viene dada por: E (i) whj 2  i   whj 2  i  1   C C (3.16) whj 2 C en este caso y a diferencia del anterior (pesos hacia la capa de salida), el peso whj  2 influye en C 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: E (i) pC  s  i       yk  i   sk  i   k C 2  (3.17) whj 2 C  i 1  whj   sk  i  Para calcular la derivada de la salida sk  i  respecto del peso whk2 , es decir C , es necesario whj  2 C 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 C  1, a C 1 , y que el resto de las neuronas en esta capa no dependen de j dicho peso. Por lo tanto, y de acuerdo con la Ecuación (3.3) se tiene que: sk  i   pc1 C  aC 1 C 2  f    wC 1aC 1  uk  wC 1 C 2 j (3.18) whj whj jk j jk  j 1  54
  • 55. Sustituyendo este valor en la ecuación y de acuerdo a la definición de  en el punto anterior, se obtiene que: pC  E (i)  pc1 C 1 C 1 C  C 1 aC 1  pc1 C C 1 aC 1     yk  i   sk  i   f    w jk a j  uk  w jk   k jk wC 2 C 2  j   w j (3.19) C 2 whj  whj  j 1 i 1   j 1  hj Para obtener la ley de aprendizaje para el peso whj  2 , solo falta derivar la activación de la neurona C j de la capa oculta C  1, a C 1 , respecto de dicho peso. Aplicando la regla de la cadena a la j ecuación (3.3), dicha derivada es: aC 1  pc2 C 2 C 2  C j  f    whj ah  u C 1  ah 2  i  (3.20) whj 2 C j  h 1  Se define el valor de  para la neurona de la capa oculta C-1,  C 1  i  , como: j  PC2  PC  C 1  i   f    whj 2 ah 2  u C 1    C  i  wC 2 j C C j j jk (3.21)  h 1  i 1 Sustituyendo (3.20) en la ecuación (3.19) y de acuerdo con el valor de  C 1 definido j anteriormente, se obtiene que: E (i) C 1   C 1 (i)ah 2 (i) C (3.22) whj j De esta forma la ley de aprendizaje para modificar el peso whj  2 viene dada por: C whj 2  i   whj 2  i  1   C 1  i  ah 2  i  C C j C (3.23) Para h  1, 2,..., P 2 y C j  1, 2,..., PC 1 55