Ejemplo perceptron simple

29
Ing. Ivan Mejia Cabrera Ing. Ivan Mejia Cabrera

Transcript of Ejemplo perceptron simple

Ing. Ivan Mejia Cabrera

Ing. Ivan Mejia Cabrera

Ing. Ivan Mejia Cabrera

•Redes Neuronales

•Razonamiento Aproximado

•Algoritmos Genéticos

•Teoría del Caos

•Colonias de hormigas

En la emulación,

más o menos

inteligente, del

comportamiento de

los sistemas

biológicos

M

E

T

O

D

O

L

O

G

I

A

S

Manejar las

imprecisiones

e

incertidumbres

Al resolver

problemas

relacionados

con el mundo

real

Problemas

que no

pueden

describirse

fácilmente

con un

enfoque

algorítmico

tradicional

sontienen

su origen

que

aparecen

permiten

Ing. Ivan Mejia Cabrera

REDES NEURONALES ARTIFICIALES

Basados en el comportamiento del

sistema nerviosa

las neuronas poseen características que

las diferencian de las otras células, tal

como su capacidad de comunicarse

En todo el sistema nervioso central

del ser humano hay alrededor de 1011

neuronas y existen alrededor de 1015

conexiones.

Ing. Ivan Mejia Cabrera

Neurona biológica

La teoría y modelado de redes

neuronales artificiales está inspirada en

la estructura y funcionamiento del

sistema nervioso, donde la neurona es

el elemento fundamental.

Las neuronas poseen características

que las diferencian de las otras células,

tal como su capacidad de comunicarse.

Por lo general una neurona recibe

información de miles de otras neuronas y, a

su vez, envía información a miles de

neuronas más.

Ing. Ivan Mejia Cabrera

Ramón y Cajal, Santiago

(1852-1934)

Cajal argumentabaconvincentemente que lasneuritas de las diferentesneuronas no tienencontinuidad unas con otras yque es preciso que secomuniquen por contacto yno por continuidad. Esta ideade que la neurona cumplía lateoría celular empezó aconocerse con el nombre dedoctrina neuronal. Cajal en1906 recibe el Premio Nóbel.

http://cajal.unizar.es

Dendritas Cuerpo

celularAxón Sinapsis

Recibir

señales

de

entrada

Combina,

integra y

emite

señales de

salida

Transporta las

señales a los

terminales

axónicos

Punto de

conexión

con otra

neurona

Comunicación neuronal

Señales

Neuronales

Eléctricas

Químicas

Impulsos eléctricos

generados por la neurona

y transportados a lo largo

del axón

Sustancias químicas –

neurotransmisores – que

fluyen a través de un

contacto especial llamado

sinapsis y contribuyen a

transmitir los impulsos

nerviosos de una neurona

a otra

Naturaleza de las señales neuronales

Ing. Ivan Mejia Cabrera

DEFINICIÓN DE RED

NEURONAL ARTIFICIAL

•Una nueva forma de computación, inspirada en modelos

biológicos.

•Un modelo matemático compuesto por un gran número

de elementos procesales organizados en niveles.

•Redes neuronales artificiales son redes interconectadas

masivamente en paralelo de elementos simples (

usualmente adaptativos) y con organización jerárquica, las

cuales intentan interactuar con los objetos del mundo real

del mismo modo que lo hace el sistema nervioso biológico.

En general son modelos que intentan reproducir el

COMPORTAMIENTO del cerebro

Ing. Ivan Mejia Cabrera

McCulloch Warren – Pitts Walter (1943)

Los primeros teóricos que concibieron los

fundamentos de la computación neuronal fueron

Warren McCulloch, un neurofisiólogo, y Walter Pitts,

un matemático, quienes, en 1943, lanzaron una teoría

acerca de la forma de trabajar de las neuronas. Ellos

modelaron una red neuronal simple mediante

circuitos eléctricos

Ing. Ivan Mejia Cabrera

Rosenblatt, Frank (1957)

En 1957, comenzó el desarrollo del Perceptron.El

Perceptron es la más antigua red neuronal, y se usa hoy

en día de varias formas para la aplicación como

reconocedor de patrones.

Ing. Ivan Mejia Cabrera

Hopfield, John (1982)

En 1982, coincidieron numerosos eventos que hicieron resurgir el interés por las redes neuronales. John Hopfield, físico, presentó su trabajo sobre redes neuronales en la Academia Nacional de las Ciencias . En el trabajo describe con claridad y rigor matemático una red a la que ha dado su nombre

NEURONA ARTIFICIAL

CAPAS DE UNA RED

NEURONAL ARTIFICIAL

Unidad U iW j i

Y i Net j

F(aj(t),Netj)

=

a j(t+1)

