Está en la página 1de 22

Introducción a las Redes Neuronales

Perceptrón Simple

William Campillay-LLanos
williamcampillay@gmail.com
https://sites.google.com/site/williamcampillay/home

Departamento de Matemática, Fı́sica y Estadı́stica.


Universidad Católica del Maule.

Una maravillosa introducción a Cálculo I


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Resumen

Introducción

Modelamiento Matemático Aplicado

Perceptrón Simple en Matlab

Construcción del Programa

Referencias

William Campillay MSc Primavera 2018 Redes Neuronales 2 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Introducción

Inspiración:
Las Redes Neuronales surgen como intento de emular estructuras
biológicas, en particular estas redes se inspiran en las neuronas de
nuestro cerebro. Es importante señalar que la empresa Citroen
utiliza redes neuronales en la determinación de la calidad del
material utilizado en la confección de los asientos de los vehı́culos.
Ford en reducción de contaminantes y Renault para detectar
desperfectos en el encendido de los automóviles. Una de las
aplicaciones más sorprendentes de estas redes a sido comandar el
aterrizaje de una avión Jumbo sin intervención humana (1).
Creando música con Redes Neuronales
https://www.youtube.com/watch?v=A2gyidoFsoI

William Campillay MSc Primavera 2018 Redes Neuronales 3 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Clasificación

William Campillay MSc Primavera 2018 Redes Neuronales 4 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Modelamiento Matemático Aplicado

Modelamiento Matemático
La membrana de la neurona se comporta como un condensador
que recibe cargas procedentes del exterior o de otras neuronas,
integrándolas y provocando una respuesta, generalmente del tipo
no lineal. Esta idea se presenta en la siguiente figura:

La salidad de la neurona es una tensión analógica (la frecuencia de


disparo por una tensión continua).
William Campillay MSc Primavera 2018 Redes Neuronales 5 / 22
Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Con la imagen anterior podemos modelar la neurona como un


elemento integrador no lineal, con lo que la dinámica de cierta
neurona i se puede describir utilizando la ley de conservación de la
carga eléctrica, obteniendo la siguiente ecuación:
Ley de conservación de la carga eléctrica
dUi
C = −Fi + Ii (1)
dt
Ui potencial de la membrana. C capacidad. Fi representa el
conjunto de las corrientes de pérdida o de fuga de la neurona. Ii
suma de corrientes sinápticas debidas a la acción de las entradas
que recibe, provenientes, bien de otras neuronas, bien de fuentes
externas.

William Campillay MSc Primavera 2018 Redes Neuronales 6 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Además podemos escribir la totalidad de las corrientes que la


neurona recibe de la siguiente manera
n
X
Ii = wij Vj + bi (2)
j=1

En la representación anterior consideramos que la acción de las


demás neuronas sobre la i es lineal, donde:
1 wij son los pesos sinápticos, que dan la intensidad de
interacción entre la neurona j y i (conductancias eléctricas).
2 bi (umbral) el resto de las corrientes provenientes del entorno.
3 Vj potenciales generados por las neuronas j (o del exterior).

William Campillay MSc Primavera 2018 Redes Neuronales 7 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Y finalmente considerando F = g (yi )1 , el modelo dinámino (1) se


transforma en:
n
dUi X
C = −g (yi ) + wij Vj + bi (3)
dt
j=1

Ahora considerando el supuesto de que las entradas cambian


lentamente, podrán considerarse estables durante un tiempo, de tal
manera que podemos realizar la siguiente aproximacón dUdt ≈ 0.
i

Despejando en (3) tenemos:


n
X
g (yi ) = wij Vj + bi (4)
j=1

1
Donde g es una función monótona creciente
William Campillay MSc Primavera 2018 Redes Neuronales 8 / 22
Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Modelos Estático de la Neurona

Es de nuestro interés calcular la salidad de la neurona, por lo tanto


tenemos el modelos estático de la neurona
Modelo estático de la neurona
Xn Xn
−1
yi = g ( wij Vj + bi ) = f ( wij Vj + bi ) (5)
j=1 j=1

En el modelo que representa el percetrón simple, se considera f


como la identidad.

William Campillay MSc Primavera 2018 Redes Neuronales 9 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Resultados Matemáticos

Existen resultados matemáticos que relacionan ciertas ideas que


nos permiten tener un buen entendimiento de las redes neuronales.
Por ejemplo la noción de que la neurona aprende en un tiempo
finito, se expresa en el siguiente resultado:
Separación de datos en un tiempo finito
Para cualquier conjunto de datos que sea linealmente separable, se
garantiza que la regla de aprendizaje del perceptrón encuentra una
solución en un número finito de iteraciones.

William Campillay MSc Primavera 2018 Redes Neuronales 10 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Noción de Recuerdo
También es posible considerar la noción de recuerdo que se
traduce en el término de estabilidad en matemática, es decir en
redes con realimentación, al considerarlas como sistemas dinámicos
no lineales, requieren ciertas condiciones para que sus respuesta
converja a une estado estable o punto fijo.

William Campillay MSc Primavera 2018 Redes Neuronales 11 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Cohen-Grossberg
Para cualquier sistema dinámico no lineal que se pueda escribir de
las siguiente forma:
n
0
X
xi = αi (xi )[βi (xi ) − mji Sj (xj )] (6)
j=1

