Ing.. Iva Ing Ivan n Meji Mejiaa Cab Cabrera rera
•Redes Neuronales •Razonamiento Aproximado • Algoritmos Algoritmos Genéticos Genéticos
son
d el Caos C aos •Teoría del •Colonias de hormigas
M E T O D O L O G I A S
tienen
su origen
En la emulación, más o menos inteligente, del comportamiento de los sistemas biológicos
permiten
Manejar las que imprecisiones e aparecen incertidumbres
Al resolver problemas relacionados con el mundo real
Problemas que no pueden describirse fácilmente con un enfoque algorítmico tradicional
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 10 11 neuronas y existen alrededor de 10 15 conexiones.
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.
Ramón y Cajal, Santiago (1852-1934) Cajal argumentaba convincentemente que las neuritas de las diferentes neuronas no tienen continuidad unas con otras y que es preciso que se comuniquen por contacto y no por continuidad . Esta idea de que la neurona cumplía la teoría celular empezó a conocerse con el nombre de doctrina neuronal. Cajal en 1906 recibe el Premio Nóbel. http://cajal.unizar.es
Comunicación neuronal
Dendritas
Cuerpo celular
Axón
Sinapsis
Recibir señales de entrada
Combina, integra y emite señales de
Transporta las señales a los terminales axónicos
Punto de conexión con otra neurona
Naturaleza de las señales neuronales Impulsos eléctricos Eléctricas
generados por la neurona y transportados a lo largo del axón
Señales Neuronales Sustancias químicas –
neurotransmisores – que Químicas
fluyen a través de un contacto especial llamado sinapsis y contribuyen a transmitir los impulsos nerviosos de una neurona a otra
DEFINICIÓN DE RED NEURONAL ARTIFICIAL En general son modelos que intentan reproducir el COMPORTAMIENTO del cerebro •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.
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 –
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.
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
Estructura de una red neuronal
Unidad U j
Unidad U i
F(a j(t),Net j)
W j i
Y i
Net j
= a j(t+1)
f j (a j (t+1) = Y j
Entrada total
Función o regla de activación
Función de salida o transferencia
Salida y j
n
Net j =
w
j i
yi
i
a j (t+1) = F ( a i (t), Net i ) generalmente F es la identidad Y j (t +1) = f ( Net j )
MECANISMOS DE APRENDIZAJE
Mecanismos de aprendizaje de la red
Proceso por el cual una red modifica sus pesos en respuesta a una información de entrada
Reglas o algoritmos Aprendizaje supervisado A. por corrección de error Regla del Perceptron
Regla delta o de Widrow - Hoff
A. por refuerzo
Regla delta generalizada o Backpropagation
Aprendizaje no supervisado
A. estocástico
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.
EL PERCEPTRON n ENTRADAS –
f (x)
x1 w1
x2
y= f[( n
. . . xn
1
w2
i 1
wn
w
i
x
i
)
x
] -1
EL PERCEPTRON 2 ENTRADAS –
X0=1
x1
x1
w1
f (x) 1
W0= -
y = f ( w1 x1 + w2 x2 - ) x2
x2
x
w2
-1
x2
•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.
A A
B
A A
B B
B B
x1
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 ).
Inicialización de los pesos y del umbral ◦
Presentación de un nuevo par (Entrada, salida esperada) ◦
Inicialmente se asignan valores aleatorios a cada uno de los pesos wi de las conexiones y al umbral ( -w0 = ). Patrón de entrada Xp = ( x1, x2, x3, …, xn), salida esperada d (t).
Cálculo de salida actual n
y (t) = f [ (w
i
x
i
)
]
i 1
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
EJEMPLO
PRIMERA CORRIDA Pesos elegidos aleatoriamente: w1=0.5, w2=1.5, w0 = 1.5, Tomar uno a uno los cuatro patrones de entrada y se aplica el método explicado.
1.
Valores deseados de la función OR
X1 X2 X1 X2 0
0
0
0
1
1
1
0
1
1
1
1
2.
Patrón de entrada: 00 ◦
◦
◦
◦
◦
Conjunto de patrones
◦
{ 00, 01, 10, 11 }
◦
=1
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
PRIMERA CORRIDA Patrón de entrada: 10
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 )
◦
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 !!
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.
TERCERA CORRIDA
Patrón de entrada: 10
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 )
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)
1
0
0
0
0.5
0
1
1
1
0
1
2
3
w1(t) w2(t)
w0(t)
y
1.5
1.5
1
0.5
1.5
0.5
1
1
0.5
1.5
0.5
1
1
1
0.5
1.5
0.5
1
0
0
0
0.5
1.5
0.5
1
0
1
1
0.5
1.5
-0.5
1
1
0
1
0.5
1.5
-0.5
1
1
1
1
0.5
1.5
-0.5
1
0
0
0
0.5
1.5
-0.5
0
0
1
1
0.5
1.5
-0.5
1
1
0
1
0.5
1.5
-0.5
1
1
1
1
0.5
1.5
-0.5
1
error w1(t+1)
w2(t+1)
w0(t+1)
-1 0 0 0
0.5
1.5
0.5
0.5
1.5
0.5
0.5
1.5
0.5
0.5
1.5
0.5
-1 0 0 0
0.5
1.5
-0.5
0.5
1.5
-0.5
0.5
1.5
-0.5
0.5
1.5
-0.5
0 0 0 0
0.5
1.5
-0.5
0.5
1.5
-0.5
0.5
1.5
-0.5
0.5
1.5
-0.5
INTRODUCCION A LA PROGRAMACIÓN LOGICA CON PROLOG
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.
e = número de Euler o constante de Napier e\, ≈ 2,71828 18284 59045 23536 02874 71352 66249 77572 47093 69995...
ARIMETICA EN PROLOG
X=Y X \= Y XY X <= Y X >= Y
X e Y ocupan el lugar del mismo número X e Y ocupan el lugar de distintos números X es menor que Y X es mayor que Y X es menor o igual que Y X es mayor o igual que Y
X+Y X – Y X*Y X/Y X mod Y
La suma de X e Y La resta de X e Y El producto de X e Y El cociente de X dividido por Y El resto de X dividido por Y