fj (aj (t+1)

=

Y j

Entrada

total Función de

salida o

transferencia

Función o

regla de

activación

Salida

y j

Unidad U j

Estructura de una red neuronal

Net j =

a j (t+1) = F ( a i (t), Net i ) generalmente F es la identidad

Y j (t +1) = f ( Net j )

n

i

iij yw

Ing. Ivan Mejia Cabrera

MECANISMOS

DE

APRENDIZAJE

Mecanismos de

aprendizaje de la red

Reglas o

algoritmos

Aprendizaje

supervisado

Aprendizaje no

supervisado

A. por corrección

de errorA. por refuerzo A. estocástico

Proceso por el cual

una red modifica sus

pesos en respuesta

a una información

de entrada

Regla del

Perceptron

Regla delta o de

Widrow - HoffRegla delta

generalizada o

Backpropagation

Ing. Ivan Mejia Cabrera

EL PERCEPTRON

Primer modelo de red neuronal desarrollado por Rosenblatt – 1958.

Está formada por varias neuronas lineales para recibir las entradas a la red y una neurona de salida entrada.

Despertó gran interés en los años 60 por su capacidad de reconocer patrones sencillos.

Es capaz de decidir cuándo una entrada presentada a la red pertenece a una de las dos clases que es capaz de reconocer.

Ing. Ivan Mejia Cabrera

EL PERCEPTRON – n ENTRADAS

n

i

ii xw1

)( .

.

.

w1

w2

wn

x1

x2

xn

x

f (x)

y = f [ ]-1

1

Ing. Ivan Mejia Cabrera

EL PERCEPTRON – 2 ENTRADAS

x1

x2

BA

AA

AB

BB B

x1

x2

w1

w2

x1

x2

y = f ( w1 x1 + w2 x2 - ) x

f (x)

-1

1

•La neurona de salida del Perceptron realiza la

suma ponderada de las entradas, resta el umbral

y pasa el resultado a la función de transferencia

de tipo escalón.

•Si la repuesta es +1, el patrón presentado

pertenece a la clase A y si la respuesta es -1, el

patrón pertenece a la clase B.

X0=1

W0= -

Ing. Ivan Mejia Cabrera

REGLA DE APRENDIZAJE DEL

PERCEPTRON

El algoritmo de aprendizaje es de tipo supervisado.

En el proceso de entrenamiento, el Perceptron se expone a un conjunto de patrones de entrada, y los pesos de la red son ajustados de forma que al final del entrenamiento se obtenga las salidas esperadas para cada uno de esos patrones de entrada.

A continuación el algoritmo de ajuste de pesos para realizar el aprendizaje de un Perceptron ( aprendizaje por corrección de error ).

Ing. Ivan Mejia Cabrera

Inicialización de los pesos y del umbral

◦ Inicialmente se asignan valores aleatorios a cada uno de los pesos wi de

las conexiones y al umbral ( -w0 = ).

Presentación de un nuevo par (Entrada, salida esperada)

◦ Patrón de entrada Xp = ( x1, x2, x3, …, xn), salida esperada d (t).

Cálculo de salida actual

siendo f la función de transferencia escalón.

Adaptación de los pesos

w i (t+1) = w i (t) + [ d(t) – y (t) ] xi (t)

es un factor de ganancia en el rango 0 a 1.

Volver al paso 2

y (t) = f [ ]

n

i

ii xw1

)(

Ing. Ivan Mejia Cabrera

EJEMPLO

X1 X2 X1X2

0 0 0

0 1 1

1 0 1

1 1 1

1. Pesos elegidos aleatoriamente: w1=0.5, w2=1.5, w0 = 1.5,

2. Tomar uno a uno los cuatro patrones de entrada y se aplica el método explicado.

Patrón de entrada: 00

◦ Entradas: x1=0, x2=0, x0=1

◦ Pesos: w0 = 1.5, w1=0.5, w2=1.5

◦ Neti: 0(0.5) + 0(1.5) + 1(1.5) = 1.5

◦ Salida producida por f: 1 ( Neti >=0)

◦ Salida deseada: 0

◦ Error: 0 – 1 = -1

◦ Pesos modificados:

w0(t + 1) = 1.5 + (-1)1 = 0.5

w1(t + 1) = 0.5 + (-1)0 = 0.5

w2(t + 1) = 1.5 + (-1)0 = 1.5

Valores deseados

de la función OR

Conjunto de patrones

{ 00, 01, 10, 11 }

= 1

PRIMERA CORRIDA

Ing. Ivan Mejia Cabrera

PRIMERA CORRIDA

Patrón de entrada: 01◦ Entradas: x1=0, x2=1, x0=1

◦ Pesos: w1 = 0.5, w2=1.5, w0=0.5

◦ Neti: 0(0.5) + 1(1.5) + 1(0.5) = 2

◦ Salida producida por f: 1 ( Neti >=0)

◦ Salida deseada: 1

◦ Error: 1 – 1 = 0

◦ Los pesos no se modifican:

◦ wi (t + 1) = wi ( t )

Patrón de entrada: 10◦ La salida es igual a la deseada,

por lo que no varían los pesos.

Patrón de entrada: 11◦ La salida es igual a la deseada,

por lo que no varían los pesos.

¡¡ Existe un patrón de entrada, 00, para el cual el error cometido no es cero, por lo tanto se repite el proceso a partir de 2 !!

Ing. Ivan Mejia Cabrera

SEGUNDA CORRIDA

3. Se toman de nuevo los cuatro patrones de entrada.

Patrón de entrada: 00◦ Entradas: x1=0, x2=0, x0=1

◦ Pesos: w1 = 0.5, w2=1.5, w0=0.5

◦ Neti: 0(0.5) + 0(1.5) + 1(0.5) = 0.5

◦ Salida producida por f: 1

◦ Salida deseada: 0

◦ Error: 0 – 1 = -1

◦ Pesos modificados:

w0(t + 1) = 0.5 + (-1)1 = -0.5

w1(t + 1) = 0.5 + (-1)0 = 0.5

w2(t + 1) = 0.5 + (-1)0 = 1.5

Patrón de entrada: 01◦ Entradas: x1=0, x2=1, x0=1

◦ Pesos: w1 = 0.5, w1=1.5, w0= -0.5

◦ Neti: 0(0.5) + 1(1.5) + 1(-0.5) = 1

◦ Salida producida por f: 1

◦ Salida deseada: 1

◦ Error: 1 – 1 = 0

◦ Los pesos no se modifican:

wi (t + 1) = wi ( t )

Patrón de entrada: 10◦ La salida es igual a la deseada, por lo

que no varían los pesos.

Patrón de entrada: 11◦ La salida es igual a la deseada, por lo

que no varían los pesos.

Ing. Ivan Mejia Cabrera

TERCERA CORRIDA

Se toman de nuevo los cuatro patrones.

Patrón de entrada: 00◦ Entradas: x1=0, x2=0, x0=1

◦ Pesos: w1 = 0.5, w2=1.5, w0= -0.5

◦ Neti: 0(0.5) + 0(1.5) + 1(-0.5) = - 0.5

◦ Salida producida por f: 0

◦ Salida deseada: 0

◦ Error: 0 – 0 = 0

◦ No varían los pesos

wi (t + 1) = wi ( t )

Patrón de entrada: 10◦ La salida es igual a la deseada,

por lo que no varían los pesos.

Patrón de entrada: 11◦ La salida es igual a la deseada,

por lo que no varían los pesos.

¡¡ Con estos nuevos pesos los patrones de entrada coinciden con las salidas, ya no se comete ningún error y por lo tanto la etapa de aprendizaje concluye !!. FIN

i x1 x2 d (t) w1(t) w2(t) w0(t) y error w1(t+1) w2(t+1) w0(t+1)

1 0 0 0 0.5 1.5 1.5 1 -1 0.5 1.5 0.5

0 1 1 0.5 1.5 0.5 1 0 0.5 1.5 0.5

1 0 1 0.5 1.5 0.5 1 0 0.5 1.5 0.5

1 1 1 0.5 1.5 0.5 1 0 0.5 1.5 0.5

2 0 0 0 0.5 1.5 0.5 1 -1 0.5 1.5 -0.5

0 1 1 0.5 1.5 -0.5 1 0 0.5 1.5 -0.5

1 0 1 0.5 1.5 -0.5 1 0 0.5 1.5 -0.5

1 1 1 0.5 1.5 -0.5 1 0 0.5 1.5 -0.5

3 0 0 0 0.5 1.5 -0.5 0 0 0.5 1.5 -0.5

0 1 1 0.5 1.5 -0.5 1 0 0.5 1.5 -0.5

1 0 1 0.5 1.5 -0.5 1 0 0.5 1.5 -0.5

1 1 1 0.5 1.5 -0.5 1 0 0.5 1.5 -0.5

INTRODUCCION A LA PROGRAMACIÓN LOGICA CON PROLOG

e = número de Euler o constante de Napier

e\, ≈ 2,71828 18284 59045 23536 02874 71352 66249 77572 47093 69995...

Muchos procesos naturales y

curvas de aprendizaje de

sistemas complejos muestran

una progresión temporal desde

unos niveles bajos al inicio,

La función sigmoide permite

describir esta evolución.

ARIMETICA EN PROLOG

X = Y X e Y ocupan el lugar del mismo número

X \= Y X e Y ocupan el lugar de distintos números

X < Y X es menor que Y

X > Y X es mayor que Y

X <= Y X es menor o igual que Y

X >= Y X es mayor o igual que Y

X + Y La suma de X e Y

X – Y La resta de X e Y

X * Y El producto de X e Y

X / Y El cociente de X dividido por Y

X mod Y El resto de X dividido por Y