1 la matriz ||mij || es simétrica y mij ≥ 0, para todo i, j.


2 La función αi (ξi ) es continua para todo ξi ≥ 0.
3 αi (ξ) ≥ 0, para todo ξ ≥ 0; Si (ξ) ≥ 0, para todo ξ ≥ 0.
4 la función Si (ξ) es diferenciable y no decreciente para todo
ξ ≥ 0.
Existe una función de energı́a de Lyapunov y el sistema es estable.
William Campillay MSc Primavera 2018 Redes Neuronales 12 / 22
Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Aproximador Universal

Para finalizar estas ideas relacionadas con los métodos matemáticos


tradicionales, consideramos una de las aplicaciones de las redes
neuronales, que las considera como aproximadores universales.
Funahashi
Un Perceptrón Multicapa de una única capa oculta puede
aproximar hasta el nivel deseado cualquier función continua en un
intervalo.

William Campillay MSc Primavera 2018 Redes Neuronales 13 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Ejemplos de Redes Neuronales

1 Perceptron Simple: Idea de Frank Rosenblatt.


2 Adalina: ADAptive Linear Neuron, introducida por Windrow
en 1959. Este modelos utiliza una neurona similar a la del
perceptrón, pero de respuesta lineal.
3 Perceptron Multicapa

William Campillay MSc Primavera 2018 Redes Neuronales 14 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Perceptrón Simple

Problema: Dos grupos de datos, que pertenecen a dos clases, se


definen en un espacio de entrada bidimensional. Las clases son
linealmente separables. La tarea es construir un Perceptrón para la
clasificación de datos (Ver: PerceptronSimple1).
William Campillay MSc Primavera 2018 Redes Neuronales 15 / 22
Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Algoritmo de Aprendizaje

Algoritmo de Levenberg-marquardt
1 Paso 1: Definimos x1 , el punto inicial o primera aproximación
de x ∗ . M el máximo número de iteraciones permitido, y λ el
criterio de convergencia o parada. Hacemos k = 1 y λ1 = 104 .
2 Paso 2: Calculamos ∇f (xk ).
3 Paso 3: Si ∇f (xk ) < , x ∗ = (xk ). Parar.
4 Paso 4: Si k > M, entonces Superado el número de
iteraciones. Parar.

William Campillay MSc Primavera 2018 Redes Neuronales 16 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Algoritmo de Levenberg-marquardt
1 Paso 5: Calcular s(xk ) = −[Hf (xk ) + λk I ]−1 ∇f (xk ).
2 Paso 6: Calcular xk+1 = xk + s(xk ).
3 Paso 7: Si f (xk+1 ) < f (xk ), entonces λk+1 = 12 λk y k tiende
k + 1. Ir al paso 2.
4 Paso 8: Si f (xk+1 ) ≥ f (xk ), entonces λk tiende a 2λk . Ir al
paso 5.

William Campillay MSc Primavera 2018 Redes Neuronales 17 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Adalina

ADAptive Linear Neuron, introducida por Windrow en 1959. Este


modelos utiliza una neurona similar a la del perceptrón, pero de
respuesta lineal.

Problema: Construir un ADALINE para la predicción adaptativa de


series de tiempo basadas en datos de series temporales pasadas.

William Campillay MSc Primavera 2018 Redes Neuronales 18 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Perceptrón Multicapa (Entender...)

El Perceptron Simple (Rosenblatt) ası́ planteado no podı́a tratar


problemas con una función lógica llamada OR Exclusiva o
simplemente XOR. Las funciones lógicas tienen normalmente dos
entradas y una salida que depende de los valores de las entradas.
Las entradas y las salidas pueden tomar dos valores: Verdadero y
Falso, ó 0 y 1. Ası́ para cada función lógica existe una tabla que
indica cuál será la salida dada la combinación de los valores de la
entrada. El resultado de XOR será Verdadero (1) sólo si las dos
entradas son distintas, sino será Falso (0).

William Campillay MSc Primavera 2018 Redes Neuronales 19 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Perceptrón Multicapa

Problema: 4 grupos de datos (A, B, C , D) se definen en un espacio


de entrada bidimensional. Los clústeres (A, C ) y (B, D)
representan un problema de clasificación de XOR. La tarea es
definir una red neuronal para resolver el problema XOR.

William Campillay MSc Primavera 2018 Redes Neuronales 20 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Programas en Matlab

1 EjemploPrincipal
http://www.mathworks.com/matlabcentral/
fileexchange/44470-single-perceptron-learning
• hardlimit
• evalnet
2 PerceptronSimple1

William Campillay MSc Primavera 2018 Redes Neuronales 21 / 22


Introducción Modelamiento Matemático Aplicado Perceptrón Simple en Matlab Construcción del Programa Referencias

Referencias

Martin del Brı́o, Bonifacio, Sanz, Alfredo, Redes


Neuronales y Sistemas Borrosos, Alfaomega, Ciudad de
México, 2007.
Mathews, John, Kurtis, Fink, Métodos Numéricos con
Matlab, Pearson, España, 2008.

William Campillay MSc Primavera 2018 Redes Neuronales 22 / 22